f151316bdf
Fonte: articolo ufficiale Deribit "Yield/reward bearing coins" (WebFetch lo prende
403, si legge dall'API Help Center in JSON). Tre correzioni alle conclusioni di
ieri.
1) L'ITALIA e' nella lista delle giurisdizioni escluse dai reward USDC. Lo zero
misurato e' confermato dalla fonte, ma la mia ipotesi MiCA era SBAGLIATA: la
lista contiene Canada e Giappone, non e' il perimetro MiCA. E' policy di
giurisdizione Deribit. M27: una fonte normativa si verifica, non si deduce.
2) La finestra di pagamento USDC e' di DUE SETTIMANE ("within the first two
weeks of the following month"), non tre giorni. Avevo verificato su 8/14 e 3/14
giorni. Rifatto sulle finestre vere: LUGLIO conclusivo (atteso $1,72 contro
un'escursione TOTALE dell'equity di $0,48 in 1-16/08, zero scalini compatibili),
GIUGNO no (il libro opera da meta' mese, rumore della taglia del segnale). La
conclusione non cambia, ma l'evidenza e' UNA finestra piu' la lista ufficiale,
non due: il "172x" del 30/08 era sovra-affermato.
3) IL TETTO NON E' UN LIVELLO, E' UNA FRAZIONE. L'articolo documenta un Cap
ETHENA che diluisce il TASSO a livello di exchange e nessun limite sulle
quantita' detenibili: il muro non aveva base documentale e andava ri-sondato.
Fatto il 31/08 (giorno UTC nuovo -> non e' un limite giornaliero): ieri si
tornava a 644,18, oggi no, con l'equity scesa di $8.
30/08 tetto [644,18 · 645,18) equity $2.063,79 = 31,21-31,26%
31/08 tetto [643,18 · 644,18) equity $2.055,56 = 31,29-31,34%
0,05pp di scarto, dentro il rumore dell'equity (+-$2-8/ora). Candidato pulito
5/16 = 31,25%, ma a questa risoluzione non si distingue da una regola sul
collaterale scontato dell'haircut (~29%): si cita la banda (M25).
=> Il tetto SCALA col conto: la quota resta ~31%, il valore in dollari cresce
col capitale, il 70% non e' raggiungibile ne' ora ne' mai. E, essendo pinnati
al tetto, il rischio emittente resta una frazione COSTANTE del conto.
Cablato (rispondeva a "dove e' scritto il valore del tetto": in tre note di
testo e in nessun posto che il codice leggesse, tanto che usde_convert --quota
0.70 dichiarava "piano valido" per un ordine che il venue rifiuta):
- config/live.json usde.venue_cap_frac 0.312 + venue_cap_misurato
- src/live/usde.py lo porta nei default (unica autorita', P1)
- usde_convert.piano() rifiuta il bersaglio sopra il tetto PRIMA di sparare
e stampa il massimo raggiungibile. Verificato su entrambi i rami.
Anche: l'USDe ha un fee Deribit del 5% mai nominato prima. Il nostro misurato
(~4,5%/anno) e' gia' netto: e' l'unico numero da citare.
Stato: USDE 643,175691 (31,29%, al tetto), USDC $1.412,40, totale $2.055,57.
Suite: 795 passati.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
312 lines
19 KiB
Markdown
312 lines
19 KiB
Markdown
# 2026-08-30 — "porta in USDE tutto il capitale che non viene usato": il venue dice 31%
|
||
|
||
**Richiesta dell'operatore**, verbatim: *"porta in usde tutto il capitale che non viene usato"*.
|
||
Arriva il 30/08, cioè **un giorno prima** della data a cui l'operatore stesso aveva rinviato la
|
||
decisione di quota (gate USDE-01, rinvio al 31/08). L'anticipo è esplicito e vale come decisione.
|
||
|
||
## 1. "Il capitale che non viene usato" non è una quantità piccola: è quasi tutto
|
||
|
||
Stato letto dal gateway alle 19:50Z: USDC **$1.563,09** (di cui **$11,36** impegnati a margine),
|
||
USDE 500,1757 → **$500,18**, totale **$2.063,26**, quota **24,2%**. Posizioni BTC $354,72 + ETH
|
||
$213,36 = **$568,08** lordi (0,275x).
|
||
|
||
Il margine consuma **$11 su $2.063**, e l'USDE è cross-collateral: convertirlo non lo toglie
|
||
dall'uso. Anche a piena esposizione del libro (lordo 1,0x) il margine sarebbe ~$41. Presa alla
|
||
lettera la richiesta è una quota **~99%** — il 100% che il gate esclude per nome ("mai 100%: R1
|
||
emittente non recuperabile"). Le due letture plausibili ("non a margine" e "non esposto dal libro")
|
||
convergono entrambe su ~97-99%: non è un'ambiguità che si risolve scegliendo, è una che si porta
|
||
all'operatore.
|
||
|
||
## 2. Il vincolo che `r0830_usde_quota` non aveva guardato: il cuscino di REGOLAMENTO
|
||
|
||
L'analisi del 30/08 aveva misurato il **margine** e concluso — correttamente — che l'haircut non
|
||
morde a nessuna quota fino al 90%, nemmeno a leva 1,50x con USDE a 0,95. Vero, e irrilevante:
|
||
il P&L e il funding dei perp **USDC-lineari si regolano in USDC**, non nel collaterale. Lo si vede
|
||
nel conto: `equity − balance = $7,24` di floating, tutto nel secchio USDC.
|
||
|
||
A quota ~99% resterebbero **$41 di USDC** contro un libro che, col disaster-SL a −30% sulla massima
|
||
esposizione, può perderne **~$619**: il saldo va negativo e Deribit lo finanzia a interesse, che si
|
||
mangia la resa che si stava comprando. **Il vincolo non è il margine, ma non è nemmeno assente.**
|
||
|
||
Criterio dichiarato: cuscino USDC ≥ disaster-SL sulla massima esposizione lorda del libro =
|
||
`n_asset × frac × disaster_sl_pct` = 2 × 0,5 × 0,30 = **30% dell'equity** — tutto derivato da
|
||
`config/live.json` e `src/live/book.py`, mai ridichiarato (P1). Che lascia esattamente **70%**.
|
||
Non è un argmax (M8): la quota massima e il criterio coincidono per costruzione, e infatti il 70%
|
||
cade **esattamente sul limite, con zero slack**.
|
||
|
||
Tabella portata all'operatore (APR allora creduta 3,26% [1,13-4,51], n=4 — vedi §5, è sbagliata):
|
||
|
||
| quota | converti | USDC che resta | resa/anno | evento emittente vs maxDD libro |
|
||
|---|---|---|---|---|
|
||
| 24,2% (allora) | — | $1.563 | $16 | 3,1× |
|
||
| 50% | $531 | $1.032 | $34 | 6,3× |
|
||
| **70%** | **$944** | **$619** | **$47** | **8,8×** |
|
||
| ~99% | $1.522 | $41 | $66 | 12,3× |
|
||
|
||
**Scelta dell'operatore: 70%**, il massimo compatibile col cuscino.
|
||
|
||
## 3. Esecuzione: da 500 a 644 USDE, poi il muro
|
||
|
||
Nuovo attrezzo **`scripts/live/usde_convert.py`** (dry-run di default). Non passa da
|
||
`DeribitTrader`: `execution.ALLOWED` ammette solo i due perp del libro ed è il guardrail
|
||
anti-fat-finger del percorso soldi — **non si allarga** per farci entrare uno spot che col libro
|
||
non c'entra. Lo script porta le proprie guardie: banda prezzo [0,995 – 1,005], tetto HARD di quota
|
||
0,95, il cuscino di regolamento, dry-run.
|
||
|
||
Convertiti **+144 USDE** (500,1757 → **644,175691**), quota **24,24% → 31,21%**, tutti i fill a
|
||
1,0002-1,0003, **fee 0**. Poi ogni acquisto ha smesso di passare.
|
||
|
||
## 4. `not_enough_funds_in_currency` è un messaggio FUORVIANTE — la cronaca delle ipotesi sbagliate
|
||
|
||
Si tiene apposta, perché chi rilegge non deve rifare questo giro. Tre ipotesi, tutte plausibili,
|
||
tutte sbagliate:
|
||
|
||
1. **"È la taglia."** 943,98 rifiutato per `Invalid params` → vero: `min_trade_amount: 1` e
|
||
`contract_size: 1`, il passo è **intero** (confermato da `public/get_instrument`; il gateway
|
||
non espone quel tool, la risposta è arrivata dall'API pubblica). Quantizzato a intero: 933
|
||
rifiutato per **fondi**, con **$1.541 disponibili**. Falso indizio.
|
||
2. **"È il rate-limit."** 100 passava e 300 no; poi anche **1** rifiutato otto volte di fila.
|
||
Aggiunto backoff sul tempo fino a 90s: rifiutato lo stesso. Falso.
|
||
3. **"È il prezzo."** Diagnosi a tre ordini da 1 USDE: SELL @1,0000 OK, BUY **@1,0003 OK**,
|
||
BUY @1,0002 e BUY market rifiutati. Vero **in parte**: il book REST pubblico è in **ritardo**
|
||
sul matching engine, e un limite a `ask+1 tick` a volte non incrocia davvero. Difetto mio, e
|
||
istruttivo: prezzavo l'ordine sull'**indice** invece che sul **book**. Sono due prezzi con due
|
||
mestieri — l'indice **marca** il collaterale (`usde.valuta`, mediana multi-exchange: la lezione
|
||
Binance 10/10), il book **prezza** lo scambio. Corretto con 5 tick di margine e tetto duro
|
||
1,0010: il fill avviene al prezzo del libro, quindi il margine non si paga.
|
||
|
||
Ma corretto il prezzo, **200 e 800 continuavano a fallire con 4.552 di profondità all'ask**.
|
||
|
||
## 5. 🚨 Il fatto vero: un TETTO DEL VENUE sull'USDE, a 644,175691 (31,21%)
|
||
|
||
Esperimento **a saldo neutro**, quattro ordini di fila (20:14Z):
|
||
|
||
```
|
||
BUY 20 @1.0007 -> not_enough_funds_in_currency USDE 644.1757
|
||
SELL 20 @0.9996 -> OK USDE 624.1757
|
||
BUY 20 @1.0007 -> OK USDE 644.1757
|
||
BUY 5 @1.0007 -> not_enough_funds_in_currency USDE 644.1757
|
||
```
|
||
|
||
È un **tetto sul LIVELLO**: non taglia, non prezzo, non liquidità, non cadenza, non fondi
|
||
($1.408 disponibili). Lo stesso ordine che viene rifiutato passa subito dopo una vendita di pari
|
||
taglia. **La quota del 70% non è raggiungibile**, e nemmeno il 50%.
|
||
|
||
La formula del tetto **non è leggibile da qui**: `public/get_currencies` non espone un cap
|
||
(`in_cross_collateral_pool: true`, nient'altro), e il gateway non espone né `get_order_book` né
|
||
`available_withdrawal_funds` — è il debito #11, il gateway è l'unico pezzo della catena che
|
||
possediamo e si ha solo quel che espone. Registrato come fatto misurato, non spiegato (D5: un buco
|
||
quantificato è un risultato, uno taciuto è un debito).
|
||
|
||
## 6. 🚨 E la resa non è quella che credevamo: **l'USDC paga 3,40%**
|
||
|
||
`public/get_currencies`, letta oggi:
|
||
|
||
| valuta | APR pubblicata |
|
||
|---|---|
|
||
| USDE | **4,1071%** |
|
||
| USDC | **3,4000%** |
|
||
|
||
I nostri reward USDE misurati (+0,052055 · +0,061815 · +0,061821 al giorno su 500 → **~4,5%/anno**)
|
||
**confermano** che la APR pubblicata di USDE è reale. Il che rende credibile anche l'altra riga.
|
||
|
||
Se l'USDC frutta già 3,40%, il guadagno del passaggio a USDE **non è il tasso: è lo spread**,
|
||
**0,71 punti**. Sui $644 che teniamo vale **~$4,6/anno**, non $21; sui $144 convertiti oggi,
|
||
**~$1,0/anno**. Il gate USDE-01 ha misurato con cura il reward dell'USDE e **non ha mai chiesto
|
||
cosa facesse l'USDC fermo**: è il controfattuale mancante — M1 in un'altra veste, si giudica il
|
||
**marginale**, non il livello. E cambia il verso della decisione: si prende un rischio emittente
|
||
**non recuperabile** (a 31,2% vale 3,9× il maxDD dell'intero libro) per **0,71 punti**.
|
||
|
||
⚠️ **Quello che NON è dimostrato:** che la APR USDC sia effettivamente accreditata *sul nostro
|
||
conto*. Sull'USDE l'abbiamo vista arrivare per delta; sull'USDC il P&L di trading copre $0,13/giorno
|
||
di interesse e il gateway non espone il Transaction Log. **Va verificato su un giorno senza trade
|
||
prima di trattarlo come misura** — qui è una APR pubblicata dal venue più una conferma indiretta,
|
||
non un reward osservato.
|
||
|
||
## 7. Cosa resta a terra
|
||
|
||
- **Conto**: USDC $1.419,61 · USDE 644,175691 ($644,18) · totale **$2.063,79** · quota **31,21%**.
|
||
Nessun ordine spot appeso (restano i due `tp01-disaster` reduce_only). Posizioni invariate.
|
||
Equity vista dal book **$2.063,86** ("mainnet USDC + USDE 644 @ 1.0000"): sizing corretto,
|
||
nessun falso "uscita di fondi".
|
||
- **`config/live.json`**: aggiunto `quota_target: 0.70` (la decisione dell'operatore, oggi bloccata
|
||
dal venue). `quota_max_frac` alzato a 0,85 e **rimesso a 0,50** nella stessa sessione: la soglia
|
||
larga presupponeva un 70% che non esiste, e lasciarla avrebbe **disarmato la guardia per uno
|
||
scenario che non si è verificato. Con la quota reale al 31%, il 50% morde di nuovo.**
|
||
- **Non fatto**: portare la quota al 70%. Il venue non lo consente. Non è una rinuncia
|
||
discrezionale, è un rifiuto misurato e riproducibile.
|
||
|
||
---
|
||
|
||
# APPENDICE (stessa sera, 23:40-23:55Z) — **l'USDC NON frutta sul nostro conto: §6 era sbagliata**
|
||
|
||
Richiesta dell'operatore: *"verifica se l'USDC frutta davvero sul nostro conto"*. Verificato.
|
||
**La risposta ribalta la §6 di questo stesso diario**, che va letta con questa appendice accanto.
|
||
|
||
## Perché la domanda sembrava dover aspettare, e invece no
|
||
|
||
Il gateway non espone il Transaction Log (provati `get_transaction_log`, `get_settlement_history`,
|
||
`get_deposits`, `get_transfers`, `get_interest_history`: **tutti 404** — debito #11). L'unica serie
|
||
storica del conto è `trades.db.equity`: **oraria ma arrotondata a 2 decimali**, e contiene il P&L
|
||
non realizzato, che a posizioni aperte oscilla di ±$2-8/ora. $0,13/giorno di interesse ci sparisce.
|
||
|
||
Poi la fonte ufficiale Deribit ha spostato il problema dal *rumore* al *calendario*:
|
||
|
||
> «Every day at 00:00 UTC, Deribit calculates the **minimum equity** of USDC that a user has been
|
||
> holding over the previous 24 hours. […] After the month is over, the rewards from each day are
|
||
> summed together and **paid out as a single monthly payment early in the following month**.»
|
||
> — `insights.deribit.com/education/usdc-rewards-now-paid-on-deribit/`
|
||
|
||
**I reward USDC si pagano UNA VOLTA AL MESE**, non ogni giorno come quelli USDE. Ecco perché non li
|
||
avevamo mai visti: guardavamo a cadenza giornaliera, dove l'USDE si vede e l'USDC per costruzione no.
|
||
E un accredito mensile da qualche dollaro **si vede benissimo anche a 2 decimali** — purché il libro
|
||
sia FLAT, perché allora `equity == balance == USDC` e ogni scalino è un accredito.
|
||
|
||
## La misura: due confini di mese, entrambi a libro flat
|
||
|
||
| finestra | punti orari | equity min | equity max | ore senza alcun movimento | scalini >1 cent | reward atteso se idoneo |
|
||
|---|---|---|---|---|---|---|
|
||
| **29/06 → 08/07** | 238 | **598,06** | **598,06** | **237 / 237** | **0** | $0,45 (8 gg dal 23/06) |
|
||
| **31/07 → 03/08** | 96 | **596,92** | **596,92** | **tutte** | **0** | **$1,72** (luglio intero) |
|
||
|
||
Il secondo è il caso decisivo: **$1,72 attesi contro una risoluzione di $0,01 — 172×** — e l'equity
|
||
non si muove di un centesimo per quattro giorni pieni, coprendo tutta la finestra "early in the
|
||
following month". Non è un'assenza sotto la soglia di rilevabilità: è uno zero misurato.
|
||
|
||
⇒ **Il conto NON riceve i reward USDC.** N=2 confini indipendenti, entrambi puliti per costruzione.
|
||
|
||
## Perché, e perché è coerente col fatto che l'USDE invece paga
|
||
|
||
Deribit: *«A user's eligibility to receive USDC is based on their location»*. L'ipotesi che spiega
|
||
entrambe le osservazioni è **MiCA**: USDC è un *e-money token* regolamentato, e a un residente UE
|
||
non se ne può corrispondere rendimento; **USDe non è un EMT**, e infatti i suoi reward arrivano
|
||
(li abbiamo visti per delta: +0,052055 · +0,061815 · +0,061821). ⚠️ *Questa è la spiegazione
|
||
plausibile, non una fonte normativa verificata* (P13/M27: una norma citata si verifica come un
|
||
numero). **Il fatto misurato è lo zero, non il suo motivo.**
|
||
|
||
## Cosa cambia (e cosa la §6 aveva sbagliato)
|
||
|
||
- **La premessa originale del gate USDE-01 è RESTAURATA.** Il guadagno di tenere USDE **non è lo
|
||
spread 0,71 punti: è il tasso pieno ~4,1%**, perché l'alternativa sul nostro conto rende **0**.
|
||
Sui $644 che teniamo: **~$26/anno** (e ~$29 al ritmo misurato di ~4,5%), non i ~$4,6 di §6.
|
||
- **Cosa avevo sbagliato, e la lezione.** Ho letto `apr: 3.4` in `public/get_currencies` e l'ho
|
||
trattato come una proprietà **del nostro conto**. È una proprietà **del venue**: un listino, non
|
||
un accredito. La conferma indiretta che invocavo ("i reward USDE misurati coincidono con la loro
|
||
APR pubblicata") provava che il listino è reale **per l'USDE**, e non diceva nulla sull'idoneità
|
||
dell'USDC. 📌 **Un tasso pubblicato non è un tasso incassato: si verifica sul CONTO, e la verifica
|
||
costava una query sulla serie che avevamo già.** È N10 in una veste nuova — la verifica a €0 va
|
||
fatta *prima*, e si fa **sul venue, non sul sito**; qui perfino il venue non bastava, serviva il
|
||
conto.
|
||
- Resta vero e non toccato: il **tetto del venue al 31,21%**, il **cuscino di regolamento** (30%
|
||
dell'equity, che lascia il 70%), e che a 31,2% l'evento emittente vale ~3,9× il maxDD del libro.
|
||
La decisione "tenere o no i $644" cambia però di segno rispetto a come l'avevo chiusa: si compra
|
||
**$26/anno**, non $4,6.
|
||
|
||
## Strumento lasciato in piedi
|
||
|
||
**`scripts/live/balance_watch.py`** + **`scripts/cron_balance.sh`** (orario al minuto **:42**, libero
|
||
fra :25/:35/:47; sola lettura). Registra il **balance a 8 decimali** per valuta — la serie che
|
||
mancava — con il conteggio dei fill dall'ultimo campione e il nozionale lordo, così una finestra
|
||
sporca si riconosce invece di essere mediata dentro. Etichetta PULITA le finestre a 0 fill e libro
|
||
flat, dove il Δ USDC **è** l'interesse, e ne stampa l'APR implicita accanto a quella attesa.
|
||
Serve a sorvegliare che lo zero resti zero (o che cambi, se l'idoneità cambia): l'inizio di
|
||
settembre è il prossimo confine di mese, ed è già strumentato.
|
||
|
||
---
|
||
|
||
# APPENDICE 2 (2026-08-31) — la fonte ufficiale: **due correzioni alle mie conclusioni**
|
||
|
||
L'operatore ha passato l'articolo `support.deribit.com/.../Yield-reward-bearing-coins`. WebFetch lo
|
||
prende 403 (Cloudflare); si legge dall'**API Help Center** in JSON:
|
||
`support.deribit.com/api/v2/help_center/en-us/articles/31424939199261.json` → HTTP 200.
|
||
*Aggiornato dal venue il 2026-08-20.* Contiene tre cose che il progetto non sapeva.
|
||
|
||
## 1. L'ITALIA è nella lista degli esclusi dai reward USDC — e non è MiCA
|
||
|
||
> «The following jurisdictions are **not eligible** to receive USDC rewards: Austria, Belarus,
|
||
> Belgium, Bulgaria, Canada, […] **Italy**, Japan, […]»
|
||
|
||
Lo zero misurato è **confermato dalla fonte**. Ma l'ipotesi che avevo scritto — MiCA, USDC è un
|
||
e-money token e USDe no — **è sbagliata**: la lista contiene Canada e Giappone, non è il perimetro
|
||
MiCA. È policy di giurisdizione di Deribit. *M27: una fonte normativa citata si verifica come un
|
||
numero — e io l'avevo dedotta invece di leggerla.*
|
||
|
||
## 2. La finestra di pagamento è di DUE SETTIMANE, non di tre giorni — il «172×» era sovra-affermato
|
||
|
||
> «The monthly USDC rewards payment is then made **within the first two weeks** of the following
|
||
> month.»
|
||
|
||
Avevo verificato su 29/06→08/07 e 31/07→03/08: **8 giorni su 14 e 3 su 14**. Rifatto sulle finestre
|
||
vere:
|
||
|
||
| accredito | finestra vera | letture | escursione TOTALE equity | scalini ≥70% dell'atteso | esito |
|
||
|---|---|---|---|---|---|
|
||
| giugno ($0,45) | 01→16/07 | 374 | **$2,74** | 7 | ❌ **NON conclusivo** |
|
||
| luglio ($1,72) | 01→16/08 | 382 | **$0,48** | **0** | ✅ **conclusivo** |
|
||
|
||
Luglio regge da solo: il credito atteso è **3,6× l'intera escursione dell'equity** su due settimane.
|
||
Giugno no — il libro ha iniziato a operare a metà mese e il rumore ha la taglia del segnale.
|
||
⇒ La conclusione **non cambia** (una finestra conclusiva + la lista ufficiale), ma l'evidenza è
|
||
**una** finestra, non due. *Avevo citato la sotto-finestra piatta e chiamato «zero misurato» ciò che
|
||
la finestra completa non copriva: scegliere la sotto-finestra che fa vedere lo zero è la stessa
|
||
mossa che il progetto vieta a un backtest.*
|
||
|
||
## 3. Il tetto NON è un livello: è una FRAZIONE dell'equity, e scala col conto
|
||
|
||
L'articolo documenta un **Cap ETHENA** che diluisce il **tasso** a livello di exchange —
|
||
`User APR = min(min_exchange_USDe_balance, Ethena Cap) / min_exchange_USDe_balance × Ethena APR` —
|
||
e **nessun limite sulle quantità detenibili da un conto**. Quindi il muro non aveva base
|
||
documentale, e andava ri-sondato. Fatto (31/08, giorno UTC nuovo → non è un limite giornaliero):
|
||
|
||
```
|
||
BUY 5 -> not_enough_funds_in_currency USDE 644.175691 (muro ancora li')
|
||
SELL 10 -> OK USDE 634.175691
|
||
BUY 10 -> not_enough_funds_in_currency USDE 634.175691 <-- ieri 644,18 passava!
|
||
BUY 5 -> OK USDE 639.175691
|
||
BUY 3 -> OK USDE 642.175691
|
||
BUY 1 -> OK USDE 643.175691
|
||
BUY 1 -> not_enough_funds_in_currency USDE 643.175691
|
||
```
|
||
|
||
**Ieri si tornava a 644,18 e oggi no**, con l'equity scesa di $8. Il tetto si è mosso con lei:
|
||
|
||
| | tetto | equity | frazione |
|
||
|---|---|---|---|
|
||
| 30/08 | [644,18 · 645,18) | $2.063,79 | 31,21% – 31,26% |
|
||
| 31/08 | [643,18 · 644,18) | $2.055,56 | 31,29% – 31,34% |
|
||
|
||
I bracket distano **0,05pp**, dentro il rumore dell'equity (±$2-8/ora). Candidato pulito **5/16 =
|
||
31,25%**, ma con questa risoluzione non si distingue da una regola sul collaterale scontato
|
||
dell'haircut (~29%): **non si sceglie quella che conviene, si cita la banda** (M25).
|
||
|
||
⇒ **Il tetto SCALA col conto.** La quota resta ~31% per sempre, il valore in dollari cresce col
|
||
capitale, e il 70% non è raggiungibile né ora né mai. Conseguenza che ieri non avevo visto: essendo
|
||
pinnati al tetto, **il rischio emittente resta una frazione COSTANTE del conto** — non si diluisce
|
||
crescendo, a meno di vendere apposta.
|
||
|
||
## 4. E l'USDe ha un fee del 5% che non avevamo mai nominato
|
||
|
||
> «Deribit Fee: A percentage deducted from the reward before distribution (**currently 5%**)»
|
||
> · reward su **minima equity 00:00→24:00 UTC**, distribuiti **~12:00 UTC**, «visible inside
|
||
> Transaction Log» (che il gateway non espone: da lì il metodo per delta).
|
||
|
||
Il nostro **misurato** (~4,5%/anno) è già netto del fee: è quello che arriva sul conto, ed è
|
||
l'unico numero da citare. La `apr` di `get_currencies` (4,1071%) è un listino, non un incasso —
|
||
la stessa confusione che mi era costata la §6.
|
||
|
||
## 5. Cablato, così il tetto smette di vivere in prosa
|
||
|
||
Alla domanda dell'operatore «dove è scritto il valore del tetto» la risposta era: **in tre note di
|
||
testo e in nessun posto che il codice legga**, tanto che `usde_convert --quota 0.70` dichiarava
|
||
«piano valido» per un ordine che il venue avrebbe rifiutato. Ora:
|
||
|
||
- `config/live.json` → `usde.venue_cap_frac` **0.312** (bordo BASSO dei bracket: fa fallire il
|
||
piano *prima* dell'ordine invece che dopo il rifiuto) + `venue_cap_misurato` con la data;
|
||
- `src/live/usde.py` lo porta nei default — unica autorità, come tutto il resto della sezione (P1);
|
||
- `usde_convert.piano()` rifiuta il bersaglio sopra il tetto e stampa il massimo raggiungibile.
|
||
Verificato: `--quota 0.70` → *«TETTO DEL VENUE: bersaglio $1.438,90 sopra $641,34 (31,2%
|
||
dell'equity, misurato 2026-08-31)»*, nessun ordine inviato.
|
||
|
||
**Stato finale**: USDE **643,175691** (quota **31,29%**, cioè al tetto), USDC $1.412,40,
|
||
totale $2.055,57.
|