ページ実行プリセット (.qcs) · 17 / 29
実行プリセット (.qcs)
実行モーダルの設定を、QuantCraft のワークスペースフォルダ内の拡張子 .qcs の JSON ファイルとして保存・再読み込みできます。銘柄、時間足、入力パラメータ、その他のオプションを、入力し直すことなくセッションをまたいで再利用するのに使います。
UI での場所
各モーダルの本文の上部(タイトルと説明のすぐ下)に Load と Save が表示されます。
| モーダル | 開き方 |
|---|---|
| Run backtest | QuantCraft IDE → Test → Run backtest |
| Bulk forward new run | AutoTrading または QuantCloud → 新しい bulk forward ジョブを開始 |
| Chart forward test | Trade → .qcraft.json のアルゴをアタッチ → アルゴのパラメータを開く |
前提条件
- デスクトップアプリ — 保存/読み込みにはネイティブのファイルダイアログを使用します(ブラウザのみのプレビューでは利用できません)。
- ワークスペースフォルダ — QuantCraft の Files sidebar → Workspace Folder で設定します。ダイアログは既定でこのディレクトリを開きます。
ワークスペースが未設定の場合、アプリがまず選択を促します。
ファイル形式
ファイルは UTF-8 の JSON です。トップレベルの構造:
{
"format": "quantcraft-run-config-v1",
"savedFrom": "backtest",
"savedAt": "2026-06-09T12:00:00.000Z",
"settings": { }
}| フィールド | 意味 |
|---|---|
format | quantcraft-run-config-v1 である必要があります。 |
savedFrom | メタデータ: backtest、bulk_forward、chart_forward(どのモーダルがファイルを保存したか)。 |
savedAt | ファイルが書き込まれたときの ISO タイムスタンプ。 |
settings | 実行オプションのフラットなオブジェクト(下の表を参照)。すべてのキーは任意です。 |
Save は、現在のモーダルに該当するフィールドのみを書き込みます。Load は常に対象モーダルのルールを使い、該当しないキーは無視します。
既定の推奨ファイル名
| モーダル | 既定名 |
|---|---|
| Run backtest | backtest-config.qcs |
| Bulk forward | bulk-forward-config.qcs |
| Chart forward test | chart-forward-config.qcs |
保存時には、.qcs で終わる任意の名前を選べます。
モーダル別の設定フィールド
| キー | Backtest | Bulk forward | Chart forward |
|---|---|---|---|
symbols、assetType、symbolPaste | あり | — | — |
symbolSource("manual" / "screener") | あり | — | — |
screenerSource、screenerPresetId、screenerScriptId、screenerSortColumn、screenerSortDirection、screenerRankDirection、screenerLimit、screenerIntervalDays、screenerIncludeOpenPositions | あり | あり | — |
screenerRefreshTime | — | あり | — |
symbolPaste(bulk: 貼り付けたティッカー) | — | あり | — |
startingBalance、startDate、endDate、warmupBars | あり | — | — |
ohlcvSource | あり | — | — |
timeframeAlpaca、timeframeB2、minBars | あり | — | — |
secondaryTimeframes | あり | あり | あり |
includeFundamentals、fundamentalsPickerValues、fundamentalsExtraPaths | あり | あり* | あり |
includeFactors | あり | あり | あり |
includeCalendar、applySplits、applyDividends、dividendDatePolicy | あり | — | — |
inputParams | あり | あり | あり |
optimize、optimizeMode、geneticPopulationSize、geneticGenerations、geneticElitism、geneticCrossoverRate、geneticMutationRate、geneticFitnessMetric、geneticSeed | あり | — | — |
slPct、slDollars、tpPct、tpDollars、riskPctPerTrade、riskFixedPerTrade | あり† | — | — |
commissionModel、commissionCost、commissionMinTradeCost | あり | — | — |
slippageModel、slippageVolumeLimit、slippagePriceImpact、slippageSpread | あり | — | — |
algoId | — | あり | — |
targetScope、selectedStocks、selectedCrypto | — | あり | — |
periodMinutes、timeframeUi | — | あり | — |
tickMode | — | あり | — |
timerIntervalMs | — | あり | あり |
* Bulk は、ファンダメンタルズのピッカーの値が存在する場合にそれを保存/適用します。fundamentalsExtraPaths は主にバックテスト用のフィールドです。
† フォーム/ペイロードのヘルパーに存在する場合に保存/適用されます。Run backtest モーダルでは、SL/TP/リスクの入力が UI に表示されないことがあります。
ohlcvSource: バックテストでは "alpaca" または "b2"(QuantCraft の価格フィード)。
tickMode: Bulk のみ — "timer"(タイマーサイクル)または "tick"(ライブティックストリーム)。モーダルでは Execution trigger というラベルです。
includeFactors: true の場合、実行にグローバルなファマ・フレンチのファクターデータが付加されます。バックテストまたは bulk forward モーダルに読み込むと、Premium / 無料データへのアクセス権がない場合は(includeFundamentals とともに)クリアされます。chart forward モーダルは保存された状態のまま適用します。戦略は fama_french.qc を読み取り、月次の rows は YYYYMM の辞書です — ファマ・フレンチ・ファクター を参照。
includeCalendar(バックテスト): 読み込み時に同じ Premium の制限があります。dividendDatePolicy は "best_available"(既定 — 推定の権利落ち日が入金されます)、"exact_only"、"off" のいずれかです。モーダルにはこれを操作するコントロールがないため、変更する唯一の方法は .qcs ファイルです。カレンダーデータ を参照。
timeframeB2(バックテスト): Premium でない場合、読み込まれた値は日足 / 週足 / 月足に制限されます。
secondaryTimeframes: rt.get_bar(Timeframe.X, shift) 用の追加バーサイズのリスト(例: ["1Hour", "1D"])。空の場合は保存ファイルから省略されます。bulk forward に読み込むと、復元されたプライマリ時間足と一致するエントリは削除されます。バックテストと chart-forward のモーダルは、保存されたとおりにリストを保持します。OHLCV とバーデータ を参照。
手数料 / スリッページのキー(commissionModel、commissionCost、commissionMinTradeCost、slippageModel、slippageVolumeLimit、slippagePriceImpact、slippageSpread): バックテストからのみ保存されます。モデルの意味については アカウントモデル を参照。
inputParams の構造
スクリプトのパラメータ名をキーとするオブジェクトです。各エントリ:
"LOOKBACK": {
"type": "int",
"value": "20",
"optStep": "5",
"optMax": "40"
}optStepとoptMaxはバックテストからのみ保存されます(最適化のグリッド)。フォワードのモーダルは、読み込み時にこれらを取り除きます。- 現在読み込まれているスクリプトに存在する名前のみが適用され、ファイル内のその他の名前は無視されます。
戦略コードで params.NAME がどのように検出されるかは、入力パラメータ を参照してください。
モーダル間の読み込み
あるモーダルから保存した .qcs ファイルを、別のモーダルに読み込めます。アプリは互換性のあるフィールドだけを適用し、残りは黙ってスキップします。
| 元 → 先 | 引き継がれるもの |
|---|---|
| Backtest → bulk forward | symbols + assetType → 対象スコープと株式/暗号資産の選択; timeframeAlpaca または B2 の d/w → timeframeUi; secondaryTimeframes; tickMode(存在する場合); ファンダメンタルズ/ファクターのフィールド; inputParams; timerIntervalMs(存在する場合) |
| Backtest → chart forward | inputParams、ファンダメンタルズのフィールド、includeFactors、secondaryTimeframes、timerIntervalMs; 日付、残高、最適化のフィールドは無視されます |
| Bulk forward → backtest | selectedStocks / selectedCrypto → symbols; timeframeUi → timeframeAlpaca、または保存された ohlcvSource(なければモーダルの現在の価格フィード)が B2 の場合は B2 の timeframeB2; ファンダメンタルズ / ファクターのフィールド; secondaryTimeframes; スクリーナーのフィールド; inputParams |
| どれから どれへでも | 不明または該当しないキーは、エラーなしに無視されます |
時間足のマッピング
| 元 | 対応先 |
|---|---|
timeframeUi の 1D / 1Week | データソースが B2 の場合、バックテストの timeframeAlpaca、または B2 の timeframeB2 の d / w |
バックテストの timeframeB2 の d / w | Bulk の timeframeUi の 1D / 1Week |
バックテストのその他の timeframeB2(m 月足、m5、h1、4h など) | bulk に相当するものがないため、モーダル間の読み込みではスキップされます |
銘柄と bulk の対象
- Backtest → bulk:
symbolsは可能な場合selectedStocksまたはselectedCryptoに分類され、対象スコープは Selected になります。 - Bulk → backtest: 選択された株式と暗号資産は
symbols配列に統合され、assetTypeは選択内容から推測されます。
Bulk forward の編集モード
既存の bulk 実行を編集する場合でも、Load は対象、期間、時間足、タイマー、ティックモード、スクリプトの params を適用します。algoId は変更されません(その実行ではアルゴリズムが固定されているため)。
関連するワークスペースの成果物
| 拡張子 | 目的 |
|---|---|
.py | 戦略のソースファイル(ワークスペースのミラー) |
.qcraft.json | Trade / フォワード実行用のコンパイル済み実行可能バンドル |
.qcs | 保存された実行モーダルのプリセット(このページ) |

