Smart Limit Config

class lumibot.entities.smart_limit.SmartLimitConfig(preset: SmartLimitPreset = SmartLimitPreset.NORMAL, final_price_pct: float = 1.0, slippage: TradingSlippage | float | None = None, step_seconds: int | None = None, final_hold_seconds: int | None = None)

Bases: object

Configuration for SMART_LIMIT orders.

Parameters:
  • preset (SmartLimitPreset) – Execution pace (FAST, NORMAL, PATIENT).

  • final_price_pct (float) – Percent of bid/ask spread allowed for the final price (1.0 = full spread).

  • slippage (TradingSlippage | float | None) – Absolute slippage applied in backtests (mid ± slippage).

  • step_seconds (int | None) – Optional override for seconds per step.

  • final_hold_seconds (int | None) – Optional override for final hold time.

final_hold_seconds: int | None = None
final_price_pct: float = 1.0
classmethod from_dict(data: dict | None)
get_final_hold_seconds() int
get_slippage_amount() float
get_step_count() int
get_step_seconds() int
preset: SmartLimitPreset = 'normal'
slippage: TradingSlippage | float | None = None
step_seconds: int | None = None
to_dict() dict
class lumibot.entities.smart_limit.SmartLimitPreset(value)

Bases: str, Enum

An enumeration.

FAST = 'fast'
NORMAL = 'normal'
PATIENT = 'patient'