Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Apidays London 2024 - Building Cross-Exchange T...

apidays
October 10, 2024

Apidays London 2024 - Building Cross-Exchange Trading Library with OpenAPI/AsyncAPI by Sho Kaneko, Repoch

Building Cross-Exchange Trading Library with OpenAPI/AsyncAPI
Sho Kaneko, Founder - Repoch

apidays London 2024 - APIs for Smarter Platforms and Business Processes
September 18 & 19, 2024

------

Check out our conferences at https://www.apidays.global/

Do you want to sponsor or talk at one of our conferences?
https://apidays.typeform.com/to/ILJeAaV8

Learn more on APIscene, the global media made by the community for the community:
https://www.apiscene.io

Explore the API ecosystem with the API Landscape:
https://apilandscape.apiscene.io/

apidays

October 10, 2024
Tweet

More Decks by apidays

Other Decks in Programming

Transcript

  1. Sho Kaneko 2019 embedded rust developer / running hardware product

    prototyping agency 2023 started doing open-source trading in rusttransitioned to crypto trading software rust 2024 80% contracting rust project,20% open-source trading software100% digital nomad / indie hacker intro trading project hurdles solution inspired by embedded leveraging AsyncAPI useful tools power of opensource
  2. doc-first integration Russian boss who doesn’t speak Intelligent CTO intro

    trading project hurdles solution inspired by embedded leveraging AsyncAPI useful tools power of opensource REST WebSocket Events/Signals Strategy REST WebSocket Ledger Backtest Get Market Data Place Order reading inaccurate / unmaintained API document testing parsers figuring out cross-exchange trading execution 20-50% of the dev time spent on
  3. cross-exchange trading libraries Russian boss who doesn’t speak Intelligent CTO

    intro trading project hurdles solution inspired by embedded leveraging AsyncAPI useful tools power of opensource Opinionated doesn’t fit into actual software design requirements Rust Wrapper on Javascript/Python (like fr?) Less people using Rust not leveraging the Python community Javascript Python Rust
  4. what we want for a cross exchange trading library Russian

    boss who doesn’t speak Intelligent CTO intro trading project hurdles solution inspired by embedded leveraging AsyncAPI useful tools power of opensource opensource native python support library, not a framework code-gen clients Sounds familiar as embedded software engineer…
  5. Idea from embedded to trading: arduino Russian boss who doesn’t

    speak Intelligent CTO intro trading project hurdles solution inspired by embedded leveraging AsyncAPI useful tools power of opensource above: application below arduino: h/w support
  6. Idea from embedded to trading: above the abstraction Russian boss

    who doesn’t speak Intelligent CTO intro trading project hurdles solution inspired by embedded leveraging AsyncAPI useful tools power of opensource Arduino Uno R3
  7. Idea from embedded to trading: below the abstraction Russian boss

    who doesn’t speak Intelligent CTO intro trading project hurdles solution inspired by embedded leveraging AsyncAPI useful tools power of opensource “All of them run the same code, Can’t we do the same thing for crypto trading?”
  8. key to openness: abstraction Russian boss who doesn’t speak Intelligent

    CTO intro trading project hurdles solution inspired by embedded leveraging AsyncAPI useful tools power of opensource arduino hardware abstraction layer (HAL)e.g. GPIO, UART, I2C, SPI, PWM espressif BSP/HAL Flash driver nrf52 BSP/HAL LCD display driver smartwatch, fleet management, 3D printer memory map memory map above: application below arduino: h/w support
  9. key to openness: abstraction Russian boss who doesn’t speak Intelligent

    CTO intro trading project hurdles solution inspired by embedded leveraging AsyncAPI useful tools power of opensource trading abstraction layere.g. order placement, fetch market data Hyperliquid local orderbook Binance BSP/HAL trading signals strategy, backtesting, reporting REST/ WS Client REST/ WS Client above: application below:CEX support OpenAPI / AsyncAPI OpenAPI / AsyncAPI
  10. guilder: the trading abstraction Russian boss who doesn’t speak Intelligent

    CTO intro trading project hurdles solution inspired by embedded leveraging AsyncAPI useful tools power of opensource trading.yaml guilder.py guilder.r s Domain Specific Language (DSL) “get L2 orderbook”, “get funding rate” “place order”, “check current balance”
  11. guilder: the trading abstraction Russian boss who doesn’t speak Intelligent

    CTO intro trading project hurdles solution inspired by embedded leveraging AsyncAPI useful tools power of opensource trading.py trading.rs trading.yaml ongoing implemented local orderbook sync adding backtesting, visualization porting cyclic arbitrage code
  12. exchange-collection: OpenAPI / AsyncAPI collection Russian boss who doesn’t speak

    Intelligent CTO intro trading project hurdles solution inspired by embedded leveraging AsyncAPI useful tools power of opensource OpenAP I(REST) AsyncAP I(WS) client code api testing tools gathered 3 exchanges(binance, coinbase, hyperliquid) building client code-gen CI adding AsyncAPI WS codegen
  13. useful tool #1: API viewer Russian boss who doesn’t speak

    Intelligent CTO intro trading project hurdles solution inspired by embedded leveraging AsyncAPI useful tools power of opensource https://repoch.co/exchange-collection/ OpenAP I(REST) AsyncAP I(WS)
  14. useful tool #2: client codegen Russian boss who doesn’t speak

    Intelligent CTO intro trading project hurdles solution inspired by embedded leveraging AsyncAPI useful tools power of opensource OpenAP I(REST) AsyncAP I(WS) janky, but I can rebuild it because it is open source
  15. google it or (re)build it Russian boss who doesn’t speak

    Intelligent CTO intro trading project hurdles solution inspired by embedded leveraging AsyncAPI useful tools power of opensource fixing OpenAPI REST client codegen adding AsyncAPI WS client codegen (maybe) add extensions to OpenAPI / AsyncAPI
  16. useful tool #2: client codegen Russian boss who doesn’t speak

    Intelligent CTO intro trading project hurdles solution inspired by embedded leveraging AsyncAPI useful tools power of opensource Rust Trading Bot Dev https://discord.gg/nabHXUN9RS Q&A
  17. future integration pipeline:code-first approach Russian boss who doesn’t speak Intelligent

    CTO intro trading project hurdles solution inspired by embedded leveraging AsyncAPI useful tools power of opensource appendix
  18. future integration pipeline:api-first approach Russian boss who doesn’t speak Intelligent

    CTO intro trading project hurdles solution inspired by embedded leveraging AsyncAPI useful tools power of opensource 200USD OpenAPI150USD AsyncAPI1 doc per week ?
  19. future integration pipeline:code-first approach Russian boss who doesn’t speak Intelligent

    CTO intro trading project hurdles solution inspired by embedded leveraging AsyncAPI useful tools power of opensource poem and poem-openapi
  20. OpenAPI tools Russian boss who doesn’t speak Intelligent CTO intro

    trading project hurdles solution inspired by embedded leveraging AsyncAPI useful tools power of opensource
  21. AsyncAPI tools Russian boss who doesn’t speak Intelligent CTO intro

    trading project hurdles solution inspired by embedded leveraging AsyncAPI useful tools power of opensource