• 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!

Financial Modeling using Matlab/C++/Excel - Any recommendations?

roni

Cornell FE
Joined
3/19/09
Messages
608
Points
38
Hey guys,

I would like to buy two books that will introduce me to using Matlab/C++/Excel to implement different financial models.

I am thinking to get 2 books from the following list:

Numerical Methods in Finance and Economics: A MATLAB-Based Introduction (Statistics in Practice)

Modeling Derivatives in C++ (Wiley Finance)

Modeling Derivatives Applications in Matlab, C++, and Excel

Implementing Derivative Models (Wiley Series in Financial Engineering) (somebody here suggested the book, and I don't think it really uses programming in the book)

Financial Modeling (This one uses Excel, but I don't mind learning it from Excel perspective)

Any recommendations?

Thanks,
Roni.
 
Any recommendations?

I don't have the Justin London books so can't comment. The other three are all very good books. The Clewlow and Strickland book only gives pseudocode, true. But anyone with half a brain should be able to code it in his language of choice. Benninga is solely in Excel and VBA, and Brandimarte only in MatLab (though I suppose one could also use the free Octave).

Postscript: For VBA coding I also recommend Kerry Back's "A Course in Derivative Securities." No-one seems to mention this book. It is more mathematical and more advanced than Benninga.
 
I personally have purchased Financial Instrument Pricing Using C++ by Daniel J. Duffy and it looks great both from programming and math point of view. I haven't delve into the book yet though. Modeling Derivatives in C++ (Wiley Finance) is a good one too.
I saw that one, too... I heard the codes are not good, but I think that as long as he gives examples of how to use programming, it will be fine.
Thanks.
 
I saw that one, too... I heard the codes are not good, but I think that as long as he gives examples of how to use programming, it will be fine.
Thanks.

Actually, you may have a feeling that code is not enough rather than not good I think because the book is a bit overloaded with math which is assumed that the reader is aware of and needs to program on the basis of that mathematical knowledge. At first I had such impression that it lacks more codes. But as a whole it is a good book. I'm gonna read soon.
 
I don't have the Justin London books so can't comment. The other three are all very good books. The Clewlow and Strickland book only gives pseudocode, true. But anyone with half a brain should be able to code it in his language of choice. Benninga is solely in Excel and VBA, and Brandimarte only in MatLab (though I suppose one could also use the free Octave).

Postscript: For VBA coding I also recommend Kerry Back's "A Course in Derivative Securities." No-one seems to mention this book. It is more mathematical and more advanced than Benninga.

I never programmed in VBA, and don't really want to get into it right now (I'm trying to strengthen my C++/C#/Matlab and possibly Excel skills).

I guess I'll look into Clewlow and Strickland and see if the content is good enough.
I think Numerical Methods in Finance and Economics: A MATLAB-Based Introduction (Statistics in Practice) will be a good choice, too.
 
I never programmed in VBA, and don't really want to get into it (I'm trying to strengthen my C++/C#/Matlab and possibly Excel skills).

Hi twin with one difference - I programmed in VBA :) but this statement still holds in my case too:
don't really want to get into it
 
I never programmed in VBA, and don't really want to get into it right now (I'm trying to strengthen my C++/C#/Matlab and possibly Excel skills).

The VBA code in these books is meant to operate in an Excel environment.
 
The VBA code in these books is meant to operate in an Excel environment.

Yeah, Excel alone with no custom Macro support is not that powerful for computations since you'll need many UDFs to use within the spreadsheet. But you can fully replace the need of VBA syntax found in Excel Macro using the above languages' (which you mentioned) add-ins.
 
Depends on what you want to do. I'd say the best combination is:

1. C++
2. Matlab
3. Perl/Python

If you're going for something which is heavy on spreadsheets then obviously VBA is very important and the above isn't as much.
 
Depends on what you want to do. I'd say the best combination is:

1. C++
2. Matlab
3. Perl/Python

If you're going for something which is heavy on spreadsheets then obviously VBA is very important and the above isn't as much.

Is Perl widely used? I don't think it is. C/C++ is good for computational handling in OO manner. However they both lack some features . C# is good for less development time and pure OO view. Python is a leader in high level language which can be viewed as functional and OO (not purely though). And Matlab rocks in mathematics.
 
Perl is used where not pure programmers are doing the job; for guys who know programmong bt r not programmers.. n i guess earlier/older quants fall in this category.. so expect perl still being used at places where the manager is older
 
Perl is used where not pure programmers are doing the job; for guys who know programmong bt r not programmers.. n i guess earlier/older quants fall in this category.. so expect perl still being used at places where the manager is older

So that must be popular (mostly and not only) within academia along with Fortran (as I discovered recently).

Perl 6 is a sister language, part of the Perl family. Perl 6 is not production ready yet, you can get involved with its development though

They are updating the older versions while it seems such kind of "female" languages are still alive and popular in industry as well. Not to say anything about its power in computational activities, in many quant job application websites you can search for entire section devoted to perl programming jobs. Not even slightly relevant (as C++ for example) while applying for masters though.
 
Perl is used where not pure programmers are doing the job; for guys who know programmong bt r not programmers.. n i guess earlier/older quants fall in this category.. so expect perl still being used at places where the manager is older

At my firm the managers are older so maybe that has something to do with why Perl is the standard. We're also dealing with tick data databases, which we get in prepackaged forms from vendors, so parsing is essential. It's really great for this application. I know some high freq trading desks that use Python/Perl for this very purpose as well. I should have also added "\Q" to that list.
 
I can't say how much Perl is used in the finance industry but it's a very friendly language.
Perl is great when working with strings which is probably its best feature if you ask me, but I'm no expert so I guess I haven't seen its full power yet.

I do have allot of experience with Matlab and it surely destroys any other language in terms of handling numbers, maybe some languages will give you better performance due to lower overhead such as C , BUT the time and ease to program something with Matlab is unbeatable, I can't understand why people even use Excel when they can use Matlab (engineers/programmers not MBA type people).
 
At my firm the managers are older so maybe that has something to do with why Perl is the standard. We're also dealing with tick data databases, which we get in prepackaged forms from vendors, so parsing is essential. It's really great for this application. I know some high freq trading desks that use Python/Perl for this very purpose as well. I should have also added "\Q" to that list.

Generally older people from industry as well as academia (which I'm more aware of) are finding it impossible in many cases to learn high level languages at their ages. Great statisticians and mathematicians are embarking on studying Excel due to its simplicity and flexibility and that's all. This doesn't seem reasonable since it really doesn't take much time to learn new programming language (taking personal and age factors into consideration as well). It takes only few months to master basic syntax and the rest improvement is up to the individual studying along with the field needs to pursue the further knowledge in. Only other factor is the experience to be gained after having collected the theoretical knowledge of the programming language. That seems more problematic depending on age...but still, once you master one language, switching to another becomes relatively easy especially if you are moving from the same family of PLs like C-based ones.
 
I can't say how much Perl is used in the finance industry but it's a very friendly language.
Perl is great when working with strings which is probably its best feature if you ask me, but I'm no expert so I guess I haven't seen its full power yet.

I do have allot of experience with Matlab and it surely destroys any other language in terms of handling numbers, maybe some languages will give you better performance due to lower overhead such as C , BUT the time and ease to program something with Matlab is unbeatable, I can't understand why people even use Excel when they can use Matlab (engineers/programmers not MBA type people).

For your personal use I believe it is always more efficient and flexible to use MATLAB when you have both tools in hand(excel and matlab) but sometimes you need to pass the analyzed data to non-users of MATLAB. I also find this as only justification for that.
 
So that must be popular (mostly and not only) within academia along with Fortran (as I discovered recently).

Perl and Fortran communities are quite different. Perl is mainly popular among older Unix users - it was practically first (development started in late eighties) scripting language in widespread use, with text processing facilities as its main strength (especially its excellent built-in regexp engine) that made it to fit very nicely into the Unix programming tool-chain (as textuality is one of main pillars of Unix programs design). Being strong in the text processing made Perl also the main choice for CGI programming, so it was de-facto *the* Web programming language throughout nineties. Also, along the way extremely large number of libraries and modules was developed for handling practically any imaginable kind of programming task, so overall Perl grown up into very strong and versatile general purpose programming language. However, its loose syntax (Mathematica is probably the only one worse, among commonly used programming tools, in that department) and state of limbo with Perl 6 development, that lasts now for more than 10 years, made its popularity to fade sharply, so for new generations of programmers it is probably equally irrelevant as COBOL or Pascal.
 
Back
Top