QUANTHEA

Protocollen · 30 juli 2026, vóór de meetstart

Amendement — na een adversariële review

Een methodologische review wees vier gebreken aan die de proef oninterpreteerbaar maakten: het beta-gat, een power van circa 5%, een niet-uitputtende beslisregel, en een sleeve B die geen zuiver stijlreplicaat was. Dit amendement repareert ze — vóór de eerste meetdag, en extern getijdstempeld.

Amendement pre-registratie A/B — stijlreplicaat

30 juli 2026, avond — vóór de meetstart van maandag 3 augustus 2026. Hoort bij docs/preregistratie-ab-stijlreplicaat.md (commit 0bcb7e5). Een wijziging die vóór de start wordt vastgelegd en extern gestempeld is geen schending van de pre-registratie — dat is precies wat pre-registratie toestaat. Ná 3 augustus wijzigt er niets meer aan dit protocol.

Aanleiding: een adversariële methodologische review van 30-07-2026 identificeerde vier gebreken die de proef oninterpreteerbaar maakten. Dit amendement repareert ze en legt tegelijk alle systeemwijzigingen vast die vóór het venster zijn doorgevoerd.

---

1. Primaire grootheid: factor-genormaliseerde alpha

Het ruwe cumulatieve verschil A−B is besmet met twee factoren die niets over de onderzoeksvraag zeggen: het beta-gat (A ≈ 0,5, B ≈ 1,0 → ±583bp ruis bij 1 s.d. marktbeweging over zes maanden) en de size-tilt (B kiest uit 503 namen inclusief small/mid; A is mega/large-cap).

Primair wordt daarom de intercept (alpha) van de dagelijkse verschilreeks:

d_t = r_A,t − r_B,t = α + β₁·r_SPY,t + β₂·(r_RSP,t − r_SPY,t) + ε_t

met r_SPY de marktfactor en (r_RSP − r_SPY) de breedte/size-spread. Toetsstatistiek: Newey-West op α met Bartlett-kernel, AR(1)-prewhitening, automatische bandbreedte (Newey-West 1994) met een ondergrens van 10 lags (B's maandagcyclus), en kritieke waarden uit een stationaire bootstrap (Politis-Romano, gemiddelde bloklengte 10 handelsdagen, 10.000 replicaties) in plaats van ±1,96.

Het ruwe cumulatieve verschil wordt daarnaast als beschrijvende statistiek gerapporteerd.

2. Uitputtende beslisregel (vervangt de drie-takkige regel)

Eén grootheid (α uit §1), vier gebieden die samen de hele uitkomstruimte dekken:

uitkomstvoorwaarde
bevestigdα > 0 én \t\> bootstrap-kritieke waarde
verworpenα < 0 én \t\> bootstrap-kritieke waarde
niet-onderscheidbaar\t\≤ kritieke waarde — volwaardige uitkomst, gepubliceerd met het volledige 95%-BI
"300bp" uit het oorspronkelijke protocol is cumulatief over de periode en wordt uitsluitend nog beschrijvend gerapporteerd

Falsificatie-framing, expliciet. Bij TE(A−B) ≈ 13%/jr en ~128 handelsdagen is de power voor een effect van 300bp per halfjaar ≈ 5%; voor t>1,96 op het ruwe verschil zou ~18pp nodig zijn. Dit venster van zes maanden kan de hypothese "de LLM voegt iets toe" dus verwerpen maar niet bevestigen. De factor-normalisatie uit §1 verlaagt de variantie naar schatting 40–60%; ook dan blijft "niet-onderscheidbaar" de meest waarschijnlijke eerlijke uitkomst. Die wordt als zodanig gepubliceerd — zonder verlenging en zonder herformulering achteraf, conform het oorspronkelijke protocol.

3. Reeksdefinities (vastgelegd, één keuze per vraag)

3bp per verhandeld notional, identiek aan de definitie waarmee B wordt belast.

geen dividend (gemeten: nul DIV-activiteiten sinds de start), dus B's vergelijkings­reeks wordt berekend op split-only aangepaste prijzen — anders krijgt B ~65bp/halfjaar gratis dividend dat A niet kan ontvangen. De selectiesignalen van B (momentum/ROE) mogen volledig aangepaste reeksen blijven gebruiken; alleen de rendementsreeks is split-only.

geen extended hours).

notional per jaar gedeeld door gemiddelde equity, kosten à 3bp daarvan.

  • Sleeve A, primaire reeks: netto — de bruto equity-reeks minus de kostenaanname van
  • Valuta: USD voor beide sleeves en de benchmark.
  • Dividendbehandeling: prijsrendement voor beide. De Alpaca-paper-rekening crediteert
  • A-equity: officiële dagelijkse slotstand (Alpaca portfolio_history, timeframe=1D,
  • Turnover- en kostendefinitie: één maatstaf voor beide — eenzijdig verhandeld

4. Sleeve B: breedte-match

N_HOLD gaat van 28 naar 21, gelijk aan A's typische breedte. Idiosyncratisch risico schaalt met 1/√n; het verschil 28 vs 21 was een parameterkeuze die het A−B-verschil vervuilde. De overige B-parameters (50% momentum 252−21 / 50% ROE, percentielrang binnen de GICS-sector, wekelijks op maandag, 3bp, bevroren universum docs/universe-ab-frozen.csv) wijzigen niet. De resterende universum-asymmetrie (B kan small/mid kiezen; A houdt o.a. RY/TSM buiten de S&P 500) wordt niet in B gerepareerd maar statistisch geabsorbeerd door de size-regressor uit §1, en staat hier als bekende beperking.

5. Sleeve C: het eigen-namen-replicaat (nieuw, ex-post reconstrueerbaar)

Sleeve C = gelijkgewogen mandje van sleeve A's eigen doellijst, wekelijks op maandag herwogen naar de doellijst van dat moment, 3bp kosten, split-only prijzen. C scheidt selectie (welke namen) van weging en timing (wat A er verder mee doet).

C vergt geen nieuwe infrastructuur en geen vertrouwen: de dagelijkse doellijsten zijn append-only vastgelegd (DecisionRecords + pre-open hashes met Telegram-tijdstempel), dus C is op elk moment zonder look-ahead ex-post te berekenen uit gearchiveerde data. Rapportage: naast A en B in de eindanalyse.

6. Systeemwijzigingen vóór het venster (alle 30-07-2026, gelogd met back-ups)

Deze wijzigingen zijn onderdeel van de behandeling "sleeve A zoals hij is" en zijn allemaal vóór de meetstart doorgevoerd; het hele venster draait onder één regime:

1. No-trade band: 20% van het doelgewicht per positie, minimumticket $200 (was: $40 absoluut). 2. Vol-lookback inverse-vol-gewichten: 60 → 126 handelsdagen. 3. Executieblok in de dagprompt: het model ziet zijn eigen orders/dag, omzet en kosten. 4. Toelaatbaarheidstoets op elke ticker (actief, verhandelbaar, us_equity, grote beurs) in beslis- én geldpad. 5. Circuit breaker: dagverlies ≥5% → run overslaan, volgende dag automatisch hervatten. 6. Rotatierem: >6 naamwijzigingen per run geblokkeerd. 7. Cadans: uitvoering van 7×/dag naar 1×/dag (20:37 lokaal ≈ 14:37 ET; in de DST-gap-week 26–30 okt 15:37 ET — beide vóór de close). 8. Pre-open-keten één uur vervroegd zodat ook in de gap-week beslissing en hash vóór de opening vallen. 9. Reconciliatie: dagelijkse machinale check bewering-vs- grootboek plus een onafhankelijke grootboeklezer (22:20).

7. Geen contaminatie — geverifieerd

decide.py leest uitsluitend kind=universe, kind=reflection en kind=research in de dagprompt. Sleeve B publiceert als ab_sleeve_b, de pre-commit als precommit_a/reveal_a. Sleeve A ziet sleeve B, de criteria en de tussenstand van de proef dus niet. Dit blijft zo gedurende het venster.

8. Externe tijdstempels

ook via Telegram (bericht-tijdstempel van een derde partij).

(OpenTimestamps; bij falen daarvan minimaal de Telegram-route, met vermelding).

  • Dagelijks: de pre-open SHA-256 van A's beslislijst gaat behalve naar de eigen API
  • Dit amendement: de commit-hash wordt bij publicatie extern gestempeld

9. Wat er op 3 februari 2027 wordt gepubliceerd

De uitkomst van de 2×2-tabel uit §2 met α, t, het 95%-BI en de power; het ruwe cumulatieve verschil; de C-vergelijking; de gerealiseerde turnover en kosten van beide sleeves onder de definitie uit §3; en elke afwijking van dit protocol (verwachting: geen). De kop van het eindartikel wordt bepaald door de zwakste van A−B en A−S&P.

Herkomst

Dit exemplaar controleren

Bestand
preregistratie-ab-amendement-20260730.md (7.2 kB)
SHA-256
c4fe81e70ddf7146a39c57765b4c7eaa084ed940d39788808709b23c4d8fc04c

De hash is berekend over het bestand dat u hierboven leest, op het moment dat deze pagina werd opgevraagd. Download het onbewerkte bestand en vergelijk; wijkt het af, dan is de tekst hier veranderd.

Bijlagen

Ook vastgelegd: Pre-registratie A/B — het stijlreplicaat · Protocol Europa-sleeve

Paper trading, illustratief. Geen beleggingsadvies, geen aanbod, geen vermogensbeheer.

Verder ontdekken