Commit graph

11 commits

Author SHA1 Message Date
Bruno BELANYI 8bba52d3b9 kraken: engine: expose 'process_single_order' 2022-03-24 17:19:02 +01:00
Bruno BELANYI d159cfb877 kraken: engine: non-const 'output' on listener 2022-03-24 17:17:44 +01:00
Bruno BELANYI 1cf45d9125 kraken: engine: DRY in trade matching 2022-03-12 13:56:08 +01:00
Bruno BELANYI ce9457fabd kraken: engine: add trading on cross behaviour
It is limited, and mostly untested, I would need more explicit semantics
for the border cases to make it more robust.
2022-03-12 13:48:57 +01:00
Bruno BELANYI 8534a74c87 kraken: engine: DRY in top-of-book handling 2022-03-12 12:40:23 +01:00
Bruno BELANYI fae4a9d5c7 kraken: engine: refactor 'cancel' ordering
Now that we have a way to reverse-lookup for cancel orders, we are not
linear in the number of active orders.
2022-03-12 12:40:23 +01:00
Bruno BELANYI 37b04a678a kraken: engine: fix comparisons 2022-03-12 11:39:39 +01:00
Bruno BELANYI 4515fc1c36 kraken: engine: add 'CsvEngineListern.output'
Otherwise it would be difficult to actually get access to the output...
2022-03-12 11:39:39 +01:00
Bruno BELANYI 0817e7ac7e kraken: engin: add 'Engine'
This is the brains of the operation, the matching engine.
2022-03-12 11:39:39 +01:00
Bruno BELANYI 346dfc4e17 kraken: engine: add 'CsvEngineListener'
This is the listener that implements the expected output.
2022-03-12 11:07:20 +01:00
Bruno BELANYI e3b2d29463 kraken: engine: add 'EngineListener'
The `Engine` will be in charge of updating the book, triggering the
listener on each event.
2022-03-12 11:07:20 +01:00