Trading¶
- class BookImbalanceActorConfig¶
Bases:
objectConfiguration for the order book imbalance actor.
- actor_id¶
- instrument_ids¶
- log_interval¶
- class CompositeMarketMakerConfig¶
Bases:
objectConfiguration 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:
DataActorProvides 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:
objectConfiguration 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_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:
objectConfiguration for the dual-EMA crossover strategy.
- fast_period¶
- instrument_id¶
- order_id_tag¶
- slow_period¶
- strategy_id¶
- trade_size¶
- class ExecutionAlgorithm¶
Bases:
objectPython-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:
objectConfiguration for an execution algorithm.
- exec_algorithm_id¶
- log_commands¶
- log_events¶
- class ForexSession¶
Bases:
objectRepresents 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:
objectConfiguration 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:
objectConfiguration 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:
objectConfiguration for creating controllers from importable paths.
- config¶
- config_path¶
- controller_path¶
- class ImportableExecAlgorithmConfig¶
Bases:
objectConfiguration for creating execution algorithms from importable paths.
- config¶
- config_path¶
- exec_algorithm_path¶
- class ImportableStrategyConfig¶
Bases:
objectConfiguration for creating strategies from importable paths.
- config¶
- config_path¶
- strategy_path¶
- class Strategy¶
Bases:
objectPython-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:
objectThe 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.