investfly.models.strategy.StandardStrategyConfig
@dataclass
class
StandardStrategyConfig:
Configuration-based standard strategy contract shared with the Java backend and the UI.
Three sections, mirroring the user-facing strategy builder steps: (1) scopeConfig - the signal-universe security set (2) openPositionConfig - the open trigger expression + signal -> trade order conversion (3) closePositionConfig - the close criteria + traded-security-specific close rules
Option strategies are detected by openPositionConfig.tradeOrderBuilder being an OptionStrategyOrderBuilder; in that case the signal universe is STOCK (the underlying) and the traded security is OPTION (the legs derived per signal).
StandardStrategyConfig( scopeConfig: investfly.models.strategy.SecurityUniverseSelector, openPositionConfig: OpenPositionConfig, closePositionConfig: ClosePositionConfig)
scopeConfig: investfly.models.strategy.SecurityUniverseSelector
openPositionConfig: OpenPositionConfig
closePositionConfig: ClosePositionConfig
@dataclass
class
ClosePositionConfig:
ClosePositionConfig( standardCloseCriteria: investfly.models.strategy.StandardCloseCriteria | None, orderType: investfly.models.portfolio.OrderType | None = None, closeExpression: investfly.models.strategy.SecurityFilterExpression | None = None, closePositionRules: Optional[investfly.models.strategy.ClosePositionRules] = None)
standardCloseCriteria: investfly.models.strategy.StandardCloseCriteria | None
@dataclass
class
OpenPositionConfig:
OpenPositionConfig( positionType: investfly.models.portfolio.PositionType, orderType: investfly.models.portfolio.OrderType, openExpression: investfly.models.strategy.SecurityFilterExpression, percentAllocation: float, tradeOrderBuilder: Optional[investfly.models.strategy.TradeOrderBuilder] = None)
positionType: investfly.models.portfolio.PositionType
orderType: investfly.models.portfolio.OrderType
openExpression: investfly.models.strategy.SecurityFilterExpression