システムトレードの検証パイプラインを、Docker ベースの最小 MVP として試せる repo です。deterministic な OHLCV 生成、Backtest、WFO、DryRun(Paper Trading)、そして安全な Live stub までをひと通り揃えています。
market-data: deterministic なサンプル OHLCV を生成しますstrategy-research: Backtest と WFO の入口ですstrategy-executor-paper: DryRun(Paper Trading)の入口ですstrategy-executor-live: 安全のため実発注を拒否する stub ですredis: executor 系 service の依存先として置いた最小補助 service です
主要ファイル:
compose.yamldocker/research.Dockerfiledocker/executor.Dockerfiledocker/market-data.Dockerfileconfigs/*.yamlsrc/contena/
最小確認は install なしでも実行できます。
PYTHONPATH=src python3 -m contena.cli seed-data --output data/market/example_ohlcv.csv --rows 480
PYTHONPATH=src python3 -m contena.cli backtest --config configs/backtest.example.yaml
PYTHONPATH=src python3 -m contena.cli wfo --config configs/wfo.example.yaml
PYTHONPATH=src python3 -m contena.cli dryrun --config configs/dryrun.example.yaml
PYTHONPATH=src python3 -m contena.cli live --config configs/dryrun.example.yaml主な出力先は次の通りです。
seed-data:data/market/example_ohlcv.csvbacktest:artifacts/backtests/example_backtest/wfo:artifacts/wfo/example_wfo/dryrun:artifacts/dryrun/example_dryrun/live: 実発注はせず、stub として拒否メッセージを返します
editable install を使いたい場合は、pip が利用できる環境で次を実行します。
python3 -m pip install -e .
python3 -m contena.cli seed-data --output data/market/example_ohlcv.csv
python3 -m contena.cli backtest --config configs/backtest.example.yaml
python3 -m contena.cli wfo --config configs/wfo.example.yaml
python3 -m contena.cli dryrun --config configs/dryrun.example.yaml
python3 -m contena.cli live --config configs/dryrun.example.yaml補助 wrapper も用意しています。
./scripts/run_backtest.sh
./scripts/run_wfo.sh
./scripts/run_dryrun.shDocker CLI 自体は current verification session では未確認ですが、compose.yaml に合わせた想定コマンドは次の通りです。
docker compose --profile research run --rm market-data
docker compose --profile research run --rm strategy-research
docker compose --profile research run --rm strategy-research python -m contena.cli wfo --config configs/wfo.example.yaml
docker compose --profile paper run --rm strategy-executor-paper
docker compose --profile live run --rm strategy-executor-livemarket-data は sample OHLCV の生成、strategy-research は既定で Backtest、command override で WFO、strategy-executor-paper は DryRun、strategy-executor-live は live stub を実行します。
strategy-executor-live は MVP では実発注を実装していません。安全のため、live subcommand は明示的に拒否し、実運用は行いません。
data/market/*.csv、artifacts/ 配下の生成成果物、logs/ 配下の実行ログは実行時に作られる前提であり、repo には commit しません。