Files
PythagorasGoal/docs/diary/2026-07-26-fee-deribit.md
T
Adriano Dal Pastro a937e3766f 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>
2026-07-26 18:32:23 +00:00

124 lines
6.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-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.