Release 0.7.6¶
2021-09-02
This release is mostly about improving order request management and the simulation framework.
Client testing has also helped a lot with finding and resolving issues.
Order Request Management¶
Certain use-cases rely on guaranteed sequencing of order ack and updates:
FIX has particularly strict requirements for request chaining.
Certain market making strategies will require the option to track progress of individual requests even when there are many such requests simultaneously in transit.
The logic around request management has been upgraded to provide better guarantees.
Particularly so for those exchanges where
Order ack and updates originate from different channels.
Do not support the rewriting of client order id’s.
Documentation can be found here.
Simulation¶
The following simulation features are now supported
Multiplex several event-logs.
Proper latency simulation for order actions and updates.
Generator
andMatcher
interface separation has been completed. This means that you can implement your own exchange matching assumptions and use those with the simulator.OrderAck
is being used identicially to the gateway, i.e. forwarded, accepted, etc.OrderUpdate
has all fields populated by the simulator.Request versions are communicated through the relevant
OrderAck
andOrderUpdate
fields.Using
CustomMetrics
with theCollector
interface allows you to access and analyse internal strategy metrics. The same interface is used during live trading to publish strategy metrics to other strategies or third-party user interface.
Documentation can be found here.
CHANGELOG¶
[CHANGE] Use web-safe “base64” encoding for
clOrdID
(BitMEX) (#43).[CHANGE]
RateLimitTrigger
replacesRateLimitUsage
(#34).[FEATURE] Option to initialize missing
MDEntryType
’s to zero (FIX Bridge) (#45).[FEATURE] Support order auto-cancelation (Kraken Futures) (#37).
[FEATURE] Added parser for
Product.max_slippage_percentage
(Coinbase PRO) (#35).[FEATURE] Generic pub/sub is now possible through
CustomMetrics
(#8).[FEATURE] Parse error messages (BitMEX) (#32).
[FEATURE] Publish
SETTLEMENT_PRICE
(Kraken Futures) (#27).[FEATURE] Support event-log directories by day (
YYYY-MM-DD
) (#20).[FEATURE] Adding
side
toOrderAck
(#8).[FEATURE] Event-logs can now be parsed using
EventLogReader
(#10).[FEATURE] Secrets can now be maintained in separate config file (#15).
[FEATURE] roq-reduce can now read from stdin (#16).
[FEATURE] Upgraded the simulator framework (#7).
[FIXED] Statistics updates did not respect subscriptions (FIX Bridge) (#42).
[FIXED]
OrderCancelReject
did not containOrdStatus
for unknown order (FIX Bridge) (#41).[FIXED] Gateways will now pre-populate account cache at construction time (#40).
[FIXED]
OrderCancelReject
use non-standard tag 151 and 6 (Deribit) (#36).[FIXED]
cliOrdId
should be web-safe (Kraken Futures) (#33).[FIXED] Request management has been improved to support chaining (#25).
[FIXED] Simulator
OrderStatus
andDisconnect
issues (#29).[FIXED] Config parser didn’t validate StatisticsType overrides (FIX Bridge) (#28).
[FIXED] Post data should be URL encoded (Kraken Futures) (#24).
[FIXED] Request chaining wasn’t working without receiving acks (#23).
[FIXED] Order cancel/replace reject did not reset OrigClOrdID (FIX Bridge) (#22).
[FIXED] Rate limiter will now attach order attributes to
OrderAck
(#12).[FIXED] The gateways did not validate symbol permissions by user (#9).
[FIXED]
ModifyOrder
/CancelOrder
now validates after request version has been updated (#13).[DELETED]
--rest_allow_order_updates
(BitMEX) (#44).[DELETED]
Subscribe
has been removed from the API (#14).
Looking Ahead¶
The following release will be tracked here.