stato trades: il "+243%" del report e' per il 96,3% un bonifico — TWR +10,80%
`trades_db.py --report` stampa `$598,06 -> $2.051,84 (+243,08%)` accanto a `netto +40,77`. La serie di 1.657 letture orarie contiene UN SOLO salto: il versamento di $1.399,39 del 25/08 11:47Z. Confermato dal classificatore ufficiale del progetto (`journal.movimenti_capitale`: certi 1399.39, ambigui 0.0, classe `movimento`). Al netto: TWR +10,80% spezzato sul versamento (+11,61% fino al 25/08, -0,73% dopo), equity +$54,39 in 69 giorni. Il giornale, che lo scorporo lo fa gia', concorda: $+62,00 al 31/08, -7,61 di marcatura fino a oggi. Il difetto non e' nuovo — e' la stessa riparazione che NON ha attraversato il confine. `journal.py:121` porta il caso d'origine nel docstring (la voce del 25/08 che dichiarava «+$1.414,57» di giornata); `trades_db.py:83` calcola `100*(e1/e0-1)` sulla serie grezza e non chiama `movimenti_capitale()`, che e' a un import di distanza. Variante di P1: non un sorvegliante che ridichiara il bersaglio, ma una riparazione che non si e' propagata al secondo lettore della stessa serie. Danno sui soldi nessuno (sola lettura); danno di citazione si', ed e' l'unico numero fuorviante che il progetto produce su richiesta di un comando pubblicato in §13. Codice NON toccato: sta su uno script che legge il libro vivo. Debito #14. Stato del libro al 01/09 16:47Z, per il resto invariato: 45 fill (ultimo 31/08 15:47), 29 round-trip (21 in utile, netto +40,77), posizioni BTC 0,0045 @ $79.208,11 e ETH 0,0872 @ $2.473,04, non realizzato -$11,72, leva lorda 0,27x. Nessun fill da 25 ore = banda morta del min_order_usd $5, non un blocco (il cron logga «gia' al target» a ogni giro). monitor_health 8/8 OK, riconcilio 44/45 con 0 prezzi divergenti (l'unica coppia scoperta e' il difetto noto dei sei giorni fra log e jsonl sullo stesso fill). - CLAUDE.md §2: riga nella tabella dei numeri da non citare - CLAUDE.md §5: debito #14 - docs/diary/2026-09-01-stato-trades.md - docs/journal/2026-08-31.md (voce del cron, non era committata) Suite: 800 passati, 0 falliti. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -107,6 +107,7 @@ sono all'ancora fortunata; le stime oneste sono la **mediana della banda d'ancor
|
|||||||
| P(≥50 €/g), canale funded, 36 mesi | 42% | **2,6%** [1,5 – 4,7], P(zero) 40,3% |
|
| P(≥50 €/g), canale funded, 36 mesi | 42% | **2,6%** [1,5 – 4,7], P(zero) 40,3% |
|
||||||
| XSR01 | Sharpe 1,82 (e' una **terza** lente, divisore fisso 50) | **1,79** alla scoperta / **1,56-1,63** a oggi — lente dei gate, sole barre chiuse. Citare sempre la coppia (lente, ultima barra chiusa) |
|
| XSR01 | Sharpe 1,82 (e' una **terza** lente, divisore fisso 50) | **1,79** alla scoperta / **1,56-1,63** a oggi — lente dei gate, sole barre chiuse. Citare sempre la coppia (lente, ultima barra chiusa) |
|
||||||
| soffitto direzionale BTC/ETH | ~1,3 | **~1,15** col funding dentro |
|
| soffitto direzionale BTC/ETH | ~1,3 | **~1,15** col funding dentro |
|
||||||
|
| performance del libro LIVE | «+243%» di equity (e' **96,3% un bonifico**) | **TWR +10,80%** spezzato sul versamento — +11,61% fino al 25/08, −0,73% dopo (01/09 16:47Z) |
|
||||||
|
|
||||||
📌 **Il libro a k=1 rende MENO dell'S&P 500** (15,19% contro 17,40%, stessa finestra): il vantaggio
|
📌 **Il libro a k=1 rende MENO dell'S&P 500** (15,19% contro 17,40%, stessa finestra): il vantaggio
|
||||||
sta nello **Sharpe** (1,35 vs 0,89), e **senza leva non si converte in rendimento**. A iso-rischio
|
sta nello **Sharpe** (1,35 vs 0,89), e **senza leva non si converte in rendimento**. A iso-rischio
|
||||||
@@ -298,6 +299,21 @@ d'ancora in modo diverso (nella differenza si cancella in parte, nel livello per
|
|||||||
banda dichiarata [1,81-2,12]. QQQ e IWM arriveranno allo stesso muro **fra 2,5 e 3,7 anni**.
|
banda dichiarata [1,81-2,12]. QQQ e IWM arriveranno allo stesso muro **fra 2,5 e 3,7 anni**.
|
||||||
Riparazione (ancorare la fase al calendario) rinviata con la decisione su GTAA01: cambierebbe
|
Riparazione (ancorare la fase al calendario) rinviata con la decisione su GTAA01: cambierebbe
|
||||||
**tutti** i numeri registrati dello sleeve.
|
**tutti** i numeri registrati dello sleeve.
|
||||||
|
14. ⚠️ **`trades_db.py --report` stampa un rendimento che e' per il 96,3% un bonifico** — e la
|
||||||
|
riparazione ESISTE gia' nel repo, non ha attraversato il confine (misurato 2026-09-01, diario
|
||||||
|
`2026-09-01-stato-trades.md`). La riga e' `$598,06 -> $2.051,84 (+1.453,78, **+243,08%**)`,
|
||||||
|
stampata accanto a `netto +40,77`: la serie di 1.657 letture orarie contiene **un solo salto**,
|
||||||
|
il **versamento di $1.399,39** del 25/08 11:47Z. Il classificatore ufficiale del progetto lo
|
||||||
|
conferma (`journal.movimenti_capitale`: `certi 1399.39 · ambigui 0.0`, classe `movimento`).
|
||||||
|
Al netto: **TWR +10,80%**, equity +$54,39 in 69 giorni — e il giornale, che lo scorporo lo fa,
|
||||||
|
concorda ($+62,00 al 31/08, −7,61 di marcatura fino a oggi). ⚠️ **`journal.py:121` porta il
|
||||||
|
difetto scritto nel docstring col suo caso d'origine** (la voce del 25/08 che dichiarava
|
||||||
|
«+$1.414,57» di giornata); `trades_db.py:83` calcola `100*(e1/e0-1)` sulla serie grezza e non
|
||||||
|
chiama `movimenti_capitale()`, che e' a un import di distanza. **Variante di P1**: non un
|
||||||
|
sorvegliante che ridichiara il bersaglio, ma una **riparazione che non si e' propagata al
|
||||||
|
secondo lettore della stessa serie**. Danno sui soldi **nessuno** (sola lettura); danno di
|
||||||
|
citazione **si'** — ed e' l'unico numero fuorviante che il progetto produce su richiesta di un
|
||||||
|
comando pubblicato in §13. Riparazione non fatta: sta su uno script che legge il libro vivo.
|
||||||
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|||||||
@@ -0,0 +1,92 @@
|
|||||||
|
# 2026-09-01 — Stato trades, e la riparazione che non si è propagata
|
||||||
|
|
||||||
|
*Scritto il 2026-09-01, misure lette fra le 09:35Z e le 16:47Z. Numeri dalle serie citate.*
|
||||||
|
|
||||||
|
## 1. Lo stato, in breve
|
||||||
|
|
||||||
|
| | valore | fonte |
|
||||||
|
|---|---|---|
|
||||||
|
| fill registrati | **45**, dal 2026-07-14T14:00 al **2026-08-31T15:47** | `trades.db` |
|
||||||
|
| round-trip chiusi | **29** (21 in utile) — lordo +41,43 · fee allocate 0,66 · **netto +40,77** | `trades.db` |
|
||||||
|
| fee totali pagate | **$0,8617** | `trades.db` |
|
||||||
|
| equity (lettura 16:47Z) | **$2.051,84** · picco $2.073,59 | serie `equity`, 1.657 letture |
|
||||||
|
| posizione BTC | 0,0045 @ medio $79.208,11, dal 25/08 | libro di bordo |
|
||||||
|
| posizione ETH | 0,0872 @ medio $2.473,04, dal 25/08 | libro di bordo |
|
||||||
|
| non realizzato (mark 16:38Z) | **−$11,72** — BTC −7,91 (−2,22%) · ETH −3,80 (−1,76%) | gateway |
|
||||||
|
| gross nozionale | $560,36 → **leva 0,27x** su un tetto di 1,0x | gateway |
|
||||||
|
|
||||||
|
**Nessun fill da 25 ore, e non è un blocco.** Il log del cron lo dice a ogni giro fino alle 15:47:
|
||||||
|
`=> Nessuna azione: conto gia' al target netto del book`. TP01 fermo a +0,461 (BTC) e +0,278 (ETH),
|
||||||
|
SKH01 flat su entrambi, scarto posizione-target sotto il `min_order_usd` di $5 ($356 contro $351,
|
||||||
|
$214 contro $213). Feed SKH fresco (0 min), disaster-SL armati a $55.428,0 e $1.708,9.
|
||||||
|
|
||||||
|
`monitor_health`: **8/8 OK**, coperture 98-129%. Riconcilio a 3 fonti: **44/45 concordano, 0 prezzi
|
||||||
|
divergenti**; l'unica coppia scoperta è il difetto già noto — stesso fill (ETH buy 0,04 @ 1869,74)
|
||||||
|
timbrato `2026-07-14T14:00` nel log del cron e `2026-07-08` nel jsonl, i sei giorni di scarto della
|
||||||
|
lezione già registrata. Non è un fill perso.
|
||||||
|
|
||||||
|
## 2. Il difetto: `--report` stampa un rendimento che non è un rendimento
|
||||||
|
|
||||||
|
`scripts/live/trades_db.py --report` stampa questa riga:
|
||||||
|
|
||||||
|
```
|
||||||
|
equity : $598.06 -> $2,051.84 (+1453.78, +243.08%) | picco $2,073.59 | 1657 letture
|
||||||
|
```
|
||||||
|
|
||||||
|
Accanto a una riga di P&L che dice `netto +40,77`. **Il +243% non è rendimento: è quasi tutto un
|
||||||
|
versamento.** La serie di 1.657 letture orarie contiene **un solo salto**, il 2026-08-25 alle 11:47Z:
|
||||||
|
$667,49 → $2.066,88, **+$1.399,39**.
|
||||||
|
|
||||||
|
Non è una mia classificazione a occhio: è quella del progetto. `journal.movimenti_capitale()`, che
|
||||||
|
importa la soglia viva da `book.EQUITY_JUMP_ALERT` (0,10) e confronta il salto col massimo che il
|
||||||
|
**mercato misurato** avrebbe potuto produrre in quell'ora a tetto di leva, restituisce
|
||||||
|
`certi 1399.39 · ambigui 0.0`, un solo evento, classe `movimento`.
|
||||||
|
|
||||||
|
Al netto:
|
||||||
|
|
||||||
|
| lettura | valore |
|
||||||
|
|---|---|
|
||||||
|
| periodo 1 — 23/06 22:00Z → 25/08 10:47Z ($598,06 → $667,49) | **+11,61%** |
|
||||||
|
| periodo 2 — 25/08 11:47Z → 01/09 16:47Z ($2.066,88 → $2.051,84) | **−0,73%** |
|
||||||
|
| **TWR spezzato sul versamento** | **+10,80%** |
|
||||||
|
| crescita di equity al netto del versamento, 69 giorni | **+$54,39** |
|
||||||
|
|
||||||
|
**Il numero regge al controllo incrociato.** Il giornale del 31/08, che lo scorporo lo fa già,
|
||||||
|
scrive: *«cumulato dall'arming: $+1.461,39 di equity — di cui $+1.399,39 versati/prelevati ->
|
||||||
|
trading $+62,00»*. Stessa base ($598,06), stesso versamento; la differenza fra i suoi +62,00 e i
|
||||||
|
miei +54,39 è **−7,61 di marcatura** fra l'ultima lettura del 31/08 e quella di oggi. Le due misure
|
||||||
|
concordano.
|
||||||
|
|
||||||
|
### Perché è un difetto e non un dettaglio di stampa
|
||||||
|
|
||||||
|
La riparazione **esiste già, e in questo stesso repo**. `src/live/journal.py:121` la porta scritta
|
||||||
|
nel docstring, col caso d'origine:
|
||||||
|
|
||||||
|
> *«Il P&L di giornale e' un delta di equity, quindi un versamento ci finisce dentro come se fosse
|
||||||
|
> profitto: la voce del 2026-08-25 dichiarava «giorno: +$1.414,57» quando $1.399 erano un deposito
|
||||||
|
> USDC, e il «cumulato dall'arming» avrebbe mentito per sempre.»*
|
||||||
|
|
||||||
|
Quel difetto fu trovato e riparato nel giornale. **`trades_db.py:83` non ha mai ricevuto la
|
||||||
|
riparazione**: calcola `100*(e1/e0-1)` sulla serie grezza e non chiama `movimenti_capitale()`, che
|
||||||
|
è a un import di distanza e restituisce già `certi` e `ambigui` pronti da scorporare.
|
||||||
|
|
||||||
|
È una variante di **P1** — non un sorvegliante che ridichiara il proprio bersaglio, ma **una
|
||||||
|
riparazione che non ha attraversato il confine fra due lettori della stessa serie**. Il primo
|
||||||
|
strumento dice la verità; il secondo, interrogato con lo stesso comando pubblicato in CLAUDE.md §13
|
||||||
|
(`trades_db.py --report`), stampa un numero che si legge come una performance ed è per il **96,3%**
|
||||||
|
un bonifico.
|
||||||
|
|
||||||
|
**Danno oggi: nessuno sui soldi** — `--report` è in sola lettura e non decide niente. Il danno è di
|
||||||
|
citazione: è esattamente la classe di numeri che §2 raccoglie sotto *«non citare»*, ed è l'unico che
|
||||||
|
il progetto produce **su richiesta esplicita di un comando documentato**.
|
||||||
|
|
||||||
|
## 3. Cosa NON ho fatto
|
||||||
|
|
||||||
|
**Non ho toccato il codice.** La riparazione è piccola — chiamare `movimenti_capitale()` e stampare
|
||||||
|
la riga scorporata accanto a quella grezza, come fa il giornale — ma sta su uno script che legge il
|
||||||
|
libro di bordo vivo, e la richiesta era di aggiornare i documenti. Registrata come debito aperto.
|
||||||
|
|
||||||
|
Non ho scomposto la differenza fra il P&L dei round-trip (+$40,77) più il non realizzato (−$11,72)
|
||||||
|
= **+$29,05** e i +$54,39 di equity al netto del versamento. Lo scarto di ~$25 sta in voci che il
|
||||||
|
conteggio round-trip non copre — funding dei perp (non modellato in nessun backtest, §2), reward
|
||||||
|
USDE, marcatura dell'USDE all'indice. A questa taglia non vale il costo della misura: si dichiara.
|
||||||
@@ -0,0 +1,56 @@
|
|||||||
|
# Giornale di bordo — 2026-08-31
|
||||||
|
|
||||||
|
*Scritto 2026-09-01T00:36:58+00:00. Numeri misurati; nessuna interpretazione automatica.*
|
||||||
|
|
||||||
|
## Mercato
|
||||||
|
|
||||||
|
| | chiusura | 1g | 7g | 30g | RV30 ann. | TSMOM 30/90/180 | DVOL |
|
||||||
|
|---|---|---|---|---|---|---|---|
|
||||||
|
| **BTC** | $78,564.00 | +1.11% | -0.53% | +25.15% | 42.3% | ↑ ↑ ↑ (3/3 su) | 37.6 (21° pctl 1a) |
|
||||||
|
| **ETH** | $2,467.80 | +2.08% | -0.62% | +33.88% | 67.9% | ↑ ↑ ↑ (3/3 su) | 51.3 (19° pctl 1a) |
|
||||||
|
|
||||||
|
## Libro
|
||||||
|
|
||||||
|
Equity **$2,059.45** · nozionale lordo $569 · leva lorda 0.28x · barra dati 2026-08-31 · 24 giri
|
||||||
|
|
||||||
|
| | TP01 | SKH01 | target | posizione | azione |
|
||||||
|
|---|---|---|---|---|---|
|
||||||
|
| **BTC** | +0.461 | flat | $+356 | $+354 | HOLD (a target) |
|
||||||
|
| **ETH** | +0.278 | flat | $+214 | $+215 | HOLD (a target) |
|
||||||
|
|
||||||
|
## P&L
|
||||||
|
|
||||||
|
- giorno: **$+12.06** di equity (24 letture)
|
||||||
|
- realizzato: -0.48 netto su 3 round-trip chiusi · 4 fill · fee 0.0100
|
||||||
|
- cumulato dall'arming: **$+1,461.39** di equity — di cui $+1,399.39 versati/prelevati -> trading **$+62.00**
|
||||||
|
|
||||||
|
## Salute
|
||||||
|
|
||||||
|
- giri di `book_execute`: 24/24
|
||||||
|
- eta' feed SKH all'ultimo giro: 0 min
|
||||||
|
|
||||||
|
## Lettura
|
||||||
|
|
||||||
|
*Generata da regole dichiarate in `src/live/journal.py` — combina i numeri qui sopra e nient'altro. L'id fra parentesi quadre dice quale regola ha parlato. Non e' un giudizio: quello sta nella Nota.*
|
||||||
|
|
||||||
|
- `[stato]` A mercato su BTC $+354 (TP01 +0.461, SKH01 flat) e ETH $+215 (TP01 +0.278, SKH01 flat).
|
||||||
|
- `[leva]` Leva lorda **0.28x** su un tetto di 1.00x (`max_notional_per_asset_frac` 0.50 x 2 asset, letto da `config/live.json`): margine 0.72x.
|
||||||
|
- `[pnl]` Equity $+12.06 con 4 fill e 3 round-trip chiusi (realizzato $-0.48 netto).
|
||||||
|
- `[drawdown]` 📌 Equity **-0.68%** sotto il picco ($2,073.59). ⚠️ e' un DD su letture ORARIE, non sul minimo intra-giorno.
|
||||||
|
- `[vol]` BTC: implicita 37.6 contro realizzata 30g 42.3 (sotto); DVOL al 21° pctl di un anno; IV-rank espandente 0.07 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo).
|
||||||
|
- `[vol]` ETH: implicita 51.3 contro realizzata 30g 67.9 (sotto); DVOL al 19° pctl di un anno; IV-rank espandente 0.12 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo).
|
||||||
|
- `[evidenza]` 📌 Campione a oggi: **69 giorni, 29 round-trip**. A questa taglia il P&L non distingue l'edge dalla fortuna — il criterio di morte del libro (`edge_watch`) lavora su una finestra di 36 mesi.
|
||||||
|
|
||||||
|
## Analisi (agente)
|
||||||
|
|
||||||
|
*Scritta da `claude-opus-5` il 2026-09-01T00:38:01+00:00. Prosa di un modello: puo' sbagliare, e non e' una misura. Controllo sui numeri: **ok**.*
|
||||||
|
|
||||||
|
Il $+12.06 di oggi non nasce da una decisione: le posizioni sono rimaste a target (BTC $+354 contro $+356, ETH $+215 contro $+214) e i 3 round-trip chiusi hanno realizzato $-0.48. Il guadagno e' marcatura di due long in una giornata di BTC +1.11% e ETH +2.08%; la lettura alternativa altrettanto compatibile e' che il libro sia stato semplicemente beta lungo, e in pagina non c'e' nulla che separi le due cose.
|
||||||
|
|
||||||
|
E' il delta piu' grande dal 25/08, che pero' era il versamento: un solo giorno pesa quindi molto sui $+62.00 di trading cumulato dall'arming, su un campione di 69 giorni e 29 round-trip, tre dei quali chiusi oggi. Rispetto a -17.87 del 28/08 e -9.48 del 30/08 il segno cambia, ma le posizioni sono ferme dal 25/08 fra $+344 e $+364 su BTC e fra $+205 e $+218 su ETH: si muove il prezzo, non il libro.
|
||||||
|
|
||||||
|
Insolito, e non confrontabile coi giorni precedenti che la volatilita' non la riportano: implicita sotto realizzata su entrambi (37.6 contro 42.3, 51.3 contro 67.9) con DVOL al 21° e 19° percentile dell'anno. Merita un'occhiata che siano serviti 4 fill per lasciare le posizioni dov'erano, e che il picco $2,073.59 da cui si misura il -0.68% non compaia in nessuna chiusura giornaliera.
|
||||||
|
|
||||||
|
## Nota
|
||||||
|
|
||||||
|
*(vuota — campo dell'operatore)*
|
||||||
Reference in New Issue
Block a user