eec76424ee
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>
142 lines
7.4 KiB
Markdown
142 lines
7.4 KiB
Markdown
# 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.
|