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

142 lines
7.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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.