Your SlideShare is downloading. ×
0
F# IN FINANCE TOUR

Phillip Trelford
Trayport Ltd
F# in Finance 2013
F#UNCTIONAL LONDONERS
Founded Feb 2010
600+ Members
50+ Meetups
3 Conferences
Topics





Finance
Machine Learning
Rea...
F# GROUPS WORLDWIDE
SECTORS
Prop
shops
Hedge
funds
Investment Banks

Utilities

Insurance
TIME TO MARKET
We are using F# because it considerably increases speed of

software development which is crucial for a sma...
EFFICIENCY
F# … to reduce the amount of code required and its simplicity when
developing massive parallel computations. Th...
CORRECTNESS
The efficient use of functional programming throughout the R&D cycle
helped make the cycle faster and more eff...
COMPLEXITY
We have set up a complete risk management system that combines several
data sources…
When the calculation requi...
TRAYPORT JOULE
SPECIFICATIONS WITH
TICKSPEC
CURRENCY CONVERSIONS
[<Measure>] type EUR
[<Measure>] type GBP
let rateEurGbp = 0.783M<GBP/EUR>
// Converts amount in EUR ...
OPTION PRICING
let euroCallValue exercisePrice actualPrice =
max (actualPrice - exercisePrice) 0.0
let euroPutValue exerci...
R – TYPE PROVIDER
ORDERS – RECORD TYPES
F#
type LimitOrder = {
LimitPrice : decimal
Quantity : int
Side : Side
}

C#
TIME IN FORCE – UNION
TYPE
type TimeInForce =
| GoodTillCancel
| GoodForDay
| GoodTillDate of DateTime
UNITS IN CELLS
type UnitType =
| Empty
| Unit of string * int
| CompositeUnit of UnitType list
TRAINING

Phillip Trelford
Trayport Ltd
F# in Finance 2013
SKILLS MATTER
Training
Fast Track to F#
2 days (quarterly)

Tutorials
F# Tutorials (London & NYC)
2 days (annually)
F# KOANS
[<Koan>]
let SquareEvenNumbersWithPipelineOperator() =
(* In F#, you can use the pipeline operator to get the ben...
TRYFSHARP.ORG - FINANCE
F# JOB DEMAND - UK

Source: IT Jobs Watch Nov 2013
Phillip Trelford
Trayport Ltd
F# in Finance 2013
Upcoming SlideShare
Loading in...5
×

F# in Finance Tour

1,126

Published on

Talk at F# in Finance conference at Microsoft in London

Published in: Economy & Finance, Business
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,126
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
6
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide
  • Fsharp.org map
  • Putting it all together: http://www.trayport.com/en/joule/video
  • Transcript of "F# in Finance Tour"

    1. 1. F# IN FINANCE TOUR Phillip Trelford Trayport Ltd F# in Finance 2013
    2. 2. F#UNCTIONAL LONDONERS Founded Feb 2010 600+ Members 50+ Meetups 3 Conferences Topics     Finance Machine Learning Reactive Programming Functional Programming
    3. 3. F# GROUPS WORLDWIDE
    4. 4. SECTORS Prop shops Hedge funds Investment Banks Utilities Insurance
    5. 5. TIME TO MARKET We are using F# because it considerably increases speed of software development which is crucial for a small company with limited development resources. Boston-based Financial Services Firm
    6. 6. EFFICIENCY F# … to reduce the amount of code required and its simplicity when developing massive parallel computations. The performance is phenomenal. We can now re-calculate the entire bank portfolio from scratch in less than a second Handelsbanken
    7. 7. CORRECTNESS The efficient use of functional programming throughout the R&D cycle helped make the cycle faster and more efficient. Less time was spent on translating requirements, miscommunications etc. and more on producing a fast and accurate solution quickly. CME Group
    8. 8. COMPLEXITY We have set up a complete risk management system that combines several data sources… When the calculation requires a proper algorithm (i.e. anything that is more complex than a simple for loop), our choice has been F#. London-Based Asset Management Company
    9. 9. TRAYPORT JOULE
    10. 10. SPECIFICATIONS WITH TICKSPEC
    11. 11. 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
    12. 12. OPTION PRICING let euroCallValue exercisePrice actualPrice = max (actualPrice - exercisePrice) 0.0 let euroPutValue exercisePrice actualPrice = max (exercisePrice - actualPrice) 0.0 let butterflySpread lowPrice highPrice actualPrice = (euroCallValue lowPrice actualPrice) + (euroCallValue highPrice actualPrice) 2.0 * (euroCallValue ((lowPrice + highPrice) / 2.0) actualPrice)
    13. 13. R – TYPE PROVIDER
    14. 14. ORDERS – RECORD TYPES F# type LimitOrder = { LimitPrice : decimal Quantity : int Side : Side } C#
    15. 15. TIME IN FORCE – UNION TYPE type TimeInForce = | GoodTillCancel | GoodForDay | GoodTillDate of DateTime
    16. 16. UNITS IN CELLS type UnitType = | Empty | Unit of string * int | CompositeUnit of UnitType list
    17. 17. TRAINING Phillip Trelford Trayport Ltd F# in Finance 2013
    18. 18. SKILLS MATTER Training Fast Track to F# 2 days (quarterly) Tutorials F# Tutorials (London & NYC) 2 days (annually)
    19. 19. 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 __
    20. 20. TRYFSHARP.ORG - FINANCE
    21. 21. F# JOB DEMAND - UK Source: IT Jobs Watch Nov 2013
    22. 22. Phillip Trelford Trayport Ltd F# in Finance 2013
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×