analista: manda l'analisi giornaliera su Telegram, con l'esito registrato

La notifica porta una testata coi numeri che si leggono senza aprire nulla
(equity, delta del giorno, cumulato, posizioni, leva, fill e round-trip) e
sotto l'analisi del modello.

Il trasporto Telegram e' pero' il punto singolo di guasto gia' misurato in
questo progetto: un tentativo, nessun retry, esito mai registrato, 6,9% di
invii persi (2/29). Su un messaggio al giorno sono ~25 messaggi persi
all'anno, quindi qui sono state fatte due delle tre riparazioni dichiarate
il 2026-08-23 e mai eseguite:

(a) `send(text, tentativi=1)` — retry OPZIONALE con backoff. Il default resta
    1, cosi' il comportamento e' invariato per tutti i chiamanti esistenti:
    alzarlo per tutti cambierebbe la latenza degli allarmi di venue_watch e
    book_execute su un percorso con soldi veri, e non e' una modifica da fare
    di straforo dentro un'altra funzionalita'. L'analista chiede 3.
(b) `ultimo_errore()` — il motivo si registra nel punto in cui l'eccezione
    veniva ingoiata, e NON sopravvive a un invio riuscito. Regola gia'
    codificata il 29/07 su un altro percorso e mai applicata al notifier.

La terza (marcare `alerted=True` solo a invio riuscito in venue_watch) cambia
il comportamento degli allarmi e resta una decisione dell'operatore.

L'esito finisce nel DB in tre stati: inviata / non configurato / FALLITA col
motivo. Un invio perso che non lascia traccia, il giorno dopo, non si
distingue da "non e' successo niente".

E se l'analisi manca, il messaggio parte lo stesso dicendo PERCHE': senza
quel ramo un guasto del modello si leggerebbe come una giornata senza nulla
da dire. Taglio a 4096 caratteri dichiarato, mai silenzioso; HTML del modello
neutralizzato.

708 test passano. Strategia, pesi, config INVARIATI.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Adriano Dal Pastro
2026-08-23 19:40:56 +00:00
parent 7456be1ce5
commit 782c0ce4bc
6 changed files with 277 additions and 22 deletions
+17 -11
View File
@@ -1,6 +1,6 @@
# Giornale di bordo — 2026-08-23
*Scritto 2026-08-23T13:34:16+00:00. Numeri misurati; nessuna interpretazione automatica.*
*Scritto 2026-08-23T19:36:52+00:00. Numeri misurati; nessuna interpretazione automatica.*
## Mercato
@@ -11,38 +11,44 @@
## Libro
Equity **$636.14** · nozionale lordo $258 · leva lorda 0.41x · barra dati 2026-08-23 · 14 giri
Equity **$637.36** · nozionale lordo $259 · leva lorda 0.41x · barra dati 2026-08-23 · 20 giri
| | TP01 | SKH01 | target | posizione | azione |
|---|---|---|---|---|---|
| **BTC** | +0.150 | LONG @ 75,280.0 | $+115 | $+116 | HOLD (a target) |
| **ETH** | +0.271 | LONG @ 2,436.4 | $+144 | $+142 | HOLD (a target) |
| **BTC** | +0.150 | LONG @ 75,280.0 | $+116 | $+116 | HOLD (a target) |
| **ETH** | +0.271 | LONG @ 2,436.4 | $+144 | $+143 | HOLD (a target) |
## P&L
- giorno: **$+1.14** di equity (14 letture)
- giorno: **$+2.36** di equity (20 letture)
- realizzato: +5.55 netto su 2 round-trip chiusi · 1 fill · fee 0.0243
- cumulato dall'arming: **$+38.08**
- cumulato dall'arming: **$+39.30**
## Salute
- giri di `book_execute`: 14/14 *(giorno in corso)*
- giri di `book_execute`: 20/20 *(giorno in corso)*
- 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 $+116 (TP01 +0.150, SKH01 long) e ETH $+142 (TP01 +0.271, SKH01 long).
- `[stato]` A mercato su BTC $+116 (TP01 +0.150, SKH01 long) e ETH $+143 (TP01 +0.271, SKH01 long).
- `[disaccordo]` BTC: gli orizzonti del trend **non concordano** (2/3 al rialzo) e l'esposizione TP01 e' parziale (+0.150) — e' il meccanismo, non una scelta di oggi.
- `[leva]` Leva lorda **0.41x** su un tetto di 1.00x (`max_notional_per_asset_frac` 0.50 x 2 asset, letto da `config/live.json`): margine 0.59x.
- `[pnl]` Equity $+1.14 con 1 fill e 2 round-trip chiusi (realizzato $+5.55 netto).
- `[concentrazione]` 📌 **Il 102% di tutto il P&L cumulato ($+38.08) viene dagli ultimi 7 giorni.** Oltre il 100% perche' **il periodo precedente era in perdita**: senza questi 7 giorni il libro sarebbe sotto. Un risultato concentrato in una finestra non e' un tasso di rendimento: e' un evento.
- `[drawdown]` 📌 Equity **-1.37%** sotto il picco ($644.98). ⚠️ e' un DD su letture ORARIE, non sul minimo intra-giorno.
- `[pnl]` Equity $+2.36 con 1 fill e 2 round-trip chiusi (realizzato $+5.55 netto).
- `[concentrazione]` 📌 **Il 102% di tutto il P&L cumulato ($+39.30) viene dagli ultimi 7 giorni.** Oltre il 100% perche' **il periodo precedente era in perdita**: senza questi 7 giorni il libro sarebbe sotto. Un risultato concentrato in una finestra non e' un tasso di rendimento: e' un evento.
- `[drawdown]` 📌 Equity **-1.18%** sotto il picco ($644.98). ⚠️ e' un DD su letture ORARIE, non sul minimo intra-giorno.
- `[vol]` BTC: implicita 42.4 contro realizzata 30g 43.3 (sotto); DVOL al 52° pctl di un anno; IV-rank espandente 0.18 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo).
- `[vol]` ETH: implicita 57.0 contro realizzata 30g 69.6 (sotto); DVOL al 44° pctl di un anno; IV-rank espandente 0.18 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo).
- `[evidenza]` 📌 Campione a oggi: **61 giorni, 12 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-sonnet-5` il 2026-08-23T19:37:20+00:00. Prosa di un modello: puo' sbagliare, e non e' una misura. Controllo sui numeri: **ok**.*
Giornata piatta sui prezzi (BTC +0.20%, ETH +0.17%) dopo una settimana che invece ha mosso molto (+22.94% e +29.49% a 7g): oggi il libro non ha aggiunto informazione nuova sulla direzione, ha solo tenuto le posizioni aperte il 22/08. Equity +$2.36 su 20 letture, nessun round-trip chiuso oggi (i 2 RT del giorno vengono dal conteggio cumulato della pagina, non da nuova attivita' odierna a giudicare dal confronto con ieri, dove i fill erano gia' 2). Rispetto ai giorni precedenti, il ritmo si e' fermato: dal 19 al 21/08 il libro ha macinato fino a 6 round-trip in un giorno con salti di equity a doppia cifra; il 22/08 ha invertito (-$9.00 pur con $185+$142 di posizione aperta, segno che il calo era su prezzo, non su esecuzione); oggi torna a un delta minimo. Il drawdown -1.18% dal picco resta piccolo in assoluto ma e' calcolato su letture orarie, quindi non cattura eventuali minimi intra-giorno piu' profondi. Il TP01 su BTC resta a convinzione parziale (+0.150, orizzonti in disaccordo 2/3) mentre ETH ha tutti e tre gli orizzonti allineati (+0.271): stessa direzione di ieri, nessun cambio di regime segnalato. La concentrazione del P&L nei soli ultimi 7 giorni (102% del cumulato) non e' cambiata nella sostanza da ieri — resta il fatto piu' rilevante della pagina, e con 61 giorni e 12 round-trip il campione non permette di dire se sia edge o varianza. Nessuna anomalia di salute (20/20 giri, feed SKH a 0 minuti): non ci sono elementi che richiedano un controllo umano oggi oltre a quanto gia' segnalato dal giornale stesso.
## Nota
*(vuota — campo dell'operatore)*