Skip to content

High-performance and normalised trading interface capable of executing across many financial venues. Also provides a feature rich simulated exchange to assist with backtesting and dry-trading. Used mainly as a dependency of `barter-rs` project

License

Notifications You must be signed in to change notification settings

leosmigel/barter-execution-rs

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Barter-Execution

High-performance and normalised trading interface capable of executing across many financial venues. Also provides a feature rich simulated exchange to assist with backtesting and dry-trading.

It is:

  • Easy: ExecutionClient trait provides a unified and simple language for interacting with exchanges.
  • Normalised: Allow your strategy to communicate with every real or simulated exchange using the same interface.
  • Extensible: Barter-Execution is highly extensible, making it easy to contribute by adding new exchange integrations!

See: Barter, Barter-Integration, Barter-Data

Crates.io MIT licensed Build Status Discord chat

API Documentation | Chat

Overview

High-performance and normalised trading interface capable of executing across many financial venues. Also provides a feature rich simulated exchange to assist with backtesting and dry-trading. Communicate with an exchange by initialising it's associated ExecutionClient instance.

Example

For now, see tests/simulated_exchange.rs for a taste.

Getting Help

Firstly, see if the answer to your question can be found in the API Documentation. If the answer is not there, I'd be happy to help to Chat and try answer your question via Discord.

Contributing

Thanks for your help in improving the Barter ecosystem! Please do get in touch on the discord to discuss development, new features, and the future roadmap.

  • Implement the ExecutionClient trait to integrate a new exchange.

Related Projects

In addition to the Barter-Execution crate, the Barter project also maintains:

  • Barter: High-performance, extensible & modular trading components with batteries-included. Contains a pre-built trading Engine that can serve as a live-trading or backtesting system.
  • Barter-Integration: High-performance, low-level framework for composing flexible web integrations.
  • Barter-Data: High-performance WebSocket integration library for streaming public market data from leading cryptocurrency exchanges.

Roadmap

  • Improve sophistication of the SimulatedExchange.
    • OrderKind::Market & OrderKind::ImmediateOrCancel execution support.
    • Enable many clients to use the exchange simultaneously, pathing the way for simulated order books generated by many market archetype actors.
  • Add many more ExecutionClient implementations for exchanges.

Licence

This project is licensed under the MIT license.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in Barter-Data by you, shall be licensed as MIT, without any additional terms or conditions.

About

High-performance and normalised trading interface capable of executing across many financial venues. Also provides a feature rich simulated exchange to assist with backtesting and dry-trading. Used mainly as a dependency of `barter-rs` project

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 100.0%