barter-execution 0.3.1

High-performance and normalised trading interface capable of executing across many financial venues. Also provides a feature rich simulated exchange.
Documentation
# 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][crates-badge]][crates-url]
[![MIT licensed][mit-badge]][mit-url]
[![Build Status][actions-badge]][actions-url]
[![Discord chat][discord-badge]][discord-url]

[crates-badge]: https://img.shields.io/crates/v/barter-execution.svg
[crates-url]: https://crates.io/crates/barter-execution

[mit-badge]: https://img.shields.io/badge/license-MIT-blue.svg
[mit-url]: https://gitlab.com/open-source-keir/financial-modelling/trading/barter-execution-rs/-/blob/main/LICENCE

[actions-badge]: https://gitlab.com/open-source-keir/financial-modelling/trading/barter-execution-rs/badges/-/blob/main/pipeline.svg
[actions-url]: https://gitlab.com/open-source-keir/financial-modelling/trading/barter-execution-rs/-/commits/main

[discord-badge]: https://img.shields.io/discord/910237311332151317.svg?logo=discord&style=flat-square
[discord-url]: https://discord.gg/wE7RqhnQMV

[API Documentation] | [Chat]

[`Barter`]: https://crates.io/crates/barter
[`Barter-Integration`]: https://crates.io/crates/barter-integration
[`Barter-Data`]: https://crates.io/crates/barter-data
[API Documentation]: https://docs.rs/barter-execution/latest/barter_execution
[Chat]: https://discord.gg/wE7RqhnQMV

## 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].

[MIT license]: https://gitlab.com/open-source-keir/financial-modelling/trading/barter-execution-rs/-/blob/main/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.