An open API service indexing awesome lists of open source software.

https://github.com/inv2004/orderbook-rs

OrderBook implementation in rust
https://github.com/inv2004/orderbook-rs

coinbase exchange orderbook rust

Last synced: 6 months ago
JSON representation

OrderBook implementation in rust

Awesome Lists containing this project

README

          

[![Build Status](https://travis-ci.org/inv2004/orderbook-rs.svg?branch=master)](https://travis-ci.org/inv2004/orderbook-rs)
[![Crates.io](https://img.shields.io/crates/v/orderbook.svg)](https://crates.io/crates/orderbook)
[![Docs.rs](https://docs.rs/orderbook/badge.svg)](https://docs.rs/orderbook)

# orderbook-rs

I did this orderbook in addition to

*Its primitive orderbook with hardcoded minimal step to 1 cent.*

For performance I put it in flat array, that is why it uses memory actively.
For current coinbase BTC-USD pair it takes 188.1 Mb or RAM.

It has hardcoded limit for 20000(max price) * 100(cents) = 2*10^6 values it can store.
Call the OB with values which are outside these boundaries will return None,
but, I suppose, this return can be ignored in most cases.

It implements Display with the following output:
```
OB: sized of top 20 bids in 1-cent step | bid-price ask-price | sizes of low 20 asks in 1-cent step
OB: 0,0,0,0,0,0,0,0.001,0,0,0,0,0,0,0,0,0,0,0,5.5,26.047638720000013 | 6494.98 6494.99 | 5.006541749999999,10.0838,0,0,0,0,0,0,0.00130864,0.0052,0,0,0,0,0,0,0,0,0,0,0
```

## Examples
- Coinbase orderbook with reload if sequence is missed: