Pennant strategy + detection registry¶
Append-only directory of every distinct strategy variant and every distinct detection-parameter set that has run under the Pennant research line. Both get permanent IDs the results matrix references:
- Strategy IDs:
PEN-<asset>-<NNN>(e.g.PEN-STOCK-001) - Detection IDs:
PEN-DET-<label>(e.g.PEN-DET-baseline)
Detection IDs are short labels rather than dated cohort IDs so the matrix
stays readable. Each detection ID below points to the canonical cohort
parquets at cohorts/DET-*-<scan-date>/. If the detection code or universe
changes and the same label is re-scanned, the cohort gets a new scan-date
in its directory but the registry ID stays — the registry tracks
parameter set, the cohort directory tracks parameter set + scan date.
Strategies¶
| ID | Name | Asset | Status | Parent | Created | Spec | Latest test | Headline |
|---|---|---|---|---|---|---|---|---|
| PEN-STOCK-001 | Phase 11b stock scaled-exit | Stock | active | — | 2026-05-11 | PEN-STOCK-001.md | PEN-TEST-004a–e | Baseline cohort: $40,398 final from $10K (+304%, 7.50% CAGR, –38.1% max DD, Sharpe 0.543). V2 cohort: best Sharpe 0.617 with –21.4% max DD. |
Detection variants¶
| ID | Params (pennant duration, flagpole duration) | Status | Created | Cohort | n events | Latest test |
|---|---|---|---|---|---|---|
| PEN-DET-baseline | pennant 5–15, flagpole 1–10 (production) | active | 2026-05-11 | DET-BASELINE-2026-05-11 | 15,534 | PEN-TEST-001a, 004a, 005 |
| PEN-DET-v1 | pennant 10–20, flagpole 1–5 | active | 2026-05-11 | DET-V1-2026-05-11 | 5,155 | PEN-TEST-001b, 004b |
| PEN-DET-v2 | pennant 7–17, flagpole 1–5 | active | 2026-05-11 | DET-V2-2026-05-11 | 7,428 | PEN-TEST-002, 004c |
| PEN-DET-v3 | pennant 6–17, flagpole 1–3 | active | 2026-05-11 | DET-V3-2026-05-11 | 6,304 | PEN-TEST-003a, 004d |
| PEN-DET-v4 | pennant 6–17, flagpole 1–2 | active | 2026-05-11 | DET-V4-2026-05-11 | 4,637 | PEN-TEST-003b, 004e |
All five detection variants share these other parameters: max_retrace_pct
= 0.382, min_magnitude_pct = 12.0, min_atr_multiple = 4.0,
volume_ratio_min = 1.5, trend_filter on (EMA-55 ≥ 10-day prior). Date
range scanned: 2007-02-15 → 2026-05-08.
Conventions¶
- Strategy ID =
PEN-<asset>-<NNN>. Asset codes so far:STOCK,OPT(reserved for options). Sequential within asset. - Detection ID =
PEN-DET-<label>where the label is a short lower-case word ("baseline", "v1", "v2", ...). Avoid embedded dates — the cohort directory carries the scan date. - Status =
active/superseded/archived. - Parent = ID this entry derives from. Empty for fresh designs.
- Cohort = relative link into
cohorts/<dir>/(detection variants only).
Adding a variant¶
- New strategy: pick the next unused
PEN-<asset>-<NNN>; writestrategies/<id>.mdwith full mechanics; append to the Strategies table above. - New detection variant: pick the next unused
PEN-DET-<label>; add a row to the Detection-variants table; the cohort itself lives undercohorts/DET-<UPPER>-<scan-date>/with its own README. - Reserve a
PEN-TEST-NNNin../../../ledger.mdfor the first run. - After the run completes, append the result row(s) to
../results_matrix.csvviainfra/update_matrix.py::append_row().
Lineage notes (historical, pre-Pennant directory)¶
Strategies that predate the Pennant research line (Phase 1 stock
scaled-exit, Phase 2 options ITM 0.95× × 21–35 DTE, Strategy C 1.15×
call-only audit anchor, etc.) are not in this registry — they live in
build_v1/ and are catalogued in historical_recovery.md. If any
historical strategy is re-run under the new harness, it gets a fresh
PEN-<asset>-<NNN> at that point.