主要コマンド
詳細な全引数は「参照資料 > コマンド詳細(完全版)」を参照してください。
このページでは日常運用で使うコマンドを整理します。
1. データ取り込み
uv run atc ingest historical --symbol ETH_JPY --start 2026-01-01 --end 2026-01-31
2. モデル学習(例: logistic)
uv run atc ml train-direction-logistic \
--symbol ETH_JPY \
--start 2022-01-01 \
--end 2025-12-31 \
--horizon-sec 300 \
--workers 4
2.1 モデル学習(Hold-10ETH 3状態 softmax)
uv run atc ml train-hold10-softmax \
--symbol ETH_JPY \
--start 2022-01-01 \
--end 2025-12-31 \
--horizon-sec 300 \
--hold-eth 10 \
--flat-cost-bps 2 \
--short-cost-bps 4 \
--feature-backend rust \
--compute-backend auto \
--compute-device auto \
--batch-size 8192 \
--workers 4
auto 指定時は、PyTorch + Apple Silicon MPS が有効ならGPUを利用し、使えない場合はCPUへ自動フォールバックします。
--batch-size を上げるとGPU使用率を高めやすく、下げるとメモリ圧迫を抑えられます。
2.2 モデル学習(Multihorizon Ticker)
uv run atc ml train-multihorizon-ticker \
--symbol ETH_JPY \
--start 2022-01-01 \
--end 2025-12-31
ティッカーストリーム(bid/ask/spread)のみを入力とし、複数ホライズン(1s/5s/30s/300s)のバイナリ方向ラベルで個別ロジスティック回帰を学習します。
モデルは data/derived/models/ml_multihorizon_ticker_{symbol}_{start}_{end}.json に保存されます。
2.3 画像モデル学習(Transformer)
uv run atc ml train-image-alpha \
--dataset-path data/derived/datasets/image_alpha_ETH_JPY_2025-10-01_2026-02-11.npz \
--model-type transformer \
--epochs 32 \
--batch-size 384 \
--learning-rate 0.001 \
--patch-size 8 \
--d-model 192 \
--nhead 8 \
--num-layers 6 \
--early-stop-patience 6 \
--progress-every 1 \
--device auto
2.4 画像データセット生成(Rust特徴量キャッシュ経由)
uv run atc ml build-image-dataset \
--symbol ETH_JPY \
--start 2022-01-01 \
--end 2025-12-31 \
--output-name image_alpha_train_128_ETH_JPY_2022-01-01_2025-12-31_h1 \
--image-size 128 \
--stride-sec 3600 \
--feature-backend rust \
--render-backend rust \
--workers 8 \
--progress-every 2000
既定では rust 出力が python と一致するかを先頭営業日で厳密検証します(--no-parity-check で無効化可能)。
3. バックテスト + 可視化
uv run atc backtest \
--symbol ETH_JPY \
--start 2025-10-01 \
--end 2026-02-11 \
--strategy ml_direction_logistic_hold_overlay_regime_guard \
--run-tag exp_a \
--target-abs-qty-eth 10 \
--max-abs-position-eth 10 \
--plot \
--plot-format both \
--plot-interval 5m
--run-tag を付けると、同じ期間・同じ戦略を並列実験しても report/chart の出力ファイル名が衝突しません。
4. 日次/全体評価レポート
uv run atc report daily-eval \
--symbol ETH_JPY \
--start 2026-01-01 \
--end 2026-01-31 \
--strategy ml_direction_logistic_hold_overlay_regime_guard \
--plot-format png
5. レポートを記事化
uv run python scripts/report_to_article.py \
--report data/derived/reports/backtest_ETH_JPY_2025-10-01_2026-02-11_ml_direction_logistic_hold_overlay_regime_guard.json
5.1 複数 backtest の結果を一括比較(run-tag対応)
uv run python scripts/summarize_backtests.py \
--glob 'backtest_ETH_JPY_2025-10-01_2026-02-11_ml_hold10_softmax_overlay_regime_blend_blend_cfg*.json' \
--output-csv data/derived/reports/summary_blend_grid.csv
5.2 研究系コマンド(stateful安定性/低勝率分析)
重めの研究用コマンドは、重複説明を避けるため 再現手順ガイド に集約しています。
使い方は以下を参照してください。
再現手順ガイド > 7. 低勝率区間の深掘り分析
6. 実行ダッシュボード起動(Next.js)
just dashboard-install
just dashboard-dev
比較データの不足分バックフィル(全戦略・全比較期間):
uv run python scripts/backfill_compare_runs.py
4並列でのバックフィル実行:
for i in 1 2 3 4; do
args=()
while IFS= read -r strategy; do
[ -n "$strategy" ] && args+=(--strategy "$strategy")
done < "logs/backfill_shards/worker_${i}.txt"
uv run python scripts/backfill_compare_runs.py "${args[@]}" > "logs/backfill_shards/run_worker_${i}.log" 2>&1 &
done
7. Postgres 開発運用
ローカル開発DBの起動:
just db-dev-up
just db-dev-logs
migration 適用と確認:
just db-migrate-up
just db-migrate-status
migration 巻き戻し(例: 1 step):
just db-migrate-down steps=1
既存データのPostgres投入:
just db-import-postgres
停止:
just db-dev-down
8. DB integration テスト
一時DBを毎テスト生成して検証:
just test-integration-db
ATC_TEST_POSTGRES_ADMIN_URL で管理DB接続先を指定できます。
9. CLI結果をPostgresへ永続化
src/atc 側で ingest/backtest/report の結果をPostgresへ保存するには:
ATC_POSTGRES_WRITE_ENABLED=true uv run atc backtest --symbol ETH_JPY --strategy baseline_flat