docstring: execution/deribit/book allineati al codice attuale, niente importi cablati (#35 A9)
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
+4
-4
@@ -4,8 +4,8 @@ TP01 e SKH01 tradano lo STESSO strumento (BTC/ETH _USDC-PERPETUAL). Su Deribit e
|
|||||||
posizione netta per strumento per conto -> non si possono tenere due gambe separate: si combinano in
|
posizione netta per strumento per conto -> non si possono tenere due gambe separate: si combinano in
|
||||||
software in un unico target netto, e si manda UN ordine per asset per raggiungerlo.
|
software in un unico target netto, e si manda UN ordine per asset per raggiungerlo.
|
||||||
|
|
||||||
Formula (preserva il budget di rischio $300/asset, split 75/25; coerente col blend di ritorni
|
Formula (preserva il budget di rischio per-asset di config (CAP sotto: `max_notional_per_asset_usd`
|
||||||
deribit_book_sleeves = 0.75*TP01 + 0.25*SKH01):
|
o `_frac`), split 75/25; coerente col blend di ritorni deribit_book_sleeves = 0.75*TP01 + 0.25*SKH01):
|
||||||
|
|
||||||
net_target_usd[asset] = clamp( WEIGHT * E * (W_TP01 * tp_frac + W_SKH * skh_sign), ±CAP )
|
net_target_usd[asset] = clamp( WEIGHT * E * (W_TP01 * tp_frac + W_SKH * skh_sign), ±CAP )
|
||||||
|
|
||||||
@@ -13,8 +13,8 @@ deribit_book_sleeves = 0.75*TP01 + 0.25*SKH01):
|
|||||||
tp_frac = target TP01 (causale, >=0, long-flat) da TrendPortfolio.current_target
|
tp_frac = target TP01 (causale, >=0, long-flat) da TrendPortfolio.current_target
|
||||||
skh_sign = +1 long / -1 short / 0 flat da _skyhook_positions (book 230m)
|
skh_sign = +1 long / -1 short / 0 flat da _skyhook_positions (book 230m)
|
||||||
E = equity reale del conto (fallback paper se offline)
|
E = equity reale del conto (fallback paper se offline)
|
||||||
CAP = cap notional per-asset. Fisso = max_notional_per_asset_usd ($300), OPPURE
|
CAP = cap notional per-asset. Fisso = `max_notional_per_asset_usd` di config, OPPURE
|
||||||
DINAMICO = equity * max_notional_per_asset_frac (es. 0.5 -> equity/2) se la
|
DINAMICO = equity * `max_notional_per_asset_frac` (es. 0.5 -> equity/2) se la
|
||||||
frazione e' presente in config -> il cap cresce col capitale e non strozza il
|
frazione e' presente in config -> il cap cresce col capitale e non strozza il
|
||||||
book quando depositi (frontiera 2026-07-03). Dinamico SOLO con equity reale
|
book quando depositi (frontiera 2026-07-03). Dinamico SOLO con equity reale
|
||||||
fidata; su fallback/offline si torna al cap fisso (protezione downside).
|
fidata; su fallback/offline si torna al cap fisso (protezione downside).
|
||||||
|
|||||||
+11
-8
@@ -1,13 +1,16 @@
|
|||||||
"""Accesso Deribit MAINNET in SOLA LETTURA (via Cerbero MCP) + costruttore ordini deterministico.
|
"""Accesso Deribit MAINNET (via Cerbero MCP) + costruttore ordini deterministico. La classe
|
||||||
|
`DeribitRead` qui e' in SOLA LETTURA (nessun metodo di trading, by design); l'esecuzione REALE la
|
||||||
|
estende in un modulo separato (`src.live.execution.DeribitTrader`) — non e' piu' un progetto
|
||||||
|
futuro (#35 A9): e' ARMATA e LIVE su Deribit mainnet dal 2026-06-23 (`execution_enabled` in
|
||||||
|
config/live.json), usata da `scripts/live/book_execute.py`.
|
||||||
|
|
||||||
Serve lo SHADOW MODE di TP01 (`scripts/live/live_trend.py`): legge prezzi / conto / posizioni REALI
|
Da qui vengono prezzi / conto / posizioni REALI (token `.env.mainnet`): li usa sia il libro live
|
||||||
dal mainnet (token `.env.mainnet`) e costruisce gli ordini di ribilancio **senza inviarli**. Qui NON
|
(TP01+SKH01, via src.live.book + execution) sia lo shadow mode e i monitor di sorveglianza.
|
||||||
esiste alcun metodo di trading — by design: l'unica via per piazzare ordini sara' un modulo separato,
|
|
||||||
abilitato esplicitamente, dopo la validazione shadow + micro-test.
|
|
||||||
|
|
||||||
Disciplina del progetto: **testnet FUORI** (feed farlocco, causa del reset v2.0.0). Solo mainnet reale,
|
Disciplina del progetto: **testnet FUORI** (feed farlocco, causa del reset v2.0.0). Solo mainnet
|
||||||
e in questa fase solo in lettura. I contratti sono ristretti a BTC/ETH-PERPETUAL (inverse: `amount`
|
reale. I contratti ESEGUITI sono i perp LINEARI USDC (`_USDC-PERPETUAL`, non inverse): `amount` in
|
||||||
in USD notional, step verificato su Deribit: BTC $10, ETH $1).
|
base-coin (BTC/ETH), margine e P&L in USDC — vedi `_CONTRACT` sotto per step/tick/minimi per
|
||||||
|
strumento.
|
||||||
"""
|
"""
|
||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
|
|||||||
@@ -23,10 +23,11 @@ from dataclasses import dataclass
|
|||||||
from src.live.deribit import DISASTER_LABEL, DeribitRead, disaster_stop_price, notional_to_amount, quantize_price
|
from src.live.deribit import DISASTER_LABEL, DeribitRead, disaster_stop_price, notional_to_amount, quantize_price
|
||||||
|
|
||||||
# Conto USDC -> perp LINEARE USDC (amount in base-coin). MAX_AMOUNT = TETTO HARD anti-fat-finger di
|
# Conto USDC -> perp LINEARE USDC (amount in base-coin). MAX_AMOUNT = TETTO HARD anti-fat-finger di
|
||||||
# DEFAULT (~$630/$430 su un conto ~$600), usato SOLO quando nessuno ha chiamato set_open_cap() (il
|
# DEFAULT (in coin, sotto), usato SOLO quando nessuno ha chiamato set_open_cap() (il micro-test,
|
||||||
# micro-test, che invia comunque size fissa minima). Sul libro il tetto per apertura lo deriva
|
# che invia comunque size fissa minima). Sul libro il tetto per apertura lo deriva set_open_cap()
|
||||||
# set_open_cap() dal cap di config (config/live.json max_notional_per_asset_usd, #18): backstop
|
# dal cap di config (config/live.json max_notional_per_asset_usd, #18): backstop sopra il sizing
|
||||||
# sopra il sizing di TP01/book, non il sizing operativo.
|
# di TP01/book, non il sizing operativo. (#35 A9: via il "~$630/$430 su conto ~$600" cablato —
|
||||||
|
# MAX_AMOUNT e' in coin, non in dollari, e non e' il tetto operativo da quando esiste set_open_cap.)
|
||||||
ALLOWED = {"BTC_USDC-PERPETUAL", "ETH_USDC-PERPETUAL"}
|
ALLOWED = {"BTC_USDC-PERPETUAL", "ETH_USDC-PERPETUAL"}
|
||||||
MAX_AMOUNT = {"BTC_USDC-PERPETUAL": 0.01, "ETH_USDC-PERPETUAL": 0.25} # DEFAULT — vedi set_open_cap()
|
MAX_AMOUNT = {"BTC_USDC-PERPETUAL": 0.01, "ETH_USDC-PERPETUAL": 0.25} # DEFAULT — vedi set_open_cap()
|
||||||
FLAT_USD = 1.0 # |notional| < $1 = posizione considerata flat
|
FLAT_USD = 1.0 # |notional| < $1 = posizione considerata flat
|
||||||
|
|||||||
Reference in New Issue
Block a user