Communitygithub.com

austin-starks/Public-Portfolio-Challenge

Re-optimize a NexusTrade strategy with a walk-forward SWEEP and label parameter provenance — the discipline that prevents deploying inherited knobs. Use whenever a structural change (sizing, rung depth, universe membership, DTE family, adding a rank signal) forces a re-sweep, when authoring gene_intents from get_sweep_surface, when choosing sweep over GA for a deploy cert, or when selecting the cross-fold-robust winner instead of the per-fold argmax. Invoke with the NexusTrade MCP connected.

Public-Portfolio-Challenge 是什麼?

Public-Portfolio-Challenge is a Claude Code agent skill that re-optimize a NexusTrade strategy with a walk-forward SWEEP and label parameter provenance — the discipline that prevents deploying inherited knobs. Use whenever a structural change (sizing, rung depth, universe membership, DTE family, adding a rank signal) forces a re-sweep, when authoring gene_intents from get_sweep_surface, when choosing sweep over GA for a deploy cert, or when selecting the cross-fold-robust winner instead of the per-fold argmax. Invoke with the NexusTrade MCP connected.

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/austin-starks/Public-Portfolio-Challenge/tree/HEAD/skills/sweep-reoptimization

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

Sweep Re-Optimization & Provenance

The three standing methodology rules that exist because a deploy candidate was once certified on knobs inherited from a sweep on a different structure and presented as "optimal."

The three standing rules (binding on all future episodes)

  1. Re-optimize on ANY structural change — never inherit a genome across structures. Knobs (TP, total budget, per-name size, rank window, VIX gate, entry cooldown, DTE bracket) are structure-dependent. Whenever the structure changes — affordability rungs, strike depths, universe membership (e.g. adding a name), DTE family, entry/exit shape, or adding an alt-data rank signal — re-run the engine_kind:"sweep" walk-forward on the NEW book before certifying. A backtest_only cert on inherited knobs only confirms the book generalizes; it does not establish the knobs are good for that structure.
  2. Separate "explore designs" from "optimize the chosen design." Screen candidate designs → pick one → then sweep that exact design's knobs → then backtest_only-certify. If the screen picks design X, the sweep base must be X itself, not its neighbours. Never sweep the losers' variants while leaving the chosen book hand-tuned.
  3. Label every deployed parameter's provenance in the deliverable — swept-on-this-book / inherited-from <study-id> / hand-set. "Inherited" is amber, not green, until re-swept on the current structure.

Self-check trigger words: "carry over the knobs," "reuse the winner's params," "same config on the new ladder," "already certified, no need to re-sweep," "just raise the allocation." Each must prompt: did the structure change since those knobs were searched? If yes → re-sweep before certifying.

Running the sweep

  1. get_sweep_surface on the chosen book (or a clean clone) FIRST to get the real sweepable field names. Re-sweep from a CLEAN seed — re-sweeping an already-swept book can stack/duplicate genes; field-audit for duplicated conditions.
  2. run_walk_forward_study with engine_kind:"sweep", inner_mode:"optimize", certification:true, mode:"validation", anchored, 5 folds (4 acceptable), 2022→today, oos_width_days:252. See walk-forward-oos for the full param block. GA overfits and is rejected for deploy certification — sweep is the certified path. preview_only:true first to compile genes + cost-check.
  3. Each sweep must be non-trivial: ≥3 gene_intents axes × ≥3 values each (e.g. BuyingPowerPct, TakeProfitPct, RollTriggerDte, rank depth, delta band, DTE). A 1-axis or 2-value sweep does not qualify.

Exact sweep field mappings (get these wrong and the sweep is meaningless)

  • Take-profit = TakeProfitPct on Action scope. Never sweep it as ExitCondition/OptionPositionPercentChange.
  • Roll DTE = RollTriggerDte on Action scope (roll the CloseOption only).
  • CloseOption pnl triggers: minPnlPercent:100 = +100% TP; maxPnlPercent:-50 = −50% stop; DTE roll = {type:"dte","maxDte":45}.

Selecting the winner (robust, not argmax)

Read aggregate.crossFoldRobustSelection — metric:"minSortino", candidateKey, score, perFoldSortino: the grid cell with the highest minimum validation Sortino across folds. Compare it against each fold's selectedCandidateKey, aggregate.dominantCandidateKey, and winnerStableAcrossFolds. Deploy the cross-fold-robust config, never the per-fold argmax — the per-fold winner is high-variance noise.

Then run the full walk-forward-oos Stage-C checks 1–7 on that winner before it may be the finalist, and attach provenance labels (rule 3).

Custom indicators are NOT sweepable

The sweep engine's allowedIndicatorTypes does not include CustomIndicator, so alt-data indicator-shape exploration is a hand-built variant grid (create_portfolio_variant: deep-copy base + JSON-Pointer patch, dry_run first), each certified backtest_only and labeled hand-set (amber). The classic knobs (alloc / budget / TP / SelectTop / DTE) remain sweepable if a winner warrants a knob re-sweep. See alt-data-indicators.

Individual skills in this repo

This repo contains 11 individual skills — each has its own dedicated page.

austin-starks/Public-Portfolio-Challenge

Build alternative-data custom indicators on NexusTrade (Reddit/WSB mentions, congressional disclosures, insider filings, news-flow) and wire them into a certified book as a rank/tilt/filter signal. Use when adding alt-data to a strategy, building a CustomIndicator via compute sessions, auditing lookahead safety or per-ticker coverage, or deciding whether a data series is dense enough to drive a rank. Covers the compute-session workflow, the sparse-series rule, and source recipes (see references/). Invoke with the NexusTrade MCP connected.

austin-starks/Public-Portfolio-Challenge

Measure a NexusTrade options book's TRUE participation at a fixed cold-start capital base, defeating the compounded-NAV breadth illusion. Use whenever a book's headline \"holds N/21 names\" needs validating, when a live book collapses to a single name (the OSCR trap), when checking whether a SelectTop / per-name-allocation / total-budget change degraded simultaneous participation, or when a certification needs a breadth gate. Uses audit_backtest_breadth at held-fixed $25k.

austin-starks/Public-Portfolio-Challenge

The \"loudly declare\" protocol for platform, engine, or data bugs during a NexusTrade certification campaign — bugs are a first-class deliverable, not something to route around. Use whenever a NexusTrade tool errors, hangs, or returns numbers that contradict the config; whenever you're tempted to write \"probably an engine quirk\"; or when a discovered bug invalidates prior backtests and results must be quarantined. Includes the bug hand-off doc template (see references/BUG_TEMPLATE.md).

austin-starks/Public-Portfolio-Challenge

The GATED deploy + cleanup flow for a NexusTrade live book — clone the finalist, preview a delta reconcile, stage UNAPPROVED orders, verify fills. Use ONLY after the human explicitly says \"deploy + clean up\" and names a finalist. Covers the clone-before-reconcile ordering, the single-tick reconcile expectation, stale-pending-order hygiene, the signal-freshness gate, and why you can never approve orders yourself. Nothing here runs during certification.

austin-starks/Public-Portfolio-Challenge

The mandatory pre-flight contract checks (Stage S0) that must pass before trusting NexusTrade's certification engine for any strategy work. Use at the start of a bakeoff or certification campaign to prove the walk-forward engine runs end-to-end, windows don't leak, fold winners persist, and the engine doesn't fabricate values for dead/not-yet-listed names. Each check has a STOP-and-report failure mode; these runs do NOT count toward any certification minimum.

austin-starks/Public-Portfolio-Challenge

The single-touch lockbox — a final anti-overfitting holdout run once, after design freeze, on a window held out from every fold, sweep, and search. Use when finalizing a bakeoff winner before deploy, setting up the A/B/C baselines as OOS bars, or running the S1.5 gate-coherence auto-relax. Covers why looking at the lockbox twice burns it, the lockbox pass conditions, and the three baselines. The lockbox is distinct from the walk-forward OOS folds.

austin-starks/Public-Portfolio-Challenge

The hard structural constraints for the Public Portfolio Challenge momentum-LEAP options book — the spread-shape rule, the take-profit convexity-cap footgun, the affordability ladder, and the known losers not to re-test. Use whenever building or auditing an options strategy structure, checking spread-shape compliance before a certification, choosing DTE/strike rungs, or deciding whether a proposed structure change is even allowed. A violation is an automatic certification FAIL.

austin-starks/Public-Portfolio-Challenge

Orchestrate an out-of-sample certification of a NexusTrade trading strategy or live book — the master discipline behind the Public Portfolio Challenge. Use whenever you must decide PASS/FAIL on whether a portfolio holds up out of sample before deploying real money, replaying the Episode 10 runbooks, or running a \"certify my book\" / \"prove it out of sample\" / \"re-certify the fix\" task with the NexusTrade MCP connected. Pulls in walk-forward-oos, breadth-audit, sweep-reoptimization, options-structure-rules, bug-protocol, and deploy-gate.

austin-starks/Public-Portfolio-Challenge

The single entry point that executes a Public Portfolio Challenge episode or addendum runbook end-to-end, delegating each stage to the functional skills. Use when asked to run/execute/replay Episode 10, its bakeoff, or its addendum with the NexusTrade MCP connected. Reads the target runbook, pins its real artifacts (IDs, the incumbent bar), sequences the stages, and stops at the gated deploy. It orchestrates; the functional skills do the work.

austin-starks/Public-Portfolio-Challenge

Run a multi-family strategy bakeoff — the SEARCH→CERTIFY funnel that screens many candidate mechanisms down to a certified deploy winner without letting the cheap search layer issue a verdict. Use when replaying the Episode 10 bakeoff, when exploring several distinct strategy families before certifying, when deciding whether \"no deployable winner\" is even a legal conclusion, or when building the per-family certification ledger. Enforces verdict-integrity: only certification can end a campaign.

austin-starks/Public-Portfolio-Challenge

Run and read a NexusTrade walk-forward out-of-sample study — the certification engine behind the Public Portfolio Challenge. Use when certifying a fixed portfolio (backtest_only) or re-optimizing one (sweep), when setting fold_count / anchored / validation / embargo params, when monitoring a run_walk_forward_study to completion, when reading per-fold OOS returns/Sortino/drawdown, or when a variant's fold calendar needs calendar-alignment against a base control. Invoke with the NexusTrade MCP connected.

相關技能