You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
31 lines
1.3 KiB
YAML
31 lines
1.3 KiB
YAML
# Morning Momentum Intraday Backtester — Default Configuration
|
|
# Strategy: Buy top N morning gainers at ENTRY time, sell at EXIT time or stop loss.
|
|
|
|
strategy:
|
|
entry_minutes_after_open: 30 # 9:30 + 30 = 10:00 AM ET
|
|
exit_minutes_before_close: 30 # 4:00 - 30 = 3:30 PM ET
|
|
stop_loss_pct: -0.02 # -2% stop loss (null to disable)
|
|
min_morning_gain_pct: 0.01 # stock must be up >= 1% to qualify
|
|
top_n: 3 # buy top 3 gainers
|
|
initial_capital: 10000 # $10,000 starting capital
|
|
slippage_bps: 5.0 # 0.05% per side (entry + exit)
|
|
|
|
universe:
|
|
source: sp500 # sp500 | nasdaq100 | broad | midlarge | largecap | midcap | smallmid | yaml | screener
|
|
sector_exclude: [] # e.g. ["Energy", "Utilities"]
|
|
min_price: 5.0 # filter out penny stocks
|
|
|
|
backtest:
|
|
start_date: null # null = auto (today - lookback_trading_days)
|
|
end_date: null # null = today
|
|
lookback_trading_days: 40 # ~2 months
|
|
pre_screen_threshold: 0.015 # phase 1 filter: opening gap vs prev_close >= 1.5%
|
|
|
|
cache:
|
|
enabled: true
|
|
dir: data/cache/intraday # Parquet files: {dir}/{TICKER}/{YYYY-MM-DD}.parquet
|
|
|
|
output:
|
|
dir: runs/intraday
|
|
verbose: false # true = show per-day table during run
|