ドキュメント1.0 (latest)
ページコードの実行 · 7 / 29

コードの実行

Run(再生)、Test、Compile、サイドバーのコントロールを備えた QuantCraft エディタのツールバー。

QuantCraft IDE には、編集中のファイルを実行する方法が3 つあり(ワークスペース)、それぞれ目的が異なります。

ボタン動作使う場面
Run現在のファイルを通常の Python スクリプトとして実行します。簡単な確認、プロトタイピング、値の出力、ヘルパーの動作確認、その場限りのプロット作成。
Test戦略のバックテストを開始します。過去データでの戦略評価、単発の実行、パラメータスイープ、遺伝的最適化。バックテスト を参照。
Compile後でチャートにアタッチできる、戦略の実行可能バンドルを作成します。完成した戦略を、IDE の外のチャートで動かす準備をする。

3 つのボタンはすべて、ファイルを開いているときにエディタ領域の右上にあります。Run と Test はどのファイルでも常に利用でき、Compile は QuantCraft の戦略テンプレートに合致する .py ファイルで表示されます。


クイック実行(Run ボタン)

Run ボタンはコードを実行する最も簡単な方法で、今見ているファイルを、通常の python myfile.py のように上から下まで実行します。

実行方法

  1. 実行したいファイルをエディタで開きます(戦略である必要はなく、どの .py ファイルでも構いません)。
  2. エディタ上のツールバーで Run をクリックします。
  3. セッションで初回は、Disclaimer ダイアログが表示されます(後述)。I understand をクリックして続行します。
  4. 出力は、生成されるたびにワークスペース下部の出力パネルにストリーミングされます。

コードの実行中は、実行が重ならないよう Run と Test ボタンが無効になります。

実行されるもの

  • アクティブなファイルが入口になります。
  • ワークスペース内のその他のファイルやフォルダは、実行中のファイルから import できるように利用可能になります(ワークスペースのフォルダは Python のパッケージと同様に動作します — from my_folder import my_module)。
  • コードは QuantCraft IDE の Python 環境(依存関係)で実行されるため、Packages に表示されているパッケージ(追加したものを含む)はすべてインポートできます。

Run で使えるもの

  • print(...) や stdout / stderr に書き込まれたものは、出力パネルにリアルタイムで表示されます(エラーは赤字)。
  • Matplotlib の図(plt.show() 形式のプロット)は、出力パネル内に画像としてレンダリングされます。
  • Plotly の図は、インタラクティブなチャートとしてインライン表示されます。
  • スクリプトでは、標準ライブラリ、環境内のサードパーティパッケージ、ご自身のワークスペースのモジュールを使用できます。

Run を使うべきでない場合

Run は純粋な Python を実行するだけで、QuantCraft のバックテストエンジンは動かしません。ファイルが戦略コールバックの on_init、on_bar、on_finish に依存している場合、Run はそれらを呼び出しません。代わりに Test を使ってください(戦略のライフサイクル)。


出力

コードが出力、プロット、エラーを出す場所はどこであれ、ワークスペース下部の出力パネルで確認できます。

表示される内容

  • stdout に書き込まれたすべてに対する、タイムスタンプ付きのログ行。
  • stderr に書き込まれたすべてに対する赤字のエラーと、パネルヘッダーの小さなエラー件数バッジ。
  • インラインプロット — Matplotlib の画像と Plotly のインタラクティブなチャート。
  • スクリプトが正常に実行されたが何も出力しなかった場合の (no output)。
  • エラーを書き込まずに、ゼロ以外の終了コードでスクリプトが終了した場合の (exit code N)。

パネルの使い方

  • Output タイトル(またはその横の矢印)をクリックして、パネルを折りたたみ/展開します。
  • 新しい行が届くたびに、パネルは最新の出力まで自動でスクロールします。
  • パネルはファイル間で共有されます — 次に Run または Test を実行すると、以前の出力はクリアされ、新たに始まります。
  • パネル上の区切りを使って、画面に占める大きさを変更できます。

Run と Test はどちらも同じ出力パネルに書き込みます。Test はさらに、エディタ領域の Test Results ビューに構造化された結果を表示します。


免責事項

QuantCraft は、お使いのマシン上でご自身のユーザーアカウントを使って Python を実行します。セッションでの最初の実行の前に、これを平易な言葉で説明する Disclaimer ダイアログが表示されます。

免責事項が扱う内容

  • コードはサンドボックスなしで実行されます — スクリプトは、アクセス権のあるファイルの読み書き、ネットワークの利用、他のプログラムの起動(たとえば subprocess 経由)を行えます。
  • 信頼できるコードを使ったローカル開発には適しています。
  • 実行するコード、インストールするパッケージ、外部サービスに送るデータについては、ご自身が責任を負います。

表示される 2 つの形

  • Run フローの免責事項 — Run(または Test)をクリックしたときに表示されます。**「Don't show this again」**のチェックボックスがあり、I understand をクリックする前にオンにすると、以降の Run と Test ではダイアログがスキップされ、すぐに実行されます。
  • 参照用の免責事項 — 出力パネルのヘッダーにある Disclaimer ボタンからいつでも開けます。このバージョンは読み取り専用で、閉じても設定は変わりません。

あとでダイアログを再び表示させたい場合は、QuantCraft のサイトデータ(ブラウザ/アプリ)を消去するか、通常のアプリのリセット手順を使うと、次の Run で免責事項が再び表示されます。


Run、Test、Compile — どれを使うか

次の簡単なガイドで、適切な操作を選んでください。

Run を使う場面

  • スクリプトをすばやく実行して、出力やプロットを確認したいとき。
  • ヘルパーのプロトタイプを作ったり、データを探索したり、計算が期待どおりか検証したりするとき。
  • 戦略ではない小さなユーティリティスクリプトを書いているとき。
  • 開発中に途中の値を出力したいとき。

Run は最速のフィードバックループです。取引をシミュレートせず、パフォーマンス指標も計算せず、戦略テンプレートも不要です。

Test を使う場面

  • 過去データで戦略をバックテストしたいとき。
  • ファイルが QuantCraft の戦略テンプレート(on_init、on_bar、on_finish)に従っているとき。
  • 構造化された結果(資産曲線、パフォーマンス指標、取引履歴、チャート)が必要なとき。
  • パラメータをスイープ(総当たり最適化)したり、遺伝的最適化で良いパラメータの組み合わせを探索したいとき。

Test をクリックすると Backtest ダイアログが開き、銘柄、期間、パラメータ、(任意で)最適化設定を選べます。Test は戦略をバックテストのサブプロセス経由で実行します(通常の Run とは別の経路です)。IDE は WebSocket で設定を送り、進行状況を出力パネルにストリーミングします。その後、結果はエディタの Test Results ビューに表示されます。長時間のテストは、いつでも Stop で止められます。

Compile を使う場面

  • 完成した戦略をチャートにアタッチしたいとき(IDE の外で、ライブまたは記録済みデータに対して実行できるようにするため)。
  • ファイルが、必須のコールバック(on_init、on_bar、on_finish)を含む .py 戦略であるとき。

Compile は、戦略と、それがインポートするワークスペースのモジュール、必要な IDE のパッケージを、1 つの実行可能バンドルファイル(*.qcraft.json)にまとめ、システムのファイルダイアログでディスクに保存します。バンドルは単体では動作せず、チャートにアタッチして、そこから戦略を動かすためのものです。

Compile ボタンが無効な場合は、ファイルに必須の戦略コールバックのいずれかが欠けています。def on_init():、def on_bar(...):、def on_finish(): を追加する(または既定の戦略テンプレートを使う)と有効になります。


ヒント

  • 長い実行を止める — バックテストの実行中は、Run/Test コントロールの横に Stop ボタンが表示されます。通常の Run スクリプトは、ファイルを閉じるかバックエンドを中断することで終了できます。
  • 出力はどこへ? — 出力パネルは Run と Test で共有されます。両者を切り替えた場合は、パネルを上にスクロールしてください。最新の実行の出力は一番下にあります。
  • ワークスペース内の他のファイルのインポートは Run でも動作します — Run と Test のどちらも、ワークスペースをパッケージツリーとして扱うため、同じ import 文がどちらでも一貫して動作します。
  • 共有する前にコンパイルする — チャートで戦略を使いたい場合は、最後の編集の後に必ず Compile してください。そうすれば、バンドルに最新のコードが反映されます。
コードの実行 — ドキュメント (1.0 (latest)) | QuantCraft