154 lines
6.8 KiB
Markdown
154 lines
6.8 KiB
Markdown
|
|
# P3-S.15 SETUP-LEVEL TRAINING CONTRACT PROPOSAL — SNIPERGOLD_ML
|
||
|
|
|
||
|
|
```text
|
||
|
|
Status : PROPOSAL (NOT authorized implementation; NOT a new pipeline).
|
||
|
|
Session : P3-S.15 — ML Path / Training Architecture Decision.
|
||
|
|
Date : 2026-08-23
|
||
|
|
Scope : Defines WHAT a future setup-level training contract must specify,
|
||
|
|
so that a SEPARATE, AUTHORIZED implementation phase (P3-S.16 and
|
||
|
|
beyond) can build the dataset, labels, and model without ambiguity.
|
||
|
|
This proposal does NOT implement the pipeline, does NOT add features
|
||
|
|
to FEATURE_CONTRACT.md, does NOT retrain, and does NOT change the
|
||
|
|
frozen Candidate Setup.
|
||
|
|
Purpose : Resolve the architecture-level "training-contract" question posed
|
||
|
|
by §13 of the session brief, and hand a deterministic contract
|
||
|
|
skeleton to the future phase.
|
||
|
|
Provenance: P3-S.15 decision docs/P3_S15_ML_PATH_ARCHITECTURE_DECISION.md;
|
||
|
|
frozen P3-S.10 canonical contract; P3-S.13/14 handovers; P2.6/P3.1/
|
||
|
|
P3.2/P3.2.2 forensic evidence.
|
||
|
|
Human verification : REMAINS CANCELLED (historical only).
|
||
|
|
```
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 1. PRINCIPLE
|
||
|
|
|
||
|
|
The future training target must be a **single discrete Candidate Setup**,
|
||
|
|
measured from its **creation bar** forward, with an outcome defined causally
|
||
|
|
and economically, and with features that are **as-of the creation decision**
|
||
|
|
(no future information). The legacy per-bar 24-bar direction "label" is a
|
||
|
|
different target and is NOT a valid setup-outcome label (P3.2 classification B).
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 2. OBSERVATION UNIT (what one ML sample is)
|
||
|
|
|
||
|
|
```text
|
||
|
|
ONE ROW = ONE CANDIDATE SETUP (AFCandidateSetup, frozen F3).
|
||
|
|
|
||
|
|
setup_id : monotonic integer, assigned at CANDIDATE_SETUP.
|
||
|
|
direction : +1 bullish / -1 bearish (chain direction).
|
||
|
|
sweep_onset, sweep_dir : originating Liquidity EVENT reference.
|
||
|
|
choch_onset, choch_dir : structure EVENT reference (after sweep).
|
||
|
|
zone_type : OB | FVG.
|
||
|
|
zone_formation : zone formation bar.
|
||
|
|
zone_dir : zone direction.
|
||
|
|
zone_mit_at_creation : mitigation state when the chain consumed it.
|
||
|
|
creation_bar : M15 bar when the chain completed (CANDIDATE_SETUP).
|
||
|
|
m3_bar : M3 confirmation bar or -1 (optional).
|
||
|
|
identity : (direction, sweep onset, choch onset,
|
||
|
|
zone formation ts, creation ts) — causal unique key.
|
||
|
|
lifecycle : state + terminal reason (EXPIRED|INVALIDATED|CONSUMED).
|
||
|
|
reasons : provenance per stage.
|
||
|
|
|
||
|
|
This identity is SUFFICIENT as an ML observation key (P3-S.15 §6.3/§12).
|
||
|
|
Missing-fields check for the contract (§13 of brief):
|
||
|
|
- The frozen object lacks explicit LOT/SL/TP (correctly outside setup
|
||
|
|
validity: §A "trade" is outside setup). The LABEL must therefore be
|
||
|
|
defined in the contract with its OWN TP/SL constants (a research label,
|
||
|
|
not an object field).
|
||
|
|
- Optional M3 confirmation is present (m3_bar).
|
||
|
|
- H4/M30 gate states at creation are NOT stored in the setup object; the
|
||
|
|
H4/M30 context features must be aligned to the setup's creation — this
|
||
|
|
is a FEATURE-PIPELINE requirement, not a setup-object mutation.
|
||
|
|
```
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 3. LABEL CONTRACT (what P3-S.16 must define) — DIRECTION ONLY HERE
|
||
|
|
|
||
|
|
The label family to be measured (P3-S.15 §7), expressed as the future contract:
|
||
|
|
|
||
|
|
```text
|
||
|
|
TARGET: setup-outcome (L3 successor, TP-before-SL) with censoring.
|
||
|
|
|
||
|
|
START : the creation_bar's close (entry A = close of decision bar;
|
||
|
|
B = next-bar open as robustness, |A-B| ~ 0.008 ATR, P3.2 §6).
|
||
|
|
OUTCOME : measure from creation_bar forward.
|
||
|
|
TP : distance in ATR (k_tp) in the setup direction.
|
||
|
|
SL : distance in ATR (k_sl) against the setup.
|
||
|
|
HORIZON : bounded by the FRESH SETUP LIFETIME (P3.2 §6/§8: common
|
||
|
|
outcomes within 1-8 bars; ~90% <= 8; low censoring >= H16).
|
||
|
|
CLASSES : WIN / LOSS / UNRESOLVED (censored) / AMBIGUOUS (same-bar TP+SL).
|
||
|
|
UNRESOLVED is true censoring — MUST NOT be forced to LOSS.
|
||
|
|
INVALIDATION: opposite structure break (f8/f5 flip) and/or canonical
|
||
|
|
lifecycle INVALIDATED — recorded as a secondary metric, NOT a
|
||
|
|
replacement for SL (P3.2.2 §I: SL is faster than structure invalidation).
|
||
|
|
|
||
|
|
CONTRACT ITEMS the future phase must FIX in advance (NOT selected from AUC/PF):
|
||
|
|
- k_tp / k_sl values (and whether symmetric or asymmetric R:R).
|
||
|
|
- horizon length (bars) consistent with setup lifetime.
|
||
|
|
- censoring handling rule (UNRESOLVED treatment; exclusion or survival).
|
||
|
|
- de-overlap rule at the SETUP level: distinct setups with overlapping
|
||
|
|
outcome windows -> lead-setup-per-episode policy (analogous P3.2.2 §B).
|
||
|
|
- class-balance handling (real distribution is LOSS-heavy on old units;
|
||
|
|
must be re-measured on canonical setups, not artificially balanced).
|
||
|
|
- entry semantics (A = close of creation bar; B robustness).
|
||
|
|
|
||
|
|
SEVERED: the 24-bar / 0.75 ATR DIRECTION label is NOT the setup-outcome label.
|
||
|
|
```
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 4. FEATURE ARCHITECTURE (proposal; NOT added to FEATURE_CONTRACT.md)
|
||
|
|
|
||
|
|
Aligned to the canonical setup entity (P3-S.15 §8). Every feature is as-of the
|
||
|
|
frozen MTF as-of contract (all consumed bars closed before creation-bar close):
|
||
|
|
|
||
|
|
```text
|
||
|
|
H4 narrative state (gate direction), M30 context state (gate direction),
|
||
|
|
Liquidity EVENT ref (onset, dir, freshness, size/ATR),
|
||
|
|
CHoCH EVENT ref (onset, dir, latency after sweep),
|
||
|
|
ZONE ref (OB|FVG, age, width/ATR, price-in-zone offset, mit-at-creation),
|
||
|
|
Displacement attribute at creation,
|
||
|
|
M15 entry condition boolean + premium/discount filter + distance-to-zone/ATR,
|
||
|
|
M3 confirmation presence + direction,
|
||
|
|
identity/times (creation_bar, times-since-onset, time-since-zone-formation,
|
||
|
|
setup lifecycle stage),
|
||
|
|
geometry (zone geometry, distance measures).
|
||
|
|
|
||
|
|
These are a PROPOSAL ONLY. The full numeric contract (lookbacks, conditions,
|
||
|
|
defaults) will be authored in P3-S.16 as a NEW proposal document, keeping
|
||
|
|
docs/FEATURE_CONTRACT.md unchanged (§19 policy).
|
||
|
|
```
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 5. COMPARABILITY / PIPELINE
|
||
|
|
|
||
|
|
```text
|
||
|
|
Proposed future pipeline (NOT built here):
|
||
|
|
Market Data -> SMC primitives -> repaired Events/Zones -> Candidate Setup
|
||
|
|
-> Setup Snapshot -> Outcome Label -> ML Dataset -> setup-level model.
|
||
|
|
|
||
|
|
The old pipeline (M15 bars -> features -> 24-bar label -> MLP) is NOT
|
||
|
|
comparable as a predictor: unit, label, MTF set and consumer semantics all
|
||
|
|
differ (P3-S.15 §11.3). The legacy pipeline is retained only as evidence.
|
||
|
|
```
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 6. STATUS
|
||
|
|
|
||
|
|
```text
|
||
|
|
PROPOSAL ONLY. This document authorizes nothing and builds nothing.
|
||
|
|
- No dataset created.
|
||
|
|
- No label computed.
|
||
|
|
- No model trained.
|
||
|
|
- FEATURE_CONTRACT.md not modified.
|
||
|
|
- Candidate Setup / F1 / F2 / runtime unchanged.
|
||
|
|
The P3-S.16 IMPLEMENTATION phase is a separately-authorized scope that will
|
||
|
|
consume this contract skeleton. No retrain / no optimization preceded it.
|
||
|
|
```
|
||
|
|
|
||
|
|
*End of P3-S.15 setup-level training contract proposal (documentation only).*
|