• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
F# for Trading
 

F# for Trading

on

  • 6,765 views

Strangeloop 2012 presentation

Strangeloop 2012 presentation

Statistics

Views

Total Views
6,765
Views on SlideShare
3,914
Embed Views
2,851

Actions

Likes
9
Downloads
31
Comments
0

9 Embeds 2,851

http://trelford.com 1687
http://www.trelford.com 1117
https://twitter.com 27
https://si0.twimg.com 8
http://www.newsblur.com 6
http://twitter.com 2
http://trelford36.rssing.com 2
http://sickagent 1
https://bb9-k12.blackboard.com 1
More...

Accessibility

Categories

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
  • F# - not explicitly built for trading butBased on Ocaml which Janes St & others have been using for over a decadeEarly adopters in trading community Credit Suisse, E-OnF# community dominated by finance, insurance
  • Community MattersPython PrincipleEarly adopters = Traders > DevelopersExcelF#Hedge FundsBanks IT Departments are ConservativeLanguage/Tool approve listRunning VS2005/2008 (via phone interviews)Credit Suisse, Trafigura, BarCap
  • Leverage

F# for Trading F# for Trading Presentation Transcript

  • F# for TradingPhillip TrelfordTrayport
  • F# Community
  • F# Language• Strongly Typed• Functional First• Object Orientated• Open Source• First Class .Net language• In Visual Studio
  • Visual Studio
  • Joule Energy Trading Screen
  • Leverage• Existing code• Domain modelling• Computation• Concurrency• Libraries
  • Specification by Example
  • TickSpec: Breakpoint in text file
  • Thoughtworks Tech RadarMarch 2012 “F# is excellent at concisely expressing business and domain logic.” “Developers trying to achieve explicit business logic within an application may opt to express their domain in F# with the majority of plumbing code in C#.”
  • Order – Record typetype Order = { Side : Side LimitPrice : Price Quantity : Quantity IsAllOrNone : bool }
  • Time in Force – Union typetype TimeInForce = | Immediate | GoodForDay | GoodTillDate of DateTime
  • Units of Measure
  • Excel – Type ProviderExcel Visual Studio
  • F# for Computation• Standard F# tools ▫ F# language and core libraries• Workstation libraries ▫ Math.NET Numerics (open source) ▫ StatFactory FCore• Distributed libraries ▫ Microsoft Cloud Numerics ▫ Nessos {m}brace cloud
  • Monte Carlo estimation of Pi
  • R – Type Provider
  • ShowDialog – Async workflows
  • Rxnotifications. BufferWithTimeOrCount( TimeSpan.FromSeconds(0.01), 50);
  • MiniRx int closure = i; mouseMove .Select(e => e.GetPosition(canvas)) .Delay(closure * 100) .OnDispatcher() .Subscribe(pos => { Canvas.SetLeft(label, pos.X + closure * 10); Canvas.SetTop(label, pos.Y); });
  • F# Agents – MailboxProcessor typeAgent.Start (fun inbox -> async { while true do let! instruction = instruction.Receive() instruction |> market.Update |> notify } )
  • The future – {m}brace the cloud• Programming model that looks sequential but executes distributed ▫ async { } ▫… ▫ cloud { }
  • .Net 4.5 Garbage CollectorLatency Mode Application ScenariosBatch Command line Server SideInteractive LOB applicationsLowLatency Trading ScreensSustainedLowLatency Financial Applications
  • Meet the F#ers @rickasaurus @tomaspetricek @dmohl
  • Try F#: http://tryfsharp.org
  • Questions?Me F#Twitter: @ptrelford Twitter: #fsharpFeed: http://trelford.com/blog Feed: http://fpound.net