# strategy_pythagoras Strategia di trading basata sul framework **Pythagoras-Malanga** (candle-pattern + geometria frattale), evoluta via GA sul core `multi_swarm_core`. Workspace member del monorepo `multi_swarm_coevolutive`. ## Scope Pipeline coevolutiva su candele OHLC: il GA del core esplora combinazioni di indicatori candle-pattern, geometria pitagorica e ratio frattali, e produce strategie JSON freezate. Questo member le esegue in **paper-trading forward-test** ed espone una dashboard NiceGUI per analisi invarianza scala/tick e candle. ## Layout ``` strategy_pythagoras/ ├── backend/ paper trading runner (PaperExecutor, Portfolio, PaperRepository) │ └── schema.py tabelle paper_trading_* (DB locale dedicato) ├── frontend/ NiceGUI dashboard (tab invariance, candle, equity, ticks) ├── strategies/ JSON freezate input al runner │ (pythagoras_*.json) └── prompts.json 7 stili di prompt LLM (candle-pattern, frattale, ratio, pivot, kagi, renko, hybrid) ``` ## Run paper-trading smoke ```bash uv run python scripts/run_pythagoras_smoke.py \ --name pythagoras-smoke-001 \ --initial-capital 1000 \ --poll-seconds 300 ``` Il default `--strategies-dir` punta ai JSON shippati col package via `importlib.resources.files("strategy_pythagoras") / "strategies"`. ## Dashboard ```bash uv run python -m strategy_pythagoras.frontend.nicegui_app ``` In produzione: `https://swarm.tielogic.xyz/strategy_pythagoras_gui/` (root_path configurato via `DASHBOARD_ROOT_PATH=/strategy_pythagoras_gui`). ## DB schema Schema isolato dal core e dalle altre strategie. Due DB distinti: - `state/strategy_pythagoras.db` — GA + analisi invarianza (env `STRATEGY_PYTHAGORAS_DB_PATH`) - `state/strategy_pythagoras_paper.db` — paper-trading runs (env `STRATEGY_PYTHAGORAS_PAPER_DB_PATH`) Tabelle paper-trading: - `paper_trading_runs` — metadata run (id, name, capital, status) - `paper_trading_positions` — posizioni aperte (long/short) - `paper_trading_trades` — trade realized (entry/exit, pnl, fees) - `paper_trading_equity` — equity curve snapshot - `paper_trading_ticks` — log signal/action per ogni bar DDL gestito da `strategy_pythagoras.backend.schema.init_schema()`. La dashboard legge **anche** il `runs.db` del core GA (env `GA_DB_PATH`) per correlare paper performance con i genomi di provenienza e con i risultati di fitness invariance. ## References - Spec: `docs/superpowers/specs/2026-05-19-strategy-pythagoras-design.md` - Plan: `docs/superpowers/plans/2026-05-19-strategy-pythagoras.md` - Summary paper: `Pythagoras/Pythagoras_Trading_Prediction.summary.md` - Summary frattali: `Pythagoras/Libro_frattali.summary.md` - Pattern member: vedi `src/strategy_crypto/README.md`