February 10th, 2012, 1:57 pm
(1) In fact it would depends. You have several steps in model implementation-creating the model (so that's the math part) (quant)-developping the algos to solve it and to calibrate it (that's the numeric part) (half quant/half IT)-coding it (that's the boring part, at least to me ) (pure IT)then you will have the backtesting and so onPURE implementation id est CODING is not a quant job for me, it's an IT one. There is nothing relating to "quantitative" if you are given the model and the algos and all your work is typing it(2) As far as I know Excel VBA is SLOWLY disapearing replaced by more evolved languages such as C++ or Java (C seems to be popular too). I'm often surprised with Matlab or Python is not more used in the finance industry. For the first one I can guess it's that because it's fucking slow but well for the second I don't know.(3) For me the most important in a code is readibility (I don't want to spend 10 hr in understanding what a guy wrote), extendibility (the possibility to modify and improve it quickly) and integrability (the possibility to incorporate it in a bigger environment). Obviously your code has to be reliable and quick. Usually you have no freedom about the language to use, the method of programmation to use and since you are working in an environment with a lot of objects, sturctures, templates and libraries in fact you have very little freedom for innovative revolutionnary programming. The model has to be implemented for production in a efficient and robust manner. You don't have to reinvent the wheel.(4) For coding part you don't have much a choice. The hardest choices is for the algos and the numerical methods. Finite Difference Methods or Monte Carlo ones is often the question you would have to aks yourself.Consider the Heston model for example-you could use finite difference methods (explicit, implicit, Crank Nicholson, ADI and pretty sure ADE) -you could use Monte Carlo methods (explicit euler, exact scheme and after that all the variance reduction techniques)-you could use the closed form formula for vanillas (direct quadradure, FFT)It's here that you have to make your choice. (5) The best approach for choosing the numerical method is -analyze the dimension of the problem -analyze the complexity of the payoff(it would give you the wide choice between FDM, MC or closed form, by the way closed form is only 0.1% of the times and I'm generous in the percentage)-analyze your need in the final product (it has to be quick ? it has to be very precise ?-analyze how long you want to spent in implementing it (debugging included)If you need your code for tomorrow I'm guessing that you won't implement first a quasi Monte Carlo method with low discrepancy number and control variate.That's my advice.