• C++ Programming for Financial Engineering
    Highly recommended by thousands of MFE students. Covers essential C++ topics with applications to financial engineering. Learn more Join!
    Python for Finance with Intro to Data Science
    Gain practical understanding of Python to read, understand, and write professional Python code for your first day on the job. Learn more Join!
    An Intuition-Based Options Primer for FE
    Ideal for entry level positions interviews and graduate studies, specializing in options trading arbitrage and options valuation models. Learn more Join!

Can I see a sample of the programs you have written?

Hi All,

It has been a few years since I have completed the MFE at Baruch. Can you post a few of the programs you have wrote for the class you have taken? I want to see a broad spectrum. Don't worry if you code is ugly. I am trying to build a framework that can be used by students at all level of programming expertise. If you can include a brief description as to what the code should do, that would be great.

I have always had a problem with re-inventing the wheel. When I was a Baruch, I wish I had a re-usable framework to look at real world problems. A framework that can be extended by each generation of students. Not everyone wants to be a Quant that implement models in C++. Even if you do, you will need to work with other developers to tie it into a full fledge trading system.

I have always been skeptical of weighing C++ so heavily. Finance company care about providing value to clients and being compensated for it. As to what the language the models are implemented in, I think the business managers are indifferent. The reason C++ is in demand is because a lot of legacy code is written in C++ and it works across different OSes. You would rather maintain and expand on what you have than build it from the ground up. This makes sense most of the time.

I would like to see what the current state of the code produced by students is to see if I can add any value. Do you feel that you have a reusable code base each generation of student can use and expand on already?


Phat Loc said:
I would like to see what the current state of the code produced by students is to see if I can add any value. Do you feel that you have a reusable code base each generation of student can use and expand on already?
Here is quick review of what we have done:
For Numerical Linear algebra course, what you did in your whole semester, we have already done that and more.

We have built a C++ matrix class which can do all matrix algorithms, LU, cholesky decomposition, iterative (GS,SOR,Jacobi)
power method, inverse power method.
Price option using finite difference.
Greeks using closed form and finite difference.
And of course, Black-Scholes for European vanilla option.

What can we do next ? A way to plug our code to the live data feed and calculate implied volatility, greeks, etc

We can hook up to the feed from the Subotnick trading floor. I'm not sure how we do it in C++ but we can use Excel right?
And last but not least, develop some trading algorithm which we can backtest using Yahoo Finance data, etc.

Let me know what you think, Phat.
That is good. However I would like to see some code from all the homework teams. I basically, want to understand

1. The level programming ability
2. What platform are you programming with. Is it Visual C++ on windows or C++ on linux. When I was in school, I did Java, C++ and VBA.

I have been building derivatives trading systems for about 3 years now. I have learned a few things that wish I knew when I was in school. We have looked into getting data from the Subotnick trading floor, they are very restrictive on redistributing the data. There are licensing agreements they have to abide by.

The story about QuantNetwork starting in my room is true. This is because I want quantnetwork to do two things

1. Be a platform for students collaborate. This has work out very well! You guys are doing a great job.

2. I don't like the gate keeper paradigm. That is I am not stickler for great grades. I wanted to actually show employers what type of work students did during the MFE. The other purpose was for QuantNetwork to be an application server. A sever that ran programs that students wrote. This didn't pan out too well. To run an application server I need full control of the box so it made sense to run it from my room. :)

I do have a strategic plan for alumni association and continued involvement in the program. I will write that up this week and shop it around to Dan, alumni and students. The plan does center around creating an ambitious infrastructure for computing valuation and risk for portfolios of derivatives.

If you don't want to post your programs you can email it to me.
Phat Loc said:
If you don't want to post your programs you can email it to me.
Yes, this sounds good.
We have great programmers this year. I mean people who do this for a living and can code up very quickly. The rest while not professional per se, can code quite efficiently. And they only do C++, no Matlab. Most use Visual studio and Dev-C++, or both. Only a handful plays with Linux but we plan to change that.

And we really want to get good with VBA since we gotta use that for our Structured Finance course next term.

Also, we like to know what kind of real-world application we can build using our code. I'm sure you can start us up with one. This is the kind of things we can show off when we interview. Any MFE student in a good program should be able to price options using BS, Finite difference, binomial tree in C++ but what makes them stand out is the kind of work they do beyond that.

Quantnet can be configured to act as an application server where visitors can price options, greeks using diffirent models. And we can install CVS or Subversion for development. If we have some projects going during the break, I can setup the server.
Phat Loc said:
If you don't want to post your programs you can email it to me.

The problem with posting codes is that they are kind of long :) For example, my codes for the matrix class and its algorithms are about 1500 lines total.
Phat, I can email you all of my code. Not sure how expandable it is since I do not use classes. I started programming in the beginning of this year so you can imagine how its been. My main goal is to be able to write correct algorithms (I think one can always create into classes and objects and I plan on doing that either during the break or in the summer)
Phat, I will send my code----as categorized as non-professional. :) I began using c++ about one year ago. As Andy said, we have some professional programmers, some laymen like me. Hope my code could be any help in your evaluation.


Older and Wiser

What is your email? How do you want me to send you the code? Would you like a VS project or you rather have a directories with the different projects and a make file per project?
You can email me at phat.loc@gmail.com

Don't worry so much about how the code looks. I was a student before too. Also I didn't know C++ until I started the program. I probably forgot most of it by now. Ideally I want to make something that people with little programming experience can extend and use.