feat(strategy_pythagoras): scaffold workspace member + register in uv
This commit is contained in:
@@ -0,0 +1,78 @@
|
||||
# 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`
|
||||
Reference in New Issue
Block a user