Short-Term Trading Decision System
The actions ahead, in order
What's finished, what's waiting on you, and what unlocks next. Follow it top to bottom — nothing below a gate starts before the gate opens.
- Setup candidates
- 20,316
- Out-of-sample trades
- 3,334
- Expectancy
- −0.006 R/trade
- Win rate
- 47.0%
- Profit factor
- 0.98
- Null check
- 0/10 passed · clean
Read this as the system working, not failing. Two honest campaigns are now complete: the 20-name threshold run (785 trades, −0.0002R) and the 110-name cross-sectional run (3,334 trades, −0.006R, negative under cost stress). Classic technical setups have no edge after costs at either scale, and the gates correctly refuse to trade. The next campaign is event-conditioned signals.
Step 0 — Waiting on you
Two items remain that only you can do; neither blocks my current work, but item 2 unlocks the earnings-drift experiments.
-
1 · Rotate the pasted keysYou · ~5 min
The Alpaca paper keys and the Resend key were pasted into chat in plaintext (the Alpaca pair now also lives in Railway production env). Regenerate both in their dashboards and paste the new ones — I'll update
.env, the Keychain, and Railway. Nothing secret was ever committed to git.DONE WHEN — new keys verified with a live 200-status probe everywhere they're used.
-
2 · Create a free Finnhub accountYou · ~5 min
The earnings-blackout code is built and tested, but account creation is yours to do: sign up at finnhub.io, copy the API key, and paste it here as
FINNHUB_API_KEY. Research runs then drop candidates around earnings, and the live earnings gate uses real dates.DONE WHEN — a research summary shows the earnings filter active with a nonzero symbols-checked count.
-
✓ Push, merge, deployDone
PRs #6 and #7 merged to main. Production redeployed with the strategy engine, real Alpaca keys, and
DEMO_MODE=false— the live dashboard now fetches real market data and answers honest NO_TRADE with explicit reasons. Verified end-to-end with a logged-in analysis of AAPL.
Phase A — Hunt for a real edge
My work, iterative, starts after Step 0. Each experiment is judged by the same locked gates plus the null check — most will fail, and failures are discarded, never tuned until they pass. The exit bar for every idea: expectancy lower bound > 0 under 2× modeled costs, clean null, all locked gates green.
-
✓ A1 · Cross-sectional rankingDone · no edge found
Top-k per-session selection is built and was chosen by the selector itself (top-3, plan P14) — but the out-of-sample result stayed negative. The structure works; the underlying signals don't carry edge.
-
✓ A3 · Widen the universeDone · no edge found
Universe grown to ~110 sector-mapped liquid names; 3,334 out-of-sample trades — enough for the trade-count and concentration gates to be meaningful. Expectancy −0.006R, negative under cost stress.
-
A2 · Event-conditioned signalsClaude runs · next up
The remaining and most plausible signal family: post-earnings drift (unlocks with your Finnhub key), gap-day statistics, and overnight-vs-intraday return decomposition as first-class setups rather than side features.
DONE WHEN — a research summary reports PROMOTABLE, or the idea list is exhausted and I report that honestly.
Phase B — Intraday depth
Parallel track, not blocking Phase A.
-
B1 · 5-minute labelingGated · after A1
Extend the labeling engine to intraday bars so VWAP and EMA-based exit plans (P11–P13) can be researched with real fills instead of daily approximations.
Phase C — Promotion to the live dashboard
-
C1 · Serve the validated modelGated · needs a PROMOTABLE artifact
Production already runs in market-data mode with real Alpaca data; the last step is
MODEL_ARTIFACT_PATHpointing at a promotable artifact. The dashboard and MCP tools then issue real gated decisions — LONG only when every gate, the regime filter, and the spread check all pass; NO_TRADE otherwise, with reasons listed.DONE WHEN — status page shows “Model artifact configured: Yes” in production.
Phase D — 20-day forward paper portfolio
-
D1 · Execute the approved planGated · after C1
The US$30,000 simulated forward portfolio you already specced: 20 NYSE sessions, locked universe, P03 official exits, hash-chained event journal, pre-entry email alerts, auditable dashboard. Runs on its own branch per the plan. Forward-testing starts only when there's a validated model to test.
How to follow along
- Email — you get a status mail from
alerts@stratexai.ioat every milestone (one already sent today). - Reports — every research run writes
artifacts/research/research-summary.jsonandout-of-sample-trades.csv; the verdict is thestatusfield. - Dashboard — the local or deployed status page shows mode, Alpaca, and model-artifact state at a glance.