research(wave-0822): BASIS-CALENDAR scartato — il basis dei datati E' il funding del perp; ma in regalo 240k barre di futures scaduti col 2022 dentro
This commit is contained in:
@@ -511,7 +511,7 @@ def main() -> None:
|
||||
|
||||
print("\n per anno (ISO dSh, mediana appaiata sulle ancore):")
|
||||
yrs = None
|
||||
for nm in [lead, "BIN L>=1 (0/1)", "DROP attivita' >p75", "BIN L<1 (INVERSO)"]:
|
||||
for nm in [lead, "BIN L>=med (0/1)", "canale FREQUENZA cont.", "BIN L<1 (INVERSO)"]:
|
||||
yrs, cells = per_year(BK2, CT2, nm, offs)
|
||||
if nm == lead:
|
||||
print(" " + f"{'':<26}" + "".join(f"{y:>8}" for y in yrs))
|
||||
@@ -524,8 +524,9 @@ def main() -> None:
|
||||
print(" 4. L'ASSE DELLA FINESTRA — picco o plateau? + scelta di w IN-SAMPLE-ONLY")
|
||||
print("-" * L)
|
||||
wnames = [(w, f"VTL tv20 w{w}" if w != 90 else lead) for w in WGRID]
|
||||
bd0 = EXV2["BTC"]["base_daily"]
|
||||
print(f" {'w':>6}{'ISO dShFULL':>14}{'pos/n':>8}{'ISO dShIS':>12}{'ISO dShHOLD':>13}"
|
||||
f"{'pos/n':>8}")
|
||||
f"{'pos/n':>8}{'barre att.':>12}")
|
||||
wf, wi, wh = {}, {}, {}
|
||||
for w, nm in wnames:
|
||||
dF = A.anchor_luck_delta(lambda o, n=nm: BK2[n][o], lambda o, n=nm: CT2[n][o], offs,
|
||||
@@ -535,8 +536,9 @@ def main() -> None:
|
||||
dH = A.anchor_luck_delta(lambda o, n=nm: hold(BK2[n][o]), lambda o, n=nm: hold(CT2[n][o]),
|
||||
offs, metric=sh)
|
||||
wf[w], wi[w], wh[w] = dF["median_paired"], dI["median_paired"], dH["median_paired"]
|
||||
nact = float(np.median((bd0 != 0.0).astype(float).rolling(w).sum().dropna().values))
|
||||
print(f" {w:>6}{wf[w]:>+14.3f}{dF['n_positive']:>5}/{len(offs):<3}{wi[w]:>+12.3f}"
|
||||
f"{wh[w]:>+13.3f}{dH['n_positive']:>5}/{len(offs):<3}")
|
||||
f"{wh[w]:>+13.3f}{dH['n_positive']:>5}/{len(offs):<3}{nact:>12.0f}")
|
||||
wbest_full = max(WGRID, key=lambda w: wf[w])
|
||||
wbest_is = max(WGRID, key=lambda w: wi[w])
|
||||
print(f"\n argmax su FULL (cio' che l'agente ha pubblicato): w = {wbest_full} "
|
||||
@@ -561,8 +563,14 @@ def main() -> None:
|
||||
f"{wf[wbest_full]:+.3f} / {wh[wbest_full]:+.3f}")
|
||||
rho = float(np.corrcoef([wi[w] for w in WGRID], [wh[w] for w in WGRID])[0, 1])
|
||||
print(f" corr(ISO dSh in-sample, ISO dSh hold-out) fra le {len(WGRID)} finestre: {rho:+.2f}")
|
||||
print(" -> se e' ~0 o negativa, la scelta di w in-sample NON predice l'hold-out: l'asse")
|
||||
print(" e' rumore e il picco a w=90 e' un max-of-k.")
|
||||
print(" LETTURA (attacco 4 FALLITO, e il motivo e' informativo): la scelta di w")
|
||||
print(" in-sample-only cade sulla cella pubblicata, e la corr IS/HOLD e' POSITIVA -> l'asse")
|
||||
print(" non e' rumore. E non e' nemmeno un PICCO: e' una SOGLIA. Sotto w=45 la finestra")
|
||||
print(" contiene troppo poche barre ATTIVE per misurare qualsiasi cosa (colonna a destra) e")
|
||||
print(" il segno si rovescia; da 45 a 270 e' un plateau, 5 celle su 5 positive con 19-23")
|
||||
print(" ancore su 23. La descrizione 'picco, non plateau' del bersaglio e' PIU' SEVERA del")
|
||||
print(" vero — ed e' proprio cio' che si aspetta da un FILTRO DI FREQUENZA: serve una")
|
||||
print(" finestra abbastanza lunga da contare i trade.")
|
||||
|
||||
# ------------------------------------------------------------------ §5 sintesi
|
||||
print("\n" + "-" * L)
|
||||
@@ -606,6 +614,28 @@ def main() -> None:
|
||||
f"{RES['BIN L>=med (0/1)']['dH']:+.3f} HOLD ({RES['BIN L>=med (0/1)']['nF']}/{len(offs)} ancore)")
|
||||
print(f" controllo di segno (INVERSO): {RES['BIN L<1 (INVERSO)']['dF']:+.3f} FULL "
|
||||
f"({RES['BIN L<1 (INVERSO)']['nF']}/{len(offs)}) -> il filtro e' reale, non un artefatto")
|
||||
|
||||
print("\n" + "=" * L)
|
||||
print(" VERDETTO DELLO SCETTICO")
|
||||
print("=" * L)
|
||||
print(" A1 test PRE-REGISTRATO (IV su V1): previsione |V1| < |V2-DD| VERIFICATA IN "
|
||||
f"{ok}/{tot} CELLE.")
|
||||
print(" L'effetto e' PIU' GRANDE dove lo stop e' gia' in ATR (V1 mediana "
|
||||
f"{np.median(np.abs(e1s)):.3f} vs V2-DD {np.median(np.abs(e2s)):.3f}), e il test NON e'")
|
||||
print(" senza potenza (su V2-DD la famiglia arriva a +0.067 con 23/23). -> la")
|
||||
print(" SPIEGAZIONE 'lo stop a percentuale fissa lascia variare il rischio' e' REFUTATA.")
|
||||
print(" A2 contabilita': la premessa del difetto e' FALSA (P&L al giorno d'INGRESSO, "
|
||||
"99.3%);")
|
||||
print(" la 'riparazione' e' un no-op bit-exact; il '+0,04 fantasma' e' [L combinata] -")
|
||||
print(" [L per asset]. Nessun look-ahead c'era, e la variante scartata era la MIGLIORE.")
|
||||
print(" A3 un filtro BINARIO 0/1 sulla mediana della stessa L riproduce il "
|
||||
f"{RES['BIN L>=med (0/1)']['dF']/base_eff*100:.0f}% del")
|
||||
print(" vantaggio senza alcun vol-target -> la FORMULA DI SIZING E' ORNAMENTO. Il canale")
|
||||
print(" FREQUENZA da solo fa +0.051, la MAGNITUDINE +0.003 (replica esatta del bersaglio).")
|
||||
print(" A4 l'asse w NON e' un picco ne' un max-of-k: e' una soglia sul numero di barre")
|
||||
print(" attive nella finestra, con plateau 45-270. Attacco fallito.")
|
||||
print(" --> il NUMERO regge (+0.070 riprodotto esattamente), la SPIEGAZIONE cade due volte,")
|
||||
print(" e il gate pre-registrato per il 22/12/2026 e' GIA' STATO FALLITO oggi.")
|
||||
print(f"\n fatto in {time.time()-t0:.0f}s")
|
||||
print("=" * L)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user