その他コマンド¶
コアコマンド 以外の補助・管理用コマンドを 1 ページにまとめています。10 グループ × 約 29 サブコマンドが対象です。詳細パラメータの完全なリストは forge <group> <subcommand> --help でも確認できます。
サンプル出力について
本ページの出力例は alpha-forge のソースから読み取ったフォーマットを元にしたサンプルです。実際の数値はデータと環境によって異なります。
グループ早見表¶
| グループ | サブコマンド | 主な用途 |
|---|---|---|
| self | update version |
forge バイナリの自己更新・最新版確認 |
| system auth | login logout status check op |
Whop OAuth 認証と認証状態の確認 |
| system init | (単一コマンド) | 作業ディレクトリの初期化 |
| system docs | list show |
同梱ドキュメント参照 |
| pine | generate preview import verify |
TradingView Pine Script の生成・取り込み・MCP 検証 |
| data tv-mcp | chart inspect |
TradingView MCP(チャートスナップショット・任意ツール呼び出し) |
| analyze indicator | list show |
対応テクニカル指標の参照 |
| idea | add list show status link tag note search |
投資アイデアの記録・追跡 |
| data alt | fetch list info |
代替データ(センチメント等)の管理 |
| analyze pairs | scan scan-all build |
ペアトレード(コインテグレーション) |
| analyze ml | dataset build dataset feature-sets train models walk-forward |
ML データセット・モデル学習・walk-forward 検証 |
self¶
forge バイナリ自身を更新・確認するためのコマンド群(macOS arm64 / x64 サポート、Phase 1)。alpha-forge リポジトリで issue #693 として導入。
forge self version¶
現在のバージョンと配布リポジトリ(alforge-labs/alforge-labs.github.io)の最新リリースを表示します。self 配下は Whop 認証チェックをスキップするため、ログイン状態に関係なく実行できます。
サンプル出力:
現在のバージョン: 0.3.1
最新リリース : 0.4.0 (https://github.com/alforge-labs/alforge-labs.github.io/releases/tag/v0.4.0)
新しいバージョンが利用可能です: 0.4.0 (available)
アップデート: forge self update
forge self update¶
forge バイナリを最新版に更新します。GitHub Releases から SHA256 検証付きでダウンロード → アトミックに forge.dist を差し替え → 旧バイナリを forge.dist.bak-<unix_ts> として最新 2 世代まで保持します。
forge self update # プロンプトで確認 [y/N]
forge self update --yes # 確認をスキップ(CI 用)
forge self update --check # ダウンロードせず確認のみ
forge self update --version 0.4.0 # 任意バージョンへピン留め
forge self update --dry-run # DL・検証・展開のみ実行(差し替えなし)
forge self update --print-target # 検出したインストールレイアウトを表示(トラブル時に共有)
動作する条件¶
install.sh でインストールされた forge.dist ディレクトリ + symlink 形式(典型: ~/.local/share/alpha-forge/forge.dist/ + ~/.local/bin/forge)で動作します。
| 環境 | 動作 |
|---|---|
| macOS arm64 / x64(install.sh 経由) | ✅ サポート |
| Windows x64 | ⚠️ Phase 1 では未サポート(install.ps1 を再実行してください) |
| Linux x64 | ⚠️ Phase 3 で対応予定 |
開発モード(uv run forge) |
⚠️ DevModeError で停止(git pull && uv sync を使ってください) |
内部動作¶
- 配布リポジトリ
alforge-labs/alforge-labs.github.ioの Releases API から最新タグを取得 - プラットフォームに合うアセット(例:
forge-macos-arm64.tar.gz)とSHA256SUMSをダウンロード - ハッシュ検証 → 一時ディレクトリに展開
forge.distをforge.dist.bak-<unix_ts>にリネーム(atomic)- 新しい
forge.distをアトミックに配置 $BIN_DIR/forgesymlink が壊れていれば再作成
途中で失敗した場合、旧バイナリは無傷で残り、forge.dist.bak-* から復旧できます(Phase 2 で forge self rollback を提供予定)。
system auth¶
Whop OAuth 2.0 PKCE による認証コマンド群。サブコマンドはすべて forge system auth <subcommand> で実行します。詳しい初回セットアップは はじめに を参照。
forge system auth login¶
ブラウザを開いて Whop で認証します。
ブラウザが自動で開き、Whop の OAuth 認証フローを実行します。引数・オプションなし。成功すると認証情報が $XDG_CONFIG_HOME/forge/credentials.json(未設定時 ~/.config/forge/credentials.json)にキャッシュされます。
forge system auth logout¶
ログアウトして認証情報を削除します。
credentials.json を削除します。引数・オプションなし。Whop マイページのメンバーシップ自体は影響を受けません。
forge system auth status¶
現在の認証状態を表示します。
サンプル出力:
ユーザー ID : user_abc123
アクセストークン: 2026-04-12 12:30 UTC(あと 45 分)
最終検証 : 2026-04-12 11:45 UTC(13 分前)
プラン : annual
未認証時は次のように案内します:
開発スキップ環境変数(ALPHA_FORGE_DEV_SKIP_LICENSE=1)が有効な場合は [AlphaForge] 開発スキップ中(EULA/認証は未完了) を表示します。
forge system auth check op¶
1Password CLI(op)のセッション有効性を検証します。.env.op を併用するチームの CI フックで使用するためのもの(issue #411)。詳細は実装コメントを参照。
セッション有効時に exit code 0、無効時に exit code 2 を返します。
system init¶
作業ディレクトリを初期化します。forge.yaml、データディレクトリ、ドキュメント、AI アシスタント統合ファイルを作成。
構文¶
オプション¶
| 名前 | 種別 | デフォルト | 説明 |
|---|---|---|---|
--force / -f |
フラグ | false | 既存ファイルを確認なしで上書き |
--no-claude |
フラグ | false | AI アシスタント統合ファイルのセットアップをスキップ |
作成されるディレクトリ¶
data/historical/、data/strategies/、data/results/、data/journal/、data/ideas/、output/pinescript/
インストールされる AI 統合ファイル¶
| 出力先 | 内容 |
|---|---|
.claude/skills/ |
Claude Code スキル(forge-backtest, forge-analyze, forge-data) |
.claude/commands/ |
Claude Code スラッシュコマンド(explore-strategies, grid-tune 他 4 件) |
.agents/skills/ |
Codex スキル(explore-strategies, grid-tune 他 4 件) |
サンプル出力¶
AlphaForge: 作業ディレクトリを初期化します...
[1/4] 設定ファイル
✓ forge.yaml
[2/4] データディレクトリ
✓ data/historical/
✓ data/strategies/
- 既存: data/results/
...
[3/4] ドキュメントファイル
✓ docs/quick-start.ja.md
✓ docs/user-guide.ja.md
...
[4/4] AI アシスタント統合ファイル
✓ .claude/skills/forge-backtest/SKILL.md
✓ .claude/commands/explore-strategies.md
✓ .claude/commands/grid-tune.md
✓ .agents/skills/explore-strategies/SKILL.md
✓ .agents/skills/grid-tune/SKILL.md
...
完了: 26 件を作成, 0 件をスキップ
次のステップ:
1. forge.yaml を編集して設定をカスタマイズしてください
2. 以下を ~/.zshrc / ~/.bashrc に追加してください:
export FORGE_CONFIG=/path/to/forge.yaml
explore¶
戦略探索パイプラインの状態管理と一括実行を行います。AI エージェント(/explore-strategies)から利用されるコマンド群です。
| サブコマンド | 説明 |
|---|---|
run |
バックテスト→最適化→WFT→DB登録を一気通貫実行(メインコマンド) |
index |
explored_log.md から exploration_index.yaml を生成 |
import |
既存 Markdown ログを探索 DB へ投入 |
log |
探索試行を DB に手動記録 |
status |
ゴールに対する網羅状況マップを表示 |
result |
探索 DB に保存された最新試行の詳細を表示 |
health |
直近 N 件の試行から連続失敗・scaffold 固定化を検出(無人運転の品質ゲート) |
recommend |
次の探索候補を recommendations.yaml へ出力 |
coverage |
パラメータカバレッジ(YAML)の更新・参照 |
forge explore run¶
バリデーション → データ自動取得 → バックテスト → 最適化 → ウォークフォワードテスト(WFT)→ coverage 更新 → DB 登録を 1 コマンドで完結させます。不合格時は exit code 1 を返します(--dry-run / --pre-check 時を除く)。
エージェントの /explore-strategies スキルから内部的に呼び出されます。
forge explore run <SYMBOL> --strategy <NAME> --goal <GOAL> [--no-cleanup] [--dry-run] [--pre-check] [--json] [--db <PATH>]
| オプション | 説明 | デフォルト |
|---|---|---|
--strategy |
戦略名(必須) | — |
--goal |
ゴール名(goals.yaml の pre_filter / target_metrics を適用) |
default |
--no-cleanup |
不合格時もファイル・DB エントリを削除しない(デバッグ用) | off |
--dry-run |
実行予定ステップを表示して終了(実際の処理は行わない) | off |
--pre-check |
バックテスト(デフォルトパラメータ)のみ実行し、最適化/WFT はスキップする(#321) | off |
--json |
結果を JSON 形式で標準出力する(非推奨: forge explore result show <id> --json を使用してください) |
off |
--db |
探索 DB のパス(省略時は forge.yaml のデフォルトパス) |
— |
--pre-check の使い方¶
戦略設計段階のスクリーニングに使用します。最適化・WFT は実行されません。
forge explore run SPY --strategy my_rsi_v1 --pre-check
forge explore run SPY --strategy my_rsi_v1 --pre-check --json
--pre-check 実行時のテキスト出力例:
📊 Pre-check (バックテスト・デフォルトパラメータ)
Sharpe: 0.821
MaxDD: 19.9%
Trades: 24 ⚠️ 少ない(WFT 窓に対して不十分な可能性)
Signals: 31
Pre-filter: FAIL ❌
→ 最適化・WFT はスキップされます。
出力 JSON の例¶
{
"symbol": "SPY",
"strategy_id": "spy_hmm_rsi_v3",
"passed": false,
"backtest": {
"sharpe": 0.82,
"max_dd": 19.9,
"trades": 42
},
"pre_filter_pass": true,
"wft_avg_sharpe": 1.12,
"wft_target": 1.5,
"skip_reason": "wft_failed",
"cleanup_done": true,
"entry_signals": 31
}
| フィールド | 説明 |
|---|---|
passed |
WFT が target_metrics を満たした場合 true |
skip_reason |
スキップ・失敗理由(validation_failed / no_signals / pre_filter_failed / wft_failed / pre_check_only / dry_run / null) |
cleanup_done |
不合格時に戦略 JSON / 結果 JSON が削除済みの場合 true |
entry_signals |
エントリーシグナルが立った日数(--pre-check 時に設定、後方互換で null になる場合あり) |
forge explore result show¶
探索 DB に保存されている最新の探索結果を表示します。forge explore run 不合格時の詳細確認に使用します。
| オプション | 説明 | デフォルト |
|---|---|---|
--goal |
ゴール名で絞り込む | — |
--json |
結果を JSON 形式で標準出力する | off |
--db |
探索 DB のパス(省略時は forge.yaml のデフォルトパス) |
— |
使用例¶
# 最新結果を人間可読形式で表示
forge explore result show gc_bb_hmm_rsi_v1
# ゴール絞り込みで JSON 出力(wft_diagnostics など診断情報を含む)
forge explore result show gc_bb_hmm_rsi_v1 --goal commodities --json
forge explore run が exit code 1 を返した場合の詳細確認フロー:
FORGE_CONFIG=forge.yaml forge explore run GC=F --strategy gc_bb_hmm_rsi_v1 --goal commodities
# exit code 1 → DB から詳細を取得
FORGE_CONFIG=forge.yaml forge explore result show gc_bb_hmm_rsi_v1 --goal commodities --json
--json 出力には wft_diagnostics・pre_filter_diagnostics・opt_metrics フィールドが含まれます。
pre_filter_diagnostics の構造(issue #409)¶
skip_reason: "pre_filter_failed" のとき、pre_filter_diagnostics には各基準について
{value, threshold, passed, gap} の構造化情報が格納されます。自律探索エージェントが
「どの基準がどれだけ不足したか」を機械的に判断するために使用します。
{
"pre_filter_diagnostics": {
"sharpe_ratio": {"value": 0.716, "threshold": 1.0, "passed": false, "gap": -0.284},
"max_drawdown": {"value": 1.66, "threshold": 25.0, "passed": true, "gap": 23.34},
"trades": {"value": 16, "threshold": 30, "passed": false, "gap": -14},
"monthly_volume_usd":{"value": null, "threshold": 0.0, "passed": null, "note": "未チェック"},
"verdict": "failed",
"failed_criteria": ["sharpe_ratio", "trades"]
}
}
| フィールド | 説明 |
|---|---|
value |
バックテストでの実測値(monthly_volume_usd は現状計算しないため null) |
threshold |
goals.yaml の pre_filter セクションから解決した閾値 |
passed |
基準を満たしているかどうか(null の場合は未チェック) |
gap |
「実測値 − 閾値」(max_drawdown のみ「閾値 − 実測値」)。負なら不足量、正なら余裕量 |
verdict |
全基準合格時 "passed"、いずれか不合格なら "failed" |
failed_criteria |
不合格となった基準名のリスト(評価順: sharpe_ratio → max_drawdown → trades) |
wft_diagnostics の構造(issue #684)¶
skip_reason: "wft_insufficient_oos_data" または "wft_no_valid_oos_windows" のとき、wft_diagnostics には WFT の各 OOS ウィンドウの判定結果と全体集計が構造化されて格納されます。pre_filter_diagnostics と同じ流儀で、エージェントが「どのウィンドウで何が不足したか」を機械的に判定できます。
{
"wft_diagnostics": {
"total_oos_trades": 17,
"oos_trades_by_window": [3, 3, 0, 6, 5],
"valid_windows": 4,
"required_valid_windows": 3,
"min_oos_trades_per_window": 3,
"windows": [
{
"window_index": 1,
"oos_trades": 3,
"oos_metric": -0.01,
"valid": true,
"skip_reason": null,
"failed_criteria": [],
"criteria": {
"min_trades": {"value": 3, "threshold": 3, "passed": true, "gap": 0},
"metric_finite": {"value": -0.01, "passed": true}
}
},
{
"window_index": 3,
"oos_trades": 0,
"oos_metric": null,
"valid": false,
"skip_reason": null,
"failed_criteria": ["min_trades", "metric_finite"],
"criteria": {
"min_trades": {"value": 0, "threshold": 3, "passed": false, "gap": -3},
"metric_finite": {"value": null, "passed": false}
}
}
],
"summary": {
"total_windows": 5,
"valid_windows": 4,
"required_valid_windows": 3,
"min_required_trades": 3,
"min_valid_windows_ratio": 0.6,
"min_trades_violated_windows": [3],
"metric_invalid_windows": [3],
"skipped_windows": []
}
}
}
| フィールド | 説明 |
|---|---|
windows[].window_index |
1 ベースのウィンドウ番号 |
windows[].oos_trades |
OOS 期間の取引数 |
windows[].oos_metric |
OOS の最適化メトリクス(NaN/inf は null に正規化) |
windows[].valid |
min_trades と metric_finite を両方満たすか |
windows[].failed_criteria |
不合格基準のリスト(min_trades, metric_finite, window_skip:<reason>) |
windows[].criteria |
各基準の {value, threshold, passed, gap} |
summary.min_trades_violated_windows |
min_trades 不足ウィンドウの 1 ベース index リスト |
summary.metric_invalid_windows |
metric が NaN/inf/None だったウィンドウの index リスト |
summary.skipped_windows |
engine 側でスキップされたウィンドウの index リスト |
summary.required_valid_windows |
合格に必要な有効ウィンドウ数(ceil(total × min_valid_windows_ratio)) |
既存の後方互換フィールド(total_oos_trades, oos_trades_by_window, valid_windows, required_valid_windows, min_oos_trades_per_window)も並列で保持されます。
forge explore diagnose¶
WFT 不合格戦略について、データ期間を延長すれば通過しそうかを線形外挿で試算するコマンド(issue #685)。forge explore result show で wft_failed を確認した直後の追加診断として使います。
forge explore diagnose <STRATEGY_ID> [--goal <GOAL>] [--periods 10y,20y,30y] \
[--windows 5] [--min-oos-trades 3] \
[--db <PATH>] [--json]
| オプション | 説明 | デフォルト |
|---|---|---|
--goal |
レコードを絞り込むゴール名 | DB に紐付く goal |
--periods |
試算する期間(CSV、例: 10y,20y,30y) |
10y,20y,30y |
--windows |
WFT ウィンドウ数 | goals.yaml の wft 設定または 5 |
--min-oos-trades |
ウィンドウあたり必要な OOS trades | goals.yaml の wft 設定または 3 |
--json |
結果を JSON で出力 | off |
試算ロジック¶
trade_rate = total_trades / current_period_years- 各シナリオで
expected = trade_rate × (period / windows) ratio = expected / min_oos_trades_per_windowpass_probability: ratio>=3 → 90%、>=2 → 70%、>=1.5 → 50%、>=1 → 30%、<1 → 0%recommendationは通過確率 0.7 以上を満たす 最小期間。なければ 0.5、それも無ければ最高確率を返す(全シナリオ 0 ならnull)
サンプル出力¶
WFT 試算: nvda_ema_macd_supertrend_lt_v1 (symbol=NVDA, goal=long-term-stocks, skip_reason=wft_failed)
現状観測:
backtest_period: 20.0y total_trades: 1167 trade_rate: 58.35/y
wft_windows: 5 min_oos_trades_per_window: 3
データ期間延長の試算:
✓ 10.0y / 2.0y/window → ~116.7 trades/window (req 3, ratio 38.9, pass_prob ≈ 90%)
✓ 20.0y / 4.0y/window → ~233.4 trades/window (req 3, ratio 77.8, pass_prob ≈ 90%)
✓ 30.0y / 6.0y/window → ~350.1 trades/window (req 3, ratio 116.7, pass_prob ≈ 90%)
推奨:
goals.yaml: exploration.backtest_period: "10y"
forge data fetch NVDA --provider yfinance --period 10y --interval 1d
推定通過確率: ~90% (tier: high)
forge explore health¶
直近 N 件の試行を集計して連続失敗・scaffold 固定化を自動検出します(issue #408)。
無人運転(/explore-strategies --runs 0)の各イテレーション開始前に呼び出し、
全敗ループや scaffold バグの早期検知に使用します。
| オプション | 説明 | デフォルト |
|---|---|---|
--goal |
集計対象のゴール名 | default |
--last |
分析対象とする直近件数 | 5 |
--strict |
escalation: true のとき終了コード 1 を返す(無人運転ループ停止用、warning: true のみのときは 0) |
off |
--json |
結果を JSON 形式で標準出力する | off |
--db |
探索 DB のパス(省略時は forge.yaml のデフォルトパス) |
— |
出力 JSON の例¶
{
"goal": "default",
"last_n": 5,
"pass_rate": 0.0,
"failure_breakdown": {"pre_filter_failed": 3, "no_signals": 2},
"scaffold_transformation_rate": 1.0,
"most_common_combo": "ATR+BB+RSI",
"same_combo_streak": 5,
"escalation": true,
"warning": false,
"escalation_type": "scaffold_degradation",
"recommended_actions": [
"直近 5 件の合格率が 0% です。goals.yaml の pre_filter 閾値・対象銘柄・候補指標が現実的か再点検してください。",
"直近すべての試行で scaffold が指標を変換しています。`alpha_forge.strategy.scaffold` の指標フィルタを点検してください(参考: alpha-forge issue #399, #400)。"
]
}
| フィールド | 説明 |
|---|---|
last_n |
実際に集計対象となった件数(DB 件数 < --last の場合は実件数) |
pass_rate |
passed=True の比率(0.0〜1.0) |
failure_breakdown |
skip_reason 別の失敗件数 |
scaffold_transformation_rate |
scaffold で指標が変換された試行の比率(ATR 自動追加のみは除外) |
same_combo_streak |
直近で連続して同一 indicator_combo だった件数 |
escalation |
pass_rate==0 かつ scaffold バグ起因(scaffold_transformation_rate>=0.5 もしくは中間域)のとき true。loop 即停止対象(issue #467) |
warning |
pass_rate==0 かつ same_combo_streak==last_n で scaffold_transformation_rate<=0.1 のとき true。agent_selection_bias のみ。loop は続行可能(exit 0)で、エージェントは次のランで他指標を選んで自動解消する(issue #467) |
escalation_type |
原因種別(issue #436 / #467)。"scaffold_degradation"(escalation) / "agent_selection_bias"(warning) / null |
recommended_actions |
検出された問題に対する人間向けの推奨アクション |
エスカレーション判定¶
DB 件数が --last に満たない場合は観測のみ(escalation: false / warning: false 固定)でブロックしません。
--last 件以上の履歴がある場合のみ、以下のいずれかを返します。
- 合格率
0%かつ scaffold 変換率>=50%→escalation: true/escalation_type: "scaffold_degradation"(即停止) - 合格率
0%かつ直近 N 件すべてのindicator_comboが同一: - scaffold 変換率
<=10%→warning: true/escalation: false/escalation_type: "agent_selection_bias"(エージェント側の選択バイアス、issue #467 で warning に格下げ。--strictでも exit 0) - 中間域(10% < 変換率 < 50%)→ 保守的に
escalation: true/"scaffold_degradation"に倒す
無人運転スキルでの使用例¶
# /explore-strategies の各ラン冒頭で実行
FORGE_CONFIG=forge.yaml forge explore health \
--goal default --last 5 --strict --json
# exit code 1 → recommended_actions を提示してループ停止
pine¶
戦略 JSON と TradingView Pine Script v6 を相互変換します。
[有料プラン限定] Pine Script エクスポート
forge pine generate と forge pine preview は 有料プラン(Lifetime / Annual / Monthly)でのみ利用できます。Trial プランで実行すると赤枠 Panel と購入ページ URL(https://alforgelabs.com/en/index.html#pricing)が表示され、終了コード 1 で完全停止します。ファイル出力も標準出力もされません。forge pine import(インポート機能)は対象外で、Trial プランでも継続利用できます。詳しくは Trial 制限 を参照してください。
forge pine generate [有料プラン限定]¶
戦略定義から Pine Script を生成し、config.pinescript.output_path / <strategy_id>.pine に保存します。有料プラン(Lifetime / Annual / Monthly)限定。
| 名前 | 種別 | デフォルト | 説明 |
|---|---|---|---|
--strategy |
必須 | - | 戦略名 |
--with-training-data |
フラグ | false | HMM インジケータがある場合、学習済みパラメータを Pine Script に埋め込む(データを自動フェッチ) |
サンプル出力(有料プラン):
サンプル出力(Trial プラン・ハードブロック):
╭─────────────── 🔒 有料プラン限定機能 ───────────────╮
│ Pine Script エクスポートは有料プラン(Lifetime / │
│ Annual / Monthly)のみ利用できます。 │
│ TradingView でのシームレスな運用を行うには… │
│ アップグレード: https://alforgelabs.com/en/... │
╰─────────────────────────────────────────────────────╯
forge pine preview [有料プラン限定]¶
戦略定義から生成される Pine Script を標準出力でプレビューします(ファイル保存しない)。有料プラン(Lifetime / Annual / Monthly)限定。
forge pine import¶
Pine Script (.pine) をパースして戦略定義として取り込みます。
| 名前 | 種別 | 説明 |
|---|---|---|
PINE_FILE |
引数(必須、ファイル必須) | .pine ファイルパス |
--id |
必須 | 保存する戦略 ID |
パース失敗時は エラー: Pine Script のパースに失敗しました - <details> を出して標準エラーへ。
forge pine verify¶
戦略から生成した Pine Script を TradingView MCP server で検証します(issue #523)。コンパイルチェックに加えて、Strategy Tester の集計値や個別トレードを alpha-forge のバックテスト結果と突き合わせて差異を検出できます。
forge pine verify --strategy <ID> [--check-mode <MODE>] [--mcp-server <CMD>] [--mcp-server-flavor <tradesdontlie|vinicius>] [OPTIONS]
| 名前 | 種別 | デフォルト | 説明 |
|---|---|---|---|
--strategy |
必須 | - | 戦略名 |
--check-mode |
choice | compile_only |
compile_only / metrics / signal / regime |
--mcp-server |
オプション | - | MCP サーバーコマンド(省略時 forge.yaml の tv_mcp.pine_verify.endpoint) |
--mcp-server-flavor |
choice | tradesdontlie |
vinicius は oviniciusramosp/tradingview-mcp フォーク。metrics/signal モードでは推奨 |
--mock |
フラグ | false | Mock MCP クライアント(PoC・CI 用) |
--symbol / --interval |
オプション | - | TV シンボル / インターバル(metrics / signal モードで必須) |
--auto-backtest |
フラグ | false | alpha-forge バックテストを内部で実行して比較する |
--backtest-result |
オプション | - | 比較対象 alpha-forge バックテスト結果(JSON パスまたは run_id) |
--metric-tolerance |
float | 0.10 |
metrics モードの相対差許容(10%) |
--match-tolerance-seconds |
int | 60 |
signal モードのトレード時刻許容差(秒) |
--min-match-rate |
float | 0.95 |
signal モードの最低トレード一致率 |
--output |
ファイル | - | レポート Markdown 出力先 |
check-mode
| モード | 用途 |
|---|---|
compile_only |
Pine Script の構文・コンパイルだけを検証(tradesdontlie で十分) |
metrics |
TV Strategy Tester の総合メトリクス(PF・勝率・トレード数等)と alpha-forge のメトリクスを比較。vinicius 推奨(tradesdontlie の data_get_strategy_results バグ回避) |
signal |
tradesdontlie: TV のトレードリストと alpha-forge の trades を時刻ベースで突合し一致率を算出。vinicius: 時刻情報を返さないため count-based 比較(トレード件数のみで合否判定)に自動切替(issue #580) |
regime |
未実装(保留中、issue #581)。upstream MCP server に時系列 study tool が追加されたら着手予定。指定すると明示的エラーで停止 |
実行例
# コンパイル検証のみ(最速)
forge pine verify --strategy spy_sma_v1 --mcp-server "node /opt/tv-mcp/server.js"
# Strategy Tester 集計の比較(vinicius 推奨)
forge pine verify --strategy spy_sma_v1 \
--check-mode metrics \
--symbol SPY --interval D \
--mcp-server-flavor vinicius \
--auto-backtest \
--output reports/verify_spy.md
検証ガイドの詳細は TradingView との Pine Script 連携 を参照してください。
data tv-mcp¶
TradingView MCP server を介したチャート取得・任意ツール呼び出しを行うコマンドグループ(issue #523)。
forge data tv-mcp chart¶
TradingView チャートのスナップショット PNG を取得します(Phase 1.5d)。
forge data tv-mcp chart <SYMBOL> [--interval D] [--width W] [--height H] [--theme light|dark] [--output <PNG>] [--mcp-server <CMD>]
| 名前 | 種別 | デフォルト | 説明 |
|---|---|---|---|
SYMBOL |
引数(必須) | - | TV シンボル |
--interval |
オプション | D |
タイムフレーム(1, 5, 60, D, W, M) |
--width / --height |
int | forge.yaml の tv_mcp.chart_snapshot |
画像サイズ |
--theme |
choice | forge.yaml 既定 |
light / dark |
--output |
ファイル | - | 出力 PNG パス。省略時はキャッシュパスのみ表示 |
--mcp-server |
オプション | - | MCP サーバー(省略時 tv_mcp.chart_snapshot.endpoint) |
--mock |
フラグ | false | Mock MCP(CI 用) |
--no-cache |
フラグ | false | キャッシュを無視 |
--md-output |
ファイル | - | Markdown ファイルに画像リンクを追記(--output 必須) |
--md-alt |
オプション | - | Markdown 画像 alt(既定: SYMBOL Interval) |
実行例:
forge data tv-mcp chart SPY --interval D --output charts/spy_d.png \
--mcp-server "python /opt/tv-mcp-chart/server.py"
forge data tv-mcp inspect¶
任意の MCP tool を呼び出して JSON でレスポンスを表示します(Phase 1.5c-α)。新しい MCP server の挙動確認や、サポートされているツール一覧の探索に使います。
forge data tv-mcp inspect <TOOL_NAME> [--server-type pine|chart] [--mcp-server <CMD>] [--arg key=value ...] [--args-json '{...}'] [--output <JSON>] [--pretty|--compact]
| 名前 | 種別 | デフォルト | 説明 |
|---|---|---|---|
TOOL_NAME |
引数(必須) | - | 呼び出す MCP tool 名 |
--server-type |
choice | pine |
endpoint 既定値の選択(pine = tv_mcp.pine_verify、chart = tv_mcp.chart_snapshot) |
--mcp-server |
オプション | - | 直接サーバーコマンドを指定 |
--mock |
フラグ | false | 固定 Mock レスポンス(CI 用) |
--arg |
複数指定可 | - | tool 引数 key=value(値は JSON として解釈試行) |
--args-json |
オプション | - | tool 引数を JSON オブジェクトで指定(--arg と排他) |
--output |
ファイル | - | JSON 出力先 |
--pretty / --compact |
フラグ | --pretty |
整形 / 1 行 JSON |
実行例:
# tool 一覧(実装に依存)
forge data tv-mcp inspect list_tools --server-type pine \
--mcp-server "node /opt/tv-mcp/server.js"
# data_get_ohlcv を試す
forge data tv-mcp inspect data_get_ohlcv \
--arg symbol=SPY --arg interval=D --arg bars=10
analyze indicator¶
alpha-forge がサポートするテクニカル指標 30+ のカタログ・詳細を参照します。
forge analyze indicator list¶
対応指標の一覧を表示します。FILTER_NAME 指定で部分一致絞り込み(大文字小文字を区別しない)。
| 名前 | 種別 | デフォルト | 説明 |
|---|---|---|---|
FILTER_NAME |
引数(任意) | - | 指標名のフィルタ |
--detail |
フラグ | false | 各指標のパラメータ・デフォルト値・説明を表示 |
サンプル出力:
利用可能なインジケーター一覧(35件):
[トレンド] SMA EMA WMA HMA TEMA MACD ADX SUPERTREND
[モメンタム] RSI STOCH CCI WILLR ROC
[ボラティリティ] ATR BBANDS KELTNER
[出来高] OBV VWAP CMF
[レジーム] HMM
[その他] EXPR ALTDATA
詳細: forge analyze indicator show <TYPE>
forge analyze indicator show¶
指定指標の詳細(説明・パラメータ・出力・使用例)を表示します。
| 名前 | 種別 | 説明 |
|---|---|---|
INDICATOR_TYPE |
引数(必須) | 指標名(大文字小文字を区別しない) |
サンプル出力:
SMA — Simple Moving Average
カテゴリー: トレンド
パラメーター:
名前 型 デフォルト 説明
length int 14 期間
source str close ソース列
出力: スカラー時系列
使用例 (JSON):
{"id": "sma_20", "type": "SMA", "params": {"length": 20}, "source": "close"}
未知の指標名を指定すると エラー: '<TYPE>' は認識されないインジケーターです。 を出して終了コード 1。
idea¶
投資アイデアの記録・タグ付け・検索を行うコマンドグループ。config.ideas.ideas_path 配下の ideas.json で管理します。
forge idea add¶
新しいアイデアを追加します。
| 名前 | 種別 | デフォルト | 説明 |
|---|---|---|---|
TITLE |
引数(必須) | - | アイデアのタイトル |
--type |
必須(choice) | - | new_strategy / improvement |
--desc |
オプション | "" |
詳細説明 |
--tag |
複数指定可 | - | タグ |
出力: 追加しました: [<idea_id>] <title>
forge idea list¶
アイデア一覧を表示します。
| 名前 | 種別 | 説明 |
|---|---|---|
--status |
choice | backlog / in_progress / tested / archived |
--tag |
複数指定可 | タグ AND フィルタ |
--strategy |
オプション | 戦略 ID フィルタ |
forge idea show¶
アイデアの詳細を表示します。
存在しない場合は 見つかりません: <id> を出して終了コード 1。
forge idea status¶
アイデアのステータスを更新します。
出力: ステータスを更新しました: <title> → <status>
forge idea link¶
アイデアに戦略または実行記録をリンクします。
| 名前 | 種別 | 説明 |
|---|---|---|
--strategy |
必須 | リンク先の戦略 ID |
--run |
オプション | リンク先の run_id(指定すれば run と紐付け) |
--note |
オプション | リンクへのメモ |
forge idea tag¶
アイデアのタグを追加・削除します(--add と --remove は同時指定可、両方未指定はエラー)。
forge idea note¶
アイデアにメモを追加します。
forge idea search¶
アイデアを全文検索します。
| 名前 | 種別 | 説明 |
|---|---|---|
QUERY |
引数(任意) | 検索クエリ(タイトル・説明・メモを対象) |
--status |
choice | ステータスフィルタ |
--tag |
複数指定可 | タグフィルタ |
data alt¶
代替データ(センチメント、マクロ指標等)の取得・管理。config.data.alt_storage_path 配下に保存され、戦略 JSON では ALTDATA 指標タイプで参照できます。
forge data alt fetch¶
| 名前 | 種別 | 説明 |
|---|---|---|
SOURCE_KEY |
引数(必須) | データソースキー(プロバイダー固有) |
--start |
必須 | 取得開始日 |
--end |
必須 | 取得終了日 |
出力: ✅ <SOURCE_KEY>: <N>行を保存しました。プロバイダー未登録時は ClickException。
forge data alt list¶
サンプル出力:
保存済み代替データ件数: 2
SOURCE_KEY INTERVAL ROWS START END
fear_greed_index 1d 1525 2020-01-01 2025-12-31
vix_termstructure 1d 1530 2020-01-01 2025-12-31
forge data alt info¶
ソースキー、時間足、行数、開始日・終了日、カラム、ファイルパス、ファイルサイズを表示。データ未取得時は ClickException。
analyze pairs¶
ペアトレード戦略のためのコインテグレーション検定とスプレッド構築。statsmodels ベースの Engle–Granger 検定を使用。
forge analyze pairs scan¶
2 銘柄のコインテグレーション検定を実行します。
| 名前 | 種別 | デフォルト | 説明 |
|---|---|---|---|
SYM_A, SYM_B |
引数(必須) | - | 検定対象の 2 銘柄 |
--method |
choice | engle_granger |
コインテグレーション検定手法 |
--pvalue |
float | 0.05 |
コインテグレーションと判定する p 値閾値 |
--interval |
オプション | 1d |
時間足 |
サンプル出力:
forge analyze pairs scan-all¶
ウォッチリスト内の全ペアをスキャンします(最大 20 件まで表示)。
| 名前 | 種別 | 説明 |
|---|---|---|
--symbols-file |
必須(ファイル) | 銘柄リスト(行ごと 1 銘柄、# コメント可) |
--pvalue |
float | p 値閾値(デフォルト 0.05) |
forge analyze pairs build¶
スプレッド系列を計算し、alt_data ストアに保存します(戦略 JSON から ALTDATA で参照可能)。
| 名前 | 種別 | デフォルト | 説明 |
|---|---|---|---|
--sym-a |
必須 | - | 銘柄 A(従属変数) |
--sym-b |
必須 | - | 銘柄 B(独立変数) |
--interval |
オプション | 1d |
時間足 |
--log-prices / --no-log-prices |
フラグ | --log-prices |
対数価格でスプレッドを計算 |
--output-id |
オプション | <A>_<B>_spread |
保存する source_key |
サンプル出力:
ヘッジ比率を推定中... (SPY / QQQ)
ヘッジ比率: 0.823145
OU 半減期 : 12.4 日
データ点数: 1530
✅ スプレッドを保存しました: source_key='SPY_QQQ_spread'
戦略 JSON での参照方法:
{"id": "spread", "type": "ALTDATA", "params": {"source_key": "SPY_QQQ_spread", "column": "spread"}}
平均回帰がない場合、半減期は N/A (平均回帰なし) と表示されます。
analyze ml¶
機械学習モデル用のデータセット作成・モデル学習・walk-forward 検証コマンド群です(issue #512 Phase 1-2, 4)。学習済み joblib モデルは既存の ML_SIGNAL 指標から model_path 指定で推論に利用できます。
forge analyze ml dataset build¶
保存済み OHLCV から特徴量行列と将来リターンラベルを結合した parquet データセットを生成します。
forge analyze ml dataset build EURUSD=X --feature-set default_v1 --label binary:24:0.005 --interval 1h
forge analyze ml dataset build EURUSD=X --label ternary:24:0.005
forge analyze ml dataset build EURUSD=X --label regression:5
forge analyze ml dataset build EURUSD=X --label binary:24:0.005 --json
主なオプション
| オプション | 説明 | 既定値 |
|---|---|---|
--feature-set |
組み込み feature set 名(forge analyze ml dataset feature-sets で一覧) |
default_v1 |
--label |
ラベル仕様文字列(必須) | — |
--interval |
時間足(OHLCV ロード時に使用) | 1d |
--out |
出力 parquet パス | <storage_path>/../ml_datasets/<symbol>_<feature_set>_<label_type>_<interval>.parquet |
--keep-nan |
NaN を含む行を残す | False(除外) |
--json |
サマリを JSON 出力 | False |
ラベル仕様文字列
binary:<forward_n>:<threshold_pct>… forward_n バー後リターンが閾値を超えると 1ternary:<forward_n>:<threshold_pct>… +閾値超 → 1、−閾値未満 → −1、それ以外 → 0regression:<forward_n>… forward_n バー後の単純リターンをそのままラベル化triple_barrier:<max_holding>:<atr_mult_up>:<atr_mult_down>:<atr_window>… López de Prado triple-barrier(issue #520、3 値)。各バーで ATR ベースの上下バリアを設置し、max_holding バーまでの間で先に当たったものでラベル付け(上 → 1、下 → −1、timeout → 0)。ボラティリティ適応的で固定閾値より regime ロバストtriple_barrier_sym:<max_holding>:<atr_mult>:<atr_window>… triple_barrier の対称版 shorthand(up=down=atr_mult)。新規 dataset の既定推奨はtriple_barrier_sym:24:1.5:14(issue #538)triple_barrier_vol:<max_holding>:<vol_mult>:<atr_window>… barrier scale を ATR の代わりにrolling_std(returns, atr_window) × closeで計算する volatility-adaptive 版(issue #538)。低ボラ局面で barrier も自動的に縮むtriple_barrier_balanced:<max_holding>:<target_long_share>:<atr_window>… 二分探索で対称 atr_mult を調整して long クラス比率を target に合わせる rebalance mode(issue #538)。例:target_long_share=0.33で 3 クラスをほぼ均等にしたい場合
issue #538 の背景: 非対称比
2.0:1.0だと SL ヒット側(−1)が分布の半数以上を占める偏向が起きやすい(issue #520 検証で −1 が 64% に集中)。新規 dataset はtriple_barrier_sym:24:1.5:14を出発点にすると、proba dispersion(issue #537)の screening を通りやすくなります。
parquet ファイルにはシンボル・タイムフレーム・特徴量列名・ラベル設定がメタデータとして同梱されるため、Phase 2 の学習側はファイル単独で再現可能な学習が行えます。
forge analyze ml dataset feature-sets¶
利用可能な組み込み feature set を一覧表示します。
組み込み feature set
| 名前 | 用途 | 内容 |
|---|---|---|
default_v1 |
株式・先物等 Volume が有効な銘柄 | LAG(close 1/2/5/10) + PCT_CHANGE(close 1/5) + ROLLING_MEAN/STD/MIN/MAX(20) + PCT_CHANGE(volume 1) |
default_v1_fx |
FX 銘柄(issue #518) | default_v1 から PCT_CHANGE(volume) を除いたもの。yfinance 系 FX は Volume が常に 0 のため、default_v1 を使うと dropna で全行が消えるバグを回避 |
mtf_v1 |
複数タイムフレーム表現(issue #520) | 短期 lag (1, 6, 24, 48, 120) + 複数 window の rolling 統計 (5, 20, 120, 480) + ボラレジーム + 高安レンジ。Volume を含まないので FX でも使える。triple_barrier ラベルとの組合せ推奨 |
forge analyze ml train¶
Phase 1 で生成したデータセット parquet からモデルを学習し、joblib + metrics.json を保存します(issue #512 Phase 2)。
主なオプション
| オプション | 説明 | 既定値 |
|---|---|---|
--model |
モデル種別(forge analyze ml models で一覧) |
logistic_regression |
--test-ratio |
末尾から test に回す比率(時系列順保持) | 0.2 |
--random-state |
乱数シード | 42 |
--params |
モデル追加パラメータの JSON 文字列 | — |
--out |
出力 joblib パス | <storage_path>/../ml_models/<dataset_stem>_<model>.joblib |
--json |
サマリを JSON 出力 | False |
サポートモデル
| モデル名 | タスク | 備考 |
|---|---|---|
logistic_regression |
分類 | StandardScaler + LogisticRegression パイプライン |
random_forest_classifier |
分類 | sklearn |
gradient_boosting_classifier |
分類 | sklearn |
xgboost_classifier |
分類 | optional(uv add xgboost が必要) |
linear_regression |
回帰 | StandardScaler + LinearRegression |
random_forest_regressor |
回帰 | sklearn |
gradient_boosting_regressor |
回帰 | sklearn |
xgboost_regressor |
回帰 | optional(uv add xgboost が必要) |
評価メトリクス
- 分類: accuracy / precision / recall / f1 / auc(二値分類時のみ)。weighted 平均を採用。
- 回帰: mse / mae / rmse / r2
確率校正(--calibration、issue #519)
gradient_boosting_classifier 等の確率出力は素のままだと特定領域に偏ることがあり、ml_long_prob >= 0.6 のような閾値が機能しなくなることがあります(issue #512 検証で確認)。--calibration オプションで分類モデルの predict_proba 出力を校正できます。
| 値 | 説明 |
|---|---|
none(既定) |
校正なし |
sigmoid |
Platt scaling(少サンプル向け) |
isotonic |
等浸透回帰(多サンプル向け) |
回帰モデルに指定した場合は warning 出力 + 無視(base model のまま)。校正された joblib も ML_SIGNAL / ML_SIGNAL_WFT 指標からそのまま推論可能(scikit-learn 互換 API)。
保存形式
- モデル本体: joblib(scikit-learn 互換 API。
predict/predict_probaをそのままML_SIGNAL指標から呼べる) - メトリクス:
<model>.joblib.metrics.json(model_type/task/feature_columns/n_train/n_test/train_metrics/test_metrics/config(calibration含む)/trained_atを格納)
forge analyze ml models¶
利用可能なモデル種別(分類 + 回帰)を一覧表示します。
forge analyze ml walk-forward¶
ML データセット parquet を N ウィンドウに分割し、各ウィンドウで独立に学習・評価して時系列安定性を検証します(issue #512 Phase 4)。モデル本体は保存しません(最終モデルは forge analyze ml train で別途学習)。
主なオプション
| オプション | 説明 | 既定値 |
|---|---|---|
--model |
モデル種別(forge analyze ml models で一覧) |
logistic_regression |
--n-splits |
ウィンドウ数 | 5 |
--train-ratio |
各ウィンドウ内の学習比率 | 0.7 |
--random-state |
乱数シード | 42 |
--params |
モデル追加パラメータの JSON 文字列 | — |
--out |
レポート JSON 出力先 | <storage_path>/../ml_models/<dataset_stem>_<model>.walkforward.json |
--json |
サマリを JSON 出力 | False |
レポート JSON の主要フィールド
model_type/task/n_splits/train_ratiowindows[]: 各ウィンドウのfold/train_start/train_end/test_start/test_end/n_train/n_test/train_metrics/test_metricsaggregate_train_metrics/aggregate_test_metrics: 各ウィンドウの単純平均dataset: 元データセットの symbol / interval / feature_set / label_type
proba dispersion メトリクス(分類タスクのみ、issue #537)
aggregate_test_metrics および各 windows[].test_metrics には、accuracy/precision/recall/f1 に加えて predict_proba の分布メトリクスが含まれます。これは「accuracy/spread は基準を満たすが proba 値が低位レンジに集中して entry 閾値で実質ほぼ False になる」モデルを screening 段階で検出するためのものです。
| キー | 内容 |
|---|---|
proba_max |
各 fold の正クラス確率の最大値(fold 平均) |
proba_p90 / proba_p95 |
90 / 95 パーセンタイル(fold 平均) |
proba_above_055 |
正クラス確率 >= 0.55 の比率(fold 平均、0.0–1.0) |
proba_above_060 |
同 >= 0.60 の比率 |
テキスト出力でも集計直下に 1 行表示されます:
読み方の目安: share>=0.55 が極小(数 % 以下)の場合、entry 条件で ml_long_prob >= 0.55 を使うとフィルタが事実上機能しません。閾値を 0.45–0.50 に下げる、--calibration で校正する、ラベル仕様を変える(例: triple_barrier の barrier 比対称化)などを検討してください。回帰タスクではこれらのキーは出力されません。
screening 判定と推奨アクション(issue #565)
forge analyze ml walk-forward は分類タスクの場合、上記メトリクスを使って 3 軸の自動判定 と 推奨アクション を出力します(出力末尾の SCREENING RESULT / RECOMMENDATION ブロック)。
| 軸 | 既定閾値 | 上書き CLI オプション |
|---|---|---|
accuracy(test 集計平均) |
>= 0.55 |
--screen-accuracy-min |
fold_spread(各 fold accuracy の最大-最小) |
<= 0.15 |
--screen-spread-max |
proba_dispersion(proba_above_055) |
>= 0.05 |
--screen-proba055-min |
不合格パターン別の推奨アクション:
| パターン | 推奨 |
|---|---|
| accuracy NG | データ量・特徴量を増やす / モデル種別を変える(accuracy_low) |
| accuracy OK / spread NG | データ非定常性が強い → ラベル期間短縮 / regime 別学習(fold_spread_high) |
| accuracy/spread OK / proba NG | 閾値下げる / calibration 変える / ラベル比対称化(proba_low_dispersion) |
| すべて NG | 学習可能なシグナルではない → 特徴量設計から見直す(no_learnable_signal) |
JSON 出力では screening フィールドに criteria / recommendations / overall_pass がそのまま入ります。回帰タスクは現状 screening 対象外で、このフィールドは出力されません。
戦略 JSON の WFT との関係
forge analyze ml walk-forward: ML モデル単体 の時系列安定性検証forge optimize walk-forward: 戦略 JSON 全体(ML_SIGNAL 指標を含む場合もあり)の WFT- ML 補強戦略の真価は最終的に
forge optimize walk-forwardで計測。本コマンドはその前段で「学習可能なシグナルか」を選別するために使用する。
ML_SIGNAL_WFT 指標 — leak 安全な ML 補強(issue #517)¶
forge analyze ml train で保存した joblib モデルを ML_SIGNAL 指標から参照すると、forge optimize walk-forward の OOS が学習期間と重複した場合に look-ahead leak が発生します(issue #512 Phase 4 検証で確認済み)。これを構造的に解消する新指標が ML_SIGNAL_WFT です。
ML_SIGNAL_WFT は 指標計算関数自体が「渡された df の先頭 train_ratio で自己学習 → 全体に対して predict」 を行う自己完結型の指標で、WFT エンジン側の変更は不要です。学習区間の予測値は NaN にされ、取引判断には test 区間の予測値のみが使われます。
戦略 JSON の例
{
"id": "ml_long_prob",
"type": "ML_SIGNAL_WFT",
"params": {
"model_type": "gradient_boosting_classifier",
"model_params": {"n_estimators": 200, "max_depth": 5},
"features": [
{"type": "LAG", "source": "close", "periods": [1, 2, 5, 10]},
{"type": "PCT_CHANGE", "source": "close", "periods": 1},
{"type": "ROLLING_MEAN", "source": "close", "window": 20}
],
"label": "binary:24:0.005",
"train_ratio": 0.7,
"min_train_rows": 500,
"random_state": 42,
"output": "proba",
"proba_class": 1,
"threshold": null
}
}
主要パラメータ
| パラメータ | 型 | 既定 | 説明 |
|---|---|---|---|
model_type |
str | — | forge analyze ml models で表示されるモデル種別 |
model_params |
dict | {} |
モデル追加パラメータ |
features |
list | — | build_feature_matrix 互換のスペック |
label |
str | — | binary:N:thr / ternary:N:thr / regression:N |
train_ratio |
float | 0.7 | 先頭の何割を学習に使うか |
min_train_rows |
int | 100 | 学習行数がこれ未満なら全 NaN(leak 防止優先) |
output |
str | "proba" | "proba"(確率)または "predict"(クラス) |
proba_class |
int | 1 | predict_proba のクラスインデックス |
threshold |
float | null | null | 指定があれば proba >= threshold を 1 化 |
calibration |
str | "none" | 確率校正(issue #519)。"none" / "sigmoid" / "isotonic" |
ML_SIGNAL との使い分け
| 指標 | 用途 | leak 耐性 |
|---|---|---|
ML_SIGNAL |
事前学習済みの joblib モデルを参照 | OOS が学習期間外なら安全、重複あれば leak |
ML_SIGNAL_WFT |
WFT 整合の本番運用 — 評価コンテキスト内で自己学習 | 構造的に leak 不可能 |
学習結果のキャッシュ
WFT は各ウィンドウで Optuna を N 回試行するため、同じ IS データに対して _calc_ml_signal_wft が N 回呼ばれます。再学習を避けるため本指標は コンテンツアドレス指定型のディスクキャッシュ(既定: <storage_path>/../ml_models/wft_cache/)を持ち、SHA-256 で (feature_columns, label values, model_type, model_params, random_state) をキー化して joblib を再利用します。同じ入力なら 2 回目以降はキャッシュヒットで即座に推論可能です。
Pine Script との関係
ML_SIGNAL と同様、ML_SIGNAL_WFT も Pine Script には変換できません。forge pine generate 時には警告コメント付きで <id> = true として扱われます。
system docs¶
alpha-forge に同梱されているドキュメント・スキル・コマンド参考資料を参照します。
forge system docs list¶
利用可能な同梱ドキュメントの一覧を表示します。✓ / ✗ でファイル存在を表します。
forge system docs show¶
| 名前 | 種別 | 説明 |
|---|---|---|
NAME |
引数(必須) | ドキュメント名(forge system docs list で確認) |
ドキュメントの内容を標準出力に表示します。未知の名前を指定すると利用可能リストとともにエラー表示し、終了コード 1。
共通の挙動¶
FORGE_CONFIG: すべてのパス(戦略・データ・ジャーナル・アイデア・代替データ・出力先)はFORGE_CONFIGが指すforge.yamlで決まります- 終了コード: 成功
0、click.UsageError/ 引数違反2、click.ClickException1、SystemExit(1)で個別エラー - 国際化: すべてのコマンドは日本語と英語の両方の
--helpテキストを持ちます(alpha_forge.i18n.L経由)