Files
PythagorasGoal/docs/diary/2026-08-22-sol-terza-gamba.md
T
Adriano Dal Pastro eec76424ee research(sol): SOL come terza gamba direzionale — SCARTATO, il guadagno e' un anno solo
Domanda dell'operatore dopo "hai gia' analizzato XRP/SOL/UNI?": si', ma sempre
dentro panieri cross-sectional su Hyperliquid. SOL e' l'UNICO dei tre eseguibile su
Deribit e TP01/SKH01 non erano mai stati misurati su di lui. Ipotesi a priori
registrata PRIMA di guardare: diluisce (trend multi-asset 19/06, corr 0.74).
Confermata.

DATO. Storico ricostruito da Deribit mainnet (SOL/USDC:USDC, 466.776 barre 5m dal
2022-03-15, 0 gap, resample maxΔ 0.00bps) e certificato: >1% da Coinbase nell'1.3%
(2022) e 0.6% (2023) delle barre, med 8.1 -> 3.9 bps dal 2022 al 2026; flat 1h 0.2%,
5m 20.8%. Conferma esatta del verdetto del 19/06. Da qui DUE LENTI dichiarate prima
di misurare: L-FULL (2022-03+) e L-PULITA (2024+).

GAMBE SOLE, meccanismi CONGELATI (nessuna ri-ottimizzazione su SOL): TP01 SOL Sh 0.91
con hold-out -0.24; SKH01 SOL Sh 0.51 con maxDD 40.5%. Quest'ultimo non e' un
dettaglio: SKH01-V2-DD fu SELEZIONATA il 23/06 sul criterio maxDD<30% (BTC 21%,
ETH 27%) -> su un asset nuovo fallisce il criterio per cui la variante esiste.

BOOK, 24 ancore, mediana delle differenze APPAIATE: dSharpe hold-out -0.166 e >0 in
0/24 ancore in ENTRAMBE le lenti. L-PULITA: dSharpe FULL -0.099 (0/24), dCAGR -1.34pp
(0/24). L-FULL: dSharpe FULL +0.094 (24/24) ma dCAGR +0.10pp.

IL DD SCENDE MA E' DE-LEVERING (5a occorrenza dopo VRP-DD, TP01xDVOL, MAT01, azioni
intere UCITS): a pari maxDD, su L-PULITA basta k=0.886 sul book a 2 gambe per avere
Sharpe 1.54 contro 1.30 e CAGR 14.5% contro 12.6%. L'unica lente in cui SOL aggiunge
e' quella costruita sui dati che la certificazione segnala.

E DENTRO QUELLA LENTE IL GUADAGNO E' UN ANNO: dSh 2022 -0.91 / 2023 +1.06 / 2024
-0.29 / 2025 -0.20 / 2026 -0.22 = 4 anni su 5 negativi. La gamba SOL da sola fa
Sh -1.99 / +2.65 / +0.45 / +0.17 / +1.46. Il 2023 e' la risalita post-FTX da ~$8 a
~$100: un evento, non un meccanismo. Corr col book +0.404 (L-FULL) / +0.561
(L-PULITA), vicina allo 0.74 che boccio' il trend multi-asset, e in salita man mano
che il dato migliora.

L'ESEGUIBILITA' NON E' IL VINCOLO: SOL_USDC-PERPETUAL ha min 0.001 SOL = $0.09 contro
il pavimento min_order $5. Primo candidato bocciato senza che il muro sia la taglia
del conto.

EFFETTO COLLATERALE TROVATO SU ME STESSO. Il "guardrail solo dati certi" dichiarato in
CLAUDE.md — load_data("SOL") -> FileNotFoundError — NON e' codice: load_data non ha
whitelist, solleva solo perche' il file non c'e'. Ricostruendo SOL in
data/raw/sol_1h.parquet il guardrail si e' disattivato in silenzio, e quel file non
viene rinfrescato dal cron (--asset BTC ETH) -> sarebbe diventato dato stantio con
l'aspetto di dato attivo. Riparato con la convenzione gia' in uso (hl_/eq_/eqx_/fut_):
SOL vive in data/raw/alt_sol_*.parquet. Congelato in due test, di cui uno DERIVA gli
asset a rischio da rebuild_history.DERIBIT_INSTR. La prima stesura di quel test
elencava i prefissi a mano e bocciava eqx_, fut_, vol_term_, fundnews_ (namespace
veri): l'invariante si deriva dal codice, non si elenca — stessa lezione di fee_watch.

Book, pesi, universo direzionale, config, cron: INVARIATI. Suite 631 verdi.
NB: test_gtaa_band_gate e' tornato VERDE da solo, senza modifiche al codice, perche' il
cron ha riscritto i parquet equity — la conferma in positivo della diagnosi del 07/08.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-22 07:11:16 +00:00

7.4 KiB
Raw Blame History

2026-08-22 — SOL come terza gamba: tutto il guadagno è un anno solo, e quell'anno il dato non è buono

Richiesta: dopo "hai già provato ad analizzare utilizzo di XRP o SOL o UNI?" — sì, ma sempre dentro panieri cross-sectional su Hyperliquid. SOL è l'unico dei tre eseguibile su Deribit e TP01/SKH01 non erano mai stati misurati su di lui. "si fai una analisi".

Esito: SCARTATO. L'ipotesi a priori (diluisce) era registrata prima di guardare, ed è confermata.

Toccati: scripts/research/r0822_sol_leg.py (nuovo), tests/test_sol_leg.py (5), CLAUDE.md, data/raw/alt_sol_*.parquet (namespace nuovo). Book, pesi, config/live.json, cron: INVARIATI.


0. Il dato, prima della strategia

Storico ricostruito da Deribit mainnet: SOL/USDC:USDC, 466.776 barre 5m dal 2022-03-15, 0 gap, coerenza resample maxΔ 0.00 bps. Poi certificato — ed è la certificazione a decidere il disegno dell'esperimento, non il contrario.

med bps vs Coinbase p95 max >1%
2022 8.1 40.1 2478.6 1.3%
2023 7.6 30.0 1010.3 0.6%
2024 5.9 22.7 109.4 0.0%
2025 4.0 14.4 269.1 0.0%
2026 3.9 12.4 51.7 0.0%

Conferma esatta del verdetto del 19/06 («SOL 🟡 pulito da ~2024; 2022-23 rumoroso»). Flat a 1h 0,2% (usabile), a 5m 20,8% con run fino a 177 barre (~15h) — lontano da LTC (82%) ma non è BTC/ETH (~0%).

Da qui due lenti dichiarate prima di misurare: L-FULL (2022-03+, usa gli anni segnalati) e L-PULITA (2024+, dato buono ma quasi tutto hold-out).

1. Le gambe da sole (meccanismi CONGELATI, nessuna ri-ottimizzazione)

gamba Sharpe maxDD CAGR Sh hold-out
TP01 BTC 1.13 16.2% 15.2% +0.28
TP01 ETH 1.10 15.2% 15.2% +0.62
TP01 SOL 0.91 12.7% 9.8% 0.24
SKH01 BTC 1.28 21.4% 33.6% +1.49
SKH01 ETH 1.05 27.4% 30.9% +1.49
SKH01 SOL 0.51 40.5% 11.3% +1.05

⚠️ SKH01-V2-DD su SOL fa 40,5% di drawdown. La variante «-DD» esiste perché fu selezionata, nella 2ª ondata del 23/06, sul criterio maxDD < 30% (BTC 21%, ETH 27%). Su un asset nuovo il criterio stesso per cui la variante è stata scelta fallisce. Non è un dettaglio: è la firma di un parametro tarato su due asset e presentato come proprietà del meccanismo.

2. Il livello che conta: il book

24 ancore, mediana delle differenze appaiate (regola 26/07: un Δ eredita la fortuna d'ancora).

L-FULL (2022-03+) L-PULITA (2024+)
dSharpe FULL +0.094 (>0 in 24/24) 0.099 (>0 in 0/24)
dSharpe hold-out 0.166 (>0 in 0/24) 0.166 (>0 in 0/24)
DD più basso di +1.435 pp (24/24) +1.470 pp (24/24)
d CAGR +0.105 pp (58%) 1.339 pp (0/24)

All'ancora canonica: 2 gambe Sh 1.44 / DD 9.4% / CAGR 14.7% → 3 gambe Sh 1.48 / DD 7.5% / CAGR 13.6% su L-FULL; su L-PULITA 1.54 → 1.30.

3. Il drawdown scende — ma è de-levering (5ª occorrenza)

Aggiungere SOL abbassa DD e CAGR insieme. Il null codificato chiede: lo stesso DD si compra più a buon mercato riducendo la size? Si cerca k con maxDD(k·book_2gambe) = maxDD(book_3gambe):

lente k Sh 3 gambe Sh 2 gambe × k CAGR 3g CAGR 2g × k verdetto
L-FULL 0.793 1.48 1.44 13.6% 11.5% SOL aggiunge
L-PULITA 0.886 1.30 1.54 12.6% 14.5% de-levering

L'unica lente in cui SOL aggiunge è quella costruita sui dati che la certificazione segnala.

4. E dentro quella lente, il guadagno è un anno

anno 2g Sh 3g Sh dSh dCAGR
2022 1.37 0.46 0.91 6.0 pp
2023 1.34 2.40 +1.06 +11.1 pp
2024 1.65 1.36 0.29 5.6 pp
2025 1.00 0.80 0.20 2.7 pp
2026 2.70 2.48 0.22 2.9 pp

Gamba SOL da sola: 2022 1.99 · 2023 +2.65 · 2024 +0.45 · 2025 +0.17 · 2026 +1.46.

4 anni su 5 negativi. Il 2023 è l'anno in cui SOL risalì da ~$8 a ~$100 dopo il crollo FTX: un trend-follower su quel movimento guadagna una fortuna una volta sola. Non è un meccanismo che trasferisce, è un evento.

E la correlazione col book attuale è +0.404 (L-FULL) e +0.561 (L-PULITA) — vicina allo 0.74 per cui il trend multi-asset fu scartato il 19/06, e in salita man mano che il dato migliora.

5. Ciò che non è il vincolo

L'eseguibilità non c'entra: SOL_USDC-PERPETUAL ha min 0.001 SOL = $0.09, contro il pavimento min_order di $5 del book. SOL sarebbe tradabile oggi a $644. È la prima volta in questo progetto che un candidato viene bocciato senza che il muro sia la taglia del conto.

6. ⚠️ Effetto collaterale del mio stesso lavoro: un guardrail disattivato in silenzio

CLAUDE.md dichiara: «load_data("SOL", ...) → FileNotFoundError (guardrail: solo dati certi)». Non è codice. load_data non ha alcuna whitelist: solleva l'eccezione solo perché il file non esiste. Ricostruendo lo storico in data/raw/sol_1h.parquet ho disattivato il guardrail senza che nulla lo segnalasse — e quel file non sarebbe stato rinfrescato dal cron (--asset BTC ETH), quindi sarebbe diventato dato stantio con l'aspetto di dato attivo.

È la stessa forma dei tre difetti dei giorni scorsi: un controllo che funziona per configurazione, non per costruzione.

Riparato con la convenzione che il progetto già usa (hl_, eq_, eqx_, fut_): SOL vive in data/raw/alt_sol_*.parquet, fuori dal namespace nudo. Guardrail verificato ripristinato.

⚠️ Errore mio nel test che doveva sorvegliarlo: la prima stesura elencava a mano i prefissi leciti e bocciava eqx_, fut_, vol_term_, fundnews_ — namespace veri che non conoscevo. Riscritto per derivare gli asset a rischio da rebuild_history.DERIBIT_INSTR: l'invariante non è «quali prefissi esistono» (lista che invecchia) ma «quali asset possono finire nel namespace nudo», che sta nel codice. Stessa lezione di fee_watch il giorno prima.

VERDETTO

SOL come terza gamba direzionale: SCARTATO. Hold-out negativo a 24/24 ancore in entrambe le lenti; sulla finestra pulita peggiora tutto; il DD migliore è de-levering; il guadagno della finestra sporca è un anno solo; la correlazione col book sale col migliorare del dato. Book, pesi, universo direzionale invariati.

REGOLE

  • Un meccanismo si trasferisce a un asset nuovo con i parametri CONGELATI, o non è un trasferimento ma una nuova famiglia — e allora servono study_family_honest e deflated-Sharpe.
  • Un criterio di selezione va riprovato sull'asset nuovo: SKH01-V2-DD fu scelta per maxDD<30% e su SOL fa 40,5%. Il criterio era una proprietà dei due asset su cui fu tarato, non del sistema.
  • Quando un risultato dipende dalla finestra, guardare quale finestra la CERTIFICAZIONE approva — qui le due si contraddicono e la lente che promuove è quella non certificabile.
  • Un contributo positivo si scompone per anno prima di crederci: +0.094 di Sharpe mediano sembra un plateau (24/24 ancore) ed è un anno solo con quattro anni negativi intorno.
  • Ricostruire dati per un'analisi può disattivare un guardrail che vive nell'assenza di un file. Prima di scaricare un asset fuori universo, chiedersi in quale namespace atterra.