Files
Multi_Swarm_Coevolutive/src/strategy_pythagoras/README.md
T

2.8 KiB

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

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

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