margini: haircut 5% (la config aveva torto) — e il conto NON e' cross-collateral

Lo screenshot della pagina margini era su Wasabi (rclone remote wasabi:, bucket
adp-work, cartella _scambio), non sulla VPS: per questo il percorso non esisteva.
Riconciliazione riproducibile in scripts/research/r0831_margini_conto.py (N11).

(a) HAIRCUT = 5%. La pagina non lo espone come numero: si ricava per differenza,
perche' il CROSS conta l'USDE scontato e il SEGREGATO non lo conta affatto.
  S:SM (attivo)  USDC Available 1.400,86  vs  equity 1.412,28 - IM 11,55 = 1.400,73
  X:SM           CROSS Available 2.011,73
  contributo USDE al cross = $610,81 su $643,05  ->  5,0137%
    5% (KB)     atteso $610,89  scarto $ 0,09  TORNA
   10% (nostra) atteso $578,74  scarto $32,06  NON torna
config/live.json: haircut 0.10 -> 0.05. Il 26/08 il 10% fu registrato come
"verificato sul venue" senza traccia di COME, e non lo era.

(b) 🚨 IL CONTO NON E' CROSS-COLLATERAL: modello attivo "Segregated: Standard
Margin" (S:SM). Nella tabella del modello attivo l'USDE NON COMPARE: non fa
margine per i perp USDC-settled del book, e l'haircut oggi non si applica. Il che
spiega a posteriori perche' la misura di stamattina trovava $0,0000 accantonati:
non stavo guardando nel secchio sbagliato, cercavo un parametro che sul nostro
conto non e' in vigore.

NON MORDE: al massimo lordo del libro (1,0x = ~$2.056 di nozionale) l'IM sarebbe
~$41 contro $1.400 di USDC disponibile, 34x di copertura. Nessuna decisione
operativa cambia oggi.

Ma la premessa in CLAUDE.md era falsa, e il modo in cui lo era e' istruttivo:
"l'equity del book e' il TOTALE cross-collateral" metteva due cose sotto un nome
solo. Come RICCHEZZA sommare USDC+USDE e' giusto ed era il punto della riparazione
del 26/08 (evito' il falso "USCITA DI FONDI -24%"); come CAPACITA' DI MARGINE e'
sbagliato, perche' nel modello attivo l'USDE vale zero. Finche' il margine non
morde le due coincidono nell'uso, e infatti non era mai emerso.

Corretta anche la riga di usde_watch che stampava "margine utilizzabile ~$2.013
(haircut 10%)": era falsa due volte insieme. Ora stampa il solo silo USDC e,
accanto, cosa darebbe il cross.

La quota USDE non e' "collaterale diversificato": e' cassa a rendimento FUORI dal
sistema di margine. Passare a X:SM aggiungerebbe $610,87 di margine utilizzabile
ma porta la meccanica cross (collateral fee 0,05%/giorno sul saldo negativo,
ribilanciamento automatico): decisione dell'operatore, oggi non serve.

Ipotesi nuova e non verificata: il tetto del ~31,2% potrebbe dipendere proprio dal
modello segregato. Si saprebbe passando a X:SM e ri-sondando.

Suite: 800 passati.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Adriano Dal Pastro
2026-08-31 08:01:21 +00:00
parent c8be83ef6e
commit fd7595e819
5 changed files with 158 additions and 7 deletions
@@ -212,3 +212,70 @@ prima che il conto conferma.*
**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.