roq-gemini#

Important

This gateway needs sponsorship to complete certain features.

Purpose#

  • Maintain network connectivity with the Gemini exchange

  • Route exchange updates to connected clients

  • Route client requests to the relevant exchange accounts

  • Stream all messages to an event-log

Overview#

Products

Spot

Futures

Options

Market Data

Reference Data

Market Status

Top of Book

Market by Price (L2)

Market by Order (L3)

Trade Summary

Statistics

Order Management

Create

Modify

Cancel

Cancel All

Auto Cancellation

Account Management

Positions

Funds

  • Data center located in NY5, Equinix, USA, New Jersey

Conda#

$ mamba install \
  --channel https://roq-trading.com/conda/stable \
  roq-gemini
$ cp $CONDA_PREFIX/share/roq-gemini/config.toml $CONFIG_FILE_PATH

# Then modify $CONFIG_FILE_PATH to match your specific configuration
$ roq-gemini \
      --name "gemini" \
      --config_file "$CONFIG_FILE_PATH" \
      --client_listen_address "$UNIX_SOCKET_PATH" \
      --service_listen_address "$TCP_LISTEN_PORT" \
      --flagfile "$FLAG_FILE"

Config#

Flags#

$ roq-gemini --help
--exchange (gemini)

exchange identifier (string)

--encode_buffer_size (1048576)

encode buffer size

--decode_buffer_size (10485760)

decode buffer size

--mbp_allow_price_inversion (true)

allow price inversion?

--fix_mkt_uri (tcp://3.220.21.165:1514)

FIX market_data end-point (URI)

--fix_mkt_ping_freq (30s)

ping frequency

--fix_mkt_request_timeout (15s)

request timeout

--fix_mkt_debug (false)

log fix messages?

--fix_ord_uri (tcp://3.220.21.165:1514)

FIX order entry end-point (URI)

--fix_ord_ping_freq (30s)

ping frequency

--fix_ord_cancel_on_disconnect (true)

cancel orders on disconnect? (bool)

--fix_ord_debug (false)

log fix messages?

--fix_drp_uri (tcp://3.220.21.165:1514)

FIX drop copy end-point (URI)

--fix_drp_ping_freq (30s)

ping frequency

--fix_drp_debug (false)

log fix messages?

--rest_uri (https://api.sandbox.gemini.com/v1)

REST end-point (URI)

--rest_ping_freq (30s)

ping frequency

--rest_rate_limit_interval (60s)

rate limit: monitor interval

--rest_rate_limit_max_requests (600)

rate limit: max requests (per interval)

Environments#

$ $CONDA_PREFIX/share/roq-gemini/flags

Market Data#

Event

Stream

Messages

Comments

roq::ReferenceData

MarketData

SecurityList (y)

Incomplete

roq::MarketStatus

MarketData

SecurityList (y)

Incomplete

roq::TopOfBook

Unavailable

roq::MarketByPriceUpdate

MarketData

MarketDataSnapshotFullRefresh (W), MarketDataIncrementalRefresh (X)

roq::MarketByOrderUpdate

Unavailable

roq::TradeSummary

MarketData

MarketDataIncrementalRefresh (X)

roq::StatisticsUpdate

Unavailable

Statistics#

Order Management#

Event

Stream

Messages

Comments

roq::OrderUpdate

OrderEntry

ExecutionReport (8)

roq::TradeUpdate

OrderEntry

ExecutionReport (8)

Event

Stream

Messages

Comments

roq::OrderUpdate

roq::TradeUpdate

Event

Stream

Messages

Comments

roq::CreateOrder

OrderEntry

NewOrderSingle (D)

roq::ModifyOrder

Unavailable

roq::CancelOrder

OrderEntry

OrderCancelRequest (F)

roq::CancelAllOrders

Rest

/v1/order/cancel/all

Not implemented

Event

Stream

Messages

Comments

roq::OrderAck

OrderEntry

ExecutionReport (8), OrderCancelReject (9)

Order Types#

Type

Comments

MARKET

Mapped to '1' (FIX)

LIMIT

Mapped to '2' (FIX)

STOP_LIMIT

Mapped to '4' (FIX)

Time in Force#

Type

Comments

GTC

Mapped to '1' (FIX)

IOC

Mapped to '3' (FIX)

FOK

Mapped to '4' (FIX)

AT_THE_CLOSE

Mapped to '7' (FIX)

Position Effect#

Note

Not supported

Execution Instructions#

Type

Comments

PARTICIPATE_DO_NOT_INITIATE

Mapped to '6' (FIX)

Account Management#

Event

Stream

Messages

Comments

roq::PositionUpdate

roq::FundsUpdate

Event

Stream

Messages

Comments

roq::PositionUpdate

Unavailable

roq::FundsUpdate

Rest

balaneces

Not implemented

Streams#

Type

Comments

FIX

Primary purpose

  • support order management

Each connection

  • supports a single account

Type

Comments

FIX

Primary purpose

  • live account updates, including orders and fills

Each connection

  • supports a single account

The master account is used to

  • discover the full list of symbols (by downloading exchange info)

  • request depth snapshots

Type

Comments

FIX

Primary purpose

  • live market data

Each connection

  • supports a slice of the symbols

Comments#

  • FIX supports both order management and market data.

  • Support for reference data and market status is completely missing from all API interfaces. YOU SHOULD NOT RELY ON REFERENCE DATA AND MARKET STATUS FOR ANYTHING.

  • REST

    • Not implemented.

  • ReferenceData, MarketStatus

    • You should not rely on these feeds.