How F# Is Used in Trading and Quantitative Finance
Summary
The discussion surveys reported uses of F# in banks, trading firms, and quantitative finance teams. Examples include valuation and derivative pricing, energy trading software, sports trading models, data cleaning, and analytics. Some teams combine F# with C# on .NET, using it for calculation engines, domain models, concurrency, and performance-sensitive components. The language’s functional features, static typing, and object-oriented support are presented as reasons it can suit financial modeling and application development.
The evidence is a collection of practitioner reports and examples rather than systematic research. One contributor describes performance comparable to a prior optimized C++ system, with some components faster, while another reports that F# was rare in low-latency trading teams and had mixed project outcomes. The answers also mention GPU pricing work, a proposed bank-wide model migration, and platform bindings. These anecdotes show that F# has seen real but uneven adoption; they do not establish its prevalence, typical performance, or long-term success across the industry.
Key ideas
- F# has been used in finance for valuation, derivative pricing, analytics, trading applications, and data preparation.
- Its .NET compatibility can make it easier to integrate with systems written in C# and other .NET languages.
- Functional features such as immutability, pattern matching, and asynchronous workflows can support calculation and concurrency tasks.
- Practitioner accounts describe performance ranging from comparable to optimized C++ to poor project experiences.
- The examples are anecdotal and do not measure how widely F# is used across financial firms.
Tags
Full text
# Is F# used in trading systems? # Is F# used in trading systems? 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? ## Answer by Todd Schiller (score 24) https://quant.stackexchange.com/a/311 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#. ## Answer by Phillip Trelford (score 18) https://quant.stackexchange.com/a/7139 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: - Simon Cousins on F# in the Enterprise - F# at E.ON Energy Trading - Daniel Egloff - F# on the GPU with Alea.CUDA - developed for derivative pricing - Adam Mlocek on GPU enabled F# numerics - includes pricing a euro option by Monte Carlo - Tomas Petricek on F# Domain Specific Languages for Finance - including modelling and evaluating contracts ## Answer by chrisaycock (score 12) https://quant.stackexchange.com/a/309 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. ## Answer by Phillip Trelford (score 7) https://quant.stackexchange.com/a/7138 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. ## Answer by Andrey Taptunov (score 6) https://quant.stackexchange.com/a/313 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 . ## Answer by gappy (score 5) https://quant.stackexchange.com/a/305 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. ## Answer by fpessoa (score 5) https://quant.stackexchange.com/a/3304 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. ## Answer by user4882 (score 5) https://quant.stackexchange.com/a/7417 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. ## Answer by Peter Ferak (score 3) https://quant.stackexchange.com/a/7143 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 ## Answer by ash (score 2) https://quant.stackexchange.com/a/1932 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. ## Answer by Craig (score 1) https://quant.stackexchange.com/a/3327 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". ## Answer by rbonallo (score 0) https://quant.stackexchange.com/a/33610 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. ## Answer by Anton Kochkov (score 0) https://quant.stackexchange.com/a/55170 QuantConnect provides F# bindings and examples for their Lean open source trading engine. It means there is a demand for those.
Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.