L'operatore ha incollato la riga CROSS col modello ATTIVO invece che proiettato:
Available $2.010,81 · IM 2,15% · MM 0,37%. Il gateway, letto allo stesso minuto, dice
available_funds = 2010,82299383. Scarto $0,01.
(a) LO SCREENSHOT NON SERVE PIU'. La riga CROSS della pagina E' `available_funds`, che
leggiamo da soli a ogni giro. Ieri quella schermata era l'UNICA fonte per l'haircut e per il
modello attivo, e per averla e' servito un passaggio dall'operatore e da Wasabi.
r0831_margini_conto.live() la ricostruisce.
(b) TERZA CONFERMA DEL 5%, E LA PRIMA ESATTA:
1.400,71 + 0,95x654,176 + 0,20 dust - 11,553 IM = $2.010,82 contro pagina $2.010,81
Scarto $0,007. Il 10% della vecchia config non e' improbabile: invertendo la stessa riga da'
IM = -$21,16, aritmeticamente impossibile. Tre strade indipendenti, stesso numero.
(c) MIA LETTURA SBAGLIATA, CORRETTA. L'"IM %" della pagina e'
(margin_balance - available)/margin_balance, non il margine delle posizioni:
haircut USDE $32,71 = 1,592% + IM vera $11,55 = 0,562% = 2,153%
Il 74% di quella percentuale e' HAIRCUT. E' salita da 2,13% a 2,15% perche' abbiamo comprato
collaterale a rendimento — letta come rischio direbbe che ieri sera abbiamo alzato la leva
comprando USDE, l'opposto di quello che e' successo. La MM invece e' pulita ($7,60) e non puo'
contenere l'haircut, che da solo la renderebbe negativa: le due colonne hanno basi DIVERSE e la
pagina non lo dice. Regola: una percentuale letta da una schermata va INVERTITA nella sua
definizione prima di essere confrontata (P7 su superficie nuova).
(d) LA BOCCIATURA DI X:PM ESCE RAFFORZATA. La KB da' USDe al 5% sotto entrambi i modelli:
l'haircut si cancella e l'inversa da' il margine di POSIZIONE sulle stesse due posizioni,
stesso istante — X:SM $11,64 contro X:PM $88,23, 7,6x, e 9,3x la MM. Due misure pulite,
stesso verso. E la riga X:SM era una PROIEZIONE di un modello inattivo che oggi si riproduce
al centesimo: anche la riga X:PM era affidabile, quindi decidere senza provare era corretto.
Ora si sa perche', non solo che.
Suite: 800 passati.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BmkQty4a99pVmvwGfxAMQ9
24 KiB
2026-08-31 — Fine della Proof of Reserves, e il guardiano che mancava
L'operatore ha passato l'annuncio Deribit to Discontinue Daily Proof of Reserves Publication. La notizia in sé vale poco per noi. Quello che è emerso cercandola vale molto di più.
1. La notizia: frequenza giù, sostanza su, per noi nulla cambia
Dal 1 settembre 2026 la pagina Proof of Reserves sparisce e gli aggiornamenti quotidiani cessano. Al loro posto, sotto il regime VARA di Dubai: audit annuale indipendente delle riserve, audit annuale del bilancio, obbligo di copertura 100% e segregazione degli attivi dei clienti. E: «approximately 90% of client assets have been migrated to Coinbase, which acts as a custodian for Deribit».
Non è un peggioramento netto, ed è importante non raccontarlo come tale. Si perde un segnale ad alta frequenza e debole (una PoR auto-pubblicata prova che gli attivi esistono in un istante, non che coprano le passività, ed è aggirabile attorno allo snapshot) e si guadagna un segnale a bassa frequenza e più forte (audit indipendente obbligatorio invece di pubblicazione volontaria), più un miglioramento sostanziale di custodia: 90% degli attivi presso un custode terzo regolato invece che nei wallet dell'exchange.
Per noi non cambia nulla di operativo, e per una ragione che va detta: la PoR non l'abbiamo
mai sorvegliata. Zero occorrenze in tutto il codice. venue_probe legge se il venue risponde,
non cosa dichiara. Si perde un segnale che non stavamo usando.
Ho provato a catturare l'ultimo dato prima che la pagina sparisse — è la mossa giusta per un dato
non ricostruibile con una scadenza. Rinunciato di proposito: la pagina è una SPA e
get_proof_of_reserves non esiste come metodo API («Method not found»), ma soprattutto uno
snapshot singolo e auto-riportato non regge lo standard di prova di questo progetto e non
permetterebbe comunque di stimare p. Un dato che non cambierebbe una decisione non vale il
lavoro per prenderlo.
2. 📌 La conseguenza vera: il riapritore della decisione più grande si è ristretto
La decisione vincolante «100% Deribit fino a $20k» (26/07) ha come riapritori dichiarati:
«$20k, o un cambio di piano, o p che diventa stimabile invece che assunto».
Dal 1 settembre il segnale pubblico di solvibilità passa da quotidiano ad annuale. Il terzo
riapritore non è formalmente chiuso — un audit indipendente è semmai evidenza più forte — ma
diventa praticamente irraggiungibile: da una serie giornaliera si può costruire una stima, da
un punto all'anno no. ⇒ In pratica quella decisione è ora gated SOLO dal capitale: si riapre a
$20k, o non si riapre. Non cambia la decisione di oggi (fu presa con p esplicitamente assunto,
non osservato), ma chiude l'unica uscita non-capitale che aveva.
3. 🚨 Quello che ho trovato cercando: quattro annunci materiali che nessuno leggeva
Il debito #8 dice, testuale: «Resta scoperto il Rulebook vero e proprio: la sonda legge se il
venue RISPONDE, non cosa il venue ANNUNCIA». Esiste un feed RSS pubblico
(insights.deribit.com/exchange-updates/feed/) con 10 voci. Alla prima lettura:
| data | annuncio | perché ci tocca |
|---|---|---|
| 27/08 | Discontinue Daily Proof of Reserves | §1 e §2 di questo diario |
| 14/08 | Contract Specifications change for Linear USDC Perpetuals | i nostri due strumenti |
| 05/08 | New SM Margin Model On Deribit | leva per taglia, tiered |
| 31/07 | USDC Rewards Available In More Countries | tocca una conclusione viva |
| 29/06 | New Fee Schedule On Deribit | fee_watch esiste per questo |
Il caso che decide la questione è il 14/08. Le specifiche dei perpetual USDC sono cambiate il
18/08; l'annuncio è del 14/08. Il codice lo racconta già con onestà: la tabella «non se
n'era accorta […] è andata bene per la direzione del cambiamento, non perché ce ne fossimo
accorti» — i cambi erano riduzioni (tick BTC 0,5→0,1, ETH 0,05→0,01, min/step ETH
0,001→0,0001) e un valore più grosso resta conforme. check_specs() è nato da quella svista e
oggi gira ogni ora. Ma rileva la deriva dopo; il feed l'avrebbe detta quattro giorni prima.
Il giorno che Deribit ALZA un minimo, «dopo» significa ordini rifiutati.
Il 31/07 chiude un cerchio aperto ieri: l'espansione delle giurisdizioni idonee ai reward USDC non contiene l'Italia, né alcun paese UE — mentre San Marino e Città del Vaticano (i due microstati europei fuori dall'UE) sono idonei. La lista che avevo letto (aggiornata 20/08) è posteriore all'espansione: la conclusione dello zero USDC è confermata due volte. Il pattern UE-fuori/microstati-dentro suggerisce un driver regolatorio, ma la lista contiene anche Canada e Giappone: non asserisco una causa, il fatto è l'esclusione.
4. Costruito: venue_news.py
Sorveglianza giornaliera del feed, dentro cron_daily.sh accanto a fee_watch (suo parente
stretto). Scelte che contano:
- NON interpreta. Dice «è uscito questo, guardalo». Nessun automatismo su un testo di marketing: P13 — una guardia sui NUMERI non copre il RAGIONAMENTO, e la prosa si legge come opinione di un lettore fallibile. L'unica cosa che classifica è l'urgenza.
- Le parole-chiave sono DERIVATE, non ridichiarate (P1, il difetto più ricorrente del
progetto): gli strumenti vengono da
deribit._CONTRACT, la valuta di collaterale daconfig/live.json. Chi aggiunge un asset al book allarga la sorveglianza senza toccare questo file — ed è esattamente il test che lo blinda. - Primo giro semina senza allertare (P9: l'allarme massimo non si spende per un arretrato di 10 voci, o non verrà letto il giorno che è vero).
- Feed illeggibile → codice 2 e nessun silenzio implicito (P5: «non vedo» non è «niente di nuovo»).
5 test sulle funzioni pure. La rete no: scarica() ritorna None su qualunque errore, ed è quello
il contratto.
Cosa NON copre, e va detto: il Rulebook vero e proprio (ADL, perdita socializzata, emergency powers, conti dormienti) non ha un feed. Il debito #8 si restringe, non si chiude.
5. La Knowledge Base risponde a due domande aperte — e corregge due cose mie
L'operatore ha passato anche yield-generating-collateral-usde-buidl-and-more, che non documenta
tetti né haircut ma rimanda alla Knowledge Base. Interrogata via API Zendesk
(support.deribit.com/api/v2/help_center/articles/search.json), l'articolo giusto è
«Cross collateral specifications» (aggiornato 2026-02-20).
(a) 🚨 Il costo del saldo negativo: 0,05% al GIORNO
«While the equity of a currency in an account remains negative, a collateral fee will be charged to that account. This fee is charged daily in the same currency as the negative balance (default = 0.05% per day). The fee is charged based on the amount of time the negative equity is held, down to a granularity of seconds.»
18,25% annuo, cioè 4,3× la resa USDE che si starebbe comprando tenendo meno USDC. Il 30/08 avevo scritto «Deribit lo finanzia a interesse» senza il numero — l'affermazione era giusta e vuota. Con il numero il criterio del cuscino di regolamento smette di essere prudenza e diventa aritmetica: scendere sotto il cuscino per tenere più USDE è −14 punti.
E il ribilanciamento automatico non salva: scatta solo oltre $1.000.000 assoluti o il 100% della cross equity (default tabulati), soglie che a $2k non si toccano mai. Non veniamo ribilanciati: sanguiniamo la fee. La cosa che sembrava un paracadute è, alla nostra taglia, esattamente l'assenza di un paracadute.
(b) 🚨 Haircut USDe: la fonte dice 5%, noi abbiamo registrato 10%
| valuta | haircut X:PM | X:SM |
|---|---|---|
| BTC · ETH · USDC | — | — |
| USDT · USYC · BUIDL | 2% | 2% |
| PAXG | 2,5% | 5% |
| USDe | 5% | 5% |
| stETH | 7,5% | 7,5% |
| SOL | — | 15% |
config/live.json dice haircut: 0.10, e il diario del 26/08 lo dà per «verificato sul venue»
senza lasciare traccia di come. L'articolo è anteriore a quella data, quindi non si sa
quale delle due sia stale.
Non l'ho riparato (P12: fra due fonti che non concordano, una riparazione silenziosa è
un'invenzione; M28: la contraddizione è informazione). Si tiene 0,10 per tre ragioni dichiarate:
è il lato conservativo (sottostima il margine utilizzabile), non è sul percorso soldi (non
entra nel sizing — lo usa solo il report di usde_watch), ed è già misurato che non morde a
nessuna quota fino al 90%. Si chiude leggendo la pagina margini del conto, che è dove Deribit
stesso dice di guardare.
(c) Un dato di lato che vale per il futuro
BUIDL ha haircut 2% — sarebbe stato il miglior collaterale a rendimento del listino (contro il 5% dell'USDe), se solo lo si potesse comprare. E stETH 7,5%, il peggiore: terza ragione indipendente per lasciarlo stare, dopo il tasso dimezzato e l'esposizione ETH.
📌 Nessuna delle due fonti documenta un tetto sulle quantità detenibili. Il ~31,2% sull'USDE resta misurato e non spiegato — e ora si sa che non è una svista di lettura: non è scritto da nessuna parte.
(d) Tentata la chiusura della divergenza sull'haircut: non è raggiungibile da qui
Deribit dice: «Haircut rates can be seen on the margin page in your account». Quella pagina è web UI, e le credenziali vivono solo dentro il gateway (debito #11). Provato comunque:
account_summaryper la valuta USD (la "riga USD" che il doc menziona) →Invalid currency;- parametro
extended(che su Deribit apre i dettagli di margine) → ignorato; - il gateway filtra a 8 campi: niente
initial_margin, nientemaintenance_margin.
E non è che si sia guardato nel secchio sbagliato — la contabilità torna esatta senza haircut:
USDC equity 1412.281074 available 1400.728093 riservato 11.5530
USDE equity 643.175691 available 643.175691 riservato 0.0000
posizioni lorde $577.65
riservato in USDC ........... $11.5530
IM di posizione al 2% ....... $11.5530
RESIDUO ..................... $-0.0000
Un haircut al 5% chiederebbe $32,16 accantonati, al 10% ne chiederebbe $64,32: non
ci sono, e il secchio USDE riserva 0.000000. ⇒ L'haircut non è osservabile in alcun campo
esposto. O è applicato solo nella vista cross/USD che il gateway filtra via, o non è applicato al
nostro conto: da qui le due cose non si distinguono, e non le si sceglie tirando a indovinare.
La divergenza resta APERTA, ma ora con la ragione misurata invece che supposta. La chiudono due cose, entrambe dell'operatore: 30 secondi sulla pagina margini della web UI, oppure delle chiavi API Deribit — che è la decisione già dichiarata nel debito #11, non un refactor. Nel frattempo non morde nulla di osservabile: l'IM è il 2% del nozionale e il valore pieno dell'USDE resta disponibile, quindi 5% o 10% non cambia una singola cifra operativa.
📌 Sottoprodotto non cercato: $11,5530 / $577,65 = 2,0000% = esattamente 1/50. È il
C1 = 50 (start leverage, tier 1) del nuovo modello di margine SM annunciato il 05/08 — quello
che venue_news ha appena tirato fuori dal feed. Confermato sul nostro conto senza averlo
cercato, ed è la prima volta che un annuncio del venue viene verificato contro il conto invece
che creduto.
(e) L'operatore dichiara: il conto è Standard Margin — due conferme incrociate
Lo screenshot della pagina margini non è arrivato fin qui (sta sul desktop dell'operatore, non sulla VPS: il percorso non esiste su questa macchina). Ma il fatto dichiarato — «è attivo Standard margin» — aggancia due cose che erano sospese:
- Quale colonna leggere. La tabella KB ha
Haircut (X:PM)eHaircut (X:SM). Il conto è X:SM, quindi vale la seconda — che per USDe dice 5%, come la PM. La divergenza col nostro0.10resta quindi intatta, ma ora si sa con certezza quale numero ufficiale la contraddice, invece di doverne scegliere uno fra due colonne. - Perché l'IM misurata era esattamente 1/50. Il nuovo modello di margine del 05/08 si applica,
testuale, ai «standard margin accounts». Il conto è standard margin, e noi abbiamo misurato
IM = 2,0000% del nozionale = 1/50 = il
C1 = 50di tier 1. Le due cose si confermano a vicenda: un fatto dichiarato dall'operatore e una misura fatta sul conto senza conoscerlo.
Vale la pena notarlo perché è raro: in tutta questa settimana ogni affermazione pubblicata dal venue si è rivelata falsa per il nostro conto (APR USDC, «all users can buy BUIDL»). Questa è la prima che il conto conferma.
Cosa manca ancora, e resta l'unica cosa che chiude la divergenza: il numero di haircut per USDe mostrato sulla pagina Standard Margin del conto. Se dice 5%, la nostra config è stale e il 26/08 registrò male; se dice 10%, la KB è stale e la config ha ragione. Finché non c'è, si tiene 0.10 — lato conservativo, fuori dal percorso soldi, e senza un solo effetto operativo misurabile.
6. La pagina margini arriva davvero — e la seconda cosa che dice vale più della prima
Lo screenshot era su Wasabi (rclone remote wasabi:, bucket adp-work, cartella _scambio),
non sulla VPS: per questo il percorso non esisteva. Scaricato e letto.
Riconciliazione riproducibile in scripts/research/r0831_margini_conto.py (N11).
(a) ✅ Haircut = 5%. La nostra config aveva torto.
La pagina non espone l'haircut come numero: si ricava per differenza, perché il modello CROSS conta l'USDE scontato e il SEGREGATO non lo conta affatto.
S:SM (attivo) USDC Available 1,400.86 · USDC equity 1,412.28 − IM 11.55 = 1,400.73 (scarto $0.13)
X:SM CROSS Available 2,011.73
contributo USDE al cross = 2,011.73 − (1,412.28 + 0.20 − 11.55) = $610.81 su $643.05 di valore
→ haircut implicito 5,0137%
ipotesi 5% (KB) → atteso $610.89 scarto $ 0.09 ✅
ipotesi 10% (nostra) → atteso $578.74 scarto $32.06 ❌
config/live.json passa da 0.10 a 0.05. Il 26/08 il 10% fu registrato come «verificato sul
venue» senza lasciare traccia di come, e non lo era. Una nota di provenienza che dice «verificato»
senza dire con quale lettura non è provenienza: è la stessa parola usata come garanzia.
(b) 🚨 Il conto non è cross-collateral. È Segregated: Standard Margin.
Lo dice la schermata in cima — Current status: Segregated: Standard Margin — e la tabella del modello attivo elenca BTC, ETH, USDC. L'USDE non c'è.
⇒ L'USDE non fa margine per i perp USDC-settled del book, e l'haircut oggi non si applica affatto. Il che spiega, a posteriori e in modo pulito, perché la misura di stamattina trovava $0,0000 accantonati: non stavo guardando nel secchio sbagliato, stavo cercando un parametro che sul nostro conto non è in vigore.
NON MORDE, e va detto subito per non allarmare: al massimo lordo del libro (1,0x ≈ $2.056 di nozionale) l'IM sarebbe ~$41 contro $1.400 di USDC disponibile — 34× di copertura. Nessuna decisione operativa cambia oggi.
Ma la premessa scritta in CLAUDE.md era falsa, e il modo in cui era falsa è istruttivo. Diceva: «l'equity del book è il TOTALE cross-collateral». Sono due cose diverse messe sotto un nome solo:
- come ricchezza, sommare USDC+USDE è giusto — ed era il punto della riparazione del 26/08, che evitò il falso «USCITA DI FONDI −24%» e una vendita indesiderata;
- come capacità di margine, è sbagliato: nel modello attivo l'USDE vale zero.
Finché il margine non morde le due coincidono nell'uso, e infatti non è mai emerso. Un errore che
non ha conseguenze finché una terza cosa resta vera è un debito, non un'assoluzione. Corretto in
CLAUDE.md, e corretta anche la riga di usde_watch che stampava «margine utilizzabile ~$2.013
(haircut 10%)»: era falsa due volte insieme.
(c) Come cambia il modo di pensare alla quota USDE
Non è «collaterale diversificato»: è cassa messa da parte a rendimento, fuori dal sistema di margine. Il che rende il tetto del venue al ~31,2% meno una limitazione e più un caso fortunato — tiene automaticamente dentro al 31% la parte di conto che non lavora come margine.
E apre una decisione dell'operatore, non mia: passare a X:SM aggiungerebbe $610,87 di margine utilizzabile, ma porta con sé la meccanica cross — collateral fee 0,05%/giorno sul saldo negativo e ribilanciamento automatico. Oggi non serve (34× di copertura); servirebbe solo a leve che non sono autorizzate.
📌 Ipotesi nuova sul tetto del ~31,2%, non verificata: potrebbe dipendere proprio dal modello segregato. Si saprebbe passando a X:SM e ri-sondando — un esperimento che ora ha un senso, dove prima non si sapeva nemmeno cosa variare.
7. Passaggio a X:SM e ri-sondaggio del tetto — l'ipotesi regge tecnicamente e cade in pratica
L'operatore è passato a Cross: Standard Margin e ha chiesto di ri-sondare, per verificare l'ipotesi lasciata aperta in §6(c): il tetto del ~31,2% dipende dal modello segregato?
Il passaggio è verificabile dal gateway, senza fidarsi di una dichiarazione
available_funds USDC è passato da ~$1.400 a $2.011,09, contro $2.010,90 attesi
sommando l'USDE scontato al 5% — scarto $0,19. È anche la seconda conferma indipendente
dell'haircut al 5%, da una lettura completamente diversa dallo screenshot: due strade, stesso
numero.
Il risultato
| modello | tetto misurato | equity | frazione |
|---|---|---|---|
| Segregato S:SM (31/08) | [643,18 – 644,18) | $2.055,56 | 31,29% – 31,34% |
| Cross X:SM (31/08, dopo) | [654,18 – 655,18) | $2.054,90 | 31,84% – 31,88% |
+0,55pp = +11 USDE ≈ $11. ⇒ L'ipotesi è vera e inutile: il modello di margine entra nel tetto, ma non lo spiega. Per arrivare al 70% mancano ancora ~38 punti, un fattore 2,2×. Un'ipotesi confermata al terzo decimale e falsa all'ordine di grandezza va archiviata come falsa: il tetto resta misurato e non spiegato.
🚨 La lezione di metodo, che vale più del risultato
Il primo probe fu un BUY 20, rifiutato. Da solo avrebbe chiuso la questione con "tetto invariato, l'ipotesi è refutata" — e sarebbe stato falso. Il tetto si era mosso di 11, cioè meno della taglia del probe. È stato il test a saldo neutro con passi piccoli (BUY 1 → SELL 10 → BUY 10 → BUY 1, tutti accettati) a rivelarlo.
📌 Un probe unico di taglia sbagliata produce un falso negativo che si legge come risultato. La taglia del sondaggio va scelta sulla risoluzione dell'effetto che si cerca, non su ciò che è comodo — ed è M13 in una veste nuova: un criterio si misura sulla sua risoluzione prima che sul suo esito.
Cosa ha comprato il passaggio, e cosa è costato
- Comprato: $611 di margine utilizzabile — inutile a 0,28x di leva, serve solo sopra ~1,4x che non è autorizzata — più $11 di capienza sul tetto.
- Costato: sotto segregato l'USDE era ring-fenced dalle perdite del libro (solo il silo USDC rispondeva delle posizioni); sotto cross risponde l'intero conto. Non morde oggi (perdita massima plausibile ~$617 col disaster-SL, dentro il solo USDC), ma il rischio strutturale ha cambiato verso. Se un giorno il cross non servisse più, tornare a S:SM ri-recinta l'USDE.
config: venue_cap_frac 0.312 → 0.318 (bordo basso del bracket CROSS, che è il modello
attivo). Se si torna a S:SM va rimesso a 0.312.
8. X:PM valutato e SCARTATO — la risposta era già nello screenshot
L'operatore ha chiesto di provare Cross: Portfolio Margin. Non serve provarlo: il confronto è nella schermata di §6.
| modello | Available Balance | IM | MM |
|---|---|---|---|
| X:SM (attivo) | $2.011,73 | 2,13% | 0,37% |
| X:PM | $1.935,14 | 5,85% | 3,43% |
Sulla colonna il cui significato è inequivocabile — stessa riga, stesse unità — X:PM dà $76,59 di collaterale utilizzabile in MENO, e chiede più margine. ⚠️ La frase «su entrambe le misure» è stata corretta in §9: l'«IM %» stampata dalla pagina non è il margine delle posizioni. La conclusione non cambia — migliora.
Perché, ed è strutturale e non contingente: il Portfolio Margin è basato su scenari di rischio e premia i portafogli in cui il rischio si compensa, tipicamente i book di opzioni. Il nostro è due long direzionali nudi senza nulla che compensi — il caso peggiore per PM, che addebita lo scenario di stress invece di un'aliquota piatta.
La riga che decide è la MM: 3,43% contro 0,37%, ~9×. Il maintenance margin è ciò che innesca la liquidazione: non morde a 0,28x, ma sposta il punto di liquidazione molto più vicino su un libro con soldi veri. E il beneficio atteso sul tetto è noto per analogia: il salto S:SM→X:SM ne ha comprato $11.
⇒ SCARTATO. ⚠️ Non "PM è peggio", ma "PM è peggio PER QUESTO portafoglio": cosa lo riapre — il giorno che VRP01 o un altro sleeve di opzioni entra in deploy, il rischio inizia a compensarsi e quel confronto cambia di segno. Va rifatto allora, non prima.
9. X:SM attivo: la pagina si ricostruisce dal gateway — e una mia lettura era sbagliata
L'operatore ha incollato la riga CROSS col modello attivo invece che proiettato:
Available $2.010,81 · IM 2,15% · MM 0,37%. Il gateway, letto allo stesso minuto (08:34Z), dice
available_funds = 2010,82299383. Scarto $0,01.
(a) Lo screenshot non serve più
⇒ La riga CROSS della pagina È available_funds, che leggiamo da soli a ogni giro. Ieri quella
schermata era l'unica fonte per l'haircut e per il modello attivo, e per averla è servito un
passaggio dall'operatore e da Wasabi. Oggi non serve a niente: r0831_margini_conto.live() la
ricostruisce.
(b) Terza conferma del 5%, e la prima ESATTA
1.400,71 + 0,95 × 654,176 + 0,20 dust − 11,553 IM = $2.010,82 pagina $2.010,81
Scarto $0,007. E il 10% della vecchia config non è improbabile: invertendo la stessa riga dà
IM = −$21,16, cioè aritmeticamente impossibile. Le tre strade — differenza fra le righe
della pagina (31/08 07:50), salto di available_funds al passaggio S:SM→X:SM ($0,19), e ora questa
ricostruzione al centesimo — sono indipendenti e danno lo stesso numero.
(c) 🚨 L'«IM %» della pagina NON è il margine delle posizioni — mia lettura sbagliata
(margin_balance − available)/margin_balance = 2,1532%, ed è esattamente ciò che la pagina
stampa come «IM 2,15%». Ma si scompone così:
| voce | USD | % di margin_balance |
|---|---|---|
| haircut sull'USDE (5% × 654,18) | $32,71 | 1,592% |
| IM vera delle due posizioni | $11,55 | 0,562% |
| totale riservato | $44,26 | 2,153% |
⇒ il 74% di quella percentuale è haircut, non rischio. È salita da 2,13% a 2,15% perché abbiamo comprato collaterale a rendimento — cioè per un motivo che con l'esposizione del libro non c'entra nulla. Letta come misura di rischio direbbe che ieri sera abbiamo alzato la leva comprando USDE: l'opposto di quello che è successo.
La MM invece è pulita: 0,37% = $7,60, e non può contenere l'haircut ($32,71 da solo la renderebbe negativa). Le due colonne hanno basi diverse, e la pagina non lo dice.
📌 Regola: una percentuale letta da una schermata va invertita nella sua definizione prima di essere confrontata. Due colonne affiancate, con la stessa unità e lo stesso aspetto, possono avere denominatori — e qui numeratori — diversi. È P7 su una superficie nuova: un numero si etichetta con la sua configurazione, e una pagina del venue non è obbligata a farlo per noi.
(d) La decisione su X:PM esce RAFFORZATA
La KB dà USDe al 5% sotto entrambi i modelli (§6b): nel confronto l'haircut si cancella, e l'inversa restituisce il margine di posizione puro sulle stesse due posizioni, stesso istante:
| modello | available | IM di posizione |
|---|---|---|
| X:SM | $2.011,73 | $11,64 |
| X:PM | $1.935,14 | $88,23 |
PM chiede 7,6× il margine iniziale e 9,3× la MM. Due misure ora pulite, stesso verso: la bocciatura di §8 regge, meglio fondata di quando l'ho scritta.
E c'è una conferma che ieri mancava: la riga X:SM era una proiezione di un modello inattivo, e oggi che è attivo la stessa aritmetica la riproduce al centesimo. ⇒ anche la riga X:PM, che resta una proiezione, è affidabile: la decisione presa senza provare il modello era presa su un numero buono. Non provare X:PM è stato corretto, e ora si sa perché e non solo che.