ドキュメント1.0 (latest)
ページ出力パネル · 19 / 29

出力パネル

出力パネルは QuantCraft のワークスペースの下部にあり、コードが出力したり描画したりするすべて(print() 文、エラーメッセージ、プロット、時間のかかるバックテストの進行状況)が表示される場所です。

このパネルは Run と Test で共有されます。実行のたびにクリアされ、実行の進行に合わせて新しい出力が書き込まれます。構造化された指標とチャートは テスト結果 に表示されます。


開く、折りたたむ、サイズを変更する

  • 新しいものがログに記録されたりプロットされたりすると、出力を見逃さないよう、パネルは自動的に開きます。
  • Output タイトル(またはその横の矢印)をクリックすると、パネルを折りたたみまたは展開できます。
  • パネル上の水平の区切りを上下にドラッグして、画面に占める大きさを変えられます。区切りにフォーカスして上/下矢印キーで微調整することもできます。
  • 出力パネルの高さ(とエディタの分割)は、セッションをまたいで記憶されます。

ログ(stdout と実行メッセージ)

スクリプトが標準出力に書き込んだものは、タイムスタンプ付きのログ行としてパネルに表示されます。

[14:32:11] Loaded 480 bars [14:32:11] Entering position at 192.40 [14:32:13] Final equity: 102450.13

知っておくと便利なこと:

  • 各エントリには、ローカル時計のタイムスタンプが付きます。
  • ログテキストは等幅フォントで、長い行も横スクロールなしで読めるよう折り返されます。
  • 新しい出力が届くたびに、実行中も実行直後も、パネルは最新のメッセージまで自動でスクロールします。
  • スクリプトが何も出力せずに終了した場合は、短い (no output) のプレースホルダが表示されます。
  • カレンダーデータが有効な場合、エンジンは適用されたコーポレートアクション(株式分割や配当)ごとに [calendar] 行を 1 行書き込み、最後にサマリーを出力します。例:
    [calendar] 2024-01-10 AAPL — SPLIT 4:1 applied to 1 position(s): 100 -> 400 shares (cost basis unchanged; bars stay unadjusted) [calendar] 2024-02-09 AAPL — DIVIDEND $0.2400/share on 400 share(s): +$96.00 cash … [calendar] corporate actions — 1 split(s) applied; 1 dividend(s) applied (0 exact ex-date, 1 estimated +/-7d)
    [calendar] 行がまったく表示されない場合は、実行モーダルで Include calendar data がオンになっているか確認してください — カレンダーデータ を参照。
  • Screener のバックテストでは、Logs の隣に Screener Output タブが表示され、すべてのリバランス日とその期間に取引された銘柄が一覧されます — スクリーナー を参照。

タブごとに約 200 エントリの上限があり、上限に達すると古い行は削除されます。大量の出力を生成する実行では、コード内で要約するか、N 本のバーに 1 回だけ出力することをおすすめします。


エラー(stderr)

標準エラー出力に書き込まれたもの(例外のトレースバック、コードが stderr 経由で出す警告、フレームワークのメッセージ)は赤でハイライトされ、パネルのヘッダーでカウントされます。

  • Output タイトルの横に、記録されたエラー行の数を示す小さな N error / N errors バッジが表示されます。
  • エラーは通常のログ行と同様にタイムスタンプを保持するため、周囲のイベントと照らし合わせられます。
  • 実行がゼロ以外の終了コードで終了したが stderr 自体には何も出力しなかった場合、実行が失敗したことが分かるよう、(exit code N) というエラー行が 1 行表示されます。

エラー件数はライブのカウンターです。出力をクリアすると(Run / Test のたびに開始時に行われます)リセットされ、新しい実行でパッケージがインストールされたり、以前の失敗から回復したりした場合は、件数が削除されます。


プロット

出力パネルは、コードからのインライン図をレンダリングするため、外部ビューアは不要です。

Matplotlib

実行中にコードが表示する Matplotlib の図は、パネルの幅に合わせた PNG 画像として表示されます。手早い探索的なチャートに最適です。

Plotly

Plotly の図は、パネル内で完全にインタラクティブなチャートとして表示されます。

  • 系列にホバーすると、正確な値が見られます。
  • マウス/タッチでズームとパンができます。
  • Plotly のツールバーで、ダウンロード、オートスケールなどの操作ができます。
  • チャートはパネルとともにリサイズされます。

Matplotlib でも Plotly でも、各プロットはパネルのタイムライン上でログ行と並んで独自の枠付きブロックとして表示されるため、print() の出力との相対的な位置関係で、どこで生成されたかが正確に分かります。

プロットとログはタブごとに同じ上限を共有するため、非常に長い図のシーケンスは、いずれ以前の出力を表示範囲の外へ押し出します。


長時間実行の進行状況

バックテストの実行中は、流れるログを見つめなくても進行状況を把握できるよう、パネルのヘッダーに 2 つの要素が追加されます。

  • 次のようなラベルが付いた進行状況バー:
    • Bar 1234 / 5000 — 処理されたシミュレーションのバーの数。
    • Run 3 / 10 — 最適化の実行中では、全体のうち現在実行中の回。
    • Gen 2/5 · 7/16 — 遺伝的最適化では、現在の世代/個体。
    • Backtest running — エンジンは開始したが、正確な進行状況がまだ得られていない間。
  • バーはエンジンが進行状況を報告するにつれて伸び、実行が終了するとすぐに消えます。

パネルを折りたたんでも、進行状況バーはヘッダーに表示されたままなので、エディタに集中していても、実行の状態がひと目で分かります。


Disclaimer ボタン

ヘッダーには Disclaimer ボタンがあり、QuantCraft がお使いのマシンで Python をどのように実行するかについての短い通知を開きます。最初の Run の前に表示されるものと同じ説明で、読み返したいときにいつでも利用できます。このダイアログを閉じても設定は変わりません。


ヒント

  • 素早いデバッグには print() が役立ちます。メッセージは短くし、(f"[ENTRY] {symbol} {qty} @ {price}" のように)タグを付けると、見つけやすくなります。
  • 何千行も出力するのではなく、長い詳細はコード内でファイルに書き出してください。表示されるのは直近の約 200 エントリだけです。
  • エラーは赤で、バッジにカウントされます。件数が増えたら一番下までスクロールしてください。最新のエラーが、実行を止めた原因であることがよくあります。
  • Plotly では、パネルのリサイズ用の区切りを使ってチャートの高さを広げましょう。自動的にスケールします。
  • パネルはファイル間で共有されます。実行中にタブを切り替えると、表示される出力は直近の/アクティブな実行のものです。
出力パネル — ドキュメント (1.0 (latest)) | QuantCraft