Why you should buy SEL. The Stock Exchange Language Alexander Golec (akg2136) Dan Mechanic (dm2474) Eric Powders (ejp2127) Nisha Ranga (nr2399) Noah Stephens-Davidowitz (nhs2121)

Download Report

Transcript Why you should buy SEL. The Stock Exchange Language Alexander Golec (akg2136) Dan Mechanic (dm2474) Eric Powders (ejp2127) Nisha Ranga (nr2399) Noah Stephens-Davidowitz (nhs2121)

Why you should buy SEL.

The Stock Exchange Language

Alexander Golec (akg2136) Dan Mechanic (dm2474) Eric Powders (ejp2127) Nisha Ranga (nr2399) Noah Stephens-Davidowitz (nhs2121)

SEL - Motivations • "As of 2009, [High Frequency Trading] firms account for 73% of all US equity trading volume. " o Rob Lati, The Real Story of Trading Software Espionage

AdvancedTrading.com

, July 10, 2009 • Proprietary trading firms use their own specialized languages to program their trading systems.

• SEL makes the power of these systems available to anyone.

SEL - Language Features • A language to facilitate the development and implementation of trading strategies.

• Stream abstraction does away with the need to write input handling code.

• Checking for market conditions is handled automatically.

• Standard input format means simple adapters can be used to process a variety of input formats.

What we are presenting today • Development Methodology • Compiler and Runtime Architecture • Testing methodology • Demonstration

SEL - Development Methodology • Agile; similar to Continuous Integration o Start with a skeleton, dummy code where necessary o o o Commit Early, Commit Often Only commit buildable code Test, test, test o Refactor, refactor, refactor • • • • Flexible Roles Meet often (twice-weekly) Use Mercurial for centralized code versioning Build against a single, standardized development platform

SEL

SEL - Architecture

SEL - Testing • Python Test framework - Automated testing • Comprehensive test suite o o o 355 SEL compiler tests 132 target code compilation tests 4 execution tests • Results based on SEL and g++ return codes and expected program output.

• Testing developed as the language developed....

new features = testbed expanded

SEL - Testing

SEL- In Action

SEL- In Action