docs: profilo B, collettore research, colonna source, backup giornaliero

Allinea la documentazione alle modifiche di v1.7.0.

- 01-strategy-rules: §3.2 delta short 0.18 (banda 0.12-0.22, OTM>=10%)
  con la motivazione dell'analisi (credit/width ~6% irraggiungibile a
  delta basso); delta_by_dvol aggressiva ritarata; §3.3 width fino a 6%
  (griglia strike 100pt); §3.4 credit/width min 30% -> 8%.
- 05-data-model: option_chain_snapshots alimentata da due collettori
  (live/research) via colonna source; CREATE TABLE + indice aggiornati;
  book_depth_top3 popolato sulle righe research; migrazioni 6 e 7 in
  tabella; backup orario -> giornaliero con nota storica.
- 10-config-spec: valori structure profilo B + nuovo blocco
  research_collector.
- 06-operational-flow: cron summary con i due collettori opzioni.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Adriano Dal Pastro
2026-06-09 08:31:59 +00:00
parent 4d7b02b6cb
commit 8a1fb823dc
4 changed files with 93 additions and 30 deletions
+30 -6
View File
@@ -55,19 +55,43 @@ structure:
dte_min: 14
dte_max: 21
# Profilo B (v1.7.0). L'analisi su 3.689 snapshot (1mag-8giu '26) ha
# mostrato che a delta 0.10-0.15 il miglior credit/width fisicamente
# ottenibile è ~6%, quindi il vecchio credit_to_width_ratio_min=0.30
# era irraggiungibile (0 spread fattibili). La sola leva efficace è
# vendere più vicino → delta alzato a ~0.18.
short_strike:
delta_target: 0.12
delta_min: 0.10
delta_max: 0.15
distance_otm_pct_min: 0.15
delta_target: 0.18
delta_min: 0.12
delta_max: 0.22
distance_otm_pct_min: 0.10
distance_otm_pct_max: 0.25
spread_width:
target_pct_of_spot: 0.04
min_pct_of_spot: 0.03
max_pct_of_spot: 0.05
# 0.06: la griglia strike ETH sotto i $1500 è a 100pt (~6% a spot
# <$2k); con cap 0.05 nessuna gamba long rientrava in banda.
max_pct_of_spot: 0.06
credit_to_width_ratio_min: 0.30
credit_to_width_ratio_min: 0.08 # era 0.30 (irraggiungibile a delta ≤0.22)
# === RESEARCH COLLECTOR (§13-bis) ===
# Collettore opzioni full-chain, indipendente dal live. Cattura tutte
# le scadenze ≤ expiry_max_days ed entrambe le ali, popolando
# book_depth_top3 (1 call orderbook/strumento) → backtest opzioni
# per-trade e standing. Disabilitato di default: costo API non
# trascurabile. Scrive righe con source='research'.
research_collector:
enabled: false
cron: "0 * * * *" # orario, indipendente dal */15 del live
expiry_max_days: 95 # 1g..3mesi
moneyness_band_pct: null # null = catena completa (entrambe le ali)
open_interest_min: 100
fetch_book_depth: true
book_depth_concurrency: 8 # concorrenza max delle call orderbook
assets: ["ETH", "BTC"]
# === LIQUIDITY GATE ===