chore: track the live overrides seed
docs/LIVE-CUTOVER.md already points at this file, so the cutover procedure referenced something that existed only on one machine. It carries no secrets -- keys stay in .env (gitignored) and the LAN address it names is already in .env.example, the compose YAMLs and the systemd unit. Tracking it also pins the two settings this branch corrects, with the reasoning inline: the exit retune, and the Ollama endpoint that had drifted to a port with nothing listening. Untracked, a rebuild would have quietly restored both faults. Note the precedence: compose env < overrides.env < config_overrides (DB). The database wins, so editing this file alone changes nothing on a running stack -- it is the bootstrap seed and the record of intent, not the live switch. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01A2LepdJfPCfK5Q8uznjFBM
This commit is contained in:
1 parent
9b4c8e5da5
commit
0910e29cc5
1 file changed
+97
@@ -0,0 +1,97 @@
|
||||
# Seed for /app/data/overrides.env on the LIVE stack — the admin panel
|
||||
# (port 8867.. n/a on live; edit via file or add admin service) manages this.
|
||||
# Every service loads it at boot; overrides BEAT compose env.
|
||||
|
||||
ALPACA_DATA_FEED=sip
|
||||
DISCOVER_INTERVAL_SECONDS=120
|
||||
DISCOVER_THREAD_ENABLED=1
|
||||
LIVE_BARS_INTERVAL_SECONDS=5
|
||||
LIVE_BARS_REFRESH_MINUTES=20
|
||||
NEWS_CATALYST_SCORE_ENABLED=1
|
||||
NEWS_DILUTION_VETO_ENABLED=1
|
||||
NEWS_ENRICH_BATCH_LIMIT=50
|
||||
NEWS_ENRICH_ENABLED=1
|
||||
NEWS_ENRICH_INTERVAL_SECONDS=120
|
||||
NEWS_ENRICH_LOOKBACK_HOURS=12
|
||||
NEWS_FEEDS=prnewswire=https://www.prnewswire.com/rss/news-releases-list.rss,businesswire=https://feed.businesswire.com/rss/home/?rss=G1QFDERJXkJeGVtRWQ==,globenewswire=https://www.globenewswire.com/RssFeed/orgclass/1/feedTitle/GlobeNewswire%20-%20News%20about%20Public%20Companies
|
||||
NEWS_LOOKBACK_HOURS=8
|
||||
NEWS_RANK_BOOST=2.0
|
||||
# Ollama lives on 11434 (the standard port). The stack pointed at 30068/4000 with
|
||||
# a model that was never pulled, so catalyst enrichment produced nothing from
|
||||
# 2026-08-03 to 2026-09-13 — silently, because enrich_recent_news reports failure
|
||||
# in its return value rather than raising. Smoke-tested 2026-09-13: tools:latest
|
||||
# parses 8/8 headlines in ~2.8s each and classifies offering_dilution / fda_approval
|
||||
# correctly. Verify the model is pulled before changing either line.
|
||||
OLLAMA_ENABLED=true
|
||||
OLLAMA_HOST=http://192.168.1.5:11434
|
||||
OLLAMA_MODEL=tools:latest
|
||||
OLLAMA_TEMPERATURE=0.1
|
||||
OLLAMA_TIMEOUT_SECONDS=60
|
||||
TRADING_AUTO_APPROVE=1
|
||||
TRADING_BACKOUT_COOLDOWN_SECONDS=180
|
||||
TRADING_BLOCK_REENTRY_AFTER_EXIT=1
|
||||
TRADING_ENTRY_CONFIRM_BY_MINUTE=0
|
||||
TRADING_ENTRY_FILL_MODEL=marketable
|
||||
TRADING_ENTRY_INVALIDATE_PCT=0.015
|
||||
TRADING_ENTRY_ORDER_TYPE=limit
|
||||
TRADING_ENTRY_TIMEOUT_BARS=2
|
||||
TRADING_EOD_FLATTEN_ENABLED=1
|
||||
TRADING_EOD_FLATTEN_TIME=15:55
|
||||
TRADING_EXECUTION_ENABLED=1
|
||||
# EXIT MANAGEMENT — retuned 2026-09-13. The previous config stacked FOUR
|
||||
# independent ratchets (BE@+5% from the env default, step-trail every 0.25R,
|
||||
# prior-low trail, and profit-lock tiers). Together they capped every winner at
|
||||
# ~1R: over 62 live + 172 paper trades the bot kept only 9.3% of the move on
|
||||
# trades that ran >=20%, and held winners a median 10 min vs 19 min for losers.
|
||||
# Replaced with a single percentage giveback that starts only after +1R. The
|
||||
# 8/12/15/20% neighbourhood all beat the old config on BOTH stacks in BOTH
|
||||
# train and test splits (mean R 0.20-0.25 vs 0.125), so 12% is a plateau pick,
|
||||
# not a fitted one. Re-sweep with sweep_exits.py before changing.
|
||||
TRADING_EXIT_BREAKEVEN_R=1.0
|
||||
TRADING_EXIT_BREAKEVEN_PCT=0.0
|
||||
TRADING_EXIT_MANAGE_INTERVAL_SECONDS=4
|
||||
TRADING_EXIT_PROFIT_TIERS=
|
||||
TRADING_EXIT_THREAD_ENABLED=1
|
||||
TRADING_EXIT_THREAD_INTERVAL_SECONDS=1.0
|
||||
TRADING_EXIT_TRAIL_AFTER_R=1.0
|
||||
TRADING_EXIT_TRAIL_MODE=pct
|
||||
TRADING_EXIT_TRAIL_PCT=0.12
|
||||
TRADING_EXIT_TRAIL_R_STEP=0.0
|
||||
TRADING_LIQUIDITY_MAX_VOLUME_PCT=0.025
|
||||
TRADING_MAX_BACKOUTS_PER_SYMBOL=3
|
||||
TRADING_MAX_CONCURRENT_POSITIONS=10
|
||||
TRADING_MAX_DAILY_LOSS_PCT=0.05
|
||||
TRADING_MAX_FRESH_ENTRIES_PER_DAY=10
|
||||
TRADING_MAX_GROSS_NOTIONAL_PCT=0.60
|
||||
TRADING_MAX_ORDERS_PER_TICK=1
|
||||
TRADING_MAX_POSITION_PCT=0.16
|
||||
TRADING_MAX_RISK_DOLLARS=50000
|
||||
TRADING_MIN_DAY_VOLUME=300000
|
||||
TRADING_MIN_ENTRY_GAP_PCT=0.10
|
||||
TRADING_MIN_QUALITY_SCORE=0.60
|
||||
TRADING_PRICE_MAX=20.0
|
||||
TRADING_PRICE_MIN=2.0
|
||||
TRADING_REENTRY_MIN_LOSS_PCT=0.01
|
||||
TRADING_REGIME_GATE_ENABLED=0
|
||||
TRADING_REGIME_GATE_P_MIN=0.5
|
||||
TRADING_REQUIRE_ABOVE_VWAP=1
|
||||
TRADING_REWARD_MULTIPLE=10.0
|
||||
TRADING_RISK_PER_TRADE_PCT=0.05
|
||||
TRADING_SESSION_ONLY=1
|
||||
TRADING_TRIGGER_SLIP_PCT=0.004
|
||||
TRADING_UNIFIED_ENTRY=1
|
||||
TRIGGER_ARM_INTERVAL_SECONDS=8
|
||||
TRIGGER_ENABLED=1
|
||||
TRIGGER_GAP_MAX=35
|
||||
TRIGGER_GAP_MIN=10.0
|
||||
TRIGGER_GAP_SQUEEZE_MIN=150
|
||||
TRIGGER_GAP_SQUEEZE_RVOL=5.0
|
||||
TRIGGER_INTERVAL_SECONDS=2
|
||||
TRIGGER_MAX_ARMED=10
|
||||
TRIGGER_MIN_DOLLAR_VOL=8000
|
||||
TRIGGER_PRICE_MAX_AGE=12
|
||||
TRIGGER_RVOL_MIN=2.0
|
||||
WATCHER_ENABLED=1
|
||||
WATCHER_INTERVAL_SECONDS=8
|
||||
WATCHER_PRICE_MAX=20
|
||||
WATCHER_PRICE_MIN=2
|
||||
Reference in new issue
Block a user