メインコンテンツまでスキップ

主要コマンド

詳細な全引数は「参照資料 > コマンド詳細(完全版)」を参照してください。
このページでは日常運用で使うコマンドを整理します。

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