http://www.linkedin.com/answers/financial-markets/derivatives-markets/MKT_DRV/275253-5691585
How is this being used and in what areas e.g. Front office pricing, structuring, product control, risk etc?
Places I know of or have heard of:
Jane Street Capital (OCaml - used in trading/pricing applications, quant and research tools )
Societe Generale (OCaml - used in derivatives structuring/pricing, quant and research tools)
Credit Suisse (not sure where and if still in use)
Calyon (I know of a once proposed MO project, but not sure if in use in other areas)
I am interested in getting a feel for how much of a niche, FP's usage in the industry still is?
Share
This
I keep hearing buzz around this space. I think most of Investment Banks have
have at last research initiatives ongoing
I actually commissioned research on this topic from a peer survey company and the general consensus was that FP looks very promising for pure quant stuff but that one one has any business critical work going on yet.
I have a (very strong) suspicion that the main use of Haskell right now is to automatically parse and productionise spreadsheets in the structured products world.
OCaml (and F#) look to be much more promising in the realm of writing production systems de novo. Haskell isn't deterministic in its return time (it's Lazy so it may come back in 5 secs or may take 5 hours - and you cant really predict up front which - this is fatal for use in eg pricing libraries) OCaml by contrast gets predictable performance just slightly slower than C++.
For it to really take off though it will require the kids who learned FP as their first programming language (OCaml in the Grandes Ecoles, Haskell in the UK) to actually have decision making authority in the banks thy work at. This is still 5 - 10 years off in my opinion.
No one seems interested in using FP for general systems development work though. The model being touted by Microsoft (and I think the one which will ultimately be adopted) is islands of pure FP doing the hard algorithmic processing while the rest of the app is eg C++ or C#.
Feel free to email me if you want to discuss further.
At Credit Suisse I know they use Mathematica a significant amount for
pricing, in product control, and risk groups, for at least the exotic commodity
products, and other areas that are not on standardized systems. The more
frequent or popular a transaction is, the less likely we are to be using a
functional language.
Here we go....an emacs vs vi flame war on LinkedIn in a topic about FP in
finance....some things never ever change....
My answer is that as far as I am aware there isn't much of niche in that niche. One of the main prerequisites for that industry is the ability to have someone else do your job tomorrow after you get your pink slip. C C++ and Fortran still rule the roost.
Most financial firms have some scripting language which is used to describe
the payoffs of derivatives and these tend to be functional languages, or
non-functional languages used in a functional way. Most everyone does one of
three things
1) use a scripting language like Ruby or Lisp that has functional features
2) use a functional language like Haskell
3) write their own interpreter for a language with functional characteristics
The reason that functional languages get used is that you have security A, and security B. Now you want to calculate the payoff of something that is a function of security A + security B, or the the difference, or some weird combination that involves the phase of the moon. Functional languages are very powerful at being able to combine securities like that.
At the same time, I haven't see people use functional languages to build entire trading systems, so usually the functional language bit is part of something larger that uses C++.
Haskell is an attractive language capable of taking advantage of MMC -
massively multicore chips. Monte Carlo
Lexifi uses ocaml (actually, extending the ocaml language) to implement MLFi,
aiming at modeling complex finacial products.
Hi Olu,
That's a good question, and I would be interested in hearing about commercial developers.
One resource that I did find which might be quite useful for you is the
*"Commercial Users of Functional Programming" Conference/Group: http://cufp.galois.com/
Other online resources include:
* "Does anyone use functional programming": http://www.haskell.org/haskellwiki/Introduction#Does_anyone_use_functional_programming.3F
* "Haskell in Practice": http://www.haskell.org/haskellwiki/Haskell_in_practice
* "Haskell based Mathematics Applications and Libraries": http://www.haskell.org/haskellwiki/Applications_and_libraries/Mathematics
I hope that helps. I personally enjoy Haskell as a Functional Programming Language, but I do like Ruby (which is a clean Object Oriented Language with a Functional Programming Style). I also like Prolog, but that's more of a Logic Programming Language rather than Functional.
I can't see any problem in using a Functional Programming Language for a commercial purpose, in fact, I think that if anyone does then they're likely to be a few years ahead of someone who does a similar thing in, say, Java. This is because I believe Functional Programming to be more adaptable in the long term, particularly for algorithm-intensive applications.
Cheers,
Daniel
Functional Programming Languages usage in Financial/Trading firms
Which financial firms (buyside or/and sellside) are currently actively using functional programming (FP) languages like F#, OCaml, Lisp, Scheme or Haskell?How is this being used and in what areas e.g. Front office pricing, structuring, product control, risk etc?
Places I know of or have heard of:
Jane Street Capital (OCaml - used in trading/pricing applications, quant and research tools )
Societe Generale (OCaml - used in derivatives structuring/pricing, quant and research tools)
Credit Suisse (not sure where and if still in use)
Calyon (I know of a once proposed MO project, but not sure if in use in other areas)
I am interested in getting a feel for how much of a niche, FP's usage in the industry still is?
Good Answers (1)
I actually commissioned research on this topic from a peer survey company and the general consensus was that FP looks very promising for pure quant stuff but that one one has any business critical work going on yet.
I have a (very strong) suspicion that the main use of Haskell right now is to automatically parse and productionise spreadsheets in the structured products world.
OCaml (and F#) look to be much more promising in the realm of writing production systems de novo. Haskell isn't deterministic in its return time (it's Lazy so it may come back in 5 secs or may take 5 hours - and you cant really predict up front which - this is fatal for use in eg pricing libraries) OCaml by contrast gets predictable performance just slightly slower than C++.
For it to really take off though it will require the kids who learned FP as their first programming language (OCaml in the Grandes Ecoles, Haskell in the UK) to actually have decision making authority in the banks thy work at. This is still 5 - 10 years off in my opinion.
No one seems interested in using FP for general systems development work though. The model being touted by Microsoft (and I think the one which will ultimately be adopted) is islands of pure FP doing the hard algorithmic processing while the rest of the app is eg C++ or C#.
Feel free to email me if you want to discuss further.
More Answers (6)
My answer is that as far as I am aware there isn't much of niche in that niche. One of the main prerequisites for that industry is the ability to have someone else do your job tomorrow after you get your pink slip. C C++ and Fortran still rule the roost.
Clarification added July 17, 2008:
:q! ;-)1) use a scripting language like Ruby or Lisp that has functional features
2) use a functional language like Haskell
3) write their own interpreter for a language with functional characteristics
The reason that functional languages get used is that you have security A, and security B. Now you want to calculate the payoff of something that is a function of security A + security B, or the the difference, or some weird combination that involves the phase of the moon. Functional languages are very powerful at being able to combine securities like that.
At the same time, I haven't see people use functional languages to build entire trading systems, so usually the functional language bit is part of something larger that uses C++.
Links:
- http://enhyper.blogspot.com/2007/06/time-to-embrace-new-data-parallel.html
- http://enhyper.blogspot.com/2008/05/functional-programming-creeps-into-job....
- http://enhyper.blogspot.com/2007/12/haskell-next-mainstream-programming.htm...
Clarification added July 18, 2008:
for example, is an ideal algorithm for parallelisation in HaskellLinks:
That's a good question, and I would be interested in hearing about commercial developers.
One resource that I did find which might be quite useful for you is the
*"Commercial Users of Functional Programming" Conference/Group: http://cufp.galois.com/
Other online resources include:
* "Does anyone use functional programming": http://www.haskell.org/haskellwiki/Introduction#Does_anyone_use_functional_programming.3F
* "Haskell in Practice": http://www.haskell.org/haskellwiki/Haskell_in_practice
* "Haskell based Mathematics Applications and Libraries": http://www.haskell.org/haskellwiki/Applications_and_libraries/Mathematics
I hope that helps. I personally enjoy Haskell as a Functional Programming Language, but I do like Ruby (which is a clean Object Oriented Language with a Functional Programming Style). I also like Prolog, but that's more of a Logic Programming Language rather than Functional.
I can't see any problem in using a Functional Programming Language for a commercial purpose, in fact, I think that if anyone does then they're likely to be a few years ahead of someone who does a similar thing in, say, Java. This is because I believe Functional Programming to be more adaptable in the long term, particularly for algorithm-intensive applications.
Cheers,
Daniel
没有评论:
发表评论