Files
PythagorasGoal/docs/diary/2026-08-31b-venue-news-annunci.md
Adriano Dal Pastro 8d391ed29a margini: la pagina si ricostruisce dal gateway — e l'"IM %" non e' il margine delle posizioni
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
2026-08-31 08:39:45 +00:00

24 KiB
Raw Permalink Blame History

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 da config/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_summary per 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, niente maintenance_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:

  1. Quale colonna leggere. La tabella KB ha Haircut (X:PM) e Haircut (X:SM). Il conto è X:SM, quindi vale la seconda — che per USDe dice 5%, come la PM. La divergenza col nostro 0.10 resta quindi intatta, ma ora si sa con certezza quale numero ufficiale la contraddice, invece di doverne scegliere uno fra due colonne.
  2. 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 = 50 di 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.