Public-Portfolio-Challenge
Health Pass
- License — License: MIT
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Community trust — 41 GitHub stars
Code Fail
- rm -rf — Recursive force deletion command in skills/alt-data-indicators/install.sh
Permissions Pass
- Permissions — No dangerous permissions requested
No AI report is available for this listing yet.
4 AI agents. One runbook. Real $25K, live and verifiable. Currently +22.85%.
Public Portfolio Challenge
4 AI agents. One open runbook. Real $25K, live and verifiable.
Live portfolio card — generated from current positions. Open the full dashboard →
| Account value | Total return | Return vs. SPY | Max drawdown | Days live |
|---|---|---|---|---|
| $30,712.48 | +22.85% | +10.78 pp (SPY +12.07%) | −12.33% | 144 |
As of July 31, 2026. Same-window comparison begins with the first stored live observation. Portfolio data · Performance data · SPY data · refreshed weekly by GitHub Actions.
Quick start: Copy the live incumbent · Connect MCP → python3 start.py → paste prompt.txt into a fresh agent chat
Contents
- What is this?
- Agent bakeoff
- What this repo gives you
- How the runbook works
- What's inside
- Community leaderboard
- Get started
- Risk disclaimer
- More links
What is this?
In February 2026 I deposited $25,000 into a live Public brokerage account on NexusTrade and made the entire book public — every position, every fill, every model test, every bug, every failure.
Not paper. Not a backtest screenshot. Real money, documented in real time.
The live story is a blog series. Episode 10 is the write-up of this repo in action: Claude Fable 5 ran episode-10/BAKEOFF_RUNBOOK.md end to end — engine sanity checks, 16 strategy variants, walk-forward certification, a single-touch lockbox — and deployed a live momentum-options book that beat the market out of sample. Fable 5 was subsequently banned; the runbook, snapshots, and full campaign logs in episode-10/ are still here so you can run the same discipline with any model.
| Full series → | Ten episodes and counting: model bakeoffs, deploy day, production bugs, week-one gains, panic sells, engine rewrites, and the open runbook. |
| Episode 1 → | Where it started — why $25k, why Public, why total transparency. |
| Episode 10 → | The full story of Fable 5 running this runbook — every gate, engine bug, and dead end logged in FABLE_CAMPAIGN.MD. |
| Episode 10 on Medium → | Same article, syndicated on Medium — included here so readers who follow the challenge off-platform can find it without hunting. |
This repo is the open playbook. Episode 10 documents one agent's run through it. The runbook is yours to replay with whatever model you have. The agents don't just trade the account—they commit to this repo.
Agent bakeoff
Four agents received the same Episode 10 discipline. The useful result is not a single giant backtest—it is whether a fixed deploy-shape candidate cleared the frozen out-of-sample gates.
| Agent | Best comparable OOS mean return | Passed every gate? | Outcome | Notable failure |
|---|---|---|---|---|
| Claude Code | +53.7% | No | No deploy | Cleared breadth, absolute return/Sortino, drawdown, and posture; failed Gate 4 against the incumbent. |
| Codex | +32.3% | No | No deploy | The strongest fixed deploy-shape candidate still failed the incumbent bar and two fold Sortino floors. |
| Cursor | +33.9% | No | Incomplete; no deploy | Solved breadth at low allocation, then failed Gate 4; later studies were still running when the log ended. |
| Claude Fable 5 | +88.3% | No—owner override | Deployed | Strong return and drawdown, but missed strict breadth, fold-Sortino, stability, and posture gates; later engine fixes weakened the selection-provenance claim. |
Honest headline: none of the four runs produced a clean pass under every frozen gate. Fable's strategy was deployed after a documented owner override, not because the runbook quietly moved the bars. Follow the links for fold-level evidence and every failure.
What this repo gives you
No installConnect the NexusTrade MCP server to Cursor, Claude, or any OAuth-capable client. No NexusTrade install, no API keys to rotate — OAuth signs you in once in the browser. (Grab |
One prompt
|
Real rigorWalk-forward validation, a held-out lockbox, deploy gates, and capital-posture rules. A high in-sample backtest number is never the headline. |
How the runbook works
The campaign is built around one idea: out-of-sample performance is the only result that counts.
flowchart LR
A["🔍 Search<br/><small>backtests & optimization</small>"] --> B["✓ Certify<br/><small>walk-forward folds</small>"]
B --> C["🔒 Lockbox<br/><small>single-touch confirm</small>"]
C --> D["🚀 Deploy<br/><small>live portfolio</small>"]
| Layer | Job |
|---|---|
| Search | Invent and tune candidate strategies fast — variants, sweeps, backtests. |
| Certify | Walk-forward: each fold optimizes in-sample, scores on held-out OOS the optimizer never saw. |
| Lockbox | A final untouched window. One touch. No peeking. |
| Deploy | Clone to a live portfolio, parity-check, attach monitoring. |
Fixed by the runbook: a frozen watchlist (20 names in the Episode 10 bakeoff; 21 in Episode 11 after adding SPCX), $25,000 capital, the fold calendar, the gates, the lockbox rules, and the deploy procedure. Yours to design: signals, structures, deltas, exits, sizing — anything that clears the gates is valid.
ANET · DUOL · HOOD · LLY · GS · META · TSM · AVGO · XOM · COP · OSCR · AMAT · ADI · DDOG · OKTA · NET · APP · GLD · MU · SNDK · SPCX*
*SPCX was added in Episode 11; the Episode 10 bakeoff runs the first 20.
What's inside
The discipline lives in two forms. The skills library (skills/) is the runbooks decomposed into composable agent skills on the open SKILL.md standard — the same folder runs in Claude Code, Codex CLI, Cursor, Gemini CLI, Copilot and ~15 other tools (skills/install.sh handles each tool's path + adapter). Connect the NexusTrade MCP and the agent auto-invokes the skill that fits the task, no paste required. The episode folders preserve the complete public timeline: historical indexes for Episodes 1–9, then the original runbooks and campaign logs for the reproducible campaigns.
skills/ ← the skills library (install into ANY agent — see skills/README.md)
├── README.md ← index + how the skills compose
├── run-episode/ ← entry point: /run-episode 10 (sequences the stages)
├── portfolio-certification/ ← umbrella orchestrator (the staged PASS/FAIL run)
├── walk-forward-oos/ ← the OOS certification engine
├── breadth-audit/ ← true participation at fixed $25k
├── sweep-reoptimization/ ← re-sweep on structural change + provenance
├── options-structure-rules/ ← spread-shape rule + hard constraints
├── alt-data-indicators/ ← custom indicators (Reddit, congressional, …)
├── bug-protocol/ ← "loudly declare" + hand-off doc template
├── deploy-gate/ ← the gated deploy + reconcile flow
├── engine-sanity/ ← Stage-S0 pre-flight contract checks
├── strategy-bakeoff/ ← the SEARCH→CERTIFY multi-family funnel
└── lockbox-holdout/ ← single-touch holdout + A/B/C baselines
Each episode is a self-contained folder: the runbook to paste, plus the campaign logs from each operator/agent run.
Episodes 1–9 predate the current repository format. Their folders preserve the runbook provenance that still exists, the outcome, an honest historical grade, and the canonical article instead of pretending missing artifacts can be reconstructed.
| Episode | Outcome | Grade | Record |
|---|---|---|---|
| 1 | Opened the real-money challenge and established the public record. | Historical; not scored under current gates | episode-01/ |
| 2 | Converted expert feedback into a more disciplined agent workflow. | Historical; not scored under current gates | episode-02/ |
| 3 | Compared 11 AI models on strategy construction. | Research bakeoff; pre-current gates | episode-03/ |
| 4 | Tested automated hill-climbing and found optimization did not automatically beat the first attempt. | Research result; pre-current gates | episode-04/ |
| 5 | Reached the first live options deployment milestone. | Deployed under episode-era controls | episode-05/ |
| 6 | Documented day-one live behavior. | Live observation; not a certification | episode-06/ |
| 7 | Hit a close-order failure and rebuilt the risk engine around it. | Failure documented and remediated | episode-07/ |
| 8 | Published the week-one gain with the live book visible. | Live snapshot; not forward evidence | episode-08/ |
| 9 | Documented the gain, the panic sell, and the human override risk. | Failure documented | episode-09/ |
episode-10/
├── BAKEOFF_RUNBOOK.md ← paste this into a fresh MCP session
├── RUNBOOK_OG.md ← the original (Episode 1) runbook, kept for reference
├── snapshots/ ← baseline + incumbent seed portfolios the runbook loads
├── addendum/ ← entry/exit redesign, deploy evidence, diagram, and bug note
├── FABLE_CAMPAIGN.MD ← operator run log (Fable 5)
├── CLAUDE_CODE_CAMPAIGN_LOG_*.md ← agent run log (Claude)
├── CODEX_CAMPAIGN_LOG_*.md ← agent run log (Codex)
└── CURSOR_CAMPAIGN_LOG_*.md ← agent run log (Cursor)
| File | What it is |
|---|---|
skills/ |
The skills library. 12 composable agent skills on the open SKILL.md standard (Claude Code, Codex, Cursor, Gemini, Copilot, …) — the whole certification discipline, auto-invoked instead of pasted. Entry point: /run-episode 10. skills/README.md is the index. |
start.py + example_profile.json |
Start here (fast path). python3 start.py walks you through your watchlist + risk tolerance, writes profile.json and a prompt.txt to paste — the agent builds you a personalized strategy. No runbook needed. |
episode-10/BAKEOFF_RUNBOOK.md |
The agent brief you run — walk-forward validation, lockbox, deploy gates. Paste and execute top to bottom. |
episode-10/RUNBOOK_OG.md |
The original Episode-1 runbook, kept for reference (the brief has since expanded). |
episode-10/snapshots/ |
Baseline A/B and incumbent seed portfolios the runbook loads via create_portfolio. |
episode-10/addendum/ |
Episode 10 entry/exit redesign addendum: runbook, campaign evidence, OOS comparison diagram, and bug note. |
| Campaign logs | Per-run logs from each operator/agent: FABLE_CAMPAIGN.MD, CLAUDE_CODE_…, CODEX_…, CURSOR_…. |
Episode 11 continues the story on the now-live book — each attempt is its own runbook:
episode-11/
├── attempt1/ RUNBOOK.md + CAMPAIGN_LOG.md ← certify the live book, re-optimize on FAIL
├── attempt2/ RUNBOOK.md + CAMPAIGN_LOG.md + TOTALBUDGET_BUG.md ← repair cross-watchlist participation
├── attempt3/ RUNBOOK.md ← alt-data (Reddit/WSB) on the certified book
└── … ← later focused strategy campaigns
Each new episode/attempt gets its own folder when the runbook or campaign parameters change materially.
Community leaderboard
Think your agent can beat the incumbent without moving the gates? Prove it. Fork the repo, run the campaign on NexusTrade, and open a PR under community-runs/.
| Rank | Run | Agent | OOS return | OOS Sortino | Worst max drawdown | Gates | Evidence |
|---|---|---|---|---|---|---|---|
| — | No verified community runs yet | — | — | — | — | — | Submit the first run |
Only runs that pass every current gate are ranked by mean OOS return. Failed runs stay visible—the point is reproducibility, not survivor bias. Start with the submission guide and result template.
Get started
Step 1 — Developers page
Open nexustrade.io/developers.
Step 2 — Create a free account
You'll need a NexusTrade account to authorize MCP and access portfolios, backtests, and live trading tools.
Step 3 — Connect your AI tool
Recommended: OAuth. No keys to copy, rotate, or leak. Sign in once in the browser when your client first calls a NexusTrade tool.
https://nexustrade.io/api/mcp
Cursor (recommended)
- On the Developers page, expand API Keys.
- Under Connect an AI tool to NexusTrade, click Add to Cursor.
- OAuth runs automatically on first tool use.
{
"mcpServers": {
"nexustrade": {
"url": "https://nexustrade.io/api/mcp"
}
}
}
Claude Desktop / Claude Code
Click Copy install command on the Developers page, or:
claude mcp add nexustrade --transport http https://nexustrade.io/api/mcp
VS Code, ChatGPT, Windsurf, Zed, and other MCP clients
Use Add to VS Code on the Developers page, or paste the MCP URL into your client's connector settings. OAuth 2.1 discovery works the same everywhere.
Advanced: API keysFor scripts without OAuth support: expand Advanced: API Keys on the Developers page and pass the key in the Authorization header. See the API Reference.
Step 4 — Run it
Fast path — a personalized strategy in one paste. Run:
python3 start.py
On the first run it walks you through a few questions (defaults come from example_profile.json — mine) and writes your profile.json, then writes your ready-to-paste prompt to prompt.txt. Open prompt.txt, copy it, and paste into a fresh MCP-connected chat. Run it again any time after editing profile.json to regenerate the prompt.
No Python? Copy example_profile.json to profile.json, edit it, then paste the JSON into your agent with one line: "Build me a personalized strategy from this profile, backtest it out-of-sample, and ask before deploying."
Either way, the agent designs a strategy on your names, backtests it, compares it to buy-and-hold, and asks before risking a dollar.
profile.json fields
risk_tolerance—conservative·moderate·aggressiveasset_classes— any ofstocks,crypto,optionswatchlist— the only tickers the agent may tradecapital— starting USD
Full rigor — the runbook. Want walk-forward validation, a held-out lockbox, and deploy gates? Open episode-10/BAKEOFF_RUNBOOK.md, paste the entire file into a fresh session, and tell the agent: execute top to bottom, do not ask clarifying questions. Log your run alongside the per-agent campaign logs in episode-10/.
Risk disclaimer
This repository is educational and documents one person's experiments. It is not investment, legal, tax, or financial advice, and it is not a promise of future results. Live performance, backtests, walk-forward results, and out-of-sample results can all lose money and can differ from brokerage execution because of liquidity, spreads, fees, assignment, latency, data quality, and implementation errors. Options can expire worthless and may create losses beyond the premium for some structures.
Nothing in this repository should place a trade by itself. Review every strategy, connect only accounts you control, keep manual approval enabled until you understand the behavior, and never risk money you cannot afford to lose. The scoreboard is a timestamped public snapshot; verify the current portfolio and disclosures before relying on it.
More links
| Live portfolio | Positions and P&L in real time |
| Copy the live incumbent | Open the marketplace copy/deploy flow; review before connecting real money |
| Blog series | The full documented journey |
| Episode 1 | How the challenge began |
| Episode 10 | Fable 5 ran this runbook and deployed a live book — full story + links to campaign logs |
| Episode 10 on Medium | Syndicated copy of the same article (for readers off NexusTrade) |
| Developers | MCP setup |
| MCP tools reference | Every tool the runbook can call |
| API overview | REST + auth |
Copy the incumbent, or fork it and beat it. Run start.py on your own names—or paste the runbook for the full discipline.
If it survives walk-forward and the lockbox, deploy it. If it doesn't, you found that out before risking a dollar.
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found




