• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
F# in Finance Tour
 

F# in Finance Tour

on

  • 1,155 views

Talk at F# in Finance conference at Microsoft in London

Talk at F# in Finance conference at Microsoft in London

Statistics

Views

Total Views
1,155
Views on SlideShare
1,053
Embed Views
102

Actions

Likes
2
Downloads
3
Comments
0

4 Embeds 102

http://quantlabs.net 66
https://twitter.com 33
http://feedly.com 2
http://reader.aol.com 1

Accessibility

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • Fsharp.org map
  • Putting it all together: http://www.trayport.com/en/joule/video

F# in Finance Tour F# in Finance Tour Presentation Transcript

  • 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 Reactive Programming Functional Programming
  • 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 small company with limited development resources. Boston-based Financial Services Firm
  • 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
  • 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
  • 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
  • TRAYPORT JOULE
  • SPECIFICATIONS WITH TICKSPEC
  • 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
  • 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)
  • 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 benefit of the parens style with the readability of the statement style. *) let result = [0..5] |> List.filter isEven |> List.map square AssertEquality result __
  • TRYFSHARP.ORG - FINANCE
  • F# JOB DEMAND - UK Source: IT Jobs Watch Nov 2013
  • Phillip Trelford Trayport Ltd F# in Finance 2013