SlideShare a Scribd company logo
1 of 11
Download to read offline
Experience Report: Scala
usage at Capital IQ ClariFI
        Paul Chiusano
About us

 We make software for quantitative investment management
 Sell to asset managers, hedge funds, etc
 Flagship product, ClariFI
    Portfolio optimization
    Model/factor building, backtesting
    Performance/risk attribution
    Building, simulating trading strategies
    Screening, event studies
    Overall data management
    Etc...
 Founded in 2000, acquired by Capital IQ (itself owned by
 S&P) in 2007
 Team size: 20 devs
Our first Scala project

  About 2 yrs ago, needed to rewrite/redesign PA backend
  FP a natural fit for the domain
  Scala the clear winner among JVM FP languages
Results highlights

  Scala implementation about 1/3 the LOC, comparable
  memory usage and speed
      More generic, modular
  New code had much better testing
      ScalaCheck a major win
      On a few occasions, discovered bugs in old
      implementation
  In production now for over a year
Since then

 Used Scala on another major project, more on the way
    Scala well-suited for backend / analytics layer
 Several other devs have now used Scala in some capacity
 Actively hiring people with Scala/FP experience
Scala: the good

  Scala/Java integration
  Basic functional idioms
  The type system
  Optional non-strict evaluation
Scala: the bad

  IDE support (as of 2008)
  Scala generics vs Java generics
  Limited, unpredictable type inference
  Function values are monomorphic
  Weak standard library
More on our environment

 Scala code in a separate project, exports a .jar
 Tools: Eclipse, NetBeans, Ant, ScalaCheck + JUnit, SBinary
 More recently: Vim, sbt, Scalaz
How hard is Scala to learn?

  Learning curve can be very gradual
     Type system probably biggest stumbling block
  Deep FP knowledge takes a long time to develop
     Requires shift in mindset
     Hard to find people with deep experience
Other takeaways

 Good design is hard
 Rewrites not always bad
Any questions?

 More info at my blog: pchiusano.blogspot.com
 Also on twitter: @pchiusano
 email: paul.chiusano@gmail.com
 Our website: clarifi.com

More Related Content

Viewers also liked

Viewers also liked (10)

Adzzoo Flyer
Adzzoo FlyerAdzzoo Flyer
Adzzoo Flyer
 
Man pro 06 pjm
Man pro 06 pjmMan pro 06 pjm
Man pro 06 pjm
 
Semana Santa
Semana SantaSemana Santa
Semana Santa
 
뮤지컬 장기려 그사람
뮤지컬 장기려 그사람뮤지컬 장기려 그사람
뮤지컬 장기려 그사람
 
기도함으로멈추다20110220
기도함으로멈추다20110220기도함으로멈추다20110220
기도함으로멈추다20110220
 
섬김이 교사들_나들목 중고등부 2011 여름 수련회
섬김이 교사들_나들목 중고등부 2011 여름 수련회섬김이 교사들_나들목 중고등부 2011 여름 수련회
섬김이 교사들_나들목 중고등부 2011 여름 수련회
 
뜻 있는 직업, 뜻 밖의 찾음
뜻 있는 직업, 뜻 밖의 찾음뜻 있는 직업, 뜻 밖의 찾음
뜻 있는 직업, 뜻 밖의 찾음
 
4개국어 쉽고 재밌게 배우기
4개국어 쉽고 재밌게 배우기4개국어 쉽고 재밌게 배우기
4개국어 쉽고 재밌게 배우기
 
평화와 한국전쟁
평화와 한국전쟁평화와 한국전쟁
평화와 한국전쟁
 
Beyond Mere Actors
Beyond Mere ActorsBeyond Mere Actors
Beyond Mere Actors
 

Similar to Commercial Usage Of Scala At Capital Iq Clari F

Functional Scala 2022 - scalajs Alexis.pdf
Functional Scala 2022 - scalajs Alexis.pdfFunctional Scala 2022 - scalajs Alexis.pdf
Functional Scala 2022 - scalajs Alexis.pdf
ssusercd195b
 
An Introduction to Scala
An Introduction to ScalaAn Introduction to Scala
An Introduction to Scala
Brent Lemons
 

Similar to Commercial Usage Of Scala At Capital Iq Clari F (20)

Zalando Tech: From Java to Scala in Less Than Three Months
Zalando Tech: From Java to Scala in Less Than Three MonthsZalando Tech: From Java to Scala in Less Than Three Months
Zalando Tech: From Java to Scala in Less Than Three Months
 
Scala adoption by enterprises
Scala adoption by enterprisesScala adoption by enterprises
Scala adoption by enterprises
 
What is scala
What is scalaWhat is scala
What is scala
 
Why scala - executive overview
Why scala - executive overviewWhy scala - executive overview
Why scala - executive overview
 
From java to scala at crowd mix
From java to scala at crowd mixFrom java to scala at crowd mix
From java to scala at crowd mix
 
Scala Introduction - Meetup Scaladores RJ
Scala Introduction - Meetup Scaladores RJScala Introduction - Meetup Scaladores RJ
Scala Introduction - Meetup Scaladores RJ
 
Ahmed Kamal - Software Development Expert
Ahmed Kamal - Software Development ExpertAhmed Kamal - Software Development Expert
Ahmed Kamal - Software Development Expert
 
Refactoring to Scala DSLs and LiftOff 2009 Recap
Refactoring to Scala DSLs and LiftOff 2009 RecapRefactoring to Scala DSLs and LiftOff 2009 Recap
Refactoring to Scala DSLs and LiftOff 2009 Recap
 
Functional Scala 2022 - scalajs Alexis.pdf
Functional Scala 2022 - scalajs Alexis.pdfFunctional Scala 2022 - scalajs Alexis.pdf
Functional Scala 2022 - scalajs Alexis.pdf
 
Experience Converting from Ruby to Scala
Experience Converting from Ruby to ScalaExperience Converting from Ruby to Scala
Experience Converting from Ruby to Scala
 
Scala in practice
Scala in practiceScala in practice
Scala in practice
 
Pranab Saha
Pranab SahaPranab Saha
Pranab Saha
 
What Web Framework To Use?
What Web Framework To Use?What Web Framework To Use?
What Web Framework To Use?
 
The Scala Programming Language
The Scala Programming LanguageThe Scala Programming Language
The Scala Programming Language
 
Scala and spark
Scala and sparkScala and spark
Scala and spark
 
Computer software specialists wikki verma
Computer software specialists   wikki vermaComputer software specialists   wikki verma
Computer software specialists wikki verma
 
An Introduction to Scala
An Introduction to ScalaAn Introduction to Scala
An Introduction to Scala
 
Ahmed Kamal CV
Ahmed Kamal CVAhmed Kamal CV
Ahmed Kamal CV
 
Apcera Case Study: The selection of the Go language
Apcera Case Study: The selection of the Go languageApcera Case Study: The selection of the Go language
Apcera Case Study: The selection of the Go language
 
Whitepages Practical Experience Converting from Ruby to Reactive
Whitepages Practical Experience Converting from Ruby to ReactiveWhitepages Practical Experience Converting from Ruby to Reactive
Whitepages Practical Experience Converting from Ruby to Reactive
 

Recently uploaded

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Recently uploaded (20)

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 

Commercial Usage Of Scala At Capital Iq Clari F

  • 1. Experience Report: Scala usage at Capital IQ ClariFI Paul Chiusano
  • 2. About us We make software for quantitative investment management Sell to asset managers, hedge funds, etc Flagship product, ClariFI Portfolio optimization Model/factor building, backtesting Performance/risk attribution Building, simulating trading strategies Screening, event studies Overall data management Etc... Founded in 2000, acquired by Capital IQ (itself owned by S&P) in 2007 Team size: 20 devs
  • 3. Our first Scala project About 2 yrs ago, needed to rewrite/redesign PA backend FP a natural fit for the domain Scala the clear winner among JVM FP languages
  • 4. Results highlights Scala implementation about 1/3 the LOC, comparable memory usage and speed More generic, modular New code had much better testing ScalaCheck a major win On a few occasions, discovered bugs in old implementation In production now for over a year
  • 5. Since then Used Scala on another major project, more on the way Scala well-suited for backend / analytics layer Several other devs have now used Scala in some capacity Actively hiring people with Scala/FP experience
  • 6. Scala: the good Scala/Java integration Basic functional idioms The type system Optional non-strict evaluation
  • 7. Scala: the bad IDE support (as of 2008) Scala generics vs Java generics Limited, unpredictable type inference Function values are monomorphic Weak standard library
  • 8. More on our environment Scala code in a separate project, exports a .jar Tools: Eclipse, NetBeans, Ant, ScalaCheck + JUnit, SBinary More recently: Vim, sbt, Scalaz
  • 9. How hard is Scala to learn? Learning curve can be very gradual Type system probably biggest stumbling block Deep FP knowledge takes a long time to develop Requires shift in mindset Hard to find people with deep experience
  • 10. Other takeaways Good design is hard Rewrites not always bad
  • 11. Any questions? More info at my blog: pchiusano.blogspot.com Also on twitter: @pchiusano email: paul.chiusano@gmail.com Our website: clarifi.com