diff --git a/docs/journal/2026-06-23.md b/docs/journal/2026-06-23.md index 65d4324..f483424 100644 --- a/docs/journal/2026-06-23.md +++ b/docs/journal/2026-06-23.md @@ -1,6 +1,6 @@ # Giornale di bordo — 2026-06-23 -*Scritto 2026-08-23T13:08:26+00:00. Numeri misurati; nessuna interpretazione automatica.* +*Scritto 2026-08-23T13:34:09+00:00. Numeri misurati; nessuna interpretazione automatica.* ## Mercato @@ -29,6 +29,18 @@ Equity **$598.06** · nozionale lordo $0 · leva lorda 0.00x · barra dati 2026- - giri di `book_execute`: 2/24 — **22 mancanti** - eta' feed SKH all'ultimo giro: non misurata +## 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]` Libro **flat** su entrambe le gambe: nessun capitale a mercato. +- `[perche_flat]` Motivo, componente per componente — BTC: TP01 a zero (trend giu' o misto) e SKH01 senza breakout; ETH: TP01 a zero (trend giu' o misto) e SKH01 senza breakout. Per una strategia long-flat stare fuori **e'** una decisione. +- `[leva]` Leva lorda **0.00x** su un tetto di 1.00x (`max_notional_per_asset_frac` 0.50 x 2 asset, letto da `config/live.json`): margine 1.00x. +- `[pnl]` Equity $+0.00 **senza operare**: e' mark-to-market sulle posizioni gia' aperte. +- `[vol]` BTC: implicita 41.6 contro realizzata 30g 42.8 (sotto); DVOL al 27° pctl di un anno; IV-rank espandente 0.14 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[vol]` ETH: implicita 56.2 contro realizzata 30g 63.4 (sotto); DVOL al 21° pctl di un anno; IV-rank espandente 0.15 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[giri]` ⚠️ **22 giri di `book_execute` mancanti** su 24: in quelle ore il libro non ha ne' letto ne' eseguito. + ## Nota *(vuota — campo dell'operatore)* diff --git a/docs/journal/2026-06-24.md b/docs/journal/2026-06-24.md index cbfab3b..f182d50 100644 --- a/docs/journal/2026-06-24.md +++ b/docs/journal/2026-06-24.md @@ -1,6 +1,6 @@ # Giornale di bordo — 2026-06-24 -*Scritto 2026-08-23T13:08:26+00:00. Numeri misurati; nessuna interpretazione automatica.* +*Scritto 2026-08-23T13:34:10+00:00. Numeri misurati; nessuna interpretazione automatica.* ## Mercato @@ -29,6 +29,18 @@ Equity **$598.06** · nozionale lordo $0 · leva lorda 0.00x · barra dati 2026- - giri di `book_execute`: 24/24 - eta' feed SKH all'ultimo giro: non misurata +## 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]` Libro **flat** su entrambe le gambe: nessun capitale a mercato. +- `[perche_flat]` Motivo, componente per componente — BTC: TP01 a zero (trend giu' o misto) e SKH01 senza breakout; ETH: TP01 a zero (trend giu' o misto) e SKH01 senza breakout. Per una strategia long-flat stare fuori **e'** una decisione. +- `[leva]` Leva lorda **0.00x** su un tetto di 1.00x (`max_notional_per_asset_frac` 0.50 x 2 asset, letto da `config/live.json`): margine 1.00x. +- `[pnl]` Equity $+0.00 **senza operare**: e' mark-to-market sulle posizioni gia' aperte. +- `[vol]` BTC: implicita 45.1 contro realizzata 30g 43.3 (sopra); DVOL al 51° pctl di un anno; IV-rank espandente 0.22 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[vol]` ETH: implicita 58.8 contro realizzata 30g 63.6 (sotto); DVOL al 28° pctl di un anno; IV-rank espandente 0.19 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[evidenza]` 📌 Campione a oggi: **1 giorni, 0 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. + ## Nota *(vuota — campo dell'operatore)* diff --git a/docs/journal/2026-06-25.md b/docs/journal/2026-06-25.md index e8c0291..8d77882 100644 --- a/docs/journal/2026-06-25.md +++ b/docs/journal/2026-06-25.md @@ -1,6 +1,6 @@ # Giornale di bordo — 2026-06-25 -*Scritto 2026-08-23T13:08:26+00:00. Numeri misurati; nessuna interpretazione automatica.* +*Scritto 2026-08-23T13:34:10+00:00. Numeri misurati; nessuna interpretazione automatica.* ## Mercato @@ -29,6 +29,18 @@ Equity **$598.06** · nozionale lordo $0 · leva lorda 0.00x · barra dati 2026- - giri di `book_execute`: 24/24 - eta' feed SKH all'ultimo giro: non misurata +## 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]` Libro **flat** su entrambe le gambe: nessun capitale a mercato. +- `[perche_flat]` Motivo, componente per componente — BTC: TP01 a zero (trend giu' o misto) e SKH01 senza breakout; ETH: TP01 a zero (trend giu' o misto) e SKH01 senza breakout. Per una strategia long-flat stare fuori **e'** una decisione. +- `[leva]` Leva lorda **0.00x** su un tetto di 1.00x (`max_notional_per_asset_frac` 0.50 x 2 asset, letto da `config/live.json`): margine 1.00x. +- `[pnl]` Equity $+0.00 **senza operare**: e' mark-to-market sulle posizioni gia' aperte. +- `[vol]` BTC: implicita 46.6 contro realizzata 30g 43.3 (sopra); DVOL al 57° pctl di un anno; IV-rank espandente 0.24 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[vol]` ETH: implicita 60.8 contro realizzata 30g 64.1 (sotto); DVOL al 33° pctl di un anno; IV-rank espandente 0.22 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[evidenza]` 📌 Campione a oggi: **2 giorni, 0 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. + ## Nota *(vuota — campo dell'operatore)* diff --git a/docs/journal/2026-06-26.md b/docs/journal/2026-06-26.md index 5674638..a04a7ab 100644 --- a/docs/journal/2026-06-26.md +++ b/docs/journal/2026-06-26.md @@ -1,6 +1,6 @@ # Giornale di bordo — 2026-06-26 -*Scritto 2026-08-23T13:08:26+00:00. Numeri misurati; nessuna interpretazione automatica.* +*Scritto 2026-08-23T13:34:10+00:00. Numeri misurati; nessuna interpretazione automatica.* ## Mercato @@ -29,6 +29,18 @@ Equity **$598.06** · nozionale lordo $0 · leva lorda 0.00x · barra dati 2026- - giri di `book_execute`: 24/24 - eta' feed SKH all'ultimo giro: non misurata +## 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]` Libro **flat** su entrambe le gambe: nessun capitale a mercato. +- `[perche_flat]` Motivo, componente per componente — BTC: TP01 a zero (trend giu' o misto) e SKH01 senza breakout; ETH: TP01 a zero (trend giu' o misto) e SKH01 senza breakout. Per una strategia long-flat stare fuori **e'** una decisione. +- `[leva]` Leva lorda **0.00x** su un tetto di 1.00x (`max_notional_per_asset_frac` 0.50 x 2 asset, letto da `config/live.json`): margine 1.00x. +- `[pnl]` Equity $+0.00 **senza operare**: e' mark-to-market sulle posizioni gia' aperte. +- `[vol]` BTC: implicita 45.5 contro realizzata 30g 43.4 (sopra); DVOL al 52° pctl di un anno; IV-rank espandente 0.23 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[vol]` ETH: implicita 59.8 contro realizzata 30g 64.1 (sotto); DVOL al 30° pctl di un anno; IV-rank espandente 0.20 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[evidenza]` 📌 Campione a oggi: **3 giorni, 0 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. + ## Nota *(vuota — campo dell'operatore)* diff --git a/docs/journal/2026-06-27.md b/docs/journal/2026-06-27.md index 130e780..ab7f0f4 100644 --- a/docs/journal/2026-06-27.md +++ b/docs/journal/2026-06-27.md @@ -1,6 +1,6 @@ # Giornale di bordo — 2026-06-27 -*Scritto 2026-08-23T13:08:26+00:00. Numeri misurati; nessuna interpretazione automatica.* +*Scritto 2026-08-23T13:34:10+00:00. Numeri misurati; nessuna interpretazione automatica.* ## Mercato @@ -29,6 +29,18 @@ Equity **$598.06** · nozionale lordo $0 · leva lorda 0.00x · barra dati 2026- - giri di `book_execute`: 24/24 - eta' feed SKH all'ultimo giro: non misurata +## 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]` Libro **flat** su entrambe le gambe: nessun capitale a mercato. +- `[perche_flat]` Motivo, componente per componente — BTC: TP01 a zero (trend giu' o misto) e SKH01 senza breakout; ETH: TP01 a zero (trend giu' o misto) e SKH01 senza breakout. Per una strategia long-flat stare fuori **e'** una decisione. +- `[leva]` Leva lorda **0.00x** su un tetto di 1.00x (`max_notional_per_asset_frac` 0.50 x 2 asset, letto da `config/live.json`): margine 1.00x. +- `[pnl]` Equity $+0.00 **senza operare**: e' mark-to-market sulle posizioni gia' aperte. +- `[vol]` BTC: implicita 45.2 contro realizzata 30g 43.4 (sopra); DVOL al 52° pctl di un anno; IV-rank espandente 0.22 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[vol]` ETH: implicita 59.9 contro realizzata 30g 64.2 (sotto); DVOL al 31° pctl di un anno; IV-rank espandente 0.20 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[evidenza]` 📌 Campione a oggi: **4 giorni, 0 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. + ## Nota *(vuota — campo dell'operatore)* diff --git a/docs/journal/2026-06-28.md b/docs/journal/2026-06-28.md index 0ff48a8..41d1b8d 100644 --- a/docs/journal/2026-06-28.md +++ b/docs/journal/2026-06-28.md @@ -1,6 +1,6 @@ # Giornale di bordo — 2026-06-28 -*Scritto 2026-08-23T13:08:26+00:00. Numeri misurati; nessuna interpretazione automatica.* +*Scritto 2026-08-23T13:34:10+00:00. Numeri misurati; nessuna interpretazione automatica.* ## Mercato @@ -29,6 +29,18 @@ Equity **$598.06** · nozionale lordo $0 · leva lorda 0.00x · barra dati 2026- - giri di `book_execute`: 24/24 - eta' feed SKH all'ultimo giro: non misurata +## 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]` Libro **flat** su entrambe le gambe: nessun capitale a mercato. +- `[perche_flat]` Motivo, componente per componente — BTC: TP01 a zero (trend giu' o misto) e SKH01 senza breakout; ETH: TP01 a zero (trend giu' o misto) e SKH01 senza breakout. Per una strategia long-flat stare fuori **e'** una decisione. +- `[leva]` Leva lorda **0.00x** su un tetto di 1.00x (`max_notional_per_asset_frac` 0.50 x 2 asset, letto da `config/live.json`): margine 1.00x. +- `[pnl]` Equity $+0.00 **senza operare**: e' mark-to-market sulle posizioni gia' aperte. +- `[vol]` BTC: implicita 47.7 contro realizzata 30g 43.4 (sopra); DVOL al 63° pctl di un anno; IV-rank espandente 0.27 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[vol]` ETH: implicita 61.3 contro realizzata 30g 64.1 (sotto); DVOL al 37° pctl di un anno; IV-rank espandente 0.23 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[evidenza]` 📌 Campione a oggi: **5 giorni, 0 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. + ## Nota *(vuota — campo dell'operatore)* diff --git a/docs/journal/2026-06-29.md b/docs/journal/2026-06-29.md index 253d158..ddecd8c 100644 --- a/docs/journal/2026-06-29.md +++ b/docs/journal/2026-06-29.md @@ -1,6 +1,6 @@ # Giornale di bordo — 2026-06-29 -*Scritto 2026-08-23T13:08:26+00:00. Numeri misurati; nessuna interpretazione automatica.* +*Scritto 2026-08-23T13:34:10+00:00. Numeri misurati; nessuna interpretazione automatica.* ## Mercato @@ -29,6 +29,18 @@ Equity **$598.06** · nozionale lordo $0 · leva lorda 0.00x · barra dati 2026- - giri di `book_execute`: 24/24 - eta' feed SKH all'ultimo giro: non misurata +## 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]` Libro **flat** su entrambe le gambe: nessun capitale a mercato. +- `[perche_flat]` Motivo, componente per componente — BTC: TP01 a zero (trend giu' o misto) e SKH01 senza breakout; ETH: TP01 a zero (trend giu' o misto) e SKH01 senza breakout. Per una strategia long-flat stare fuori **e'** una decisione. +- `[leva]` Leva lorda **0.00x** su un tetto di 1.00x (`max_notional_per_asset_frac` 0.50 x 2 asset, letto da `config/live.json`): margine 1.00x. +- `[pnl]` Equity $+0.00 **senza operare**: e' mark-to-market sulle posizioni gia' aperte. +- `[vol]` BTC: implicita 42.6 contro realizzata 30g 43.6 (sotto); DVOL al 33° pctl di un anno; IV-rank espandente 0.16 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[vol]` ETH: implicita 57.9 contro realizzata 30g 65.1 (sotto); DVOL al 26° pctl di un anno; IV-rank espandente 0.18 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[evidenza]` 📌 Campione a oggi: **6 giorni, 0 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. + ## Nota *(vuota — campo dell'operatore)* diff --git a/docs/journal/2026-06-30.md b/docs/journal/2026-06-30.md index 8501691..0909516 100644 --- a/docs/journal/2026-06-30.md +++ b/docs/journal/2026-06-30.md @@ -1,6 +1,6 @@ # Giornale di bordo — 2026-06-30 -*Scritto 2026-08-23T13:08:26+00:00. Numeri misurati; nessuna interpretazione automatica.* +*Scritto 2026-08-23T13:34:10+00:00. Numeri misurati; nessuna interpretazione automatica.* ## Mercato @@ -29,6 +29,18 @@ Equity **$598.06** · nozionale lordo $0 · leva lorda 0.00x · barra dati 2026- - giri di `book_execute`: 24/24 - eta' feed SKH all'ultimo giro: non misurata +## 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]` Libro **flat** su entrambe le gambe: nessun capitale a mercato. +- `[perche_flat]` Motivo, componente per componente — BTC: TP01 a zero (trend giu' o misto) e SKH01 senza breakout; ETH: TP01 a zero (trend giu' o misto) e SKH01 senza breakout. Per una strategia long-flat stare fuori **e'** una decisione. +- `[leva]` Leva lorda **0.00x** su un tetto di 1.00x (`max_notional_per_asset_frac` 0.50 x 2 asset, letto da `config/live.json`): margine 1.00x. +- `[pnl]` Equity $+0.00 **senza operare**: e' mark-to-market sulle posizioni gia' aperte. +- `[vol]` BTC: implicita 44.5 contro realizzata 30g 44.2 (sopra); DVOL al 46° pctl di un anno; IV-rank espandente 0.20 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[vol]` ETH: implicita 59.0 contro realizzata 30g 65.4 (sotto); DVOL al 29° pctl di un anno; IV-rank espandente 0.19 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[evidenza]` 📌 Campione a oggi: **7 giorni, 0 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. + ## Nota *(vuota — campo dell'operatore)* diff --git a/docs/journal/2026-07-01.md b/docs/journal/2026-07-01.md index 7c6fb84..fa361de 100644 --- a/docs/journal/2026-07-01.md +++ b/docs/journal/2026-07-01.md @@ -1,6 +1,6 @@ # Giornale di bordo — 2026-07-01 -*Scritto 2026-08-23T13:08:26+00:00. Numeri misurati; nessuna interpretazione automatica.* +*Scritto 2026-08-23T13:34:11+00:00. Numeri misurati; nessuna interpretazione automatica.* ## Mercato @@ -29,6 +29,18 @@ Equity **$598.06** · nozionale lordo $0 · leva lorda 0.00x · barra dati 2026- - giri di `book_execute`: 24/24 - eta' feed SKH all'ultimo giro: non misurata +## 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]` Libro **flat** su entrambe le gambe: nessun capitale a mercato. +- `[perche_flat]` Motivo, componente per componente — BTC: TP01 a zero (trend giu' o misto) e SKH01 senza breakout; ETH: TP01 a zero (trend giu' o misto) e SKH01 senza breakout. Per una strategia long-flat stare fuori **e'** una decisione. +- `[leva]` Leva lorda **0.00x** su un tetto di 1.00x (`max_notional_per_asset_frac` 0.50 x 2 asset, letto da `config/live.json`): margine 1.00x. +- `[pnl]` Equity $+0.00 **senza operare**: e' mark-to-market sulle posizioni gia' aperte. +- `[vol]` BTC: implicita 42.9 contro realizzata 30g 44.6 (sotto); DVOL al 36° pctl di un anno; IV-rank espandente 0.17 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[vol]` ETH: implicita 56.9 contro realizzata 30g 66.3 (sotto); DVOL al 23° pctl di un anno; IV-rank espandente 0.16 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[evidenza]` 📌 Campione a oggi: **8 giorni, 0 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. + ## Nota *(vuota — campo dell'operatore)* diff --git a/docs/journal/2026-07-02.md b/docs/journal/2026-07-02.md index f1ff46c..8ef19ba 100644 --- a/docs/journal/2026-07-02.md +++ b/docs/journal/2026-07-02.md @@ -1,6 +1,6 @@ # Giornale di bordo — 2026-07-02 -*Scritto 2026-08-23T13:08:26+00:00. Numeri misurati; nessuna interpretazione automatica.* +*Scritto 2026-08-23T13:34:11+00:00. Numeri misurati; nessuna interpretazione automatica.* ## Mercato @@ -29,6 +29,18 @@ Equity **$598.06** · nozionale lordo $0 · leva lorda 0.00x · barra dati 2026- - giri di `book_execute`: 24/24 - eta' feed SKH all'ultimo giro: non misurata +## 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]` Libro **flat** su entrambe le gambe: nessun capitale a mercato. +- `[perche_flat]` Motivo, componente per componente — BTC: TP01 a zero (trend giu' o misto) e SKH01 senza breakout; ETH: TP01 a zero (trend giu' o misto) e SKH01 senza breakout. Per una strategia long-flat stare fuori **e'** una decisione. +- `[leva]` Leva lorda **0.00x** su un tetto di 1.00x (`max_notional_per_asset_frac` 0.50 x 2 asset, letto da `config/live.json`): margine 1.00x. +- `[pnl]` Equity $+0.00 **senza operare**: e' mark-to-market sulle posizioni gia' aperte. +- `[vol]` BTC: implicita 40.5 contro realizzata 30g 40.0 (sopra); DVOL al 21° pctl di un anno; IV-rank espandente 0.12 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[vol]` ETH: implicita 55.1 contro realizzata 30g 64.9 (sotto); DVOL al 16° pctl di un anno; IV-rank espandente 0.14 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[evidenza]` 📌 Campione a oggi: **9 giorni, 0 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. + ## Nota *(vuota — campo dell'operatore)* diff --git a/docs/journal/2026-07-03.md b/docs/journal/2026-07-03.md index 64e7969..bc4051d 100644 --- a/docs/journal/2026-07-03.md +++ b/docs/journal/2026-07-03.md @@ -1,6 +1,6 @@ # Giornale di bordo — 2026-07-03 -*Scritto 2026-08-23T13:08:27+00:00. Numeri misurati; nessuna interpretazione automatica.* +*Scritto 2026-08-23T13:34:11+00:00. Numeri misurati; nessuna interpretazione automatica.* ## Mercato @@ -29,6 +29,18 @@ Equity **$598.06** · nozionale lordo $0 · leva lorda 0.00x · barra dati 2026- - giri di `book_execute`: 24/24 - eta' feed SKH all'ultimo giro: non misurata +## 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]` Libro **flat** su entrambe le gambe: nessun capitale a mercato. +- `[perche_flat]` Motivo, componente per componente — BTC: TP01 a zero (trend giu' o misto) e SKH01 senza breakout; ETH: TP01 a zero (trend giu' o misto) e SKH01 senza breakout. Per una strategia long-flat stare fuori **e'** una decisione. +- `[leva]` Leva lorda **0.00x** su un tetto di 1.00x (`max_notional_per_asset_frac` 0.50 x 2 asset, letto da `config/live.json`): margine 1.00x. +- `[pnl]` Equity $+0.00 **senza operare**: e' mark-to-market sulle posizioni gia' aperte. +- `[vol]` BTC: implicita 39.5 contro realizzata 30g 38.1 (sopra); DVOL al 14° pctl di un anno; IV-rank espandente 0.10 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[vol]` ETH: implicita 53.5 contro realizzata 30g 65.6 (sotto); DVOL al 8° pctl di un anno; IV-rank espandente 0.12 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[evidenza]` 📌 Campione a oggi: **10 giorni, 0 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. + ## Nota *(vuota — campo dell'operatore)* diff --git a/docs/journal/2026-07-04.md b/docs/journal/2026-07-04.md index 037dcca..9137f61 100644 --- a/docs/journal/2026-07-04.md +++ b/docs/journal/2026-07-04.md @@ -1,6 +1,6 @@ # Giornale di bordo — 2026-07-04 -*Scritto 2026-08-23T13:08:27+00:00. Numeri misurati; nessuna interpretazione automatica.* +*Scritto 2026-08-23T13:34:11+00:00. Numeri misurati; nessuna interpretazione automatica.* ## Mercato @@ -29,6 +29,18 @@ Equity **$598.06** · nozionale lordo $0 · leva lorda 0.00x · barra dati 2026- - giri di `book_execute`: 24/24 - eta' feed SKH all'ultimo giro: non misurata +## 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]` Libro **flat** su entrambe le gambe: nessun capitale a mercato. +- `[perche_flat]` Motivo, componente per componente — BTC: TP01 a zero (trend giu' o misto) e SKH01 senza breakout; ETH: TP01 a zero (trend giu' o misto) e SKH01 senza breakout. Per una strategia long-flat stare fuori **e'** una decisione. +- `[leva]` Leva lorda **0.00x** su un tetto di 1.00x (`max_notional_per_asset_frac` 0.50 x 2 asset, letto da `config/live.json`): margine 1.00x. +- `[pnl]` Equity $+0.00 **senza operare**: e' mark-to-market sulle posizioni gia' aperte. +- `[vol]` BTC: implicita 39.2 contro realizzata 30g 38.2 (sopra); DVOL al 13° pctl di un anno; IV-rank espandente 0.09 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[vol]` ETH: implicita 53.0 contro realizzata 30g 65.3 (sotto); DVOL al 6° pctl di un anno; IV-rank espandente 0.11 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[evidenza]` 📌 Campione a oggi: **11 giorni, 0 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. + ## Nota *(vuota — campo dell'operatore)* diff --git a/docs/journal/2026-07-05.md b/docs/journal/2026-07-05.md index 4735679..2c93000 100644 --- a/docs/journal/2026-07-05.md +++ b/docs/journal/2026-07-05.md @@ -1,6 +1,6 @@ # Giornale di bordo — 2026-07-05 -*Scritto 2026-08-23T13:08:27+00:00. Numeri misurati; nessuna interpretazione automatica.* +*Scritto 2026-08-23T13:34:11+00:00. Numeri misurati; nessuna interpretazione automatica.* ## Mercato @@ -29,6 +29,18 @@ Equity **$598.06** · nozionale lordo $0 · leva lorda 0.00x · barra dati 2026- - giri di `book_execute`: 24/24 - eta' feed SKH all'ultimo giro: non misurata +## 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]` Libro **flat** su entrambe le gambe: nessun capitale a mercato. +- `[perche_flat]` Motivo, componente per componente — BTC: TP01 a zero (trend giu' o misto) e SKH01 senza breakout; ETH: TP01 a zero (trend giu' o misto) e SKH01 senza breakout. Per una strategia long-flat stare fuori **e'** una decisione. +- `[leva]` Leva lorda **0.00x** su un tetto di 1.00x (`max_notional_per_asset_frac` 0.50 x 2 asset, letto da `config/live.json`): margine 1.00x. +- `[pnl]` Equity $+0.00 **senza operare**: e' mark-to-market sulle posizioni gia' aperte. +- `[vol]` BTC: implicita 38.7 contro realizzata 30g 34.9 (sopra); DVOL al 10° pctl di un anno; IV-rank espandente 0.08 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[vol]` ETH: implicita 53.1 contro realizzata 30g 51.3 (sopra); DVOL al 6° pctl di un anno; IV-rank espandente 0.12 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[evidenza]` 📌 Campione a oggi: **12 giorni, 0 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. + ## Nota *(vuota — campo dell'operatore)* diff --git a/docs/journal/2026-07-06.md b/docs/journal/2026-07-06.md index 542823e..ee25ee5 100644 --- a/docs/journal/2026-07-06.md +++ b/docs/journal/2026-07-06.md @@ -1,6 +1,6 @@ # Giornale di bordo — 2026-07-06 -*Scritto 2026-08-23T13:08:27+00:00. Numeri misurati; nessuna interpretazione automatica.* +*Scritto 2026-08-23T13:34:11+00:00. Numeri misurati; nessuna interpretazione automatica.* ## Mercato @@ -29,6 +29,18 @@ Equity **$598.06** · nozionale lordo $0 · leva lorda 0.00x · barra dati 2026- - giri di `book_execute`: 24/24 - eta' feed SKH all'ultimo giro: non misurata +## 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]` Libro **flat** su entrambe le gambe: nessun capitale a mercato. +- `[perche_flat]` Motivo, componente per componente — BTC: TP01 a zero (trend giu' o misto) e SKH01 senza breakout; ETH: TP01 a zero (trend giu' o misto) e SKH01 senza breakout. Per una strategia long-flat stare fuori **e'** una decisione. +- `[leva]` Leva lorda **0.00x** su un tetto di 1.00x (`max_notional_per_asset_frac` 0.50 x 2 asset, letto da `config/live.json`): margine 1.00x. +- `[pnl]` Equity $+0.00 **senza operare**: e' mark-to-market sulle posizioni gia' aperte. +- `[vol]` BTC: implicita 37.3 contro realizzata 30g 34.8 (sopra); DVOL al 4° pctl di un anno; IV-rank espandente 0.05 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[vol]` ETH: implicita 52.6 contro realizzata 30g 51.1 (sopra); DVOL al 6° pctl di un anno; IV-rank espandente 0.11 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[evidenza]` 📌 Campione a oggi: **13 giorni, 0 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. + ## Nota *(vuota — campo dell'operatore)* diff --git a/docs/journal/2026-07-07.md b/docs/journal/2026-07-07.md index 79f6142..30cfe12 100644 --- a/docs/journal/2026-07-07.md +++ b/docs/journal/2026-07-07.md @@ -1,6 +1,6 @@ # Giornale di bordo — 2026-07-07 -*Scritto 2026-08-23T13:08:27+00:00. Numeri misurati; nessuna interpretazione automatica.* +*Scritto 2026-08-23T13:34:11+00:00. Numeri misurati; nessuna interpretazione automatica.* ## Mercato @@ -29,6 +29,18 @@ Equity **$598.06** · nozionale lordo $0 · leva lorda 0.00x · barra dati 2026- - giri di `book_execute`: 24/24 - eta' feed SKH all'ultimo giro: non misurata +## 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]` Libro **flat** su entrambe le gambe: nessun capitale a mercato. +- `[perche_flat]` Motivo, componente per componente — BTC: TP01 a zero (trend giu' o misto) e SKH01 senza breakout; ETH: TP01 a zero (trend giu' o misto) e SKH01 senza breakout. Per una strategia long-flat stare fuori **e'** una decisione. +- `[leva]` Leva lorda **0.00x** su un tetto di 1.00x (`max_notional_per_asset_frac` 0.50 x 2 asset, letto da `config/live.json`): margine 1.00x. +- `[pnl]` Equity $+0.00 **senza operare**: e' mark-to-market sulle posizioni gia' aperte. +- `[vol]` BTC: implicita 38.9 contro realizzata 30g 32.3 (sopra); DVOL al 12° pctl di un anno; IV-rank espandente 0.09 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[vol]` ETH: implicita 53.3 contro realizzata 30g 45.0 (sopra); DVOL al 7° pctl di un anno; IV-rank espandente 0.12 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[evidenza]` 📌 Campione a oggi: **14 giorni, 0 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. + ## Nota *(vuota — campo dell'operatore)* diff --git a/docs/journal/2026-07-08.md b/docs/journal/2026-07-08.md index 77d2732..4ee878a 100644 --- a/docs/journal/2026-07-08.md +++ b/docs/journal/2026-07-08.md @@ -1,6 +1,6 @@ # Giornale di bordo — 2026-07-08 -*Scritto 2026-08-23T13:08:27+00:00. Numeri misurati; nessuna interpretazione automatica.* +*Scritto 2026-08-23T13:34:11+00:00. Numeri misurati; nessuna interpretazione automatica.* ## Mercato @@ -29,6 +29,18 @@ Equity **$598.06** · nozionale lordo $0 · leva lorda 0.00x · barra dati 2026- - giri di `book_execute`: 24/24 - eta' feed SKH all'ultimo giro: non misurata +## 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]` Libro **flat** su entrambe le gambe: nessun capitale a mercato. +- `[perche_flat]` Motivo, componente per componente — BTC: TP01 a zero (trend giu' o misto) e SKH01 senza breakout; ETH: TP01 a zero (trend giu' o misto) e SKH01 senza breakout. Per una strategia long-flat stare fuori **e'** una decisione. +- `[leva]` Leva lorda **0.00x** su un tetto di 1.00x (`max_notional_per_asset_frac` 0.50 x 2 asset, letto da `config/live.json`): margine 1.00x. +- `[pnl]` Equity $+0.00 **senza operare**: e' mark-to-market sulle posizioni gia' aperte. +- `[vol]` BTC: implicita 39.5 contro realizzata 30g 32.8 (sopra); DVOL al 16° pctl di un anno; IV-rank espandente 0.11 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[vol]` ETH: implicita 53.4 contro realizzata 30g 45.4 (sopra); DVOL al 8° pctl di un anno; IV-rank espandente 0.12 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[evidenza]` 📌 Campione a oggi: **15 giorni, 0 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. + ## Nota *(vuota — campo dell'operatore)* diff --git a/docs/journal/2026-07-09.md b/docs/journal/2026-07-09.md index d0a6645..d3aba1e 100644 --- a/docs/journal/2026-07-09.md +++ b/docs/journal/2026-07-09.md @@ -1,6 +1,6 @@ # Giornale di bordo — 2026-07-09 -*Scritto 2026-08-23T13:08:27+00:00. Numeri misurati; nessuna interpretazione automatica.* +*Scritto 2026-08-23T13:34:11+00:00. Numeri misurati; nessuna interpretazione automatica.* ## Mercato @@ -29,6 +29,18 @@ Equity **$598.06** · nozionale lordo $0 · leva lorda 0.00x · barra dati 2026- - giri di `book_execute`: 24/24 - eta' feed SKH all'ultimo giro: non misurata +## 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]` Libro **flat** su entrambe le gambe: nessun capitale a mercato. +- `[perche_flat]` Motivo, componente per componente — BTC: TP01 a zero (trend giu' o misto) e SKH01 senza breakout; ETH: TP01 a zero (trend giu' o misto) e SKH01 senza breakout. Per una strategia long-flat stare fuori **e'** una decisione. +- `[leva]` Leva lorda **0.00x** su un tetto di 1.00x (`max_notional_per_asset_frac` 0.50 x 2 asset, letto da `config/live.json`): margine 1.00x. +- `[pnl]` Equity $+0.00 **senza operare**: e' mark-to-market sulle posizioni gia' aperte. +- `[vol]` BTC: implicita 37.3 contro realizzata 30g 32.3 (sopra); DVOL al 5° pctl di un anno; IV-rank espandente 0.05 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[vol]` ETH: implicita 52.0 contro realizzata 30g 43.9 (sopra); DVOL al 5° pctl di un anno; IV-rank espandente 0.11 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[evidenza]` 📌 Campione a oggi: **16 giorni, 0 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. + ## Nota *(vuota — campo dell'operatore)* diff --git a/docs/journal/2026-07-10.md b/docs/journal/2026-07-10.md index e3b9179..0dd9c19 100644 --- a/docs/journal/2026-07-10.md +++ b/docs/journal/2026-07-10.md @@ -1,6 +1,6 @@ # Giornale di bordo — 2026-07-10 -*Scritto 2026-08-23T13:08:27+00:00. Numeri misurati; nessuna interpretazione automatica.* +*Scritto 2026-08-23T13:34:12+00:00. Numeri misurati; nessuna interpretazione automatica.* ## Mercato @@ -29,6 +29,18 @@ Equity **$598.06** · nozionale lordo $0 · leva lorda 0.00x · barra dati 2026- - giri di `book_execute`: 24/24 - eta' feed SKH all'ultimo giro: non misurata +## 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]` Libro **flat** su entrambe le gambe: nessun capitale a mercato. +- `[perche_flat]` Motivo, componente per componente — BTC: TP01 a zero (trend giu' o misto) e SKH01 senza breakout; ETH: TP01 a zero (trend giu' o misto) e SKH01 senza breakout. Per una strategia long-flat stare fuori **e'** una decisione. +- `[leva]` Leva lorda **0.00x** su un tetto di 1.00x (`max_notional_per_asset_frac` 0.50 x 2 asset, letto da `config/live.json`): margine 1.00x. +- `[pnl]` Equity $+0.00 **senza operare**: e' mark-to-market sulle posizioni gia' aperte. +- `[vol]` BTC: implicita 36.2 contro realizzata 30g 32.6 (sopra); DVOL al 2° pctl di un anno; IV-rank espandente 0.03 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[vol]` ETH: implicita 49.8 contro realizzata 30g 44.7 (sopra); DVOL al 4° pctl di un anno; IV-rank espandente 0.10 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[evidenza]` 📌 Campione a oggi: **17 giorni, 0 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. + ## Nota *(vuota — campo dell'operatore)* diff --git a/docs/journal/2026-07-11.md b/docs/journal/2026-07-11.md index 0bb68b2..2eb29ff 100644 --- a/docs/journal/2026-07-11.md +++ b/docs/journal/2026-07-11.md @@ -1,6 +1,6 @@ # Giornale di bordo — 2026-07-11 -*Scritto 2026-08-23T13:08:27+00:00. Numeri misurati; nessuna interpretazione automatica.* +*Scritto 2026-08-23T13:34:12+00:00. Numeri misurati; nessuna interpretazione automatica.* ## Mercato @@ -29,6 +29,18 @@ Equity **$598.06** · nozionale lordo $0 · leva lorda 0.00x · barra dati 2026- - giri di `book_execute`: 24/24 - eta' feed SKH all'ultimo giro: non misurata +## 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]` Libro **flat** su entrambe le gambe: nessun capitale a mercato. +- `[perche_flat]` Motivo, componente per componente — BTC: TP01 a zero (trend giu' o misto) e SKH01 senza breakout; ETH: TP01 a zero (trend giu' o misto) e SKH01 senza breakout. Per una strategia long-flat stare fuori **e'** una decisione. +- `[leva]` Leva lorda **0.00x** su un tetto di 1.00x (`max_notional_per_asset_frac` 0.50 x 2 asset, letto da `config/live.json`): margine 1.00x. +- `[pnl]` Equity $+0.00 **senza operare**: e' mark-to-market sulle posizioni gia' aperte. +- `[vol]` BTC: implicita 36.8 contro realizzata 30g 30.5 (sopra); DVOL al 4° pctl di un anno; IV-rank espandente 0.04 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[vol]` ETH: implicita 50.6 contro realizzata 30g 43.7 (sopra); DVOL al 4° pctl di un anno; IV-rank espandente 0.10 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[evidenza]` 📌 Campione a oggi: **18 giorni, 0 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. + ## Nota *(vuota — campo dell'operatore)* diff --git a/docs/journal/2026-07-12.md b/docs/journal/2026-07-12.md index d7fe746..f1241d9 100644 --- a/docs/journal/2026-07-12.md +++ b/docs/journal/2026-07-12.md @@ -1,6 +1,6 @@ # Giornale di bordo — 2026-07-12 -*Scritto 2026-08-23T13:08:28+00:00. Numeri misurati; nessuna interpretazione automatica.* +*Scritto 2026-08-23T13:34:12+00:00. Numeri misurati; nessuna interpretazione automatica.* ## Mercato @@ -29,6 +29,18 @@ Equity **$598.06** · nozionale lordo $0 · leva lorda 0.00x · barra dati 2026- - giri di `book_execute`: 24/24 - eta' feed SKH all'ultimo giro: non misurata +## 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]` Libro **flat** su entrambe le gambe: nessun capitale a mercato. +- `[perche_flat]` Motivo, componente per componente — BTC: TP01 a zero (trend giu' o misto) e SKH01 senza breakout; ETH: TP01 a zero (trend giu' o misto) e SKH01 senza breakout. Per una strategia long-flat stare fuori **e'** una decisione. +- `[leva]` Leva lorda **0.00x** su un tetto di 1.00x (`max_notional_per_asset_frac` 0.50 x 2 asset, letto da `config/live.json`): margine 1.00x. +- `[pnl]` Equity $+0.00 **senza operare**: e' mark-to-market sulle posizioni gia' aperte. +- `[vol]` BTC: implicita 37.2 contro realizzata 30g 30.5 (sopra); DVOL al 5° pctl di un anno; IV-rank espandente 0.05 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[vol]` ETH: implicita 51.0 contro realizzata 30g 43.7 (sopra); DVOL al 5° pctl di un anno; IV-rank espandente 0.11 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[evidenza]` 📌 Campione a oggi: **19 giorni, 0 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. + ## Nota *(vuota — campo dell'operatore)* diff --git a/docs/journal/2026-07-13.md b/docs/journal/2026-07-13.md index 9f8759a..bfc5538 100644 --- a/docs/journal/2026-07-13.md +++ b/docs/journal/2026-07-13.md @@ -1,6 +1,6 @@ # Giornale di bordo — 2026-07-13 -*Scritto 2026-08-23T13:08:28+00:00. Numeri misurati; nessuna interpretazione automatica.* +*Scritto 2026-08-23T13:34:12+00:00. Numeri misurati; nessuna interpretazione automatica.* ## Mercato @@ -29,6 +29,18 @@ Equity **$598.06** · nozionale lordo $0 · leva lorda 0.00x · barra dati 2026- - giri di `book_execute`: 24/24 - eta' feed SKH all'ultimo giro: non misurata +## 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]` Libro **flat** su entrambe le gambe: nessun capitale a mercato. +- `[perche_flat]` Motivo, componente per componente — BTC: TP01 a zero (trend giu' o misto) e SKH01 senza breakout; ETH: TP01 a zero (trend giu' o misto) e SKH01 senza breakout. Per una strategia long-flat stare fuori **e'** una decisione. +- `[leva]` Leva lorda **0.00x** su un tetto di 1.00x (`max_notional_per_asset_frac` 0.50 x 2 asset, letto da `config/live.json`): margine 1.00x. +- `[pnl]` Equity $+0.00 **senza operare**: e' mark-to-market sulle posizioni gia' aperte. +- `[vol]` BTC: implicita 37.8 contro realizzata 30g 31.2 (sopra); DVOL al 8° pctl di un anno; IV-rank espandente 0.06 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[vol]` ETH: implicita 51.1 contro realizzata 30g 44.2 (sopra); DVOL al 6° pctl di un anno; IV-rank espandente 0.11 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[evidenza]` 📌 Campione a oggi: **20 giorni, 0 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. + ## Nota *(vuota — campo dell'operatore)* diff --git a/docs/journal/2026-07-14.md b/docs/journal/2026-07-14.md index 4cd93d4..18f5ca1 100644 --- a/docs/journal/2026-07-14.md +++ b/docs/journal/2026-07-14.md @@ -1,6 +1,6 @@ # Giornale di bordo — 2026-07-14 -*Scritto 2026-08-23T13:08:28+00:00. Numeri misurati; nessuna interpretazione automatica.* +*Scritto 2026-08-23T13:34:12+00:00. Numeri misurati; nessuna interpretazione automatica.* ## Mercato @@ -29,6 +29,19 @@ Equity **$598.49** · nozionale lordo $75 · leva lorda 0.13x · barra dati 2026 - giri di `book_execute`: 24/24 - eta' feed SKH all'ultimo giro: non misurata +## 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 ETH $+75 (TP01 +0.000, SKH01 long). +- `[leva]` Leva lorda **0.13x** su un tetto di 1.00x (`max_notional_per_asset_frac` 0.50 x 2 asset, letto da `config/live.json`): margine 0.87x. +- `[pnl]` Equity $+0.43 con 1 fill e 0 round-trip chiusi (realizzato $+0.00 netto). +- `[vol]` BTC: implicita 36.5 contro realizzata 30g 34.1 (sopra); DVOL al 3° pctl di un anno; IV-rank espandente 0.03 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[vol]` ETH: implicita 49.5 contro realizzata 30g 48.3 (sopra); DVOL al 3° pctl di un anno; IV-rank espandente 0.10 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[evento]` 📌 BTC: giornata a +4.41%, **2.5 deviazioni** giornaliere (sd implicita dalla RV30 = 1.78%). +- `[evento]` 📌 ETH: giornata a +6.42%, **2.5 deviazioni** giornaliere (sd implicita dalla RV30 = 2.53%). +- `[evidenza]` 📌 Campione a oggi: **21 giorni, 0 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. + ## Nota *(vuota — campo dell'operatore)* diff --git a/docs/journal/2026-07-15.md b/docs/journal/2026-07-15.md index f126816..fae8da4 100644 --- a/docs/journal/2026-07-15.md +++ b/docs/journal/2026-07-15.md @@ -1,6 +1,6 @@ # Giornale di bordo — 2026-07-15 -*Scritto 2026-08-23T13:08:28+00:00. Numeri misurati; nessuna interpretazione automatica.* +*Scritto 2026-08-23T13:34:12+00:00. Numeri misurati; nessuna interpretazione automatica.* ## Mercato @@ -29,6 +29,17 @@ Equity **$600.14** · nozionale lordo $77 · leva lorda 0.13x · barra dati 2026 - giri di `book_execute`: 24/24 - eta' feed SKH all'ultimo giro: non misurata +## 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 ETH $+77 (TP01 +0.000, SKH01 long). +- `[leva]` Leva lorda **0.13x** su un tetto di 1.00x (`max_notional_per_asset_frac` 0.50 x 2 asset, letto da `config/live.json`): margine 0.87x. +- `[pnl]` Equity $+1.65 **senza operare**: e' mark-to-market sulle posizioni gia' aperte. +- `[vol]` BTC: implicita 36.0 contro realizzata 30g 34.0 (sopra); DVOL al 1° pctl di un anno; IV-rank espandente 0.02 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[vol]` ETH: implicita 49.0 contro realizzata 30g 46.6 (sopra); DVOL al 2° pctl di un anno; IV-rank espandente 0.09 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[evidenza]` 📌 Campione a oggi: **22 giorni, 0 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. + ## Nota *(vuota — campo dell'operatore)* diff --git a/docs/journal/2026-07-16.md b/docs/journal/2026-07-16.md index 1aedb1d..9aabae7 100644 --- a/docs/journal/2026-07-16.md +++ b/docs/journal/2026-07-16.md @@ -1,6 +1,6 @@ # Giornale di bordo — 2026-07-16 -*Scritto 2026-08-23T13:08:28+00:00. Numeri misurati; nessuna interpretazione automatica.* +*Scritto 2026-08-23T13:34:12+00:00. Numeri misurati; nessuna interpretazione automatica.* ## Mercato @@ -29,6 +29,17 @@ Equity **$597.93** · nozionale lordo $75 · leva lorda 0.13x · barra dati 2026 - giri di `book_execute`: 24/24 - eta' feed SKH all'ultimo giro: non misurata +## 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 ETH $+75 (TP01 +0.000, SKH01 long). +- `[leva]` Leva lorda **0.13x** su un tetto di 1.00x (`max_notional_per_asset_frac` 0.50 x 2 asset, letto da `config/live.json`): margine 0.87x. +- `[pnl]` Equity $-2.21 **senza operare**: e' mark-to-market sulle posizioni gia' aperte. +- `[vol]` BTC: implicita 36.4 contro realizzata 30g 34.1 (sopra); DVOL al 3° pctl di un anno; IV-rank espandente 0.03 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[vol]` ETH: implicita 49.2 contro realizzata 30g 47.7 (sopra); DVOL al 2° pctl di un anno; IV-rank espandente 0.09 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[evidenza]` 📌 Campione a oggi: **23 giorni, 0 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. + ## Nota *(vuota — campo dell'operatore)* diff --git a/docs/journal/2026-07-17.md b/docs/journal/2026-07-17.md index f10bebd..948b216 100644 --- a/docs/journal/2026-07-17.md +++ b/docs/journal/2026-07-17.md @@ -1,6 +1,6 @@ # Giornale di bordo — 2026-07-17 -*Scritto 2026-08-23T13:08:28+00:00. Numeri misurati; nessuna interpretazione automatica.* +*Scritto 2026-08-23T13:34:12+00:00. Numeri misurati; nessuna interpretazione automatica.* ## Mercato @@ -29,6 +29,18 @@ Equity **$596.77** · nozionale lordo $74 · leva lorda 0.12x · barra dati 2026 - giri di `book_execute`: 24/24 - eta' feed SKH all'ultimo giro: non misurata +## 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 ETH $+74 (TP01 +0.000, SKH01 long). +- `[leva]` Leva lorda **0.12x** su un tetto di 1.00x (`max_notional_per_asset_frac` 0.50 x 2 asset, letto da `config/live.json`): margine 0.88x. +- `[pnl]` Equity $-1.16 **senza operare**: e' mark-to-market sulle posizioni gia' aperte. +- `[drawdown]` 📌 Equity **-0.63%** sotto il picco ($600.53). ⚠️ e' un DD su letture ORARIE, non sul minimo intra-giorno. +- `[vol]` BTC: implicita 36.3 contro realizzata 30g 33.6 (sopra); DVOL al 3° pctl di un anno; IV-rank espandente 0.03 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[vol]` ETH: implicita 49.0 contro realizzata 30g 47.1 (sopra); DVOL al 2° pctl di un anno; IV-rank espandente 0.09 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[evidenza]` 📌 Campione a oggi: **24 giorni, 0 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. + ## Nota *(vuota — campo dell'operatore)* diff --git a/docs/journal/2026-07-18.md b/docs/journal/2026-07-18.md index 17c9811..2cfb7bd 100644 --- a/docs/journal/2026-07-18.md +++ b/docs/journal/2026-07-18.md @@ -1,6 +1,6 @@ # Giornale di bordo — 2026-07-18 -*Scritto 2026-08-23T13:08:28+00:00. Numeri misurati; nessuna interpretazione automatica.* +*Scritto 2026-08-23T13:34:12+00:00. Numeri misurati; nessuna interpretazione automatica.* ## Mercato @@ -29,6 +29,19 @@ Equity **$596.92** · nozionale lordo $0 · leva lorda 0.00x · barra dati 2026- - giri di `book_execute`: 24/24 - eta' feed SKH all'ultimo giro: non misurata +## 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]` Libro **flat** su entrambe le gambe: nessun capitale a mercato. +- `[perche_flat]` Motivo, componente per componente — BTC: TP01 a zero (trend giu' o misto) e SKH01 senza breakout; ETH: TP01 a zero (trend giu' o misto) e SKH01 senza breakout. Per una strategia long-flat stare fuori **e'** una decisione. +- `[leva]` Leva lorda **0.00x** su un tetto di 1.00x (`max_notional_per_asset_frac` 0.50 x 2 asset, letto da `config/live.json`): margine 1.00x. +- `[pnl]` Equity $+0.15 con 1 fill e 1 round-trip chiusi (realizzato $-1.10 netto). +- `[drawdown]` 📌 Equity **-0.60%** sotto il picco ($600.53). ⚠️ e' un DD su letture ORARIE, non sul minimo intra-giorno. +- `[vol]` BTC: implicita 35.7 contro realizzata 30g 32.8 (sopra); DVOL al 1° pctl di un anno; IV-rank espandente 0.02 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[vol]` ETH: implicita 49.3 contro realizzata 30g 46.4 (sopra); DVOL al 4° pctl di un anno; IV-rank espandente 0.10 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[evidenza]` 📌 Campione a oggi: **25 giorni, 1 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. + ## Nota *(vuota — campo dell'operatore)* diff --git a/docs/journal/2026-07-19.md b/docs/journal/2026-07-19.md index 45a73b8..773bbf8 100644 --- a/docs/journal/2026-07-19.md +++ b/docs/journal/2026-07-19.md @@ -1,6 +1,6 @@ # Giornale di bordo — 2026-07-19 -*Scritto 2026-08-23T13:08:28+00:00. Numeri misurati; nessuna interpretazione automatica.* +*Scritto 2026-08-23T13:34:13+00:00. Numeri misurati; nessuna interpretazione automatica.* ## Mercato @@ -29,6 +29,19 @@ Equity **$596.92** · nozionale lordo $0 · leva lorda 0.00x · barra dati 2026- - giri di `book_execute`: 24/24 - eta' feed SKH all'ultimo giro: non misurata +## 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]` Libro **flat** su entrambe le gambe: nessun capitale a mercato. +- `[perche_flat]` Motivo, componente per componente — BTC: TP01 a zero (trend giu' o misto) e SKH01 senza breakout; ETH: TP01 a zero (trend giu' o misto) e SKH01 senza breakout. Per una strategia long-flat stare fuori **e'** una decisione. +- `[leva]` Leva lorda **0.00x** su un tetto di 1.00x (`max_notional_per_asset_frac` 0.50 x 2 asset, letto da `config/live.json`): margine 1.00x. +- `[pnl]` Equity $+0.00 **senza operare**: e' mark-to-market sulle posizioni gia' aperte. +- `[drawdown]` 📌 Equity **-0.60%** sotto il picco ($600.53). ⚠️ e' un DD su letture ORARIE, non sul minimo intra-giorno. +- `[vol]` BTC: implicita 36.1 contro realizzata 30g 32.7 (sopra); DVOL al 3° pctl di un anno; IV-rank espandente 0.03 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[vol]` ETH: implicita 49.7 contro realizzata 30g 46.4 (sopra); DVOL al 6° pctl di un anno; IV-rank espandente 0.10 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[evidenza]` 📌 Campione a oggi: **26 giorni, 1 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. + ## Nota *(vuota — campo dell'operatore)* diff --git a/docs/journal/2026-07-20.md b/docs/journal/2026-07-20.md index 8427558..e02747b 100644 --- a/docs/journal/2026-07-20.md +++ b/docs/journal/2026-07-20.md @@ -1,6 +1,6 @@ # Giornale di bordo — 2026-07-20 -*Scritto 2026-08-23T13:08:28+00:00. Numeri misurati; nessuna interpretazione automatica.* +*Scritto 2026-08-23T13:34:13+00:00. Numeri misurati; nessuna interpretazione automatica.* ## Mercato @@ -29,6 +29,19 @@ Equity **$596.92** · nozionale lordo $0 · leva lorda 0.00x · barra dati 2026- - giri di `book_execute`: 24/24 - eta' feed SKH all'ultimo giro: non misurata +## 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]` Libro **flat** su entrambe le gambe: nessun capitale a mercato. +- `[perche_flat]` Motivo, componente per componente — BTC: TP01 a zero (trend giu' o misto) e SKH01 senza breakout; ETH: TP01 a zero (trend giu' o misto) e SKH01 senza breakout. Per una strategia long-flat stare fuori **e'** una decisione. +- `[leva]` Leva lorda **0.00x** su un tetto di 1.00x (`max_notional_per_asset_frac` 0.50 x 2 asset, letto da `config/live.json`): margine 1.00x. +- `[pnl]` Equity $+0.00 **senza operare**: e' mark-to-market sulle posizioni gia' aperte. +- `[drawdown]` 📌 Equity **-0.60%** sotto il picco ($600.53). ⚠️ e' un DD su letture ORARIE, non sul minimo intra-giorno. +- `[vol]` BTC: implicita 36.3 contro realizzata 30g 32.5 (sopra); DVOL al 4° pctl di un anno; IV-rank espandente 0.03 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[vol]` ETH: implicita 50.4 contro realizzata 30g 46.4 (sopra); DVOL al 7° pctl di un anno; IV-rank espandente 0.11 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[evidenza]` 📌 Campione a oggi: **27 giorni, 1 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. + ## Nota *(vuota — campo dell'operatore)* diff --git a/docs/journal/2026-07-21.md b/docs/journal/2026-07-21.md index 9259d5b..ce7c316 100644 --- a/docs/journal/2026-07-21.md +++ b/docs/journal/2026-07-21.md @@ -1,6 +1,6 @@ # Giornale di bordo — 2026-07-21 -*Scritto 2026-08-23T13:08:29+00:00. Numeri misurati; nessuna interpretazione automatica.* +*Scritto 2026-08-23T13:34:13+00:00. Numeri misurati; nessuna interpretazione automatica.* ## Mercato @@ -29,6 +29,19 @@ Equity **$596.92** · nozionale lordo $0 · leva lorda 0.00x · barra dati 2026- - giri di `book_execute`: 24/24 - eta' feed SKH all'ultimo giro: non misurata +## 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]` Libro **flat** su entrambe le gambe: nessun capitale a mercato. +- `[perche_flat]` Motivo, componente per componente — BTC: TP01 a zero (trend giu' o misto) e SKH01 senza breakout; ETH: TP01 a zero (trend giu' o misto) e SKH01 senza breakout. Per una strategia long-flat stare fuori **e'** una decisione. +- `[leva]` Leva lorda **0.00x** su un tetto di 1.00x (`max_notional_per_asset_frac` 0.50 x 2 asset, letto da `config/live.json`): margine 1.00x. +- `[pnl]` Equity $+0.00 **senza operare**: e' mark-to-market sulle posizioni gia' aperte. +- `[drawdown]` 📌 Equity **-0.60%** sotto il picco ($600.53). ⚠️ e' un DD su letture ORARIE, non sul minimo intra-giorno. +- `[vol]` BTC: implicita 37.3 contro realizzata 30g 32.7 (sopra); DVOL al 10° pctl di un anno; IV-rank espandente 0.06 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[vol]` ETH: implicita 51.0 contro realizzata 30g 45.8 (sopra); DVOL al 8° pctl di un anno; IV-rank espandente 0.11 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[evidenza]` 📌 Campione a oggi: **28 giorni, 1 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. + ## Nota *(vuota — campo dell'operatore)* diff --git a/docs/journal/2026-07-22.md b/docs/journal/2026-07-22.md index cc99bcf..ef2bf00 100644 --- a/docs/journal/2026-07-22.md +++ b/docs/journal/2026-07-22.md @@ -1,6 +1,6 @@ # Giornale di bordo — 2026-07-22 -*Scritto 2026-08-23T13:08:29+00:00. Numeri misurati; nessuna interpretazione automatica.* +*Scritto 2026-08-23T13:34:13+00:00. Numeri misurati; nessuna interpretazione automatica.* ## Mercato @@ -29,6 +29,19 @@ Equity **$596.92** · nozionale lordo $0 · leva lorda 0.00x · barra dati 2026- - giri di `book_execute`: 24/24 - eta' feed SKH all'ultimo giro: non misurata +## 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]` Libro **flat** su entrambe le gambe: nessun capitale a mercato. +- `[perche_flat]` Motivo, componente per componente — BTC: TP01 a zero (trend giu' o misto) e SKH01 senza breakout; ETH: TP01 a zero (trend giu' o misto) e SKH01 senza breakout. Per una strategia long-flat stare fuori **e'** una decisione. +- `[leva]` Leva lorda **0.00x** su un tetto di 1.00x (`max_notional_per_asset_frac` 0.50 x 2 asset, letto da `config/live.json`): margine 1.00x. +- `[pnl]` Equity $+0.00 **senza operare**: e' mark-to-market sulle posizioni gia' aperte. +- `[drawdown]` 📌 Equity **-0.60%** sotto il picco ($600.53). ⚠️ e' un DD su letture ORARIE, non sul minimo intra-giorno. +- `[vol]` BTC: implicita 38.0 contro realizzata 30g 32.6 (sopra); DVOL al 12° pctl di un anno; IV-rank espandente 0.07 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[vol]` ETH: implicita 51.6 contro realizzata 30g 45.7 (sopra); DVOL al 10° pctl di un anno; IV-rank espandente 0.12 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[evidenza]` 📌 Campione a oggi: **29 giorni, 1 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. + ## Nota *(vuota — campo dell'operatore)* diff --git a/docs/journal/2026-07-23.md b/docs/journal/2026-07-23.md index 80ac49d..29fff8f 100644 --- a/docs/journal/2026-07-23.md +++ b/docs/journal/2026-07-23.md @@ -1,6 +1,6 @@ # Giornale di bordo — 2026-07-23 -*Scritto 2026-08-23T13:08:29+00:00. Numeri misurati; nessuna interpretazione automatica.* +*Scritto 2026-08-23T13:34:13+00:00. Numeri misurati; nessuna interpretazione automatica.* ## Mercato @@ -29,6 +29,19 @@ Equity **$596.92** · nozionale lordo $0 · leva lorda 0.00x · barra dati 2026- - giri di `book_execute`: 24/24 - eta' feed SKH all'ultimo giro: non misurata +## 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]` Libro **flat** su entrambe le gambe: nessun capitale a mercato. +- `[perche_flat]` Motivo, componente per componente — BTC: TP01 a zero (trend giu' o misto) e SKH01 senza breakout; ETH: TP01 a zero (trend giu' o misto) e SKH01 senza breakout. Per una strategia long-flat stare fuori **e'** una decisione. +- `[leva]` Leva lorda **0.00x** su un tetto di 1.00x (`max_notional_per_asset_frac` 0.50 x 2 asset, letto da `config/live.json`): margine 1.00x. +- `[pnl]` Equity $+0.00 **senza operare**: e' mark-to-market sulle posizioni gia' aperte. +- `[drawdown]` 📌 Equity **-0.60%** sotto il picco ($600.53). ⚠️ e' un DD su letture ORARIE, non sul minimo intra-giorno. +- `[vol]` BTC: implicita 38.5 contro realizzata 30g 32.3 (sopra); DVOL al 14° pctl di un anno; IV-rank espandente 0.08 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[vol]` ETH: implicita 51.6 contro realizzata 30g 45.1 (sopra); DVOL al 10° pctl di un anno; IV-rank espandente 0.12 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[evidenza]` 📌 Campione a oggi: **30 giorni, 1 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. + ## Nota *(vuota — campo dell'operatore)* diff --git a/docs/journal/2026-07-24.md b/docs/journal/2026-07-24.md index 83c8947..f34466b 100644 --- a/docs/journal/2026-07-24.md +++ b/docs/journal/2026-07-24.md @@ -1,6 +1,6 @@ # Giornale di bordo — 2026-07-24 -*Scritto 2026-08-23T13:08:29+00:00. Numeri misurati; nessuna interpretazione automatica.* +*Scritto 2026-08-23T13:34:13+00:00. Numeri misurati; nessuna interpretazione automatica.* ## Mercato @@ -29,6 +29,19 @@ Equity **$596.92** · nozionale lordo $0 · leva lorda 0.00x · barra dati 2026- - giri di `book_execute`: 24/24 - eta' feed SKH all'ultimo giro: non misurata +## 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]` Libro **flat** su entrambe le gambe: nessun capitale a mercato. +- `[perche_flat]` Motivo, componente per componente — BTC: TP01 a zero (trend giu' o misto) e SKH01 senza breakout; ETH: TP01 a zero (trend giu' o misto) e SKH01 senza breakout. Per una strategia long-flat stare fuori **e'** una decisione. +- `[leva]` Leva lorda **0.00x** su un tetto di 1.00x (`max_notional_per_asset_frac` 0.50 x 2 asset, letto da `config/live.json`): margine 1.00x. +- `[pnl]` Equity $+0.00 **senza operare**: e' mark-to-market sulle posizioni gia' aperte. +- `[drawdown]` 📌 Equity **-0.60%** sotto il picco ($600.53). ⚠️ e' un DD su letture ORARIE, non sul minimo intra-giorno. +- `[vol]` BTC: implicita 37.0 contro realizzata 30g 31.1 (sopra); DVOL al 7° pctl di un anno; IV-rank espandente 0.05 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[vol]` ETH: implicita 50.5 contro realizzata 30g 43.9 (sopra); DVOL al 7° pctl di un anno; IV-rank espandente 0.11 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[evidenza]` 📌 Campione a oggi: **31 giorni, 1 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. + ## Nota *(vuota — campo dell'operatore)* diff --git a/docs/journal/2026-07-25.md b/docs/journal/2026-07-25.md index 397f2aa..b396e2b 100644 --- a/docs/journal/2026-07-25.md +++ b/docs/journal/2026-07-25.md @@ -1,6 +1,6 @@ # Giornale di bordo — 2026-07-25 -*Scritto 2026-08-23T13:08:29+00:00. Numeri misurati; nessuna interpretazione automatica.* +*Scritto 2026-08-23T13:34:13+00:00. Numeri misurati; nessuna interpretazione automatica.* ## Mercato @@ -29,6 +29,19 @@ Equity **$596.92** · nozionale lordo $0 · leva lorda 0.00x · barra dati 2026- - 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]` Libro **flat** su entrambe le gambe: nessun capitale a mercato. +- `[perche_flat]` Motivo, componente per componente — BTC: TP01 a zero (trend giu' o misto) e SKH01 senza breakout; ETH: TP01 a zero (trend giu' o misto) e SKH01 senza breakout. Per una strategia long-flat stare fuori **e'** una decisione. +- `[leva]` Leva lorda **0.00x** su un tetto di 1.00x (`max_notional_per_asset_frac` 0.50 x 2 asset, letto da `config/live.json`): margine 1.00x. +- `[pnl]` Equity $+0.00 **senza operare**: e' mark-to-market sulle posizioni gia' aperte. +- `[drawdown]` 📌 Equity **-0.60%** sotto il picco ($600.53). ⚠️ e' un DD su letture ORARIE, non sul minimo intra-giorno. +- `[vol]` BTC: implicita 37.7 contro realizzata 30g 30.0 (sopra); DVOL al 11° pctl di un anno; IV-rank espandente 0.06 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[vol]` ETH: implicita 51.5 contro realizzata 30g 41.5 (sopra); DVOL al 10° pctl di un anno; IV-rank espandente 0.12 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[evidenza]` 📌 Campione a oggi: **32 giorni, 1 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. + ## Nota *(vuota — campo dell'operatore)* diff --git a/docs/journal/2026-07-26.md b/docs/journal/2026-07-26.md index 9681441..40a4833 100644 --- a/docs/journal/2026-07-26.md +++ b/docs/journal/2026-07-26.md @@ -1,6 +1,6 @@ # Giornale di bordo — 2026-07-26 -*Scritto 2026-08-23T13:08:29+00:00. Numeri misurati; nessuna interpretazione automatica.* +*Scritto 2026-08-23T13:34:13+00:00. Numeri misurati; nessuna interpretazione automatica.* ## Mercato @@ -29,6 +29,19 @@ Equity **$596.92** · nozionale lordo $0 · leva lorda 0.00x · barra dati 2026- - 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]` Libro **flat** su entrambe le gambe: nessun capitale a mercato. +- `[perche_flat]` Motivo, componente per componente — BTC: TP01 a zero (trend giu' o misto) e SKH01 senza breakout; ETH: TP01 a zero (trend giu' o misto) e SKH01 senza breakout. Per una strategia long-flat stare fuori **e'** una decisione. +- `[leva]` Leva lorda **0.00x** su un tetto di 1.00x (`max_notional_per_asset_frac` 0.50 x 2 asset, letto da `config/live.json`): margine 1.00x. +- `[pnl]` Equity $+0.00 **senza operare**: e' mark-to-market sulle posizioni gia' aperte. +- `[drawdown]` 📌 Equity **-0.60%** sotto il picco ($600.53). ⚠️ e' un DD su letture ORARIE, non sul minimo intra-giorno. +- `[vol]` BTC: implicita 37.3 contro realizzata 30g 30.4 (sopra); DVOL al 10° pctl di un anno; IV-rank espandente 0.06 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[vol]` ETH: implicita 51.7 contro realizzata 30g 43.4 (sopra); DVOL al 11° pctl di un anno; IV-rank espandente 0.12 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[evidenza]` 📌 Campione a oggi: **33 giorni, 1 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. + ## Nota *(vuota — campo dell'operatore)* diff --git a/docs/journal/2026-07-27.md b/docs/journal/2026-07-27.md index 68bd946..4913476 100644 --- a/docs/journal/2026-07-27.md +++ b/docs/journal/2026-07-27.md @@ -1,6 +1,6 @@ # Giornale di bordo — 2026-07-27 -*Scritto 2026-08-23T13:08:29+00:00. Numeri misurati; nessuna interpretazione automatica.* +*Scritto 2026-08-23T13:34:13+00:00. Numeri misurati; nessuna interpretazione automatica.* ## Mercato @@ -29,6 +29,19 @@ Equity **$596.92** · nozionale lordo $0 · leva lorda 0.00x · barra dati 2026- - 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]` Libro **flat** su entrambe le gambe: nessun capitale a mercato. +- `[perche_flat]` Motivo, componente per componente — BTC: TP01 a zero (trend giu' o misto) e SKH01 senza breakout; ETH: TP01 a zero (trend giu' o misto) e SKH01 senza breakout. Per una strategia long-flat stare fuori **e'** una decisione. +- `[leva]` Leva lorda **0.00x** su un tetto di 1.00x (`max_notional_per_asset_frac` 0.50 x 2 asset, letto da `config/live.json`): margine 1.00x. +- `[pnl]` Equity $+0.00 **senza operare**: e' mark-to-market sulle posizioni gia' aperte. +- `[drawdown]` 📌 Equity **-0.60%** sotto il picco ($600.53). ⚠️ e' un DD su letture ORARIE, non sul minimo intra-giorno. +- `[vol]` BTC: implicita 37.5 contro realizzata 30g 31.9 (sopra); DVOL al 11° pctl di un anno; IV-rank espandente 0.06 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[vol]` ETH: implicita 51.9 contro realizzata 30g 45.4 (sopra); DVOL al 12° pctl di un anno; IV-rank espandente 0.12 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[evidenza]` 📌 Campione a oggi: **34 giorni, 1 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. + ## Nota *(vuota — campo dell'operatore)* diff --git a/docs/journal/2026-07-28.md b/docs/journal/2026-07-28.md index 933c0a8..20f040e 100644 --- a/docs/journal/2026-07-28.md +++ b/docs/journal/2026-07-28.md @@ -1,6 +1,6 @@ # Giornale di bordo — 2026-07-28 -*Scritto 2026-08-23T13:08:29+00:00. Numeri misurati; nessuna interpretazione automatica.* +*Scritto 2026-08-23T13:34:14+00:00. Numeri misurati; nessuna interpretazione automatica.* ## Mercato @@ -28,6 +28,19 @@ Equity **$596.92** · nozionale lordo $0 · leva lorda 0.00x · barra dati 2026- - 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]` Libro **flat** su entrambe le gambe: nessun capitale a mercato. +- `[perche_flat]` Motivo, componente per componente — BTC: TP01 a zero (trend giu' o misto) e SKH01 senza breakout. Per una strategia long-flat stare fuori **e'** una decisione. +- `[leva]` Leva lorda **0.00x** su un tetto di 0.50x (`max_notional_per_asset_frac` 0.50 x 1 asset, letto da `config/live.json`): margine 0.50x. +- `[pnl]` Equity $+0.00 **senza operare**: e' mark-to-market sulle posizioni gia' aperte. +- `[drawdown]` 📌 Equity **-0.60%** sotto il picco ($600.53). ⚠️ e' un DD su letture ORARIE, non sul minimo intra-giorno. +- `[vol]` BTC: implicita 37.2 contro realizzata 30g 31.7 (sopra); DVOL al 8° pctl di un anno; IV-rank espandente 0.05 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[vol]` ETH: implicita 53.0 contro realizzata 30g 45.5 (sopra); DVOL al 14° pctl di un anno; IV-rank espandente 0.12 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[evidenza]` 📌 Campione a oggi: **35 giorni, 1 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. + ## Nota *(vuota — campo dell'operatore)* diff --git a/docs/journal/2026-07-29.md b/docs/journal/2026-07-29.md index d11e705..91b6599 100644 --- a/docs/journal/2026-07-29.md +++ b/docs/journal/2026-07-29.md @@ -1,6 +1,6 @@ # Giornale di bordo — 2026-07-29 -*Scritto 2026-08-23T13:08:29+00:00. Numeri misurati; nessuna interpretazione automatica.* +*Scritto 2026-08-23T13:34:14+00:00. Numeri misurati; nessuna interpretazione automatica.* ## Mercato @@ -29,6 +29,19 @@ Equity **$596.92** · nozionale lordo $0 · leva lorda 0.00x · barra dati 2026- - 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]` Libro **flat** su entrambe le gambe: nessun capitale a mercato. +- `[perche_flat]` Motivo, componente per componente — BTC: TP01 a zero (trend giu' o misto) e SKH01 senza breakout; ETH: TP01 a zero (trend giu' o misto) e SKH01 senza breakout. Per una strategia long-flat stare fuori **e'** una decisione. +- `[leva]` Leva lorda **0.00x** su un tetto di 1.00x (`max_notional_per_asset_frac` 0.50 x 2 asset, letto da `config/live.json`): margine 1.00x. +- `[pnl]` Equity $+0.00 **senza operare**: e' mark-to-market sulle posizioni gia' aperte. +- `[drawdown]` 📌 Equity **-0.60%** sotto il picco ($600.53). ⚠️ e' un DD su letture ORARIE, non sul minimo intra-giorno. +- `[vol]` BTC: implicita 37.5 contro realizzata 30g 31.6 (sopra); DVOL al 11° pctl di un anno; IV-rank espandente 0.06 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[vol]` ETH: implicita 52.5 contro realizzata 30g 45.1 (sopra); DVOL al 13° pctl di un anno; IV-rank espandente 0.12 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[evidenza]` 📌 Campione a oggi: **36 giorni, 1 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. + ## Nota *(vuota — campo dell'operatore)* diff --git a/docs/journal/2026-07-30.md b/docs/journal/2026-07-30.md index 2397d44..bf23ec3 100644 --- a/docs/journal/2026-07-30.md +++ b/docs/journal/2026-07-30.md @@ -1,6 +1,6 @@ # Giornale di bordo — 2026-07-30 -*Scritto 2026-08-23T13:08:30+00:00. Numeri misurati; nessuna interpretazione automatica.* +*Scritto 2026-08-23T13:34:14+00:00. Numeri misurati; nessuna interpretazione automatica.* ## Mercato @@ -29,6 +29,19 @@ Equity **$596.92** · nozionale lordo $0 · leva lorda 0.00x · barra dati 2026- - 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]` Libro **flat** su entrambe le gambe: nessun capitale a mercato. +- `[perche_flat]` Motivo, componente per componente — BTC: TP01 a zero (trend giu' o misto) e SKH01 senza breakout; ETH: TP01 a zero (trend giu' o misto) e SKH01 senza breakout. Per una strategia long-flat stare fuori **e'** una decisione. +- `[leva]` Leva lorda **0.00x** su un tetto di 1.00x (`max_notional_per_asset_frac` 0.50 x 2 asset, letto da `config/live.json`): margine 1.00x. +- `[pnl]` Equity $+0.00 **senza operare**: e' mark-to-market sulle posizioni gia' aperte. +- `[drawdown]` 📌 Equity **-0.60%** sotto il picco ($600.53). ⚠️ e' un DD su letture ORARIE, non sul minimo intra-giorno. +- `[vol]` BTC: implicita 35.5 contro realizzata 30g 30.0 (sopra); DVOL al 1° pctl di un anno; IV-rank espandente 0.02 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[vol]` ETH: implicita 50.7 contro realizzata 30g 43.7 (sopra); DVOL al 8° pctl di un anno; IV-rank espandente 0.11 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[evidenza]` 📌 Campione a oggi: **37 giorni, 1 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. + ## Nota *(vuota — campo dell'operatore)* diff --git a/docs/journal/2026-07-31.md b/docs/journal/2026-07-31.md index f237c10..39d17d6 100644 --- a/docs/journal/2026-07-31.md +++ b/docs/journal/2026-07-31.md @@ -1,6 +1,6 @@ # Giornale di bordo — 2026-07-31 -*Scritto 2026-08-23T13:08:30+00:00. Numeri misurati; nessuna interpretazione automatica.* +*Scritto 2026-08-23T13:34:14+00:00. Numeri misurati; nessuna interpretazione automatica.* ## Mercato @@ -29,6 +29,19 @@ Equity **$596.92** · nozionale lordo $0 · leva lorda 0.00x · barra dati 2026- - 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]` Libro **flat** su entrambe le gambe: nessun capitale a mercato. +- `[perche_flat]` Motivo, componente per componente — BTC: TP01 a zero (trend giu' o misto) e SKH01 senza breakout; ETH: TP01 a zero (trend giu' o misto) e SKH01 senza breakout. Per una strategia long-flat stare fuori **e'** una decisione. +- `[leva]` Leva lorda **0.00x** su un tetto di 1.00x (`max_notional_per_asset_frac` 0.50 x 2 asset, letto da `config/live.json`): margine 1.00x. +- `[pnl]` Equity $+0.00 **senza operare**: e' mark-to-market sulle posizioni gia' aperte. +- `[drawdown]` 📌 Equity **-0.60%** sotto il picco ($600.53). ⚠️ e' un DD su letture ORARIE, non sul minimo intra-giorno. +- `[vol]` BTC: implicita 35.6 contro realizzata 30g 31.2 (sopra); DVOL al 1° pctl di un anno; IV-rank espandente 0.02 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[vol]` ETH: implicita 50.2 contro realizzata 30g 45.0 (sopra); DVOL al 6° pctl di un anno; IV-rank espandente 0.10 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[evidenza]` 📌 Campione a oggi: **38 giorni, 1 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. + ## Nota *(vuota — campo dell'operatore)* diff --git a/docs/journal/2026-08-01.md b/docs/journal/2026-08-01.md index 03712d1..b14d70a 100644 --- a/docs/journal/2026-08-01.md +++ b/docs/journal/2026-08-01.md @@ -1,6 +1,6 @@ # Giornale di bordo — 2026-08-01 -*Scritto 2026-08-23T13:08:30+00:00. Numeri misurati; nessuna interpretazione automatica.* +*Scritto 2026-08-23T13:34:14+00:00. Numeri misurati; nessuna interpretazione automatica.* ## Mercato @@ -29,6 +29,19 @@ Equity **$596.92** · nozionale lordo $0 · leva lorda 0.00x · barra dati 2026- - 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]` Libro **flat** su entrambe le gambe: nessun capitale a mercato. +- `[perche_flat]` Motivo, componente per componente — BTC: TP01 a zero (trend giu' o misto) e SKH01 senza breakout; ETH: TP01 a zero (trend giu' o misto) e SKH01 senza breakout. Per una strategia long-flat stare fuori **e'** una decisione. +- `[leva]` Leva lorda **0.00x** su un tetto di 1.00x (`max_notional_per_asset_frac` 0.50 x 2 asset, letto da `config/live.json`): margine 1.00x. +- `[pnl]` Equity $+0.00 **senza operare**: e' mark-to-market sulle posizioni gia' aperte. +- `[drawdown]` 📌 Equity **-0.60%** sotto il picco ($600.53). ⚠️ e' un DD su letture ORARIE, non sul minimo intra-giorno. +- `[vol]` BTC: implicita 35.5 contro realizzata 30g 29.9 (sopra); DVOL al 1° pctl di un anno; IV-rank espandente 0.02 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[vol]` ETH: implicita 50.8 contro realizzata 30g 41.5 (sopra); DVOL al 9° pctl di un anno; IV-rank espandente 0.11 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[evidenza]` 📌 Campione a oggi: **39 giorni, 1 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. + ## Nota *(vuota — campo dell'operatore)* diff --git a/docs/journal/2026-08-02.md b/docs/journal/2026-08-02.md index 32b069d..4ac6421 100644 --- a/docs/journal/2026-08-02.md +++ b/docs/journal/2026-08-02.md @@ -1,6 +1,6 @@ # Giornale di bordo — 2026-08-02 -*Scritto 2026-08-23T13:08:30+00:00. Numeri misurati; nessuna interpretazione automatica.* +*Scritto 2026-08-23T13:34:14+00:00. Numeri misurati; nessuna interpretazione automatica.* ## Mercato @@ -29,6 +29,19 @@ Equity **$596.92** · nozionale lordo $0 · leva lorda 0.00x · barra dati 2026- - 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]` Libro **flat** su entrambe le gambe: nessun capitale a mercato. +- `[perche_flat]` Motivo, componente per componente — BTC: TP01 a zero (trend giu' o misto) e SKH01 senza breakout; ETH: TP01 a zero (trend giu' o misto) e SKH01 senza breakout. Per una strategia long-flat stare fuori **e'** una decisione. +- `[leva]` Leva lorda **0.00x** su un tetto di 1.00x (`max_notional_per_asset_frac` 0.50 x 2 asset, letto da `config/live.json`): margine 1.00x. +- `[pnl]` Equity $+0.00 **senza operare**: e' mark-to-market sulle posizioni gia' aperte. +- `[drawdown]` 📌 Equity **-0.60%** sotto il picco ($600.53). ⚠️ e' un DD su letture ORARIE, non sul minimo intra-giorno. +- `[vol]` BTC: implicita 35.0 contro realizzata 30g 29.7 (sopra); DVOL al 0° pctl di un anno; IV-rank espandente 0.01 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[vol]` ETH: implicita 49.7 contro realizzata 30g 40.5 (sopra); DVOL al 6° pctl di un anno; IV-rank espandente 0.10 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[evidenza]` 📌 Campione a oggi: **40 giorni, 1 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. + ## Nota *(vuota — campo dell'operatore)* diff --git a/docs/journal/2026-08-03.md b/docs/journal/2026-08-03.md index 15d572a..ebdac6a 100644 --- a/docs/journal/2026-08-03.md +++ b/docs/journal/2026-08-03.md @@ -1,6 +1,6 @@ # Giornale di bordo — 2026-08-03 -*Scritto 2026-08-23T13:08:30+00:00. Numeri misurati; nessuna interpretazione automatica.* +*Scritto 2026-08-23T13:34:14+00:00. Numeri misurati; nessuna interpretazione automatica.* ## Mercato @@ -29,6 +29,19 @@ Equity **$596.92** · nozionale lordo $0 · leva lorda 0.00x · barra dati 2026- - 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]` Libro **flat** su entrambe le gambe: nessun capitale a mercato. +- `[perche_flat]` Motivo, componente per componente — BTC: TP01 a zero (trend giu' o misto) e SKH01 senza breakout; ETH: TP01 a zero (trend giu' o misto) e SKH01 senza breakout. Per una strategia long-flat stare fuori **e'** una decisione. +- `[leva]` Leva lorda **0.00x** su un tetto di 1.00x (`max_notional_per_asset_frac` 0.50 x 2 asset, letto da `config/live.json`): margine 1.00x. +- `[pnl]` Equity $+0.00 **senza operare**: e' mark-to-market sulle posizioni gia' aperte. +- `[drawdown]` 📌 Equity **-0.60%** sotto il picco ($600.53). ⚠️ e' un DD su letture ORARIE, non sul minimo intra-giorno. +- `[vol]` BTC: implicita 34.8 contro realizzata 30g 29.5 (sopra); DVOL al 0° pctl di un anno; IV-rank espandente 0.01 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[vol]` ETH: implicita 49.2 contro realizzata 30g 40.7 (sopra); DVOL al 2° pctl di un anno; IV-rank espandente 0.09 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[evidenza]` 📌 Campione a oggi: **41 giorni, 1 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. + ## Nota *(vuota — campo dell'operatore)* diff --git a/docs/journal/2026-08-04.md b/docs/journal/2026-08-04.md index 1d63f1a..5da9ac9 100644 --- a/docs/journal/2026-08-04.md +++ b/docs/journal/2026-08-04.md @@ -1,6 +1,6 @@ # Giornale di bordo — 2026-08-04 -*Scritto 2026-08-23T13:08:30+00:00. Numeri misurati; nessuna interpretazione automatica.* +*Scritto 2026-08-23T13:34:14+00:00. Numeri misurati; nessuna interpretazione automatica.* ## Mercato @@ -29,6 +29,19 @@ Equity **$597.37** · nozionale lordo $37 · leva lorda 0.06x · barra dati 2026 - 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 ETH $+37 (TP01 +0.162, SKH01 flat). +- `[disaccordo]` ETH: gli orizzonti del trend **non concordano** (2/3 al rialzo) e l'esposizione TP01 e' parziale (+0.162) — e' il meccanismo, non una scelta di oggi. +- `[leva]` Leva lorda **0.06x** su un tetto di 1.00x (`max_notional_per_asset_frac` 0.50 x 2 asset, letto da `config/live.json`): margine 0.94x. +- `[pnl]` Equity $+0.45 con 1 fill e 0 round-trip chiusi (realizzato $+0.00 netto). +- `[drawdown]` 📌 Equity **-0.53%** sotto il picco ($600.53). ⚠️ e' un DD su letture ORARIE, non sul minimo intra-giorno. +- `[vol]` BTC: implicita 34.0 contro realizzata 30g 29.5 (sopra); DVOL al 0° pctl di un anno; IV-rank espandente 0.00 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[vol]` ETH: implicita 47.8 contro realizzata 30g 40.7 (sopra); DVOL al 0° pctl di un anno; IV-rank espandente 0.09 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[evidenza]` 📌 Campione a oggi: **42 giorni, 1 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. + ## Nota *(vuota — campo dell'operatore)* diff --git a/docs/journal/2026-08-05.md b/docs/journal/2026-08-05.md index 9c2c211..e315f35 100644 --- a/docs/journal/2026-08-05.md +++ b/docs/journal/2026-08-05.md @@ -1,6 +1,6 @@ # Giornale di bordo — 2026-08-05 -*Scritto 2026-08-23T13:08:30+00:00. Numeri misurati; nessuna interpretazione automatica.* +*Scritto 2026-08-23T13:34:14+00:00. Numeri misurati; nessuna interpretazione automatica.* ## Mercato @@ -29,6 +29,19 @@ Equity **$597.12** · nozionale lordo $0 · leva lorda 0.00x · barra dati 2026- - 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]` Libro **flat** su entrambe le gambe: nessun capitale a mercato. +- `[perche_flat]` Motivo, componente per componente — BTC: TP01 a zero (trend giu' o misto) e SKH01 senza breakout; ETH: TP01 a zero (trend giu' o misto) e SKH01 senza breakout. Per una strategia long-flat stare fuori **e'** una decisione. +- `[leva]` Leva lorda **0.00x** su un tetto di 1.00x (`max_notional_per_asset_frac` 0.50 x 2 asset, letto da `config/live.json`): margine 1.00x. +- `[pnl]` Equity $-0.25 con 1 fill e 1 round-trip chiusi (realizzato $+0.21 netto). +- `[drawdown]` 📌 Equity **-0.57%** sotto il picco ($600.53). ⚠️ e' un DD su letture ORARIE, non sul minimo intra-giorno. +- `[vol]` BTC: implicita 34.7 contro realizzata 30g 29.6 (sopra); DVOL al 1° pctl di un anno; IV-rank espandente 0.01 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[vol]` ETH: implicita 48.0 contro realizzata 30g 41.2 (sopra); DVOL al 1° pctl di un anno; IV-rank espandente 0.09 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[evidenza]` 📌 Campione a oggi: **43 giorni, 2 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. + ## Nota *(vuota — campo dell'operatore)* diff --git a/docs/journal/2026-08-06.md b/docs/journal/2026-08-06.md index a53fe17..2a189bb 100644 --- a/docs/journal/2026-08-06.md +++ b/docs/journal/2026-08-06.md @@ -1,6 +1,6 @@ # Giornale di bordo — 2026-08-06 -*Scritto 2026-08-23T13:08:30+00:00. Numeri misurati; nessuna interpretazione automatica.* +*Scritto 2026-08-23T13:34:14+00:00. Numeri misurati; nessuna interpretazione automatica.* ## Mercato @@ -29,6 +29,19 @@ Equity **$597.12** · nozionale lordo $0 · leva lorda 0.00x · barra dati 2026- - 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]` Libro **flat** su entrambe le gambe: nessun capitale a mercato. +- `[perche_flat]` Motivo, componente per componente — BTC: TP01 a zero (trend giu' o misto) e SKH01 senza breakout; ETH: TP01 a zero (trend giu' o misto) e SKH01 senza breakout. Per una strategia long-flat stare fuori **e'** una decisione. +- `[leva]` Leva lorda **0.00x** su un tetto di 1.00x (`max_notional_per_asset_frac` 0.50 x 2 asset, letto da `config/live.json`): margine 1.00x. +- `[pnl]` Equity $+0.00 **senza operare**: e' mark-to-market sulle posizioni gia' aperte. +- `[drawdown]` 📌 Equity **-0.57%** sotto il picco ($600.53). ⚠️ e' un DD su letture ORARIE, non sul minimo intra-giorno. +- `[vol]` BTC: implicita 35.0 contro realizzata 30g 29.4 (sopra); DVOL al 2° pctl di un anno; IV-rank espandente 0.01 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[vol]` ETH: implicita 48.0 contro realizzata 30g 40.7 (sopra); DVOL al 1° pctl di un anno; IV-rank espandente 0.09 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[evidenza]` 📌 Campione a oggi: **44 giorni, 2 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. + ## Nota *(vuota — campo dell'operatore)* diff --git a/docs/journal/2026-08-07.md b/docs/journal/2026-08-07.md index db0dad7..3ca0c77 100644 --- a/docs/journal/2026-08-07.md +++ b/docs/journal/2026-08-07.md @@ -1,6 +1,6 @@ # Giornale di bordo — 2026-08-07 -*Scritto 2026-08-23T13:08:30+00:00. Numeri misurati; nessuna interpretazione automatica.* +*Scritto 2026-08-23T13:34:15+00:00. Numeri misurati; nessuna interpretazione automatica.* ## Mercato @@ -29,6 +29,19 @@ Equity **$597.12** · nozionale lordo $0 · leva lorda 0.00x · barra dati 2026- - 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]` Libro **flat** su entrambe le gambe: nessun capitale a mercato. +- `[perche_flat]` Motivo, componente per componente — BTC: TP01 a zero (trend giu' o misto) e SKH01 senza breakout; ETH: TP01 a zero (trend giu' o misto) e SKH01 senza breakout. Per una strategia long-flat stare fuori **e'** una decisione. +- `[leva]` Leva lorda **0.00x** su un tetto di 1.00x (`max_notional_per_asset_frac` 0.50 x 2 asset, letto da `config/live.json`): margine 1.00x. +- `[pnl]` Equity $+0.00 **senza operare**: e' mark-to-market sulle posizioni gia' aperte. +- `[drawdown]` 📌 Equity **-0.57%** sotto il picco ($600.53). ⚠️ e' un DD su letture ORARIE, non sul minimo intra-giorno. +- `[vol]` BTC: implicita 33.9 contro realizzata 30g 28.9 (sopra); DVOL al 0° pctl di un anno; IV-rank espandente 0.00 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[vol]` ETH: implicita 47.4 contro realizzata 30g 40.2 (sopra); DVOL al 0° pctl di un anno; IV-rank espandente 0.08 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[evidenza]` 📌 Campione a oggi: **45 giorni, 2 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. + ## Nota *(vuota — campo dell'operatore)* diff --git a/docs/journal/2026-08-08.md b/docs/journal/2026-08-08.md index b366345..461e859 100644 --- a/docs/journal/2026-08-08.md +++ b/docs/journal/2026-08-08.md @@ -1,6 +1,6 @@ # Giornale di bordo — 2026-08-08 -*Scritto 2026-08-23T13:08:30+00:00. Numeri misurati; nessuna interpretazione automatica.* +*Scritto 2026-08-23T13:34:15+00:00. Numeri misurati; nessuna interpretazione automatica.* ## Mercato @@ -29,6 +29,19 @@ Equity **$597.12** · nozionale lordo $0 · leva lorda 0.00x · barra dati 2026- - 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]` Libro **flat** su entrambe le gambe: nessun capitale a mercato. +- `[perche_flat]` Motivo, componente per componente — BTC: TP01 a zero (trend giu' o misto) e SKH01 senza breakout; ETH: TP01 a zero (trend giu' o misto) e SKH01 senza breakout. Per una strategia long-flat stare fuori **e'** una decisione. +- `[leva]` Leva lorda **0.00x** su un tetto di 1.00x (`max_notional_per_asset_frac` 0.50 x 2 asset, letto da `config/live.json`): margine 1.00x. +- `[pnl]` Equity $+0.00 **senza operare**: e' mark-to-market sulle posizioni gia' aperte. +- `[drawdown]` 📌 Equity **-0.57%** sotto il picco ($600.53). ⚠️ e' un DD su letture ORARIE, non sul minimo intra-giorno. +- `[vol]` BTC: implicita 34.2 contro realizzata 30g 28.4 (sopra); DVOL al 1° pctl di un anno; IV-rank espandente 0.00 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[vol]` ETH: implicita 48.1 contro realizzata 30g 40.2 (sopra); DVOL al 2° pctl di un anno; IV-rank espandente 0.09 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[evidenza]` 📌 Campione a oggi: **46 giorni, 2 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. + ## Nota *(vuota — campo dell'operatore)* diff --git a/docs/journal/2026-08-09.md b/docs/journal/2026-08-09.md index cae9ef9..5b0d107 100644 --- a/docs/journal/2026-08-09.md +++ b/docs/journal/2026-08-09.md @@ -1,6 +1,6 @@ # Giornale di bordo — 2026-08-09 -*Scritto 2026-08-23T13:08:31+00:00. Numeri misurati; nessuna interpretazione automatica.* +*Scritto 2026-08-23T13:34:15+00:00. Numeri misurati; nessuna interpretazione automatica.* ## Mercato @@ -29,6 +29,19 @@ Equity **$597.12** · nozionale lordo $0 · leva lorda 0.00x · barra dati 2026- - 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]` Libro **flat** su entrambe le gambe: nessun capitale a mercato. +- `[perche_flat]` Motivo, componente per componente — BTC: TP01 a zero (trend giu' o misto) e SKH01 senza breakout; ETH: TP01 a zero (trend giu' o misto) e SKH01 senza breakout. Per una strategia long-flat stare fuori **e'** una decisione. +- `[leva]` Leva lorda **0.00x** su un tetto di 1.00x (`max_notional_per_asset_frac` 0.50 x 2 asset, letto da `config/live.json`): margine 1.00x. +- `[pnl]` Equity $+0.00 **senza operare**: e' mark-to-market sulle posizioni gia' aperte. +- `[drawdown]` 📌 Equity **-0.57%** sotto il picco ($600.53). ⚠️ e' un DD su letture ORARIE, non sul minimo intra-giorno. +- `[vol]` BTC: implicita 34.9 contro realizzata 30g 28.0 (sopra); DVOL al 2° pctl di un anno; IV-rank espandente 0.01 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[vol]` ETH: implicita 49.1 contro realizzata 30g 39.1 (sopra); DVOL al 4° pctl di un anno; IV-rank espandente 0.10 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[evidenza]` 📌 Campione a oggi: **47 giorni, 2 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. + ## Nota *(vuota — campo dell'operatore)* diff --git a/docs/journal/2026-08-10.md b/docs/journal/2026-08-10.md index 68d62c3..e2e5bc3 100644 --- a/docs/journal/2026-08-10.md +++ b/docs/journal/2026-08-10.md @@ -1,6 +1,6 @@ # Giornale di bordo — 2026-08-10 -*Scritto 2026-08-23T13:08:31+00:00. Numeri misurati; nessuna interpretazione automatica.* +*Scritto 2026-08-23T13:34:15+00:00. Numeri misurati; nessuna interpretazione automatica.* ## Mercato @@ -29,6 +29,19 @@ Equity **$597.12** · nozionale lordo $0 · leva lorda 0.00x · barra dati 2026- - 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]` Libro **flat** su entrambe le gambe: nessun capitale a mercato. +- `[perche_flat]` Motivo, componente per componente — BTC: TP01 a zero (trend giu' o misto) e SKH01 senza breakout; ETH: TP01 a zero (trend giu' o misto) e SKH01 senza breakout. Per una strategia long-flat stare fuori **e'** una decisione. +- `[leva]` Leva lorda **0.00x** su un tetto di 1.00x (`max_notional_per_asset_frac` 0.50 x 2 asset, letto da `config/live.json`): margine 1.00x. +- `[pnl]` Equity $+0.00 **senza operare**: e' mark-to-market sulle posizioni gia' aperte. +- `[drawdown]` 📌 Equity **-0.57%** sotto il picco ($600.53). ⚠️ e' un DD su letture ORARIE, non sul minimo intra-giorno. +- `[vol]` BTC: implicita 36.3 contro realizzata 30g 28.4 (sopra); DVOL al 8° pctl di un anno; IV-rank espandente 0.04 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[vol]` ETH: implicita 49.7 contro realizzata 30g 39.8 (sopra); DVOL al 8° pctl di un anno; IV-rank espandente 0.10 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[evidenza]` 📌 Campione a oggi: **48 giorni, 2 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. + ## Nota *(vuota — campo dell'operatore)* diff --git a/docs/journal/2026-08-11.md b/docs/journal/2026-08-11.md index a8ab00a..8b59d1f 100644 --- a/docs/journal/2026-08-11.md +++ b/docs/journal/2026-08-11.md @@ -1,6 +1,6 @@ # Giornale di bordo — 2026-08-11 -*Scritto 2026-08-23T13:08:31+00:00. Numeri misurati; nessuna interpretazione automatica.* +*Scritto 2026-08-23T13:34:15+00:00. Numeri misurati; nessuna interpretazione automatica.* ## Mercato @@ -29,6 +29,19 @@ Equity **$597.12** · nozionale lordo $0 · leva lorda 0.00x · barra dati 2026- - 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]` Libro **flat** su entrambe le gambe: nessun capitale a mercato. +- `[perche_flat]` Motivo, componente per componente — BTC: TP01 a zero (trend giu' o misto) e SKH01 senza breakout; ETH: TP01 a zero (trend giu' o misto) e SKH01 senza breakout. Per una strategia long-flat stare fuori **e'** una decisione. +- `[leva]` Leva lorda **0.00x** su un tetto di 1.00x (`max_notional_per_asset_frac` 0.50 x 2 asset, letto da `config/live.json`): margine 1.00x. +- `[pnl]` Equity $+0.00 **senza operare**: e' mark-to-market sulle posizioni gia' aperte. +- `[drawdown]` 📌 Equity **-0.57%** sotto il picco ($600.53). ⚠️ e' un DD su letture ORARIE, non sul minimo intra-giorno. +- `[vol]` BTC: implicita 36.1 contro realizzata 30g 28.5 (sopra); DVOL al 8° pctl di un anno; IV-rank espandente 0.03 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[vol]` ETH: implicita 49.3 contro realizzata 30g 39.7 (sopra); DVOL al 7° pctl di un anno; IV-rank espandente 0.10 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[evidenza]` 📌 Campione a oggi: **49 giorni, 2 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. + ## Nota *(vuota — campo dell'operatore)* diff --git a/docs/journal/2026-08-12.md b/docs/journal/2026-08-12.md index 057803a..f856002 100644 --- a/docs/journal/2026-08-12.md +++ b/docs/journal/2026-08-12.md @@ -1,6 +1,6 @@ # Giornale di bordo — 2026-08-12 -*Scritto 2026-08-23T13:08:31+00:00. Numeri misurati; nessuna interpretazione automatica.* +*Scritto 2026-08-23T13:34:15+00:00. Numeri misurati; nessuna interpretazione automatica.* ## Mercato @@ -29,6 +29,19 @@ Equity **$597.12** · nozionale lordo $0 · leva lorda 0.00x · barra dati 2026- - 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]` Libro **flat** su entrambe le gambe: nessun capitale a mercato. +- `[perche_flat]` Motivo, componente per componente — BTC: TP01 a zero (trend giu' o misto) e SKH01 senza breakout; ETH: TP01 a zero (trend giu' o misto) e SKH01 senza breakout. Per una strategia long-flat stare fuori **e'** una decisione. +- `[leva]` Leva lorda **0.00x** su un tetto di 1.00x (`max_notional_per_asset_frac` 0.50 x 2 asset, letto da `config/live.json`): margine 1.00x. +- `[pnl]` Equity $+0.00 **senza operare**: e' mark-to-market sulle posizioni gia' aperte. +- `[drawdown]` 📌 Equity **-0.57%** sotto il picco ($600.53). ⚠️ e' un DD su letture ORARIE, non sul minimo intra-giorno. +- `[vol]` BTC: implicita 35.8 contro realizzata 30g 27.2 (sopra); DVOL al 6° pctl di un anno; IV-rank espandente 0.03 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[vol]` ETH: implicita 49.4 contro realizzata 30g 39.2 (sopra); DVOL al 8° pctl di un anno; IV-rank espandente 0.10 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[evidenza]` 📌 Campione a oggi: **50 giorni, 2 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. + ## Nota *(vuota — campo dell'operatore)* diff --git a/docs/journal/2026-08-13.md b/docs/journal/2026-08-13.md index 8ddc563..cd86f50 100644 --- a/docs/journal/2026-08-13.md +++ b/docs/journal/2026-08-13.md @@ -1,6 +1,6 @@ # Giornale di bordo — 2026-08-13 -*Scritto 2026-08-23T13:08:31+00:00. Numeri misurati; nessuna interpretazione automatica.* +*Scritto 2026-08-23T13:34:15+00:00. Numeri misurati; nessuna interpretazione automatica.* ## Mercato @@ -29,6 +29,19 @@ Equity **$597.12** · nozionale lordo $0 · leva lorda 0.00x · barra dati 2026- - 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]` Libro **flat** su entrambe le gambe: nessun capitale a mercato. +- `[perche_flat]` Motivo, componente per componente — BTC: TP01 a zero (trend giu' o misto) e SKH01 senza breakout; ETH: TP01 a zero (trend giu' o misto) e SKH01 senza breakout. Per una strategia long-flat stare fuori **e'** una decisione. +- `[leva]` Leva lorda **0.00x** su un tetto di 1.00x (`max_notional_per_asset_frac` 0.50 x 2 asset, letto da `config/live.json`): margine 1.00x. +- `[pnl]` Equity $+0.00 **senza operare**: e' mark-to-market sulle posizioni gia' aperte. +- `[drawdown]` 📌 Equity **-0.57%** sotto il picco ($600.53). ⚠️ e' un DD su letture ORARIE, non sul minimo intra-giorno. +- `[vol]` BTC: implicita 34.8 contro realizzata 30g 22.5 (sopra); DVOL al 2° pctl di un anno; IV-rank espandente 0.01 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[vol]` ETH: implicita 48.5 contro realizzata 30g 32.6 (sopra); DVOL al 2° pctl di un anno; IV-rank espandente 0.09 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[evidenza]` 📌 Campione a oggi: **51 giorni, 2 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. + ## Nota *(vuota — campo dell'operatore)* diff --git a/docs/journal/2026-08-14.md b/docs/journal/2026-08-14.md index 1a70481..c26845a 100644 --- a/docs/journal/2026-08-14.md +++ b/docs/journal/2026-08-14.md @@ -1,6 +1,6 @@ # Giornale di bordo — 2026-08-14 -*Scritto 2026-08-23T13:08:31+00:00. Numeri misurati; nessuna interpretazione automatica.* +*Scritto 2026-08-23T13:34:15+00:00. Numeri misurati; nessuna interpretazione automatica.* ## Mercato @@ -29,6 +29,19 @@ Equity **$597.12** · nozionale lordo $0 · leva lorda 0.00x · barra dati 2026- - 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]` Libro **flat** su entrambe le gambe: nessun capitale a mercato. +- `[perche_flat]` Motivo, componente per componente — BTC: TP01 a zero (trend giu' o misto) e SKH01 senza breakout; ETH: TP01 a zero (trend giu' o misto) e SKH01 senza breakout. Per una strategia long-flat stare fuori **e'** una decisione. +- `[leva]` Leva lorda **0.00x** su un tetto di 1.00x (`max_notional_per_asset_frac` 0.50 x 2 asset, letto da `config/live.json`): margine 1.00x. +- `[pnl]` Equity $+0.00 **senza operare**: e' mark-to-market sulle posizioni gia' aperte. +- `[drawdown]` 📌 Equity **-0.57%** sotto il picco ($600.53). ⚠️ e' un DD su letture ORARIE, non sul minimo intra-giorno. +- `[vol]` BTC: implicita 34.7 contro realizzata 30g 22.6 (sopra); DVOL al 2° pctl di un anno; IV-rank espandente 0.01 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[vol]` ETH: implicita 47.2 contro realizzata 30g 32.2 (sopra); DVOL al 0° pctl di un anno; IV-rank espandente 0.08 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[evidenza]` 📌 Campione a oggi: **52 giorni, 2 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. + ## Nota *(vuota — campo dell'operatore)* diff --git a/docs/journal/2026-08-15.md b/docs/journal/2026-08-15.md index 8a5c064..764b954 100644 --- a/docs/journal/2026-08-15.md +++ b/docs/journal/2026-08-15.md @@ -1,6 +1,6 @@ # Giornale di bordo — 2026-08-15 -*Scritto 2026-08-23T13:08:31+00:00. Numeri misurati; nessuna interpretazione automatica.* +*Scritto 2026-08-23T13:34:15+00:00. Numeri misurati; nessuna interpretazione automatica.* ## Mercato @@ -29,6 +29,19 @@ Equity **$597.12** · nozionale lordo $0 · leva lorda 0.00x · barra dati 2026- - 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]` Libro **flat** su entrambe le gambe: nessun capitale a mercato. +- `[perche_flat]` Motivo, componente per componente — BTC: TP01 a zero (trend giu' o misto) e SKH01 senza breakout; ETH: TP01 a zero (trend giu' o misto) e SKH01 senza breakout. Per una strategia long-flat stare fuori **e'** una decisione. +- `[leva]` Leva lorda **0.00x** su un tetto di 1.00x (`max_notional_per_asset_frac` 0.50 x 2 asset, letto da `config/live.json`): margine 1.00x. +- `[pnl]` Equity $+0.00 **senza operare**: e' mark-to-market sulle posizioni gia' aperte. +- `[drawdown]` 📌 Equity **-0.57%** sotto il picco ($600.53). ⚠️ e' un DD su letture ORARIE, non sul minimo intra-giorno. +- `[vol]` BTC: implicita 35.0 contro realizzata 30g 22.0 (sopra); DVOL al 4° pctl di un anno; IV-rank espandente 0.02 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[vol]` ETH: implicita 47.5 contro realizzata 30g 30.7 (sopra); DVOL al 1° pctl di un anno; IV-rank espandente 0.08 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[evidenza]` 📌 Campione a oggi: **53 giorni, 2 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. + ## Nota *(vuota — campo dell'operatore)* diff --git a/docs/journal/2026-08-16.md b/docs/journal/2026-08-16.md index a17290e..6368abf 100644 --- a/docs/journal/2026-08-16.md +++ b/docs/journal/2026-08-16.md @@ -1,6 +1,6 @@ # Giornale di bordo — 2026-08-16 -*Scritto 2026-08-23T13:08:31+00:00. Numeri misurati; nessuna interpretazione automatica.* +*Scritto 2026-08-23T13:34:16+00:00. Numeri misurati; nessuna interpretazione automatica.* ## Mercato @@ -29,6 +29,19 @@ Equity **$597.12** · nozionale lordo $0 · leva lorda 0.00x · barra dati 2026- - 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]` Libro **flat** su entrambe le gambe: nessun capitale a mercato. +- `[perche_flat]` Motivo, componente per componente — BTC: TP01 a zero (trend giu' o misto) e SKH01 senza breakout; ETH: TP01 a zero (trend giu' o misto) e SKH01 senza breakout. Per una strategia long-flat stare fuori **e'** una decisione. +- `[leva]` Leva lorda **0.00x** su un tetto di 1.00x (`max_notional_per_asset_frac` 0.50 x 2 asset, letto da `config/live.json`): margine 1.00x. +- `[pnl]` Equity $+0.00 **senza operare**: e' mark-to-market sulle posizioni gia' aperte. +- `[drawdown]` 📌 Equity **-0.57%** sotto il picco ($600.53). ⚠️ e' un DD su letture ORARIE, non sul minimo intra-giorno. +- `[vol]` BTC: implicita 35.2 contro realizzata 30g 22.0 (sopra); DVOL al 5° pctl di un anno; IV-rank espandente 0.02 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[vol]` ETH: implicita 47.5 contro realizzata 30g 30.4 (sopra); DVOL al 1° pctl di un anno; IV-rank espandente 0.08 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[evidenza]` 📌 Campione a oggi: **54 giorni, 2 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. + ## Nota *(vuota — campo dell'operatore)* diff --git a/docs/journal/2026-08-17.md b/docs/journal/2026-08-17.md index 4df3c2b..51d5e41 100644 --- a/docs/journal/2026-08-17.md +++ b/docs/journal/2026-08-17.md @@ -1,6 +1,6 @@ # Giornale di bordo — 2026-08-17 -*Scritto 2026-08-23T13:08:31+00:00. Numeri misurati; nessuna interpretazione automatica.* +*Scritto 2026-08-23T13:34:16+00:00. Numeri misurati; nessuna interpretazione automatica.* ## Mercato @@ -29,6 +29,20 @@ Equity **$597.12** · nozionale lordo $0 · leva lorda 0.00x · barra dati 2026- - 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]` Libro **flat** su entrambe le gambe: nessun capitale a mercato. +- `[perche_flat]` Motivo, componente per componente — BTC: TP01 a zero (trend giu' o misto) e SKH01 senza breakout; ETH: TP01 a zero (trend giu' o misto) e SKH01 senza breakout. Per una strategia long-flat stare fuori **e'** una decisione. +- `[leva]` Leva lorda **0.00x** su un tetto di 1.00x (`max_notional_per_asset_frac` 0.50 x 2 asset, letto da `config/live.json`): margine 1.00x. +- `[pnl]` Equity $+0.00 **senza operare**: e' mark-to-market sulle posizioni gia' aperte. +- `[drawdown]` 📌 Equity **-0.57%** sotto il picco ($600.53). ⚠️ e' un DD su letture ORARIE, non sul minimo intra-giorno. +- `[vol]` BTC: implicita 34.7 contro realizzata 30g 23.4 (sopra); DVOL al 2° pctl di un anno; IV-rank espandente 0.01 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[vol]` ETH: implicita 46.3 contro realizzata 30g 30.9 (sopra); DVOL al 0° pctl di un anno; IV-rank espandente 0.08 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[evento]` 📌 BTC: giornata a +2.62%, **2.1 deviazioni** giornaliere (sd implicita dalla RV30 = 1.22%). +- `[evidenza]` 📌 Campione a oggi: **55 giorni, 2 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. + ## Nota *(vuota — campo dell'operatore)* diff --git a/docs/journal/2026-08-18.md b/docs/journal/2026-08-18.md index ea5f527..2fbc4b1 100644 --- a/docs/journal/2026-08-18.md +++ b/docs/journal/2026-08-18.md @@ -1,6 +1,6 @@ # Giornale di bordo — 2026-08-18 -*Scritto 2026-08-23T13:08:31+00:00. Numeri misurati; nessuna interpretazione automatica.* +*Scritto 2026-08-23T13:34:16+00:00. Numeri misurati; nessuna interpretazione automatica.* ## Mercato @@ -29,6 +29,19 @@ Equity **$597.12** · nozionale lordo $0 · leva lorda 0.00x · barra dati 2026- - 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]` Libro **flat** su entrambe le gambe: nessun capitale a mercato. +- `[perche_flat]` Motivo, componente per componente — BTC: TP01 a zero (trend giu' o misto) e SKH01 senza breakout; ETH: TP01 a zero (trend giu' o misto) e SKH01 senza breakout. Per una strategia long-flat stare fuori **e'** una decisione. +- `[leva]` Leva lorda **0.00x** su un tetto di 1.00x (`max_notional_per_asset_frac` 0.50 x 2 asset, letto da `config/live.json`): margine 1.00x. +- `[pnl]` Equity $+0.00 **senza operare**: e' mark-to-market sulle posizioni gia' aperte. +- `[drawdown]` 📌 Equity **-0.57%** sotto il picco ($600.53). ⚠️ e' un DD su letture ORARIE, non sul minimo intra-giorno. +- `[vol]` BTC: implicita 34.9 contro realizzata 30g 23.4 (sopra); DVOL al 4° pctl di un anno; IV-rank espandente 0.01 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[vol]` ETH: implicita 46.1 contro realizzata 30g 30.9 (sopra); DVOL al 0° pctl di un anno; IV-rank espandente 0.07 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[evidenza]` 📌 Campione a oggi: **56 giorni, 2 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. + ## Nota *(vuota — campo dell'operatore)* diff --git a/docs/journal/2026-08-19.md b/docs/journal/2026-08-19.md index d150bd0..5497dcc 100644 --- a/docs/journal/2026-08-19.md +++ b/docs/journal/2026-08-19.md @@ -1,6 +1,6 @@ # Giornale di bordo — 2026-08-19 -*Scritto 2026-08-23T13:08:32+00:00. Numeri misurati; nessuna interpretazione automatica.* +*Scritto 2026-08-23T13:34:16+00:00. Numeri misurati; nessuna interpretazione automatica.* ## Mercato @@ -29,6 +29,21 @@ Equity **$610.82** · nozionale lordo $76 · leva lorda 0.12x · barra dati 2026 - 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 $+76 (TP01 +0.000, SKH01 long). +- `[incoerenza]` ⚠️ ETH: tutti e 3 gli orizzonti sono al rialzo ma TP01 e' a zero. Da guardare: non e' lo stato atteso. +- `[leva]` Leva lorda **0.12x** su un tetto di 1.00x (`max_notional_per_asset_frac` 0.50 x 2 asset, letto da `config/live.json`): margine 0.88x. +- `[pnl]` Equity $+13.70 con 3 fill e 1 round-trip chiusi (realizzato $+10.60 netto). +- `[concentrazione]` 📌 **Il 107% di tutto il P&L cumulato ($+12.76) 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. +- `[vol]` BTC: implicita 37.8 contro realizzata 30g 33.6 (sopra); DVOL al 21° pctl di un anno; IV-rank espandente 0.08 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[vol]` ETH: implicita 52.5 contro realizzata 30g 63.8 (sotto); DVOL al 21° pctl di un anno; IV-rank espandente 0.13 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[evento]` 📌 BTC: giornata a +7.16%, **4.1 deviazioni** giornaliere (sd implicita dalla RV30 = 1.76%). +- `[evento]` 📌 ETH: giornata a +17.48%, **5.2 deviazioni** giornaliere (sd implicita dalla RV30 = 3.34%). +- `[evidenza]` 📌 Campione a oggi: **57 giorni, 3 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. + ## Nota *(vuota — campo dell'operatore)* diff --git a/docs/journal/2026-08-20.md b/docs/journal/2026-08-20.md index 6d654ed..6188ea7 100644 --- a/docs/journal/2026-08-20.md +++ b/docs/journal/2026-08-20.md @@ -1,6 +1,6 @@ # Giornale di bordo — 2026-08-20 -*Scritto 2026-08-23T13:08:32+00:00. Numeri misurati; nessuna interpretazione automatica.* +*Scritto 2026-08-23T13:34:16+00:00. Numeri misurati; nessuna interpretazione automatica.* ## Mercato @@ -29,6 +29,20 @@ Equity **$620.63** · nozionale lordo $272 · leva lorda 0.44x · barra dati 202 - 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 $+124 (TP01 +0.199, SKH01 long) e ETH $+148 (TP01 +0.294, SKH01 long). +- `[disaccordo]` BTC: gli orizzonti del trend **non concordano** (2/3 al rialzo) e l'esposizione TP01 e' parziale (+0.199) — e' il meccanismo, non una scelta di oggi. +- `[leva]` Leva lorda **0.44x** su un tetto di 1.00x (`max_notional_per_asset_frac` 0.50 x 2 asset, letto da `config/live.json`): margine 0.56x. +- `[pnl]` Equity $+9.81 con 4 fill e 1 round-trip chiusi (realizzato $+0.51 netto). +- `[concentrazione]` 📌 **Il 104% di tutto il P&L cumulato ($+22.57) 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. +- `[vol]` BTC: implicita 39.4 contro realizzata 30g 37.3 (sopra); DVOL al 33° pctl di un anno; IV-rank espandente 0.12 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[vol]` ETH: implicita 52.6 contro realizzata 30g 64.4 (sotto); DVOL al 22° pctl di un anno; IV-rank espandente 0.13 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[evento]` 📌 BTC: giornata a +5.31%, **2.7 deviazioni** giornaliere (sd implicita dalla RV30 = 1.95%). +- `[evidenza]` 📌 Campione a oggi: **58 giorni, 4 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. + ## Nota *(vuota — campo dell'operatore)* diff --git a/docs/journal/2026-08-21.md b/docs/journal/2026-08-21.md index 12afae5..f9e7329 100644 --- a/docs/journal/2026-08-21.md +++ b/docs/journal/2026-08-21.md @@ -1,6 +1,6 @@ # Giornale di bordo — 2026-08-21 -*Scritto 2026-08-23T13:08:32+00:00. Numeri misurati; nessuna interpretazione automatica.* +*Scritto 2026-08-23T13:34:16+00:00. Numeri misurati; nessuna interpretazione automatica.* ## Mercato @@ -29,6 +29,20 @@ Equity **$644.00** · nozionale lordo $196 · leva lorda 0.30x · barra dati 202 - 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 $+126 (TP01 +0.176, SKH01 long) e ETH $+70 (TP01 +0.291, SKH01 flat). +- `[leva]` Leva lorda **0.30x** su un tetto di 1.00x (`max_notional_per_asset_frac` 0.50 x 2 asset, letto da `config/live.json`): margine 0.70x. +- `[pnl]` Equity $+23.37 con 5 fill e 6 round-trip chiusi (realizzato $+18.90 netto). +- `[concentrazione]` 📌 **Il 102% di tutto il P&L cumulato ($+45.94) 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. +- `[vol]` BTC: implicita 43.3 contro realizzata 30g 43.9 (sotto); DVOL al 57° pctl di un anno; IV-rank espandente 0.20 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[vol]` ETH: implicita 57.7 contro realizzata 30g 69.2 (sotto); DVOL al 46° pctl di un anno; IV-rank espandente 0.20 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[evento]` 📌 BTC: giornata a +7.31%, **3.2 deviazioni** giornaliere (sd implicita dalla RV30 = 2.30%). +- `[evento]` 📌 ETH: giornata a +8.19%, **2.3 deviazioni** giornaliere (sd implicita dalla RV30 = 3.62%). +- `[evidenza]` 📌 Campione a oggi: **59 giorni, 10 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. + ## Nota *(vuota — campo dell'operatore)* diff --git a/docs/journal/2026-08-22.md b/docs/journal/2026-08-22.md index c2dc0d2..47fa90a 100644 --- a/docs/journal/2026-08-22.md +++ b/docs/journal/2026-08-22.md @@ -1,6 +1,6 @@ # Giornale di bordo — 2026-08-22 -*Scritto 2026-08-23T13:08:32+00:00. Numeri misurati; nessuna interpretazione automatica.* +*Scritto 2026-08-23T13:34:16+00:00. Numeri misurati; nessuna interpretazione automatica.* ## Mercato @@ -29,6 +29,19 @@ Equity **$635.00** · nozionale lordo $327 · leva lorda 0.51x · barra dati 202 - 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 $+185 (TP01 +0.450, SKH01 long) e ETH $+142 (TP01 +0.277, SKH01 long). +- `[leva]` Leva lorda **0.51x** su un tetto di 1.00x (`max_notional_per_asset_frac` 0.50 x 2 asset, letto da `config/live.json`): margine 0.49x. +- `[pnl]` Equity $-9.00 con 2 fill e 0 round-trip chiusi (realizzato $+0.00 netto). +- `[concentrazione]` 📌 **Il 103% di tutto il P&L cumulato ($+36.94) 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.55%** sotto il picco ($644.98). ⚠️ e' un DD su letture ORARIE, non sul minimo intra-giorno. +- `[vol]` BTC: implicita 42.3 contro realizzata 30g 43.9 (sotto); DVOL al 51° pctl di un anno; IV-rank espandente 0.17 sotto la soglia 0.30 del gate di VRP01 (sleeve fermo). +- `[vol]` ETH: implicita 57.0 contro realizzata 30g 69.8 (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: **60 giorni, 10 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. + ## Nota *(vuota — campo dell'operatore)* diff --git a/docs/journal/2026-08-23.md b/docs/journal/2026-08-23.md index 9b77aae..e4d6906 100644 --- a/docs/journal/2026-08-23.md +++ b/docs/journal/2026-08-23.md @@ -1,6 +1,6 @@ # Giornale di bordo — 2026-08-23 -*Scritto 2026-08-23T13:08:32+00:00. Numeri misurati; nessuna interpretazione automatica.* +*Scritto 2026-08-23T13:34:16+00:00. Numeri misurati; nessuna interpretazione automatica.* ## Mercato @@ -29,6 +29,20 @@ Equity **$636.14** · nozionale lordo $258 · leva lorda 0.41x · barra dati 202 - giri di `book_execute`: 14/14 *(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). +- `[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. +- `[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. + ## Nota *(vuota — campo dell'operatore)* diff --git a/src/live/journal.py b/src/live/journal.py index d1da051..19ff699 100644 --- a/src/live/journal.py +++ b/src/live/journal.py @@ -78,6 +78,11 @@ def metriche_mercato(giorno: date) -> dict: d["dvol_eta_g"] = eta if len(dv) >= 252 and eta <= 2: d["dvol_rank_1a"] = float((dv.tail(252) < dv.iloc[-1]).mean()) + if len(dv) >= 60 and eta <= 2: + # IV-rank come lo calcola VRP01 (`options_vrp_v2._ivrank`): percentile + # ESPANDENTE su tutta la storia, non una finestra di un anno. Sono due + # statistiche diverse e vanno chiamate con nomi diversi. + d["dvol_rank_exp"] = float((dv.iloc[:-1] < dv.iloc[-1]).mean()) else: d["dvol"] = None; d["dvol_nota"] = "nessuna barra DVOL <= giorno" else: @@ -162,6 +167,196 @@ def salva(con, voce: dict, nota: str | None = None) -> None: con.commit() + +# ============================================================================================= +# LETTURA RAGIONATA — a regole DICHIARATE, non a prosa libera +# ============================================================================================= +# Ogni riga della lettura esce da una regola con un id, e ogni regola puo' solo COMBINARE numeri +# gia' presenti nella pagina. Non prevede, non consiglia, non interpreta oltre il dato. +# Le tre proprieta' che la rendono diversa da un racconto: +# (a) TRACCIABILE — l'id dice quale regola ha parlato; +# (b) FALSIFICABILE — ogni regola ha un test che la accende E uno che la tiene spenta; +# (c) MUTA sul non misurato — se il numero e' None la regola tace, non arrotonda a zero. +# Il campo `nota` resta l'unico posto dove puo' finire un giudizio umano. + +def _bucket_convinzione(tp: float) -> str: + """TP01 media tre `np.sign()` e poi taglia a long-flat: la direzione vive in {0, 1/3, 1}. + + (Il bucket 2/3 NON esiste — verificato al sorgente il 2026-08-23, §41.) Il `tp_frac` che + il libro stampa e' quella direzione MOLTIPLICATA per il vol-target, quindi non e' il bucket: + qui se ne riporta solo l'ordine di grandezza. + """ + if tp <= 0.0: + return "flat" + return "parziale" if tp < 0.60 else "piena" + + +def lettura(con, voce: dict) -> list[dict]: + """Ritorna [{id, testo, livello}] — livello in {info, nota, attenzione}.""" + m, lb, p, s = voce["mercato"], voce["libro"], voce["pnl"], voce["salute"] + out: list[dict] = [] + + def dire(rid, testo, livello="info"): + out.append(dict(id=rid, testo=testo, livello=livello)) + + # --- cosa il libro STA FACENDO ----------------------------------------------------------- + if "errore" in lb: + dire("stato", f"Nessun giro di `book_execute`: {lb['errore']}. " + "Non e' «il libro era fermo», e' «non e' stato misurato».", "attenzione") + return out + + att = {a: v for a, v in lb["asset"].items() if abs(v["posizione"]) >= 1.0} + if not att: + dire("stato", "Libro **flat** su entrambe le gambe: nessun capitale a mercato.") + motivi = [] + for a, v in sorted(lb["asset"].items()): + pezzi = [] + if v["tp_frac"] <= 0: + pezzi.append("TP01 a zero (trend giu' o misto)") + if v["skh_sign"] == 0: + pezzi.append("SKH01 senza breakout") + if pezzi: + motivi.append(f"{a}: " + " e ".join(pezzi)) + if motivi: + dire("perche_flat", "Motivo, componente per componente — " + "; ".join(motivi) + + ". Per una strategia long-flat stare fuori **e'** una decisione.") + else: + pezzi = [f"{a} ${v['posizione']:+,.0f} (TP01 {v['tp_frac']:+.3f}, " + f"SKH01 {'flat' if v['skh_sign'] == 0 else ('long' if v['skh_sign'] > 0 else 'short')})" + for a, v in sorted(att.items())] + dire("stato", "A mercato su " + " e ".join(pezzi) + ".") + + # --- il segnale contro il mercato -------------------------------------------------------- + for a, v in sorted(lb["asset"].items()): + d = m.get(a) or {} + su = d.get("tsmom_su") + if not su: + continue + n_su, n_tot = su + b = _bucket_convinzione(v["tp_frac"]) + if 0 < n_su < n_tot and v["tp_frac"] > 0: + dire("disaccordo", f"{a}: gli orizzonti del trend **non concordano** ({n_su}/{n_tot} " + f"al rialzo) e l'esposizione TP01 e' {b} ({v['tp_frac']:+.3f}) — " + "e' il meccanismo, non una scelta di oggi.") + elif n_su == n_tot and v["tp_frac"] <= 0: + dire("incoerenza", f"{a}: tutti e {n_tot} gli orizzonti sono al rialzo ma TP01 e' a " + "zero. Da guardare: non e' lo stato atteso.", "attenzione") + + # --- quanto capitale e' esposto ---------------------------------------------------------- + lv = lb.get("leva_lorda") + if lv is not None: + # Il tetto si LEGGE da config/live.json. Ridichiararlo qui e' lo schema che questo + # progetto ha gia' pagato quattro volte (fee_watch, test di guardia sul cap, taratura + # venue_watch, indice del namespace): un sorvegliante che ridichiara il proprio + # bersaglio continua a passare il giorno che il bersaglio cambia. + try: + cfg = json.loads((PROJECT_ROOT / "config" / "live.json").read_text()) + cap_frac = float(cfg["max_notional_per_asset_frac"]) + tetto = cap_frac * len(lb["asset"]) + dire("leva", f"Leva lorda **{lv:.2f}x** su un tetto di {tetto:.2f}x " + f"(`max_notional_per_asset_frac` {cap_frac:.2f} x {len(lb['asset'])} " + f"asset, letto da `config/live.json`): margine {tetto - lv:.2f}x.") + except Exception as e: + dire("leva", f"Leva lorda **{lv:.2f}x**; tetto non verificabile " + f"({type(e).__name__} su config/live.json).", "attenzione") + + # --- P&L del giorno, in proporzione ------------------------------------------------------ + dq, fee = p.get("delta_equity"), p.get("fee", 0.0) + if dq is not None: + if p["fill"] and fee > 0 and abs(dq) < fee: + dire("fee", f"Il movimento di equity del giorno (${dq:+.2f}) e' **piu' piccolo delle " + f"fee pagate** (${fee:.4f}): la giornata l'ha decisa il costo, non il segnale.", + "nota") + elif p["fill"] == 0: + dire("pnl", f"Equity ${dq:+.2f} **senza operare**: e' mark-to-market sulle posizioni " + "gia' aperte.") + else: + dire("pnl", f"Equity ${dq:+.2f} con {p['fill']} fill e " + f"{p['roundtrip_chiusi']} round-trip chiusi (realizzato " + f"${p['realizzato_netto']:+.2f} netto).") + + # --- il cumulato, e da dove viene -------------------------------------------------------- + eq = con.execute("SELECT ts_utc, equity FROM equity WHERE ts_utc <= ? ORDER BY ts_utc", + (voce["giorno"] + "T23:59:59+00:00",)).fetchall() + if len(eq) > 24: + e0, e1 = eq[0]["equity"], eq[-1]["equity"] + tot = e1 - e0 + picco = max(r["equity"] for r in eq) + g7 = [r for r in eq if r["ts_utc"][:10] >= (date.fromisoformat(voce["giorno"]) - + timedelta(days=7)).isoformat()] + # Soglia di rilevanza: su un cumulato di pochi dollari la "concentrazione" e' aritmetica + # vera e informazione zero. Una regola che si accende su $2 insegna a saltare la sezione. + rilevante = abs(tot) >= max(5.0, 0.01 * e1) + if rilevante and g7: + quota = (e1 - g7[0]["equity"]) / tot + if quota > 0.60: + coda = ("Un risultato concentrato in una finestra non e' un tasso di rendimento: " + "e' un evento.") + if quota > 1.0: + coda = ("Oltre il 100% perche' **il periodo precedente era in perdita**: " + "senza questi 7 giorni il libro sarebbe sotto. " + coda) + dire("concentrazione", f"**Il {100*quota:.0f}% di tutto il P&L cumulato " + f"(${tot:+,.2f}) viene dagli ultimi 7 giorni.** " + coda, "nota") + if picco > 0: + dd = (e1 - picco) / picco + if dd < -0.005: + dire("drawdown", f"Equity **{100*dd:.2f}%** sotto il picco (${picco:,.2f}). " + "⚠️ e' un DD su letture ORARIE, non sul minimo intra-giorno.", "nota") + + # --- volatilita' implicita contro realizzata --------------------------------------------- + try: + from src.portfolio.sleeves import VRP_CFG + soglia_ivr = float(VRP_CFG["gate_ivr"]) # derivata dal sleeve, non riscritta + except Exception: + soglia_ivr = None + for a in ASSETS: + d = m.get(a) or {} + dv, rv = d.get("dvol"), d.get("rv30_annua") + if dv is None or rv is None: + continue + segno = "sopra" if dv > rv else "sotto" + riga = f"{a}: implicita {dv:.1f} contro realizzata 30g {rv:.1f} ({segno})" + if d.get("dvol_rank_1a") is not None: + riga += f"; DVOL al {100*d['dvol_rank_1a']:.0f}° pctl di un anno" + ivr = d.get("dvol_rank_exp") + if ivr is not None and soglia_ivr is not None: + riga += (f"; IV-rank espandente {ivr:.2f} " + + (f"**sopra** la soglia {soglia_ivr:.2f} del gate di VRP01 (a quel gate il " + "sleeve venderebbe — resta paper, regola «niente short-vol da modello»)" + if ivr > soglia_ivr else + f"sotto la soglia {soglia_ivr:.2f} del gate di VRP01 (sleeve fermo)")) + dire("vol", riga + ".") + + # --- giornata fuori scala ---------------------------------------------------------------- + for a in ASSETS: + d = m.get(a) or {} + r1, rv = d.get("ret_1g"), d.get("rv30_annua") + if r1 is None or not rv: + continue + sd_g = rv / math.sqrt(365) + if sd_g > 0 and abs(r1) > 2 * sd_g: + dire("evento", f"{a}: giornata a {r1:+.2f}%, **{abs(r1)/sd_g:.1f} deviazioni** " + f"giornaliere (sd implicita dalla RV30 = {sd_g:.2f}%).", "nota") + + # --- salute ------------------------------------------------------------------------------ + if s.get("giri_mancanti"): + dire("giri", f"**{s['giri_mancanti']} giri di `book_execute` mancanti** su " + f"{s['atteso_giri']}: in quelle ore il libro non ha ne' letto ne' eseguito.", + "attenzione") + if s.get("feed_skh_min") is not None and s["feed_skh_min"] > 30: + dire("feed", f"Feed SKH01 vecchio di {s['feed_skh_min']} min (soglia 30): la latenza " + "d'uscita di SKH01 e' quella, non ~1h.", "attenzione") + + # --- quanto vale questa pagina come evidenza --------------------------------------------- + n_rt = con.execute("SELECT COUNT(*) c FROM roundtrips WHERE ts_out <= ?", + (voce["giorno"] + "T23:59:59+00:00",)).fetchone()["c"] + if len(eq) > 24: + gg = (date.fromisoformat(eq[-1]["ts_utc"][:10]) - date.fromisoformat(eq[0]["ts_utc"][:10])).days + dire("evidenza", f"Campione a oggi: **{gg} giorni, {n_rt} 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.", "nota") + return out + def _n(v, fmt="{:+.2f}", vuoto="n/d"): return vuoto if v is None else fmt.format(v) @@ -222,7 +417,15 @@ def rendi_markdown(con, voce: dict) -> str: + (f" — **{s['giri_mancanti']} mancanti**" if s["giri_mancanti"] else ""), f"- eta' feed SKH all'ultimo giro: " + (f"{s['feed_skh_min']} min" if s["feed_skh_min"] is not None else "non misurata"), - "", "## Nota", "", (nota if nota.strip() else "*(vuota — campo dell'operatore)*"), ""] + ""] + righe = lettura(con, voce) + L += ["## 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.*", ""] + icona = {"info": "", "nota": "📌 ", "attenzione": "⚠️ "} + L += [f"- `[{r['id']}]` {icona[r['livello']]}{r['testo']}" for r in righe] or ["- *(nessuna regola accesa)*"] + L += ["", "## Nota", "", (nota if nota.strip() else "*(vuota — campo dell'operatore)*"), ""] return "\n".join(L) diff --git a/tests/test_journal.py b/tests/test_journal.py index 8c2f14c..fdf2c99 100644 --- a/tests/test_journal.py +++ b/tests/test_journal.py @@ -136,3 +136,174 @@ def test_lo_stato_tsmom_usa_gli_orizzonti_di_produzione(): src = Path(tp.__file__).read_text() for n in J.ORIZZONTI: assert str(n) in src, f"orizzonte {n} non compare in trend_portfolio.py" + + +# ============================================================================================= +# LETTURA RAGIONATA — ogni regola ha un test che la ACCENDE e uno che la tiene SPENTA +# ============================================================================================= +# Una regola che si accende sempre non sta leggendo niente, e una che non si accende mai e' +# indistinguibile da una rotta. Servono entrambe le direzioni. + +def _voce(mercato=None, libro=None, pnl=None, salute=None, giorno="2026-08-21"): + return dict(giorno=giorno, ts_scritto=T.ora(), mercato=mercato or {}, + libro=libro or {"errore": "nessun giro", "giri": 0}, pnl=pnl or {}, + salute=salute or dict(giri_book=24, feed_skh_min=0, atteso_giri=24, + giorno_in_corso=False, giri_mancanti=0)) + + +def _libro(**asset): + a = {k: dict(dict(tp_frac=0.0, skh_sign=0, skh_entry=None, target=0.0, posizione=0.0, + azione="HOLD (a target)"), **v) for k, v in asset.items()} + lordo = sum(abs(v["posizione"]) for v in a.values()) + return dict(giri=24, ultimo_giro="2026-08-21T23:07:01+00:00", equity=600.0, barra="2026-08-21", + feed_skh_min=0, nozionale_lordo=lordo, leva_lorda=lordo / 600.0, asset=a) + + +def _pnl(**kw): + base = dict(equity_inizio=600.0, equity_fine=600.0, delta_equity=0.0, realizzato_lordo=0.0, + realizzato_netto=0.0, roundtrip_chiusi=0, fill=0, fee=0.0, + cumulato_da_arming=0.0, letture_equity=24) + return {**base, **kw} + + +def _ids(righe): + return [r["id"] for r in righe] + + +def test_libro_flat_dice_anche_PERCHE(db): + v = _voce(libro=_libro(BTC={}, ETH={}), pnl=_pnl()) + r = J.lettura(db, v) + assert "stato" in _ids(r) and "perche_flat" in _ids(r) + testo = next(x["testo"] for x in r if x["id"] == "perche_flat") + assert "TP01 a zero" in testo and "SKH01 senza breakout" in testo + + +def test_libro_a_mercato_non_spiega_un_flat_che_non_c_e(db): + v = _voce(libro=_libro(BTC=dict(tp_frac=0.15, skh_sign=1, posizione=116.0)), pnl=_pnl()) + r = J.lettura(db, v) + assert "perche_flat" not in _ids(r) + assert "$+116" in next(x["testo"] for x in r if x["id"] == "stato") + + +def test_disaccordo_si_accende_a_2_su_3_e_tace_a_3_su_3(db): + lb = _libro(BTC=dict(tp_frac=0.15, skh_sign=1, posizione=116.0)) + misto = {"BTC": dict(chiusura=77000.0, tsmom_su=(2, 3), tsmom={})} + pieno = {"BTC": dict(chiusura=77000.0, tsmom_su=(3, 3), tsmom={})} + assert "disaccordo" in _ids(J.lettura(db, _voce(mercato=misto, libro=lb, pnl=_pnl()))) + assert "disaccordo" not in _ids(J.lettura(db, _voce(mercato=pieno, libro=lb, pnl=_pnl()))) + + +def test_incoerenza_trend_su_ma_libro_fuori(db): + lb = _libro(BTC=dict(tp_frac=0.0, skh_sign=0, posizione=0.0)) + m = {"BTC": dict(chiusura=77000.0, tsmom_su=(3, 3), tsmom={})} + r = J.lettura(db, _voce(mercato=m, libro=lb, pnl=_pnl())) + riga = next(x for x in r if x["id"] == "incoerenza") + assert riga["livello"] == "attenzione" + + +def test_il_tetto_di_leva_e_DERIVATO_dal_config_non_riscritto(db, monkeypatch, tmp_path): + """Se qualcuno cambia `max_notional_per_asset_frac`, la lettura deve cambiare da sola.""" + (tmp_path / "config").mkdir() + (tmp_path / "config" / "live.json").write_text(json.dumps({"max_notional_per_asset_frac": 0.25})) + monkeypatch.setattr(J, "PROJECT_ROOT", tmp_path) + lb = _libro(BTC=dict(posizione=150.0), ETH=dict(posizione=150.0)) + r = J.lettura(db, _voce(libro=lb, pnl=_pnl())) + testo = next(x["testo"] for x in r if x["id"] == "leva") + assert "0.50x" in testo and "0.25" in testo # 0.25 x 2 asset, NON 1.00x + + +def test_config_illeggibile_lo_dice_invece_di_inventare_un_tetto(db, monkeypatch, tmp_path): + monkeypatch.setattr(J, "PROJECT_ROOT", tmp_path) # nessun config qui + r = J.lettura(db, _voce(libro=_libro(BTC=dict(posizione=100.0)), pnl=_pnl())) + riga = next(x for x in r if x["id"] == "leva") + assert "non verificabile" in riga["testo"] and riga["livello"] == "attenzione" + + +def test_soglia_IV_rank_derivata_dal_sleeve(db): + """La soglia del gate viene da VRP_CFG, e l'IV-rank e' quello ESPANDENTE del sleeve.""" + from src.portfolio.sleeves import VRP_CFG + lb = _libro(BTC=dict(posizione=100.0)) + m = {"BTC": dict(chiusura=77000.0, dvol=42.0, rv30_annua=43.0, dvol_rank_exp=0.18)} + testo = next(x["testo"] for x in J.lettura(db, _voce(mercato=m, libro=lb, pnl=_pnl())) + if x["id"] == "vol") + assert f"{VRP_CFG['gate_ivr']:.2f}" in testo and "sotto la soglia" in testo + m["BTC"]["dvol_rank_exp"] = 0.90 + testo = next(x["testo"] for x in J.lettura(db, _voce(mercato=m, libro=lb, pnl=_pnl())) + if x["id"] == "vol") + assert "**sopra**" in testo + + +def test_iv_rank_espandente_e_diverso_dal_rank_a_un_anno(): + """I due rank rispondono a domande diverse: il 2026-08-23 danno 0.18 contro 0.52. + + Etichettare l'uno col nome dell'altro ribalta il verdetto sul gate di VRP01. + """ + m = J.metriche_mercato(date.today()) + for a in ("BTC", "ETH"): + d = m.get(a) or {} + if d.get("dvol_rank_exp") is None or d.get("dvol_rank_1a") is None: + continue + assert d["dvol_rank_exp"] != d["dvol_rank_1a"] + + +def test_regola_fee_quando_il_costo_supera_il_movimento(db): + lb = _libro(BTC=dict(posizione=100.0)) + r = J.lettura(db, _voce(libro=lb, pnl=_pnl(delta_equity=0.01, fill=2, fee=0.05))) + assert "fee" in _ids(r) + r = J.lettura(db, _voce(libro=lb, pnl=_pnl(delta_equity=5.00, fill=2, fee=0.05))) + assert "fee" not in _ids(r) and "pnl" in _ids(r) + + +def test_evento_si_accende_oltre_2_deviazioni_e_tace_sotto(db): + lb = _libro(BTC=dict(posizione=100.0)) + # RV30 36.5% annua -> sd giornaliera ~1.91% + grosso = {"BTC": dict(chiusura=77000.0, ret_1g=-6.0, rv30_annua=36.5)} + normale = {"BTC": dict(chiusura=77000.0, ret_1g=-1.0, rv30_annua=36.5)} + assert "evento" in _ids(J.lettura(db, _voce(mercato=grosso, libro=lb, pnl=_pnl()))) + assert "evento" not in _ids(J.lettura(db, _voce(mercato=normale, libro=lb, pnl=_pnl()))) + + +def test_le_regole_tacciono_sul_non_misurato(db): + """Mercato assente: nessuna riga su vol o eventi. Il silenzio e' il comportamento giusto.""" + r = J.lettura(db, _voce(mercato={"BTC": {"errore": "feed KO"}}, + libro=_libro(BTC=dict(posizione=100.0)), pnl=_pnl(delta_equity=None))) + assert "vol" not in _ids(r) and "evento" not in _ids(r) and "pnl" not in _ids(r) + + +def test_giri_mancanti_e_feed_vecchio_sono_attenzioni(db): + s = dict(giri_book=6, feed_skh_min=685, atteso_giri=24, giorno_in_corso=False, giri_mancanti=18) + r = J.lettura(db, _voce(libro=_libro(BTC=dict(posizione=100.0)), pnl=_pnl(), salute=s)) + liv = {x["id"]: x["livello"] for x in r} + assert liv.get("giri") == "attenzione" and liv.get("feed") == "attenzione" + + +def test_senza_giri_la_lettura_dice_NON_MISURATO_e_si_ferma(db): + r = J.lettura(db, _voce()) + assert _ids(r) == ["stato"] and "non e' stato misurato" in r[0]["testo"] + + +def test_il_bucket_di_convinzione_non_inventa_i_due_terzi(): + """`tsmom_blend` media tre np.sign(): dopo il clip long-flat la direzione sta in {0,1/3,1}.""" + assert J._bucket_convinzione(0.0) == "flat" + assert J._bucket_convinzione(0.15) == "parziale" + assert J._bucket_convinzione(0.90) == "piena" + + +def test_concentrazione_tace_su_un_cumulato_irrilevante(db): + """Vera ma inutile: su pochi dollari la concentrazione e' aritmetica, non informazione.""" + for i in range(60): + db.execute("INSERT INTO equity VALUES (?,?,?)", + (f"2026-06-{(i % 28) + 1:02d}T{i % 24:02d}:00:00+00:00", 600.0 + i * 0.03, "t")) + db.commit() + v = _voce(libro=_libro(BTC=dict(posizione=100.0)), pnl=_pnl(), giorno="2026-06-28") + assert "concentrazione" not in _ids(J.lettura(db, v)) # ~$1.8 di cumulato + + +def test_concentrazione_si_accende_quando_la_taglia_conta(db): + for i in range(60): + v = 600.0 if i < 50 else 600.0 + (i - 49) * 4.0 # salto nella coda + db.execute("INSERT INTO equity VALUES (?,?,?)", + (f"2026-06-{(i % 28) + 1:02d}T{i % 24:02d}:00:00+00:00", v, "t")) + db.commit() + v = _voce(libro=_libro(BTC=dict(posizione=100.0)), pnl=_pnl(), giorno="2026-06-28") + assert "concentrazione" in _ids(J.lettura(db, v))