Trading

class BookImbalanceActorConfig

Bases: object

Configuration for the order book imbalance actor.

actor_id
instrument_ids
log_interval
class CompositeMarketMakerConfig

Bases: object

Configuration for the composite market making strategy.

expire_time_secs
half_spread_bps
instrument_id
inventory_skew_factor
max_position
on_cancel_resubmit
order_id_tag
requote_threshold_bps
signal_baseline
signal_instrument_id
signal_skew_factor
strategy_id
trade_size
class Controller

Bases: DataActor

Provides a trading controller for managing actors and strategies at runtime.

Subclass this to author a controller in Python. The trader reference is bound when the controller is registered, so control methods are only available from that point on.

create_actor_from_config(actor_config, start=True)
create_strategy_from_config(strategy_config, start=True)
market_exit_strategy(strategy_id)
market_exit_strategy_from_id(strategy_id)
remove_actor(actor_id)
remove_actor_from_id(actor_id)
remove_strategy(strategy_id)
remove_strategy_from_id(strategy_id)
start_actor(actor_id)
start_actor_from_id(actor_id)
start_strategy(strategy_id)
start_strategy_from_id(strategy_id)
stop_actor(actor_id)
stop_actor_from_id(actor_id)
stop_strategy(strategy_id)
stop_strategy_from_id(strategy_id)
class DeltaNeutralVolConfig

Bases: object

Configuration for the delta-neutral short volatility hedger.

Tracks a short OTM call and put (strangle) and delta-hedges with the underlying perpetual swap. Rehedges when portfolio delta exceeds a configurable threshold or on a periodic timer.

client_id
contracts
enter_strangle
entry_iv_offset
entry_premium_offset_ticks
entry_time_in_force
expiry_filter
hedge_instrument_id
iv_param_key
option_family
order_id_tag
rehedge_delta_threshold
rehedge_interval_secs
strategy_id
target_call_delta
target_put_delta
class EmaCrossConfig

Bases: object

Configuration for the dual-EMA crossover strategy.

fast_period
instrument_id
order_id_tag
slow_period
strategy_id
trade_size
class ExecutionAlgorithm

Bases: object

Python-facing wrapper for execution algorithms.

cache
cancel_order(order, client_id=None)
clock
config
degrade()
deny_order(order, reason)
dispose()
exec_algorithm_id
execute(command)
fault()
is_degraded()
is_disposed()
is_faulted()
is_ready()
is_registered()
is_running()
is_stopped()
log
modify_order(order, quantity=None, price=None, trigger_price=None, client_id=None)
modify_order_in_place(order, quantity=None, price=None, trigger_price=None)
on_degrade()
on_dispose()
on_fault()
on_order(order)
on_order_accepted(event)
on_order_cancel_rejected(event)
on_order_canceled(event)
on_order_denied(event)
on_order_emulated(event)
on_order_event(event)
on_order_expired(event)
on_order_fill_voided(event)
on_order_filled(event)
on_order_initialized(event)
on_order_list(order_list, orders)
on_order_modify_rejected(event)
on_order_pending_cancel(event)
on_order_pending_update(event)
on_order_rejected(event)
on_order_released(event)
on_order_submitted(event)
on_order_triggered(event)
on_order_updated(event)
on_position_changed(event)
on_position_closed(event)
on_position_event(event)
on_position_opened(event)
on_queue_state(event)
on_reset()
on_resume()
on_signal(signal)
on_socket_state(event)
on_start()
on_stop()
on_time_event(event)
portfolio
publish_data(data_type, data)
publish_signal(name, value, ts_event=0)
reset()
resume()
spawn_limit(primary, quantity, price, time_in_force=Ellipsis, expire_time=None, post_only=False, reduce_only=False, display_qty=None, emulation_trigger=None, tags=None, reduce_primary=True)
spawn_market(primary, quantity, time_in_force=Ellipsis, reduce_only=False, tags=None, reduce_primary=True)
spawn_market_to_limit(primary, quantity, time_in_force=Ellipsis, expire_time=None, reduce_only=False, display_qty=None, emulation_trigger=None, tags=None, reduce_primary=True)
start()
state
stop()
submit_order(order, position_id=None, client_id=None)
subscribe_queue_state(priority=None)
subscribe_signal(name='', priority=None)
subscribe_socket_state(priority=None)
to_importable_config()

Returns an importable configuration for this execution algorithm.

trader_id
unsubscribe_queue_state()
unsubscribe_signal(name='')
unsubscribe_socket_state()
class ExecutionAlgorithmConfig

Bases: object

Configuration for an execution algorithm.

exec_algorithm_id
log_commands
log_events
class ForexSession

Bases: object

Represents a major Forex market session based on trading hours.

LONDON = <PositionSide.LONDON: '2'>
NEW_YORK = <PositionSide.NEW_YORK: '3'>
SYDNEY = <PositionSide.SYDNEY: '0'>
TOKYO = <PositionSide.TOKYO: '1'>
classmethod from_str(data)
name
value
classmethod variants()
class GridMarketMakerConfig

Bases: object

Configuration for the grid market making strategy.

expire_time_secs
grid_step_bps
instrument_id
max_position
num_levels
on_cancel_resubmit
order_id_tag
requote_threshold_bps
skew_factor
strategy_id
trade_size
class HurstVpinDirectionalConfig

Bases: object

Configuration for the Hurst/VPIN directional strategy.

Combines a rescaled-range Hurst regime filter on dollar bars with a VPIN-derived informed-flow signal, and gates entry timing on the live quote stream.

bar_type
hurst_enter
hurst_exit
hurst_lags
hurst_window
instrument_id
max_holding_secs
order_id_tag
strategy_id
trade_size
vpin_threshold
vpin_window
class ImportableControllerConfig

Bases: object

Configuration for creating controllers from importable paths.

config
config_path
controller_path
class ImportableExecAlgorithmConfig

Bases: object

Configuration for creating execution algorithms from importable paths.

config
config_path
exec_algorithm_path
class ImportableStrategyConfig

Bases: object

Configuration for creating strategies from importable paths.

config
config_path
strategy_path
class Strategy

Bases: object

Python-facing wrapper for Strategy.

add_synthetic(synthetic)
cache
cancel_all_orders(instrument_id, order_side=None, client_id=None, params=None)
cancel_gtd_expiry(order)

Cancels the managed GTD expiry for the given order.

cancel_order(client_order_id, client_id=None, params=None)
cancel_orders(client_order_ids, client_id=None, params=None)
clock
close_all_positions(instrument_id, position_side=None, client_id=None, tags=None, time_in_force=None, reduce_only=None, quote_quantity=None, params=None)
close_position(position, client_id=None, tags=None, time_in_force=None, reduce_only=None, quote_quantity=None, params=None)
config
degrade()
dispose()
fault()
indicators_initialized()
is_degraded()
is_disposed()
is_exiting()
is_faulted()
is_ready()
is_running()
is_stopped()
load(state)
log
market_exit()
modify_order(client_order_id, quantity=None, price=None, trigger_price=None, client_id=None, params=None)
modify_orders(updates, client_id=None, params=None)
on_bar(bar)
on_book(book)
on_book_deltas(deltas)
on_book_depth(depth)
on_data(data)
on_degrade()
on_dispose()
on_fault()
on_funding_rate(funding_rate)
on_historical_bars(bars)
on_historical_book_deltas(deltas)
on_historical_book_depth(depths)
on_historical_data(data)
on_historical_funding_rates(funding_rates)
on_historical_index_prices(index_prices)
on_historical_mark_prices(mark_prices)
on_historical_quotes(quotes)
on_historical_trades(trades)
on_index_price(index_price)
on_instrument(instrument)
on_instrument_close(close)
on_instrument_status(status)
on_load(state)
on_mark_price(mark_price)
on_market_exit()
on_option_chain(slice)
on_option_greeks(greeks)
on_order_accepted(event)
on_order_cancel_rejected(event)
on_order_canceled(event)
on_order_denied(event)
on_order_emulated(event)
on_order_event(event)
on_order_expired(event)
on_order_fill_voided(event)
on_order_filled(event)
on_order_initialized(event)
on_order_modify_rejected(event)
on_order_pending_cancel(event)
on_order_pending_update(event)
on_order_rejected(event)
on_order_released(event)
on_order_submitted(event)
on_order_triggered(event)
on_order_updated(event)
on_position_changed(event)
on_position_closed(event)
on_position_event(event)
on_position_opened(event)
on_queue_state(event)
on_quote(quote)
on_reset()
on_resume()
on_save()
on_signal(signal)
on_socket_state(event)
on_start()
on_stop()
on_time_event(event)
on_trade(trade)
order_factory
portfolio
post_market_exit()
publish_data(data_type, data)
publish_signal(name, value, ts_event=0)
query_account(account_id, client_id=None, params=None)
query_order(order, client_id=None, params=None)
reconnect_socket(client_id, endpoint)

Requests reconnect of one socket endpoint owned by client_id.

register_indicator_for_bars(bar_type, indicator)
register_indicator_for_quote_ticks(instrument_id, indicator)
register_indicator_for_trade_ticks(instrument_id, indicator)
registered_indicators
request_bars(bar_type, start=None, end=None, limit=None, client_id=None, params=None)
request_book_deltas(instrument_id, start=None, end=None, limit=None, client_id=None, params=None)
request_book_depth(instrument_id, start=None, end=None, limit=None, depth=None, client_id=None, params=None)
request_book_snapshot(instrument_id, depth=None, client_id=None, params=None)
request_data(data_type, client_id, start=None, end=None, limit=None, params=None)
request_funding_rates(instrument_id, start=None, end=None, limit=None, client_id=None, params=None)
request_instrument(instrument_id, start=None, end=None, client_id=None, params=None)
request_instruments(venue=None, start=None, end=None, client_id=None, params=None)
request_quotes(instrument_id, start=None, end=None, limit=None, client_id=None, params=None)
request_trades(instrument_id, start=None, end=None, limit=None, client_id=None, params=None)
reset()
resume()
save()
shutdown_system(reason=None)
start()
state()
stop()
strategy_id
submit_order(order, position_id=None, client_id=None, params=None)
submit_order_list(order_list, position_id=None, client_id=None, params=None)
subscribe_bars(bar_type, client_id=None, params=None)
subscribe_book_at_interval(instrument_id, book_type, interval_ms, depth=None, client_id=None, params=None)
subscribe_book_deltas(instrument_id, book_type, depth=None, client_id=None, managed=False, params=None)
subscribe_book_depth10(instrument_id, book_type, client_id=None, managed=False, params=None)
subscribe_data(data_type, client_id=None, params=None)
subscribe_funding_rates(instrument_id, client_id=None, params=None)
subscribe_index_prices(instrument_id, client_id=None, params=None)
subscribe_instrument(instrument_id, client_id=None, params=None)
subscribe_instrument_close(instrument_id, client_id=None, params=None)
subscribe_instrument_status(instrument_id, client_id=None, params=None)
subscribe_instruments(venue, client_id=None, params=None)
subscribe_mark_prices(instrument_id, client_id=None, params=None)
subscribe_option_chain(series_id, strike_range, snapshot_interval_ms=None, client_id=None, params=None)
subscribe_option_greeks(instrument_id, client_id=None, params=None)
subscribe_queue_state(priority=None)
subscribe_quotes(instrument_id, client_id=None, params=None)
subscribe_signal(name='', priority=None)
subscribe_socket_state(priority=None)
subscribe_trades(instrument_id, client_id=None, params=None)
trader_id
unsubscribe_bars(bar_type, client_id=None, params=None)
unsubscribe_book_at_interval(instrument_id, interval_ms, client_id=None, params=None)
unsubscribe_book_deltas(instrument_id, client_id=None, params=None)
unsubscribe_book_depth10(instrument_id, client_id=None, params=None)
unsubscribe_data(data_type, client_id=None, params=None)
unsubscribe_funding_rates(instrument_id, client_id=None, params=None)
unsubscribe_index_prices(instrument_id, client_id=None, params=None)
unsubscribe_instrument(instrument_id, client_id=None, params=None)
unsubscribe_instrument_close(instrument_id, client_id=None, params=None)
unsubscribe_instrument_status(instrument_id, client_id=None, params=None)
unsubscribe_instruments(venue, client_id=None, params=None)
unsubscribe_mark_prices(instrument_id, client_id=None, params=None)
unsubscribe_option_chain(series_id, client_id=None)
unsubscribe_option_greeks(instrument_id, client_id=None, params=None)
unsubscribe_queue_state()
unsubscribe_quotes(instrument_id, client_id=None, params=None)
unsubscribe_signal(name)
unsubscribe_socket_state()
unsubscribe_trades(instrument_id, client_id=None, params=None)
update_synthetic(synthetic)
class StrategyConfig

Bases: object

The base model for all trading strategy configurations.

external_order_claims
log_commands
log_events
log_rejected_due_post_only_as_warning
manage_contingent_orders
manage_gtd_expiry
manage_stop
market_exit_interval_ms
market_exit_max_attempts
market_exit_reduce_only
market_exit_time_in_force
oms_type
order_id_tag
strategy_id
use_hyphens_in_client_order_ids
use_uuid_client_order_ids
fx_local_from_utc(session, time_now)

Converts a UTC timestamp to the local time for the given Forex session.

fx_next_end(session, time_now)

Returns the next session end time in UTC.

fx_next_start(session, time_now)

Returns the next session start time in UTC.

fx_prev_end(session, time_now)

Returns the previous session end time in UTC.

fx_prev_start(session, time_now)

Returns the previous session start time in UTC.