32
$\begingroup$

Similar to this other question about Scala, I'm interested in knowing whether F# is used to any measurable degree in financial circles. Have there been any successful shops using it, any research on performance and viability?

$\endgroup$
  • 4
    $\begingroup$ What is the point of these language questions? The answer is going to be almost always the same: a few places probably use them, but C/C++/Java dominate on the whole. $\endgroup$ – Shane Feb 8 '11 at 21:06
  • $\begingroup$ @Shane Why did you just delete your catch-all question?! I just finished typing my answer right when you removed it! $\endgroup$ – chrisaycock Feb 8 '11 at 21:18
  • $\begingroup$ @chrisaycock Sorry! Changed my mind; do you still have it? Try again. $\endgroup$ – Shane Feb 8 '11 at 21:19
  • $\begingroup$ I work for a hedge fund and we use C# for algorithmic trading models. This is because we use C# for everything else. Thus I would assume that using F# would be a great move due to it being DotNet and compatible (mostly) with existing C# code. $\endgroup$ – Todd Moses Jan 11 '12 at 19:39
  • $\begingroup$ @ToddMoses F# is a natural choice in your situation $\endgroup$ – Dmitri Nesteruk Apr 22 '12 at 8:00

12 Answers 12

23
$\begingroup$

Credit Suisse has publicly stated that they use F# for some valuation tasks (which tend to be very parallelizable). Here's a link to a talk abstract from a Commercial Users of Functional Programming workshop:

http://cufp.org/archive/2008/abstracts.html#MansellHoward

I'm not sure if there's a video of the talk floating around or not.

Since F# targets the .NET framework, it gives you a lot of flexibility in integrating other applications that might have been written in, say, C#.

$\endgroup$
  • 1
    $\begingroup$ Not only for "some valuation tasks". Credit Suisse's Modelling and Analytics Group in London develops (entirely?) in F# as far as I know. $\endgroup$ – jk3000 Sep 15 '11 at 19:31
15
$\begingroup$

I help organize the F#unctional Londoners Meetup group. A good number of our 450+ members work in London's finance sector. Over the past 2 years we have hosted a number of talks related to F# in trading:

$\endgroup$
11
$\begingroup$

I worked for a big investment bank a few years ago that announced it was moving all quant models to F#. The goal behind the switch was that F# is a functional programming language and available on .NET, both of which were desirable qualities for this particular company. I left before they got started on the transition, so I don't know what came of it.

As for the related OCaml, Jane Street famously uses that.

$\endgroup$
6
$\begingroup$

There was huge buzz about F# in the City and few banks / funds tried very agressively to hire people with F# knowledge and experience in finance. For example, Luka Bolognese one of the F# authors joined Credit Suisse almost 2 years ago. Also Don Syme used to conduct visiting lectures about F# and its possible applications to finance in the City .

$\endgroup$
  • 2
    $\begingroup$ Yop there are also a few hedge funds lurking for F# programmers in Geneva $\endgroup$ – SRKX Sep 9 '11 at 14:50
  • 1
    $\begingroup$ Any updates for 2015? $\endgroup$ – Nikos Jul 8 '15 at 9:23
6
$\begingroup$

I work at Trayport, the leading provider of European energy trading solutions. We use F# alongside C# in our trading screen Joule. F# is used for our calculation engine, domain, high performance components and for handling concurrency.

  • The calculation engine leverage's F#'s union types, pattern matching and units of measure feature.
  • The domain leverages F#'s rich object orientated constructs.
  • F# is particularly strong at concurrency with first class events, built-in agents, asynchronous workflows and immutability as a default.

As a statically typed .Net language F# has similar performance characteristics to C#, with additional optimizations including tail calls and inline functions. Performance of the system is comparable to the previous highly optimized C++ implementation and on some key components it is significantly faster.

$\endgroup$
  • 1
    $\begingroup$ Hey, can you merge your contents here into your other answer? That way all the info appears in one place. $\endgroup$ – chrisaycock Jan 29 '13 at 12:16
  • $\begingroup$ How is F# doing in the world of finance these days in 2015/2016? $\endgroup$ – Nikos Jul 8 '15 at 9:25
5
$\begingroup$

Not that I know of, although I know .net is sometimes used as a platform by (larger) asset management companies, so F# seems a good candidate to parallelize computationally intensive jobs.

$\endgroup$
5
$\begingroup$

F# is mainly a functional language, but it's also rich in OO features. This makes it very suitable, for example, for writing a pricing framework and at the same time make writing payoffs more straightforward. In the long run, it definitely saves a long time writing/debugging and maintaining models.

$\endgroup$
4
$\begingroup$

I've worked in about 10 financial institutions over my career. 6 top tier banks in the front office building low latency trading platforms. F# is rare, these places are huge so I cant say I've seen every team but where I've seen it be used (twice) the project has been dire. This was a decent overview from an experienced city recruiter.

$\endgroup$
  • $\begingroup$ Interesting link. Please take the time to register to help the site. $\endgroup$ – SRKX Mar 27 '13 at 13:29
3
$\begingroup$

We use it in sports trading. Mostly because our quantitive analysts creating the mathematical models understand F# quite easily, while they completely gave up on C# :D

$\endgroup$
  • $\begingroup$ C#'s approach (and the Object Oriented approach, in general) to high level math is asinine. Take delegates, 'callbacks', and design patterns, for example. These are terms slung around OO circles like they are super advanced witchery, when in reality they are universally as trivial as passing g(x) into f() (or, f(g(x))). When math people run into this nonsense, it is like a civil engineer encountering a skyscraper built out of play-dough, bubble-gum and lincoln-logs. Their minds break, and angels die. $\endgroup$ – donlan Dec 6 '15 at 1:00
2
$\begingroup$

For what it is worth , I work for a major investment bank and we have decided to go the functional way. Since most of our other legacy apps are JAVA we decided on using clojure on JVM.

$\endgroup$
1
$\begingroup$

I know one shop which is doing some new projects in F# replacing some of their OCaml stuff, I asked the guy what they used it for and he replied "mostly data cleaning".

$\endgroup$
  • $\begingroup$ Really? interesting, I'd have thought that data cleaning would be easier in a procedural/imperative language like C# ... and that they'd model their algorithms with the functional language. $\endgroup$ – Joel Martinez Apr 23 '12 at 20:39
  • $\begingroup$ Yeah, that did occur to me as well, but I'm not really enough of a expert in functional languages to make a judgement. I know one of the other reasons they went to F# was so they could use the VS tool-chain (debugger etc). $\endgroup$ – Craig Apr 23 '12 at 23:06
0
$\begingroup$

Credit Suisse use it a lot in quants, BarCap use it to some extent. Buy side, BlueMountain Capital are very F# heavy in analytics and contribute to open source a lot (Deedle is amazeballs!). Its also used sporadically in other funds.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.