Serving the Quantitative Finance Community

 
User avatar
wh408
Topic Author
Posts: 3
Joined: September 10th, 2009, 11:53 am

Alternatives to Matlab

February 25th, 2013, 7:47 pm

Hi, I have been using Matlab for several years and I have got some codes written by myself. After I finish my study I will not be eligible to use Matlab unless I buy a licence myself which is very expensive. In terms of other programming languages, I only know C++ a little bit. My questions are:1. Is there a way to keep using Matlab for a reasonable cost? 2. What other programming languages do you recommend considering the following factors a. Widely used in finance industry. b. Easy to transfer from Matlab codes. c. Relatively easy to learn. d. Language efficiency or whatever factors that matter. BTW: My codes are structurally simple but mathematically tedious. Computation time matters a lot. Thanks!
Last edited by wh408 on February 24th, 2013, 11:00 pm, edited 1 time in total.
 
User avatar
acastaldo
Posts: 14
Joined: October 11th, 2002, 11:24 pm

Alternatives to Matlab

February 25th, 2013, 9:42 pm

1. probably not2. I like Octave
 
User avatar
Hansi
Posts: 41
Joined: January 25th, 2010, 11:47 am

Alternatives to Matlab

February 25th, 2013, 9:43 pm

QuoteOriginally posted by: wh4081. Is there a way to keep using Matlab for a reasonable cost? IIRC you can buy the latest version of the student edition before leaving academia and still be allowed to use it for non-commercial uses after leaving; but won't be eligible for upgrades.QuoteOriginally posted by: wh4082. What other programming languages do you recommend considering the following factors R, Octave, Python(NumPy/SciPy) and Mathematica + more:http://alternativeto.net/software/matlab/Even more options that are more generic but can be viable for some parts might be F#, Ruby, Haskell, Erlang etc. But I wouldn't slot them in the "like Matlab" category.QuoteOriginally posted by: wh408 a. Widely used in finance industry. R or Python.QuoteOriginally posted by: wh408 b. Easy to transfer from Matlab codes. R or Octave.QuoteOriginally posted by: wh408 c. Relatively easy to learn. Octave wouldn't be much effort if you know Matlab, except getting to know the small differences + lack of toolboxes:https://en.wikibooks.org/wiki/MATLAB_Pr ... MATLABMost people find Python pretty intuitive to get into. I agree but have fairly minimal experience with it.http://www.scipy.org/NumPy_for_Matlab_UsersR sort of dependant on the person, most people say R is messed up to learn and I agree but I think it'smostly because I don't think I know anyone who's done R learning in a structured manner; mostly just tinkering.http://stackoverflow.com/questions/1738 ... annot-doIf you, in this order:- Read Art Of R: Check: http://cran.r-project.org/doc/contrib/H ... atlabR.pdf and http://mathesaurus.sourceforge.net/octave-r.html- Do some Coursera courses (search for data analysis)- Read R Inferno: http://www.burns-stat.com/documents/boo ... Originally posted by: wh408 d. Language efficiency or whatever factors that matter. Depends on what you want most of the above offer vecotrized operations in one form or another.QuoteOriginally posted by: wh408BTW: My codes are structurally simple but mathematically tedious. Computation time matters a lot. Most of the time people say things like this and it's not a memory issue in Matlab it often winds up being a lack of vecotrized operations.If not Matlab has MEX options, R has Rcpp options and Python has external module options for increased speed.Personal options would be to recommend R for interactive data analytics and quick prototyping options and Python if you want a "wholesome" language that can be used for pretty much anything(R can be used for pretty much anything too but it's sometimes sub-optimal and slow).
 
User avatar
wh408
Topic Author
Posts: 3
Joined: September 10th, 2009, 11:53 am

Alternatives to Matlab

February 25th, 2013, 11:32 pm

Thanks Hansi, can you also give me some comments on c++ in terms of the above factors? I may have to learn it anyway as c++ appears frequently in banks' interviews.
 
User avatar
Hansi
Posts: 41
Joined: January 25th, 2010, 11:47 am

Alternatives to Matlab

February 25th, 2013, 11:37 pm

Depends on what you pursue in terms of roles, knowing C++ is a plus for learning most languages IMO but from a quant perspective it's mostly called for when speed is essential rather than as a "get things done" language like Matlab etc.Knowing the basics of C++, STL and Boost is good but not needed for most roles I recon.
 
User avatar
Polter
Posts: 1
Joined: April 29th, 2008, 4:55 pm

Alternatives to Matlab

February 25th, 2013, 11:44 pm

QuoteOriginally posted by: HansiEven more options that are more generic but can be viable for some parts might be F#, Ruby, Haskell, Erlang etc. But I wouldn't slot them in the "like Matlab" category.If you're looking into F# or Haskell, you may also consider adding Scala into the mix:http://www.scala-lang.org/Of relevance is ScalaLab:http://code.google.com/p/scalalab/Of interest might be "Haskell vs. F# vs. Scala: A High-level Language Features and Parallelism Support Comparison"http://www.macs.hw.ac.uk/~dsg/gph/paper ... tml[slides] ] also:http://techneilogy.blogspot.com/2012/01 ... Originally posted by: wh408can you also give me some comments on c++ in terms of the above factors? I may have to learn it anywayRegarding C++:- I'd strongly recommend to look into the most recent version, C++11, it's a lot more user-friendly and less verbose; if you haven't familiarized yourself with C++11, here's how to get started// extra benefit: good way to filter out useless / poor quality compilers (that should be avoided anyway) ;]- remember looking for stuff in Matlab's toolboxes and then on MATLAB Central / File Exchange?in C++ your go-to places are the C++ Standard Library and Boost C++ Librariesnext, POCO C++ Librariesnext, List of C++ template libraries- if you're into numerical linear algebra, get Eigen// see ASCII quick reference with Matlab translations
Last edited by Polter on February 25th, 2013, 11:00 pm, edited 1 time in total.