Skip to content

Commit 9e82660

Browse files
committed
updates README
1 parent 0c70b6c commit 9e82660

File tree

1 file changed

+21
-13
lines changed

1 file changed

+21
-13
lines changed

README.md

Lines changed: 21 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22

33
# High level
44

5-
Builds a live orderbook from http snapshots from N configurable exchanges and updates it through
6-
websocket depth updates. After a update the best ten asks and bids aswell as well as the spread
7-
are provided through a grpc server endpoint
5+
Builds a live orderbook from http snapshots from N configurable exchanges and then updates the orderbook
6+
through soft real time websocket depth updates. After a update the best ten asks and bids aswell as well
7+
as the spread are provided through a grpc server endpoint
88

99
# Lower level
1010

@@ -13,13 +13,18 @@ pinned threads.
1313

1414
Orderbook is ran with multiplie threads. One for writing to the book the others for reading it.
1515

16+
## Orderbook structure
17+
18+
// todo -- update my reasoning here ... on why i didn't just use a simple red black tree
19+
1620
# Configuration
1721

1822
Exchange boots through a config by running `./orderbook-quoter-server --config=$(CONFIG_LOCATION)`. The
1923
amount of exchanges in the exchange array must be equal to the orderbook's `exchange_count`. Every
2024
`depth` field must be equal in the exchanges and orderbook's depth field should cover the entire
21-
expected trading range for the lifetime of this service. The larger expected volatility the higher the orderbook's
22-
depth needs to be.
25+
expected trading range for the lifetime of this service.
26+
27+
The larger expected volatility the higher the orderbook's depth needs to be.
2328

2429
```
2530
exchanges:
@@ -85,9 +90,9 @@ Wrapper around exchange stream to handle websocket sinks and other functionality
8590

8691
### DepthDriver
8792

88-
Provides a controlling interface to all exchange streams.
93+
Provides a controlling interface to all exchange streams that push depths.
8994

90-
Future work:
95+
#### Future work:
9196

9297
(1) Needs to handle orderbook reset and orderbook snapshot
9398
retriggering with correct sequencing (https://github.com/binance/binance-spot-api-docs/blob/master/web-socket-streams.md#how-to-manage-a-local-order-book-correctly)
@@ -104,7 +109,7 @@ Has 2 states:
104109

105110
(2) Updating the the orderbook with ws depths and then reading the orderbook for best deals
106111

107-
Future work:
112+
#### Future work:
108113

109114
(1) A state when the orderbook is needs rebuilding if a ExchangeStream websocket connection fails.
110115

@@ -122,24 +127,27 @@ Future work:
122127

123128
#### 1. Depth Generator
124129

125-
Generates depths in many different sequences.
130+
Generates depths in many different sequences: upward, downward through
131+
hacking a brownian motion stochastic process.
126132

127-
Future Work:
133+
##### Future Work:
128134

129135
Oscillating Depths rather then just upward and downward trends
130136

131137
#### 2. Exchange Stubs
132138

133-
Provides both HTTP and websocket endpoints for depths. Leverages depth generator.
139+
Provides both HTTP and websocket endpoints for depths. Leverages depth generator
140+
as a dependency.
134141

135142
#### 3. Exchange Server
136143

137-
Dockerized exchange stub for full integration testing.
144+
Dockerized exchange stub for full integration testing. Leverages exchange stub as a
145+
dependency.
138146

139147
### Quote GRPC Server
140148

141149
Takes the spread and provides the best ten deals and asks to a grpc client
142150

143-
Future work:
151+
#### Future work:
144152

145153
TBD

0 commit comments

Comments
 (0)