feat(live): position_size configurabile da overrides (0.5 = max impiego dei 2K senza debito margine)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -148,6 +148,10 @@ def run(config_path: str = "portfolios.yml"):
|
||||
p: Portfolio = load_active_portfolio(config_path)
|
||||
_ov = (yaml.safe_load(Path(config_path).read_text()) or {}).get("overrides", {})
|
||||
poll = int(_ov.get("poll_seconds", 60))
|
||||
# Frazione di capitale-sleeve impegnata per posizione (default 0.15 = canonico backtest).
|
||||
# Con leva 2x: notional = capital * position_size * 2. A 0.5 ogni sleeve in posizione
|
||||
# impegna il 100% della sua fetta (max impiego senza debito di margine); DD scala ~lineare.
|
||||
position_size = float(_ov.get("position_size", 0.15))
|
||||
|
||||
def _supported(s):
|
||||
return s.kind in ("pairs",) + _MULTI_KINDS or s.name in _STRAT_MODULE
|
||||
@@ -188,6 +192,7 @@ def run(config_path: str = "portfolios.yml"):
|
||||
for s in live_specs:
|
||||
ex, inst = _exec_for(s)
|
||||
workers[s.sid] = build_worker_for(s, alloc[s.sid], p.leverage,
|
||||
position_size=position_size,
|
||||
executor=ex, exec_instrument=inst)
|
||||
|
||||
# lookback (giorni) richiesto per ogni asset = max sui worker che lo usano
|
||||
|
||||
Reference in New Issue
Block a user