I have received several emails from students about to start the program, regarding MFE preparation, so I figured I would talk about how I have been preparing for the onslaught of what Masters in Financial Engineering is all about.
I decided to make the switch to finance at the end of 2009 during my PhD studies at University of Wisconsin-Madison. I came back to my undergrad university in Canada as it would be a lot cheaper to study here rather than pay out of state fees in USA , to do some refresher courses to prepare myself for the program. I initially had 8 months to prepare, but then I chose to start in the Summer semester and I had only 4 months to prepare. I am going to make a list of things I have been doing to prepare. I will categorize them in terms of math, finance, and programming.
1) Finance Preparation:
I have absolutely no exposure to finance in terms of courses. I was always interested in capital markets and would often read articles on Financial Times, and Yahoo Finance. In my second year of engineering I had even opened an account on Investopedia and tried to learn about trading stocks in a simulated environment. I mostly made my trades by reading news and making speculations, as I did not know much about the quantitative side of trading at the time.
[prbreak][/prbreak]
The first thing I knew I had to do once I made the switch was learn the basics... the language of finance so I can have conversations with people in the field without looking stupid. I wanted to take a corporate finance/financial accounting course but unfortunately the classes were full at the university and I could not take any. Without having a corporate finance course it would be really hard to show my credibility to potential employers and graduate schools about my knowledge of Finance. I had gone through MIT Courseware to learn as much as I can. I decided that the only way to prove my knowledge of finance to graduate schools and potential employers would be to publish a paper in corporate finance. Now I assume, when I say "finance" I do not mean Financial Engineering but the basics of Finance related to investments and Corporate decisions. I am sure you all know, publishing a paper is not the easiest thing. The preparation time, the data collection, the literature review, writing it out etc itself takes months. I have done quite a bit of research previously in engineering with published results, and knew what I had to do so I was able to fast-track. I mentioned on my applications that I am working on a research paper related to Capital Structure in Emerging Economies.
I picked up a book on Corporate Finance and started reading through it. Once I got a decent understanding I went and talked to one of the professors at my university and she right away was more than happy to advise me on a potential topic that I came up with. She even went ahead and registered my in an “independent study” course in finance so that I could get a grade for the paper.
After four months of study, and researching basically night and day I am happy to say I am almost done the paper. It is in the final stages of edit and is going to be sent for journal review soon. I will have it up on SSRN soon. The title is “What determines the Capital Structure of Listed firms in India: Some empirical Evidence from the Indian Capital Markets”. I am debating on which journal to send it to.
I also registered to audit a Derivatives and Risk Management course which basically went through the similar concepts as in Hull's book. The professor was excellent and I had a really good time in the course further fortifying my love for finance. Another way to build your basic finance knowledge is to do CFA Level 1. I was strapped for funds and could not find the dedicated 250 hours for it so I did not register for it.
Items I used:
In addition, I went through almost 35 research papers as I cited in my paper on the topic of Capital Structure. I know way too much about Capital Structure than any MFE student should. I did absolutely love studying the subject as it is VERY interesting.
The above two books I mentioned are what I used to build my base knowledge in Finance and Financial engineering. I am going to go through the Hull book one more time before I start my program May 24th.
2) Math Preparation :
This part did not scare me as much considering I was coming off from an mathematical background and I have always been very good at picking up new mathematical concepts with ease. The problem was all the math courses I had taken were in my 2nd year which included Differential Equations, Vector Calculus, Linear Algebra, Statistics, etc and I did not exactly have everything sitting on the back of my hand. Other than differentiating and integrating I had not used many of the other subjects in my courses in my 3rd and 4th year and my PhD studies. I had used quite a bit of Partial Differential Equations and Finite difference/Finite element related mathematics in my researches related to structural analysis and Computational Fluid Dynamics but almost all of it was computational. I even did a bit of Monte Carlo Simulation related work during my PhD on electron trajectories.
I decided to register in a 3rd year Statistics course out of the Stats Department, and also in a 3rd year Mathematical Economics course out of the Economics department. The main reason for the economics course was for the professor. He is a Minnesota theoretical economics PhD. He is very smart and I knew I could learn a lot from him. Both these classes gave me the knowledge I would need to get through the first set of courses in my graduate program. The mathematical economics prepared me with linear algebra, calculus, and optimization significantly. It would then be up to my courses in graduate school to prepare me for the more advanced courses, or at least I am hoping so. Like I said, I am not too worried about the mathematics part. I know it will be hard, but it is something I can pick up on the go in each class since I already have a strong grasp on the basics.
The one course I regret not having the chance to take was Stochastic Processes at an undergraduate level this winter semester. I did buy the Shreves books 1 and 2 but have not had the time to go through it extensively. I will be taking a graduate course in Stochastic Processes out of the Mathematics Department at Illinois Tech as part of my program in the fall semester. It said in the curriculum that they start you off from the basics and then get into the really advanced topics so I am counting on my fast grasping power to pick it up. I will go through the Shreve’s books to build up myself a bit during the summer semester at Illinois Tech as I only have 2 courses.
Items I used:
3) Programming Preparation:
Coming from a Mechanical engineering degree, programming was probably the one thing that was probably the most important to me in terms of preparation. As a mechanical engineer I used MATLAB mostly through my academic and work life. Also, since I did Computational Fluid Dynamics research I used
C++ quite a bit but very specific to my needs. When I went through the syllabus for some of the advanced courses and saw most of the job descriptions for quant finance positions it seemed like I had a deficiency. I do not know
Python, C#, .Net, Pearl, and the list of other languages you always see pop up. The only things I knew were how to use excel to a certain extent and MATLAB quite a bit and a certain amount of OOP in
C++.
Since I knew very few specifics of
C++ that I had learnt myself for my research I had to understand
C++ from the basics again so as to build myself to understand how
C++ is used in Finance. I started off from a really basic “How to Program in
C++” book by Dietel. It is a very introductory book. Because I had previously taken a course in C and done a decent amount of
C++ I flew through the book pretty quickly. It was still valuable to go through the book as it gave me a refresher on a lot of the syntax associated with
C++ and many other things that I might find useful in the future. Once I built a decent base, I started going through a book by Ben Van Vliet who is a professor at Illinois Tech. I figured since I will be using his book in his class I might as well learn from it. I also picked up one of Duffy’s
C++ books, but have not got around to it yet as I am still going through Ben Van Vliet’s book on
C++ for Financial Applications. In my first semester at Illinois Tech I am taking the first course in the Financial Programming Sequence which is “
C++ for Quant finance” . The course starts from the ground and builds up through to the advanced topics in
C++ for financial applications.
In addition to
C++, I figured I will brush up on my MATLAB. I had only used matlab for engineering related problems and did not know how I can use it for in finance or what is even available in the toolboxes. I have all the toolboxes for MATLAB related to Finance. I picked up an amazing book and am half way through it. The book is “Numerical Methods in Finance and Economics”, and it is an amazing book on the use of MATLAB in Finance. If you read Hull’s book and then go through this book to understand how to use MATLAB for financial applications you will be very beneficial. The book goes through many commands and toolboxes that are available in MATLAB and how to use them for various financial problems. The book is used in an advance financial engineering course (Models for Derivatives) at Illinois Tech and I figured it would be great to get a start on it. I actually started getting really familiar with MATLAB and went as far as making a small algorithm for automated trading. I used MATLAB's built in system to output the program into a .NET file which I have been trying to put onto the API of a third party broker software. It is in a simulation version for the moment. The algorithm is self calibrating. It is really cool and I am proud of it, but I will talk more about it in a different post.
Regarding the other languages, one cannot learn so many languages in 4 months. I have noticed that it is all about practice. The more I utilize the softwares the better I get. I really want to have a strong grasp on the various programming languages as I want to have the ability to not only develop mathematical models but also code and implement them myself. I have had a sudden love/appreciation for programming and this is why I wanted to pick a curriculum where I can have exposure and knowledge of a range of programming software’s. This is a personal choice and not specifically for jobs. The Financial Engineering and Programming curriculum at Illinois Tech provides this for me by teaching me everything from
Python, MATLAB,
C++, C#, Excel/VBA, SQL, Pearl, .NET, etc. After spending a year using these languages during my Masters program I believe I will have a decent amount of understanding in the programming area to be able to use them for various applications. This is why I only focused on
C++ and MATLAB as part of my preparation.
Items I used:
Other than that, I have been trying to spend as much time with my girlfriend and my parents since I know it will be very hard to do either once the program starts even if I am only a 4 hr train ride away. Also, I have been trying to learn to take power-naps so I can make the best out of the 24 hours available to be productive and not spend much time sleeping at night. This part has not been working out well. I want to be able to get by for the next year by sleeping around 5-6 hours at night and maybe taking 20 min power naps in the afternoon if possible. This might sound stupid, but I really think it might help me succeed in my program. (Insert laugh here)
Is this preparation enough? Only time will tell.