Skip to content

Guilder: Unopinionated Cross-Exchange Crypto Trading Library

License

Notifications You must be signed in to change notification settings

kanekoshoyu/guilder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Guilder

Unopinionated Cross-Exchange Crypto Trading Library

crates license discord

an unopinionated multi-language, cross-exchange crypto trading library

how it works

  • guilder-abstraction defines the common traits for crypto trading. It's specs are defined in a single YAML and trait codes are auto-generated.
  • As we implement trading strategies purely using these traits, we can switch to new exchange with minimal marginal effort.
  • We can either auto-generate cross-language (e.g. python) FFI bindings in the future, or we can just implement them natively in different languages. Main support will be in Rust.
  • Each exchange has to implement guilder-abstraction, and we use exchange-yaml models to create the client with ease. We can also implement the traits on any custom models.

code structure

component description
abstraction trading traits that abstract out each exchange
core key trading components built on top of guilder-abstraction
client exchange clients that implement the abstraction using models from exchange-collection

guidelines to maintain unopinionated code

  • sync as default, async as feature.
  • trading.yaml definition only use:
    • traits
    • primitive data type in Rust format, no external struct
    • custom primitive enum defined in yaml, most languages doesn't support struct within enum
    • custom struct defined in yaml using either primitives or enum, no nesting
  • generated abstraction code only use standard libraries.
  • core only use standard and networking libraries in default.
  • any variants (e.g. dashmap, tokio, string-intern) should be defined with feature.

why the name?

Dutch Guilder was the currency used for 500+ years across the East India Company era for trading. I hope guilder trading library will be used by a lot of people for years. It also rhymes with builder.

In order to achieve it, we should make guilder:

  • support more exchanges
  • keep it versatile

partnership

I keep this project opensource so that everyone can take part of it. If you want to get an exchange integrated, I can help get that up for an one-off cost in 3 weeks, just enough to pay my freelancing partner to get it done. Please contact Sho Kaneko for details.

see also

About

Guilder: Unopinionated Cross-Exchange Crypto Trading Library

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published