Reference / 36 documented controls
Configuration registry
Production values, research defaults, conditional settings and safety controls. A configured value is not necessarily active.
Verified 19 Aug 2026Trading-System 29fa26f47b7bNo secrets or runtime paths
Precedence: code fallback → production JSON → explicit research override → validated instrument profile. Activation rules determine the effective value.
| Parameter | Value | Status | Meaning and evidence |
|---|---|---|---|
risk.paper_modeRisk | trueboolean | safety | Checked-in profile is paper trading.config/trading_engine.json ↗ |
risk.daily_loss_limit_usdRisk | -500USD | safety | Daily loss threshold that halts new risk.config/trading_engine.json ↗ |
position_sizing.allocation_per_stock_usdExecution | 1,000USD | active | Target allocation per stock.config/trading_engine.json ↗ |
position_sizing.max_positionsExecution | 10positions | active | Maximum concurrent positions.config/trading_engine.json ↗ |
position_sizing.max_portfolio_exposure_pctRisk | 1.0fraction | safety | Maximum portfolio exposure.config/trading_engine.json ↗ |
entry.window_start_etExecution | 09:45ET | active | Earliest entry evaluation.config/trading_engine.json ↗ |
entry.window_end_etExecution | 14:00ET | active | Latest entry evaluation.config/trading_engine.json ↗ |
trigger.bar_minutesSignals | 5minutes | active | Signal bar duration.config/trading_engine.json ↗ |
trigger.signal_componentsSignals | breakout, spy_regimelist | active | Only selected production signal components.config/trading_engine.json ↗ |
trigger.breakout_lookback_barsSignals | 30bars | active | Breakout reference lookback.config/trading_engine.json ↗ |
trigger.min_signal_scoreSignals | 0.4score | active | Composite signal threshold.config/trading_engine.json ↗ |
entry.score_thresholdSignals | 70score | compatibility | Separate legacy score scale.config/trading_engine.json ↗ |
trigger.min_volume_ratioSignals | 1.5ratio | conditional | Applies when its volume gate is enabled.config/trading_engine.json ↗ |
trigger.min_vwap_distance_pctSignals | 0.0005fraction | conditional | Applies when its VWAP gate is enabled.config/trading_engine.json ↗ |
trigger.gap_entry_enabledSignals | falseboolean | conditional | Gap entry path is disabled.config/trading_engine.json ↗ |
exit.stop.sell_atr_lengthRisk | 21bars | active | ATR observation length.config/trading_engine.json ↗ |
exit.stop.atr_multipleRisk | 3.0ATR | active | Initial stop and matching trailing basis.config/trading_engine.json ↗ |
exit.stop.atr_fallback_pctRisk | 0.02fraction | safety | Fallback when ATR is unavailable.config/trading_engine.json ↗ |
exit.stop_check_interval_secondsExecution | 30seconds | active | Stop monitoring interval.config/trading_engine.json ↗ |
exit.eod_exit_minutes_before_closeExecution | 10minutes | active | EOD liquidation offset.config/trading_engine.json ↗ |
backtest.exit_after_trading_daysBacktest | 9999sessions | research | General backtester default; selector frozen model differs.scripts/backtest_weekly_portfolio_realistic.py ↗ |
backtest.spread_bpsBacktest | 12bps | research | Simulated spread cost.scripts/backtest_weekly_portfolio_realistic.py ↗ |
backtest.latency_bpsBacktest | 2bps | research | Simulated latency cost.scripts/backtest_weekly_portfolio_realistic.py ↗ |
selector.lookback_daysSelector | 730days | research | Selector research window.stock_selector/config.py ↗ |
selector.top_nSelector | 100stocks | research | Maximum ranked output.stock_selector/config.py ↗ |
selector.min_priceSelector | 5USD | research | Minimum candidate price.stock_selector/config.py ↗ |
selector.min_market_capSelector | 1bnUSD | research | Minimum market capitalisation.stock_selector/config.py ↗ |
selector.min_median_dollar_volumeSelector | 25mUSD/day | research | Minimum median dollar volume.stock_selector/config.py ↗ |
selector.min_tradesSelector | 40trades | research | Minimum evidence gate.stock_selector/config.py ↗ |
selector.min_profit_factorSelector | 1.10ratio | research | Profit-factor gate.stock_selector/config.py ↗ |
optimiser.candidatesOptimiser | 64candidates | research | Default search population.scripts/optimise_realistic_backtest.py ↗ |
optimiser.daysOptimiser | 60, 120, 365days | research | Staged evaluation horizons.scripts/optimise_realistic_backtest.py ↗ |
optimiser.walk_forward_foldsOptimiser | 4folds | research | Walk-forward evaluation.scripts/optimise_realistic_backtest.py ↗ |
optimiser.stress_extra_cost_bpsOptimiser | 5bps | research | Additional cost stress.scripts/optimise_realistic_backtest.py ↗ |
data.ib_chunk_daysData | 15days | active | Historical download chunk size.scripts/ib_hist_db.py ↗ |
data.max_consecutive_empty_chunksData | 3chunks | safety | Empty-response fail-safe.scripts/ib_hist_db.py ↗ |