Today we are happy to announce the release of the Honey Framework, beginning with an Algorithmic Order library for creating custom, complex order types for the Bitfinex platform.

Algorithmic orders utilize the base set of atomic orders already available on the Bitfinex platform in order to create more complex behaviors, enabling orders that react to market events in real-time.

This release includes two new open source libraries, bfx-hf-algo and bfx-hf-algo-server which together provide a complete algorithmic order system tightly integrated into the Bitfinex UI. They allow you to create your own custom order types & order form layouts in order to preview and submit the orders from the Bitfinex UI.

Bundled with the library are three algo orders which serve as examples for working with the system, and provide behaviors not available on any other cryptocurrency exchange: TWAP, Iceberg, and Accumulate/Distribute.

TWAP

TWAP, or Time-Weighted-Average-Price spreads an order out through time in order to fill at the TWAP, calculated between the time the order is submitted to the final atomic order close.

It supports price targets & conditions that allow you to fill at the best OB bid/ask, the last trade price, or a custom value.

Iceberg

Iceberg allows you to place a large order on the market while ensuring only a small part of it is ever filled at once. By enabling the ‘Excess As Hidden’ option, it is possible to offer up the remainder as a hidden order, allowing for minimal market disruption when executing large trades.

Accumulate/Distribute

Accumulate/Distribute allows you to break up a large order into smaller randomized chunks, submitted at regular or irregular intervals.

By enabling the ‘Await Fill’ option, the algorithm will ensure each component fills before submitting subsequent orders. Enabling the ‘Catch Up’ flag will cause the algorithm to ignore the slice interval for the next order if previous orders have taken longer than expected to fill, thereby ensuring the time-to-fill for the entire order is not adversely affected.

The price must be manually specified for LIMIT order types, or as a combination of a price offset & cap for RELATIVE order types. MARKET A/D orders execute using MARKET atomic orders, and offer no price control.

For RELATIVE A/D orders, the price offset & cap can both be set to one of the following:

Top ask

Top bid

Orderbook mid price

Last trade price

Moving Average (configurable period, time frame, candle price)

Exponential Moving Average (configurable period, time frame, candle price)

Moving Forwards

By next month, we will release the strategy portion of the Honey Framework, which includes tools for defining trading strategies, backtesting them on historical data, and executing them on the live markets.

Overall, the Honey Framework will serve as the new standard for programmatic trading on the Bitfinex platform, providing an open source suite of tools for creating custom trade types & trading bots within a well tested framework supported by Bitfinex.

We are excited to see what you will create with it, and hope you enjoy using it as much as we have developing it!

To get started, head over to the Github page for bfx-hf-algo-server.