research: nuovo schema fee Deribit (1 ago 2026) — misurata la curva, nessuna azione oggi

L'annuncio (taker piu' bassi, maker rebate piu' bassi, soglie VIP abbassate, VIP7,
liquidation fee 1%, spot a zero) NON contiene numeri, e la tabella nell'articolo
Insights e' un'IMMAGINE: non letta da fonte primaria. I valori indicativi (base ~5bps
taker / 2bps maker, VIP7 2/0) vengono da un riassunto SECONDARIO ed e' dichiarato.

Quindi misurata la CURVA invece di aspettare il numero — vale per qualunque valore esca.
Le repliche parametrizzate riproducono BIT-EXACT gli sleeve di produzione alla fee
canonica (max|dif| = 0.0), altrimenti la curva descriverebbe un'altra strategia.

 bps/lato   %RT |  TP01 Sh | SKH01 Sh | BOOK Sh   CAGR
      0.0  0.00% |   1.322  |   1.567  |  1.849  21.69%
      3.0  0.06% |   1.303  |   1.495  |  1.799  20.99%
      5.0  0.10% |   1.290  |   1.446  |  1.766  20.53%   <- oggi
     10.0  0.20% |   1.258  |   1.324  |  1.682  19.39%
     15.0  0.30% |   1.226  |   1.200  |  1.597  18.26%

Sensibilita' del book: -0.017 Sharpe/bps, -0.23% CAGR/bps. Anche un RADDOPPIO del taker
costa 0.08 di Sharpe, MENO della banda d'ancora dello stesso book (2.222 -> 1.946): la
fee va messa nella sua scala di grandezza.

SKH01 e' ~4x piu' sensibile di TP01 (-0.69% vs -0.09% CAGR/bps: round-trip discreti vs
posizione continua vol-targeted) -> se il taker salisse, il primo parametro da rivedere
e' il peso 75/25.

REGOLA DECISA IN ANTICIPO (per non decidere col numero davanti): taker <=5bps/lato ->
non si tocca nulla; >10bps/lato -> rivedere il peso di SKH01.

Punti irrilevanti e perche': maker (il book manda ordini market; tocca solo la
raccomandazione T1 gia' non implementata); liquidation fee 1% (live.json da' nozionale
lordo max 1.00x l'equity con disaster-SL -30% -> servirebbe un movimento avverso ~100%);
VIP (a $600 il volume 30g e' trascurabile).

La conclusione sulla liquidation fee poggia sul CAP, non sulla strategia: cablata una
guardia di decisione (test_leva_massima_da_config_resta_sotto_o_uguale_a_1x) che ROMPE
se qualcuno alza il cap, invece di lasciarla valida per inerzia.

AZIONE 1 agosto: leggere il tier reale in Account Settings e applicare la regola sopra.

Book, pesi, cron, config INVARIATI.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Adriano Dal Pastro
2026-07-26 18:32:23 +00:00
parent 0050ac4782
commit a937e3766f
4 changed files with 392 additions and 0 deletions
+123
View File
@@ -0,0 +1,123 @@
# 2026-07-26 — Nuovo schema fee Deribit (dal 1 agosto 2026): la curva, non il numero
**Input:** annuncio Deribit di un nuovo schema fee **effettivo 2026-08-01** — taker piu' bassi e
maker rebate piu' bassi su futures/perpetual, soglie VIP abbassate, nuovo tier VIP7,
**liquidation fee 1% su tutti i prodotti** (opzioni: cap premio 25%), fee spot temporaneamente
azzerate fino al collegamento coi mercati spot Coinbase.
**Script:** `r0726_fee_sensitivity.py`. **Test:** `tests/test_fee_sensitivity.py` (6).
**Book, pesi, cron, config: INVARIATI.**
---
## 0. Perche' non ho aspettato la tabella
La fee e' un **vincolo di prim'ordine** dichiarato di questo progetto ("0.10% RT baseline; molte
operazioni = morte per fee"). Ma l'annuncio non contiene un solo numero, e **la tabella numerica
nell'articolo Insights e' un'IMMAGINE**: non l'ho letta da fonte primaria.
⚠️ I valori che cito del nuovo schema vengono da un **riassunto testuale secondario**, non dalla
tabella di Deribit: tier base ~**5 bps taker / 2 bps maker**, VIP7 **2/0 bps**. Vanno trattati come
indicativi finche' non si legge il tier reale in Account Settings.
Quindi invece di assumere un numero ho misurato la **curva**: quando la tabella e' leggibile si
prende il valore giusto da qui, senza rifare l'analisi.
Il progetto modella ovunque **5 bps/lato = 0.10% RT (taker)**: `trend_portfolio.CANONICAL
.fee_side = 0.0005`, `sleeves._skyhook_returns fee_rt=0.001`, paper monitor `FEE_SIDE = 0.0005`.
Le repliche parametrizzate riproducono **bit-exact** gli sleeve di produzione alla fee canonica
(`max|dif| = 0.0`, test permanenti) — altrimenti la curva descriverebbe un'altra strategia.
---
## 1. La curva
```
bps/lato %RT | TP01 Sh CAGR | SKH01 Sh CAGR | BOOK Sh CAGR maxDD
0.0 0.00% | 1.322 16.60% | 1.567 35.66% | 1.849 21.69% 8.92%
1.0 0.02% | 1.316 16.51% | 1.543 34.95% | 1.833 21.46% 9.02%
2.0 0.04% | 1.309 16.42% | 1.519 34.24% | 1.816 21.22% 9.12%
3.0 0.06% | 1.303 16.33% | 1.495 33.53% | 1.799 20.99% 9.22%
5.0 0.10% | 1.290 16.15% | 1.446 32.14% | 1.766 20.53% 9.42% <- oggi
7.5 0.15% | 1.274 15.92% | 1.385 30.41% | 1.724 19.96% 9.67%
10.0 0.20% | 1.258 15.69% | 1.324 28.70% | 1.682 19.39% 9.92%
15.0 0.30% | 1.226 15.24% | 1.200 25.36% | 1.597 18.26% 10.59%
drag della fee attuale vs fee zero: TP01 -0.032 Sh / -0.46% CAGR
SKH01 -0.121 Sh / -3.52% CAGR
BOOK -0.084 Sh / -1.15% CAGR
sensibilita' marginale: BOOK -0.017 Sharpe/bps -0.23% CAGR/bps
```
**Il book e' poco sensibile.** Anche un raddoppio del taker a 10 bps costerebbe 0.08 di Sharpe —
**meno della banda d'ancora misurata oggi stesso** (book FULL canonico 2.222 vs mediana 1.946).
Mettere la fee nella giusta scala di grandezza: e' un effetto piu' piccolo dell'ancora.
### I due sleeve NON sono uguali
**SKH01 e' ~4x piu' sensibile di TP01** (0.69% vs 0.09% di CAGR per bps/lato). Il motivo e'
strutturale: SKH01 fa round-trip **discreti** (~500 trade sui 7 anni per asset), TP01 e' una
posizione **continua vol-targeted** che ribilancia poco. Conseguenza operativa: **se il taker
salisse in modo serio, il primo parametro da rivedere e' il peso 75/25, non il resto**; se scende,
SKH01 e' quello che guadagna di piu'.
---
## 2. I quattro punti dell'annuncio, uno per uno
| punto | ci tocca? |
|---|---|
| **Taker piu' basso** | bene o neutro: a 3 bps il book va 1.766 → 1.799 di Sharpe. Nessuna decisione cambia. |
| **Maker rebate piu' basso** | **non oggi**: il book manda ordini **market** (taker). |
| **Liquidation fee 1%** | **irrilevante** — vedi sotto. |
| **Soglie VIP piu' basse + VIP7** | **irrilevante a $600**: volume 30g trascurabile, restiamo al tier base a qualunque soglia. |
### Il maker tocca una raccomandazione non implementata
L'idea **T1 del 26/07** — TP di SKH01 come **limit resting** per incassare il maker — perderebbe
parte della sua convenienza se il maker passa da rebate a **+2 bps**. Ma: (a) **non e'
implementata** (lo blocca il fatto che TP01 e SKH01 tradano lo stesso strumento con una sola
posizione netta), e (b) il beneficio misurato era quasi tutto *"convertire una lotteria in
certezza"*, non la fee. Quindi il cambio maker **non riapre** quella decisione, la rende solo
meno appetibile se un giorno si riaprisse.
### Liquidation fee 1%: perche' e' irrilevante
`live.json` impone `max_notional_per_asset_frac = 0.5` su **2 asset** → nozionale lordo massimo
**1.00x l'equity**, con `disaster_sl_pct = 0.30`. A leva ≤1x la liquidazione richiederebbe un
movimento avverso ~100%, e il disaster-SL interviene a 30%.
⚠️ Questa conclusione **poggia sul cap**, non sulla strategia. Se il cap sale, decade. Per non
lasciarla valida per inerzia c'e' una **guardia di decisione** cablata
(`test_leva_massima_da_config_resta_sotto_o_uguale_a_1x`): alzare il cap **rompe il test** e
rimanda qui.
---
## 3. Azione
**Nessuna adesso.** Il 1 agosto: leggere il tier reale in Account Settings e confrontarlo con la
curva. Regola decisa in anticipo, per non decidere col numero davanti:
* taker **≤5 bps/lato** → non si tocca nulla (il modello e' gia' giusto o conservativo);
* taker **>10 bps/lato** → rivedere per primo il peso di SKH01 (e' li' che morde 4x).
**Cio' che il cambio NON puo' rompere:** tutti i backtest del progetto sono a 0.10% RT, quindi se
la fee scende diventano **conservativi** — la direzione dell'errore e' quella giusta.
---
## 4. Regole trasferibili
1. **Quando arriva un annuncio senza numeri, misurare la CURVA invece di aspettare il numero.**
Il risultato vale per qualunque valore esca, e sposta la decisione da "aspettiamo" a "sappiamo
gia' cosa fare in ogni caso".
2. **Dichiarare la qualita' della fonte.** Qui la tabella e' un'immagine non letta: i numeri del
nuovo schema sono **secondari** e vanno etichettati come tali, non usati come se fossero il
listino.
3. **Una conclusione che poggia su un parametro di config va legata a un test su quel parametro.**
"Liquidation fee irrilevante" e' vera *perche'* la leva e' ≤1x; senza guardia sopravviverebbe
al cambio di cap che la rende falsa.
4. **Mettere ogni effetto nella sua scala di grandezza.** Un raddoppio della fee vale meno della
fortuna d'ancora dello stesso book: senza il confronto si rischia di dedicare a una fee un
allarme che merita altro.