Skip to content

Cadrage — Suite à donner : protocole de décision de tradabilité

0. Objet et statut

Ce document est un cadrage, pas l'ADR lui-même. Il fixe la décision de méthode, ordonne les livrables, et porte la table contractuelle des inconnues à dériver (§7). Il autorise la rédaction de l'ADR « Tradability decision protocol » (Phase 0–1) et de la pré-étude quantitative qui le verrouille. Il n'autorise aucun run de trading, aucune sélection de modèle, aucun filtering / sizing / optimisation d'exécution. Ce qui est autorisé maintenant est borné explicitement en §4.

1. Constat

  • Le pilote cost-sensitivity (ftf_20260608_233608_b6cc67, defi_top5) est inconclusive / sous-puissant, pas négatif : les intervalles respectant la dépendance sont compatibles avec une perte et un gain à tout niveau de coût. Conclure « pas d'edge » serait l'erreur absence-of-evidence → evidence-of-absence.
  • La performance est dominée par la dispersion inter-actifs : une catastrophe + quatre positifs modestes = cinq anecdotes par-actif, pas un edge de portefeuille. Avec cinq actifs, un seul fait pivoter l'agrégat dans les deux sens. C'est l'observation porteuse du constat.
  • Observation Sortino — non actionnable en l'état. L'énoncé « Sortino centrale ≪ plancher déployable
    ~1.0 » est exploratoire et neutralisé tant que R1 n'est pas résolu (définition / périodicité /
    MAR / annualisation de la Sortino, et base du plancher). Il ne fait pas partie du constat actionnable
    il peut s'inverser. Il sera réintroduit seulement après résolution de R1 (cf. §13).
  • L'historique (tracks ML-boost abandonnés, transfert AUC→f1_buy faible, best_iter=1) fait de « encore un sweep exploratoire » la mauvaise prochaine action : c'est le terreau du garden of forking paths.

Décision de constat : ni « on arrête » (non justifié sur de la sous-puissance), ni « on continue à tâtonner » (non discipliné). On installe un protocole de décision pré-enregistré et falsifiable avant tout nouveau run.

2. Décision de cadrage

Adopter le protocole de décision de tradabilité : une chaîne de gates pré-enregistrés, avec un interdit structurel — aucune optimisation aval avant preuve amont. Le livrable immédiat est l'ADR Phase 0–1 + la pré-étude quantitative Phase 1. Le run Phase 2 n'est pas autorisé tant que le charter n'est pas verrouillé (D3) sur des valeurs dérivées (et non choisies).

3. Principes contractuels (non négociables)

  1. Chaîne de précédence stricte : prédictivité → espérance brute → survie aux coûts → filtering → sizing/exécution. Pas d'aval sans gate amont franchi.
  2. Puissance = simulation / MDE sous le modèle de dépendance retenu — jamais un « 80 % » asséné. La simulation peut renvoyer INFEASIBLE (le substrat ne peut détecter aucun effet économiquement plausible) : dans ce cas on ne lance pas de run, on élargit d'abord le substrat.
  3. Deux effets minimaux distincts, l'un dérivé de l'autre :
  4. E_econ_min = break-even économique au coût conservateur P90, pour la taille d'ordre / le régime de capacité visé (un coût mesuré hors régime de capacité n'est pas déployable).
  5. E_pred_min = effet prédictif minimal requis, dérivé de E_econ_min via un mapping documenté métrique-prédictive → espérance économique. E_pred_min n'est jamais un « delta de f1 » choisi : il descend de l'économie. Si f1_buy ne mappe pas proprement vers l'espérance, le charter doit le dire et adopter une métrique primaire plus directement économique.
  6. Les garde-fous consomment du budget statistique (no free retry) : tout threshold/top-k sweep se fait en validation imbriquée (politique figée avant la lecture OOS) ; toute ONE-ITERATION est pré-payée = un slot de tuple enregistré + une unité de budget multiple-testing.
  7. Null purgé/embargé + un seul null-gate désigné avant run, le plus conservateur implémentable. Le null principal préserve structure temporelle, base rate par actif/fold, autocorrélation, purge/embargo. Règle conservatism-wins : si plusieurs nulls défendables existent, le null-gate principal est le plus conservateur implémentable qui préserve la structure pertinente. Les autres nulls sont diagnostiques uniquement. Un tuple ne peut PROMOTE s'il ne bat que des nulls diagnostiques mais échoue au null-gate principal.
  8. KILL hiérarchique : KILL tupleKILL familyKILL program thesis (budget de familles épuisé sans PROMOTE). Registre des tuples tués pour interdire la résurrection silencieuse. La thèse-programme est nommée (§5).
  9. Le win ratio n'est pas une cible (barrières asymétriques → trompeur). La cible est l'espérance nette ajustée du risque.
  10. Le meta-labeling (LdP) filtre un edge ; il ne le crée pas. Interdit comme moyen de fabriquer de l'alpha à partir d'un primaire non promu.
  11. Le market-neutral / cross-sectionnel n'est pas une Phase 6. C'est une famille d'hypothèses séparée (label, payoff, risque, coûts, shortability, funding, construction de portefeuille changent), avec ses propres gates — ouverte après Phase 1 si l'hétérogénéité par-actif domine, pas un recyclage des gates long-only.

4. Execution boundary — autorisé maintenant & anti-snooping

Autorisé avant le verrouillage Phase 0 (D3) :

  • rédiger l'ADR et le decision charter (D1) ;
  • mesurer et documenter le modèle de coût conservateur (P90, par venue, à la taille d'ordre visée) ;
  • dériver le mapping prédictif → économique et E_econ_minE_pred_min ;
  • concevoir la simulation de puissance et le modèle de dépendance ;
  • sélectionner le null-gate principal ;
  • préparer les registres (tuples, FDR, holdout, tuples tués) ;
  • résoudre les blockers de définition de métrique — dont R1 (périodicité / MAR / annualisation de la Sortino, plancher de déployabilité).

Anti-snooping (load-bearing). La Phase 1 ne doit pas inspecter de résultats prédictifs ou de trading spécifiques à un tuple pour choisir features, labels, horizons, classe de modèle, actifs, seuils ou politique d'action. Si une telle inspection a lieu, le choix inspecté devient partie d'un tuple enregistré et consomme le budget de test correspondant. La pré-étude reste hors budget tant qu'elle n'utilise que des coûts réalisés indépendants, la structure de dépendance, des simulations sous hypothèses et des données agrégées non utilisées pour sélectionner le tuple. Une « pré-étude » n'autorise aucun sweep.

5. Thèse-programme nommée

À inscrire explicitement dans le charter (D1) — sans elle, on ne sait pas ce qu'un KILL program thesis abandonne. Candidate :

Thèse-programme. Il existe un edge directionnel long-only, économiquement tradable au coût conservateur P90 (à la taille d'ordre / capacité visée), porté par le signal d'entrée ML sur l'univers de contrôle (defi_top5), avec la famille de label actuelle (triple-barrière ATR, horizon H4) et la classe de modèle actuelle (GBT).

KILL program thesis = budget de familles épuisé sans PROMOTE ⇒ cette thèse est abandonnée / sortie de la roadmap active, et toute bascule (p. ex. vers une thèse cross-sectionnelle) devient une décision explicite avec son propre charter, pas un glissement.

6. Chaîne de gates (synthèse — détaillée dans l'ADR)

Gate Question décidable Sorties
Phase 2 — prédictivité information OOS exploitable au-delà du base rate, battant le null-gate principal d'au moins E_pred_min (dérivé de E_econ_min), sous le critère d'incertitude/FDR enregistré ? PROMOTE / ONE-ITERATION / KILL tuple / KILL family / INFEASIBLE
Phase 3 — espérance brute (coût 0) espérance brute OOS > 0, politique d'action figée en validation imbriquée ? Si skill mais espérance ≤ 0 : distinguer label mal spécifié vs politique d'action/calibration/ranking mauvaise, puis retour ciblé encadré (cf. §9) continue / retour ciblé (consomme un slot)
Phase 4 — survie au coût espérance nette > 0 au coût conservateur P90 (pas au coût moyen), à la capacité visée, + sensibilité au stress cost ? continue / KILL
Phase 5 — filtering / meta-label le meta-label améliore-t-il l'edge établi (espérance nette / Sortino / drawdown / trade-count), vs primaire seul ? continue / stop
Phase 6 — sizing / exécution / portefeuille edge net réellement déployable (sizing, limites, exécution, capacité) ?

7. Table « unknowns to derive » (cœur contractuel)

Aucune valeur n'est posée au doigt mouillé. Chaque inconnue est dérivée en Phase 1, verrouillée en Phase 0 — et la colonne « si non verrouillable » est un gate : si elle se déclenche, pas de run.

Inconnue Définition opérationnelle Méthode de dérivation (Phase 1) Artefact source Condition de verrouillage Si non verrouillable
Coût P90 coût round-trip conservateur (P90), par venue, à la taille d'ordre / régime de capacité visé étude mesurée : fees maker/taker, spread, slippage base + impact marché, latence, tail de slippage — fin des placeholders dump compte/exchange + cost_model.py distribution + P90 round-trip documentés à la capacité visée pas de Phase 2 ; construire l'instrumentation coût d'abord
E_econ_min break-even économique au coût P90, à la capacité visée inversion du backtest sur le label retenu note de dérivation valeur break-even documentée INFEASIBLE ; revoir label/capacité
Mapping prédictif → éco ⇒ E_pred_min fonction métrique-prédictive → espérance ; E_pred_min dérivé de E_econ_min mapping analytique/simulé ; expliciter precision/recall/trade-freq, payoff conditionnel, asymétrie note de dérivation mapping + métrique primaire figés changer la métrique primaire (économique) ou INFEASIBLE si instable
Modèle de dépendance clustering/blocs pour la simulation (clusters actifs, blocs folds, autocorrélation, régime, purge/embargo) spécification du modèle spec de simulation modèle figé pas de simulation valide → pas de run
MDE actuel plus petit effet détectable, univers courant (5×3), sous le modèle de dépendance simulation de puissance rapport de puissance MDE rapporté si MDE > E_pred_min à univers faisable → INFEASIBLE / élargir
Univers minimal actifs × folds requis pour détecter E_pred_min à la puissance cible même simulation, univers/folds variables rapport de puissance univers/folds minimaux si > faisableINFEASIBLE
Null-gate principal null unique, le plus conservateur implémentable, préservant temporel + base rate + autocorrélation + purge/embargo choix + justification ; nulls diagnostiques listés à part spec du null un seul null-gate nommé avant run non implémentable avec purge/embargo → pas de run
Budget de tuples (familles) nb max de tuples (features × label × horizon × modèle × univers) avant KILL program thesis décision de roadmap + budget statistique charter entier N + règle KILL-programme non défini → pas de run
Budget FDR / holdout méthode de contrôle + taille de famille déclarée + holdout final verrouillé + règle « ONE-ITERATION = un slot » choix méthodologique charter méthode + budget + politique de holdout figés non défini → pas de run

8. Séquencement et livrables

L'ordre est imposé par la logique : on ne peut figer E_econ_min avant le break-even, ni l'univers avant le MDE. La Phase 1 n'est pas une phase après le charter ; c'est l'analyse qui alimente son verrouillage, et elle est de l'analyse (pas un run) → ne consomme aucun test, sous réserve de l'anti-snooping (§4).

# Livrable Contenu Propriétaire Gate de revue
D1 ADR « Tradability decision protocol » (brouillon Phase 0) chaîne de gates, unité d'inférence, thèse-programme nommée (§5), frontière long-only / cross-sectionnel, placeholders des valeurs dérivées, règles KILL / ONE-ITERATION / PROMOTE / INFEASIBLE Dominique revue méthodo (peer)
D2 Pré-étude quantitative Phase 1 remplit la table §7 : coût P90 (capacité) → E_econ_min → mapping → E_pred_min ; simulation → MDE / univers minimal ; null-gate ; budgets Dominique comité
D3 Verrouillage du charter (Phase 0 lock) injection des valeurs D2 ; gel ; toute modif ultérieure = nouveau tuple Dominique sign-off conjoint & explicite : opérateur/owner scientifique + revue méthodologique + risk owner (ou équiv. risk-review). Séparation des rôles : le charter ne peut être verrouillé par la seule personne qui veut lancer le run. Trace immuable OP/ADR.
D4 Protocole Phase 2 (exécutable) première application : test prédictif contre le null-gate verrouillé, critère E_pred_min/FDR, sorties Dominique comité (avant run)

9. Issues de décision (définitions)

  • PROMOTE — l'edge prédictif bat le null-gate principal d'au moins E_pred_min sous le critère d'incertitude/FDR enregistré (battre seulement des nulls diagnostiques ne suffit pas) → autorise la phase suivante pour ce tuple seulement.
  • ONE-ITERATION — uniquement si pré-payée (un slot tuple + une unité FDR), signal proche du seuil et diagnostic pointant une cause précise ; une seule modification ; jamais features + label + modèle + coût simultanément.
  • Retour ciblé Phase 3 — si skill mais espérance brute ≤ 0 : le retour (label vs politique d'action) consomme un slot ONE-ITERATION ou ouvre un nouveau tuple ; un seul axe modifié ; pas de réutilisation du holdout final ; pré-enregistré avant relance. (Sinon Phase 3 devient un re-tuning économique post-hoc.)
  • KILL tuple — le tuple échoue ; retiré, inscrit au registre des tuples tués.
  • KILL family / program thesis — budget de familles épuisé sans PROMOTE → la thèse-programme nommée (§5) est abandonnée / sortie de la roadmap active.
  • INFEASIBLE — le substrat ne peut détecter E_pred_min à puissance crédible → pas de run ; élargir d'abord l'univers/les folds.

10. Hors périmètre (interdits jusqu'à franchissement des gates)

  • Tout run de trading / sélection de modèle avant verrouillage du charter (D3).
  • Tout meta-labeling / filtering avant PROMOTE Phase 2 et survie au coût Phase 4.
  • Tout sizing / optimisation d'exécution / construction de portefeuille avant un edge net survivant aux coûts.
  • Toute promotion sur cherry-pick actif/fold, ou tout changement post-hoc du charter sans nouveau tuple.
  • Tout usage du holdout final hors du moment PROMOTE (touché une seule fois).
  • Tout sweep sous couvert de « pré-étude » (cf. §4).

11. Registres à tenir

  • registre des tuples enregistrés ;
  • registre des tuples tués (anti-résurrection) ;
  • ledger budget de familles ;
  • ledger budget FDR / multiple-testing ;
  • ledger holdout final (chaque accès daté) ;
  • conditions de réouverture d'une thèse tuée.

12. Critère de complétude du cadrage

Le cadrage est satisfait lorsque D1–D3 existent, que la table §7 est entièrement renseignée et verrouillée (aucune cellule « si non verrouillable » déclenchée), et que D3 a reçu le sign-off conjointou qu'un verdict INFEASIBLE est enregistré (la suite est alors l'élargissement du substrat, pas un run). D4 n'est rédigé qu'après D3.

13. Points encore ouverts

  • R1 — définition de la Sortino (blocker du constat Sortino). Périodicité / MAR / annualisation, et base du plancher ~1.0. Neutralisé dans le constat (§1) ; à résoudre en §4 (autorisé maintenant). L'énoncé « sub-floor » ne sera réintroduit comme constat actionnable qu'après résolution, sur base commune.
  • Mapping f1_buy → espérance : validé en D2 ; s'il est mauvais → métrique primaire économique.
  • Faisabilité du substrat : sortie possible INFEASIBLE — décision à assumer, pas échec.