Accompanying slides to talk http://quantlabs.net/blog/2014/12/meetup-tonite-python-programming-phillip-trelford-presents-dotnet-f-for-trading-and-finance/
F# FOR PROFIT
Time to Market
Efficiency
Correctness
Complexity
TIME TO MARKET
order of magnitude increase in productivity
GameSys
Source http://fsharp.org/testimonials
EFFICIENCY
performance is phenomenal. We can now re-calculate the entire bank
portfolio from scratch in less than a second
Handelsbanken
Source http://fsharp.org/testimonials
CORRECTNESS
leads to virtually bug-free code
Fixed Income
Source http://fsharp.org/testimonials
COMPLEXITY
F# is the night vision goggles I need when I go into the dark and
attempt to solve previously unsolved problems
Byron Cook
Source http://fsharp.org/testimonials
FSHARP.ORG/TESTIMONIALS -
MICROSOFT
For a machine learning scientist, speed of experimentation is the
critical factor to optimize.
Compiling is fast but loading large amounts of data in memory takes a
long time.
With F#’s REPL, you only need to load the data once
and you can then code and explore in the interactive environment.
Unlike C# and C++, F# was designed for this mode of interaction.
- Patrice Simard, Microsoft
FSHARP.ORG/TESTIMONIALS -
AMYRIS BIOTECH
F# has been phenomenally useful.
I would be writing a lot of this in Python otherwise
and F# is more robust, 20x - 100x faster to run
and for anything but the most trivial programs,
faster to develop.
- Darren Platt, Amyris Biotechnology
CURRENCY CONVERSIONS
[<Measure>] type EUR
[<Measure>] type GBP
let rateEurGbp = 0.783M<GBP/EUR>
// Converts amount in EUR to GBP
let euroToPounds (eur:decimal<EUR>) = eur * rateEurGbp
UNITS IN CELLS
type formula =
| Neg of formula
| Exp of formula * formula
| ArithmeticOp of
formula * arithmetic * formula
| LogicalOp of
formula * logical * formula
| Num of UnitValue
| Ref of int * int
| Range of int * int * int * int
| Fun of string * formula list
F# KOANS
[<Koan>]
let SquareEvenNumbersWithPipelineOperator() =
(* In F#, you can use the pipeline operator to get the benefit of
the parens style with the readability of the statement style. *)
let result =
[0..5]
|> List.filter isEven
|> List.map square
AssertEquality result __
QUESTIONS?
Community
F# Foundation http://fsharp.org
F#unctional Londoners http://meetup.com/fsharplondon
Twitter #fsharp
Me
Blog http://trelford.com/blog
Twitter @ptrelford
Editor's Notes
http://www.meetup.com/fsharplondon/
http://c4fsharp.net/groups.html
See also http://www.simple-talk.com/opinion/geek-of-the-week/dr-byron-cook-geek-of-the-week/