「株テック | Kabutech Lab.」は、日本株トレードを初心者向けに解説するメディアです。

ツールの使い方や考え方、環境構築方法を学ぶ場として、主に以下の内容を解説しています:

  • TradingViewを使ったバックテスト・ストラテジーの実践情報
    (プログラミング知識がなくても始めやすい検証ツールです)
  • 三菱UFJ eスマート証券のkabu APIを使った環境構築
    (日本株の発注が可能な数少ないAPI接続サービスです)

バックテストは自作プログラム(Pandasなど)で応用可能、発注は他の証券会社のRSSなどでも対応できます。
特定の証券会社やツールを強く推奨するものではありません。

以下の点にご留意ください:

  • 個別銘柄の売買や投資判断の助言は行いません。
  • サンプルのストラテジーやコードは学習・検証用の参考資料であり、実際の売買や利益を保証しません。
  • バックテストは過去データに基づく結果であり、将来の成果を保証しません。
  • 自動売買環境はエラーハンドリングと十分な整備が必須です。
  • 市場変動、システム障害、予期せぬ遅延やエラーなどのリスクがあります。

投資はあくまで自己責任です。リスクを理解して慎重に取り組んでください。

当サイトでは一部アフィリエイト広告を利用しています (プライバシーポリシー)。

ご質問はこちらまでお気軽にどうぞ。

TradingView バックテストの限界 | スリッページ・取引コスト・約定ズレ・流動性を解説

更新情報

STEPを刷新しました(📘 新構成は無料公開・旧版購入者様特典あり)

これまで有料で展開していた解説を、より分かりやすく、より実践的に全面リニューアルしています。

📢 旧シリーズをご購入いただいた方へ
これまで多くのフィードバックをお寄せいただき、誠にありがとうございます。
旧版をご購入いただいた皆様には、環境構築に関する優待特典をご用意しております。

特典の受け取り方法や詳細は、下記の案内ページをご確認ください。
👉 (FO) 環境構築・優待特典のご案内

📊 バックテストと現実のギャップ|スリッページ・取引コスト・約定ズレの影響 【TradingView 活用】

前回 の記事では、 バックテスト 結果が過去データに過剰に適合してしまう「 カーブフィッティング 」のリスクについて解説しました。

ただ、これだけでは バックテスト と実際の運用との ギャップ を完全に埋めることはできません。 バックテスト は理想的な環境でのシミュレーションに過ぎず、実際の市場では スリッページ 、取引コスト、 約定 ズレ、 マーケットインパクト 、流動性リスクといった要因が影響を与えます。

これらを考慮せずに戦略を運用すると、思ったようなパフォーマンスを出せないこともあります。

TradingView は初心者でも扱いやすく、作成した売買ルールは ストラテジー テスター ですぐに バックテスト 可能です。
まだ TradingView のアカウントをお持ちでない方は、まずはこちらから無料登録を済ませましょう。
👉【無料で始める】TradingView 公式サイトはこちら

👥 この記事は誰向け?

  • バックテスト はやったことがあるけど、実運用ではなぜか勝てない方
  • 自動売買 や短期トレードを行っていて、取引コストや 約定 ズレを意識したい方
  • 現実的な戦略設計を学びたい方

📖 この記事でわかること

  • バックテスト と実際の運用で差が出る原因( スリッページ 、取引コスト、 約定 ズレ、 マーケットインパクト 、流動性リスク)が理解できる
  • 現実に即した戦略設計や バックテスト 手法がわかる
  • 実運用に近いシミュレーションで、現実的な 期待値 を把握できる
  • リスクをある程度緩和する具体策がわかる

🧩 スリッページとは?|バックテストと実運用で差が出る理由

スリッページ とは、注文を出した価格と実際に 約定 した価格のズレのことです。 たとえば「100 円で買いたい!」と思って 成行 注文を出しても、実際には 101 円で 約定 してしまうことがあります。これが スリッページ です。

原因は主に以下の 3 つ:

  • 板が薄く、売買が集中していない銘柄
  • 急な値動きで注文が追いつかない
  • 成行 注文を使った場合

💡 短期トレードや 自動売買 では、この スリッページ が利益に大きく影響します。 バックテスト では通常、注文価格どおりに 約定 したと仮定するので、実際の利益より多めに出てしまいがちです。

スリッページは成行注文時のみ発生する

単純に言うと、 成行 注文を使わなければ基本的に スリッページ は発生しません。 指値 注文を使えば、注文価格で 約定 するか、 約定 しないかのどちらかになるため、 スリッページ の心配はほぼ無くなります。

損切りは成行が必要になる部分がほとんど

ただし実際には、 損切り 指値 だけで済ませるような運用は現実的ではありません。 そのため、 指値 エントリー でも スリッページ を考慮する必要がある場合がほとんどです。

✅ スリッページ解消・回避策

バックテスト スリッページ を考慮するには、 TradingView ストラテジー テスター設定を使うのが現実的です。

  • [プロパティ] → [ スリッページ ] に値を入力する

    → ここで 1 ティック(または 2 ~ 3 ティックなど)を指定しておくと、 バックテスト 時にその分のコストが自動で加算されます。

  • 実際に使う市場・銘柄の流動性に応じて、現実的なティック数を設定するのがポイントです。

    例:大型株なら 1 ~ 2 ティック、小型株や 寄付き 直後は 5 ティック以上を想定

📌 流動性の高い銘柄・時間帯は特に注意

また、 エントリー 損切り に限らず、特に寄付開始間近の数分や、 出来高 のある流動性の高い銘柄などでは、10 ティック以上の スリッページ が発生することも頻繁にあります。 そのため、 成行 注文を使う場合は、こうした極端なケースも意識して バックテスト や戦略設計に反映させることが重要です。

👉 この設定を入れておくことで、「 バックテスト では勝っていたのに、実運用では負けた」というズレを減らすことができます。

🧩 取引コストとは?|手数料・スプレッドが戦略に与える影響

取引コストとは、売買にかかる費用のことです。

主に以下の 2 種類があります:

  • 手数料 証券会社 に支払う売買の手数料
  • スプレッド :買値と売値の差による実質的なコスト(※主に 成行 注文で発生)

たとえば、1,000 株を 100 円で買う場合を考えます。

  • 手数料:500 円
  • スプレッド :0.5 円

バックテスト ではこうしたコストを見落としがちですが、実際には利益を大きく削る要因になり得ます。

⚠️ 特にデイトレやスキャルピングは要注意

特に デイトレ スキャルピング に代表される高頻度売買では、取引コストの影響が非常に大きくなります。 小さな利益を積み上げる戦略では、コストを考慮しないと、「勝っていたはずなのに合計損益はマイナスになっていた(手数料負け)」 なんてことも起こり得ます。

✅ 取引コストをバックテストに反映する方法

こちらも同じく TradingView バックテスト では、手数料をプロパティで設定できます。

  • [プロパティ] → [手数料] に固定額または%で入力可能

    → 実際の手数料に近い値を入れておくと、 バックテスト が現実的になります。

ただし、時間帯や板の状況でも変動するため スプレッド は反映する事ができません。

👉 そのため、 スプレッド については「余裕を持ったシミュレーション」を行うのが現実的です。 たとえば 固定で 1 ~ 5 ティック程度多めに スリッページ 設定に上乗せしておく と、実運用との差をある程度吸収できます。

🧩 指値注文の約定ズレ|バックテストでは必ず約定する落とし穴

バックテスト では、 指値 注文は 約定 すると仮定されます。 しかし、現実の取引では必ずしもそうではありません。

たとえば、 指値 で「100 円で買う」と設定しても、板の流動性不足やタイミングの問題で注文が 約定 せず、成立しないことがあります

これが 指値 注文における 約定 ズレです。

原因は主に以下の 2 つ:

  • 注文処理の遅延
  • 板の流動性不足

短期売買や 自動売買 では、 約定 しないことで利益のチャンスを逃したり、戦略が想定通りに動かないことがあります。

📌 バックテスト では「 約定 した前提」で計算されるため、現実との ギャップ を意識することが重要です。

✅ 約定ズレの解消・回避策

これは TradingView 単体では完全に対応できません。

指値未約定リスクの緩和策としては

  • より短い時間軸で バックテスト ローソク足 の粒度を細かくすると、 約定 可能性をやや精緻に評価できます
  • 板の薄い時間帯や小型株は避ける:事前に流動性を確認して戦略を設計する
  • 値幅 に余裕を持つ:想定価格より少し広めの 指値 を設定して、 約定 確率を高める

💡 完全に再現することはできませんが、こうした工夫で「 バックテスト と現実の差」をある程度縮められます。

指値 約定 しなかった場合は、残念ながら運が悪かったと割り切るしかありません。
バックテスト 通りに 約定 しないリスクは避けられないため、損失を避けることと同様に、未 約定 も戦略の一部として受け入れる必要があります。

🧩 ローソク足バックテストの限界|ティック順序が不明になる問題

バックテスト では、ほとんど場合 ローソク足 のデータを使って売買条件を評価します。 しかし、 ローソク足 には限界があります。

ティック単位の値動きは不明

ローソク足 では、始値・終値 は時系列が明確ですが、高値・安値の間の値動きやティック単位の動きは記録されないため、 ローソク足 単体では順序の判断ができません。

たとえば、高値や安値を エントリー イグジット 条件にした場合、 「どちらが先に ブレイク したか」 までは ローソク足 だけではわからず、 バックテスト の結果とリアル運用に差異が生じます。

この順序不明が原因で、 バックテスト 通りの 約定 にならないことがあります。

✅ 時系列の解消・回避策

対処として、歩み値単位(ティック単位)での バックテスト という方法もありますが、 TradingView 単体では実現できません。
落としどころとしては、より短い時間軸の ローソク足 バックテスト を行い、精度をある程度高める という方法が現実的です。

🧩 マーケットインパクトとは?|大口注文が相場に与える影響

バックテスト では「自分の注文が価格に影響を与える」という前提は通常考慮されません。 しかし、実際の相場では、大きな注文を出すだけで株価が動いてしまうことがあります。これを マーケットインパクト と呼びます。

たとえば、 出来高 の少ない銘柄に 10 万株の 成行 注文を出せば、板を一気に食い上げてしまい、想定よりかなり高い価格で 約定 することになります。

さらに、市場参加者の心理的反応も無視できません。
例えば、 板読み で売買しているトレーダーが「突然 10 万株の 約定 」を見たら、 「これは何かあるぞ」と判断し、その後の売買行動を変えるでしょう。

バックテスト 上ではこのような 他の参加者の反応や、自分の存在そのもの は再現不可能です。

📌 つまり、「自分の注文が相場に影響を与えない」という前提でテストされている点を理解しておく必要があります。

✅ マーケットインパクトの回避・緩和策

  • 分割 エントリー (スプリットオーダー)

    大口注文を複数回に分けて発注することで、一度に板を食い上げず価格への影響を抑える

  • 流動性の高い時間帯を狙う

    出来高 の多い時間帯に注文することで、価格変動リスクを軽減

  • 指値 を活用する

    成行 で一気に 約定 させるのではなく、 指値 で徐々に 約定 させる

  • 注文数量を現実的に調整

    バックテスト 通りの大量注文は避け、板の厚みに応じて 建玉 量を制御する

💡 完全に マーケットインパクト を避けることは不可能ですが、こうした工夫で価格への影響をある程度抑えることができます。

🧩 流動性リスク|バックテストでは考慮されない約定数量の制約

バックテスト では「価格がついていれば注文は必ず 約定 する」と仮定されることが多いですが、現実はそう単純ではありません。 実際の相場では、板に十分な数量がなければ注文が通らないことがあります。

例えば、 バックテスト 上では「100 円で 1,000 株買えた」と計算されても、 現実の板にはその価格で 500 株しか売り板に出ていなければ、残りは 約定 しません。

その結果、想定より少ない数量しか建てられなかったり、別の価格で買い足す必要が出たりします。

✅ 流動性リスクの回避・緩和策

  • 板の厚みを事前に確認する

    運用前に 板情報 を見て、十分な数量が存在するか確認する

  • 注文数量を調整する

    板の厚みに合わせて 建玉 量を制御する

  • 約定 しなかったら諦める

    バックテスト 通りに必ず 約定 するわけではないため、未 約定 は運が悪かったと割り切る

💡 完全に回避することはできませんが、事前確認や数量調整でリスクをある程度抑えることが可能です。

📝 まとめ|バックテストと現実のギャップを理解する

本記事では、 バックテスト では見えにくい スリッページ ・取引コスト・ 約定 ズレ・ マーケットインパクト ・流動性リスク について解説しました。

ポイントを整理すると以下の通りです:

  1. バックテスト は理想的な環境 → 実運用では注文がズレたり、コストがかかることを常に意識する

  2. スリッページ ・手数料・ スプレッド

    TradingView ストラテジー テスターで設定を反映し、余裕を持ったシミュレーションを行う

  3. 約定 ズレや流動性リスク

    指値 の未 約定 や板の薄い時間帯は避ける、数量を調整するなどの工夫で緩和

  4. マーケットインパクト

    → 大口注文は分割 エントリー や流動性の高い時間帯を活用して影響を抑える

🔗 次に読むおすすめ記事

実際に運用する際には、 勝率 や利益だけでなく リスク管理 ロット 設計も重要です。 バックテスト 体験で戦略の動きを確認できたら、次に重要なのは ドローダウン に耐える力 を身につけることです。

どんなに優位性のある戦略でも、損失は避けられません。 そこで次の記事では、連敗や損失時の心理的負荷に耐えるメンタルの備え を解説します。

バックテスト で想定した損失を、資金的にもメンタル的にも耐えられるか を確認する第一歩として、ぜひ次の記事もチェックしてみてください。

👉 損失に耐える力|システムトレード運用者のメンタルと実践マインド

📌 ここまで読んだ方は、 バックテスト と実運用の差を理解した上で、次はメンタルコントロール最適化に進むと戦略の完成度が高まります。

🧭 はじめての方へ:基礎 → 実践 → 設計 → 検証 → 理論。最短で再現性に辿り着くためのロードマップ
👉️ Kabutech Lab.のおすすめの進め方

戦略設計 ステップ一覧

本シリーズは、バックテストの基礎から堅牢な設計まで実践的に学べる構成です。
STEP1: データ準備 → STEP2: シンプル戦略検証 → STEP3以降: 応用・最適化

📈 【無料】テクニカル分析

テクニカル指標をTradingViewで実践活用

詳しく見る

🛠️ 自動売買の構築

TradingView, kabu API を使った環境構築

詳しく見る

📊 戦略設計

戦略を検証し、改善するための手法と実装

詳しく見る

🔧 ストラテジー作成

Pineスクリプトでの戦略実装をガイド

詳しく見る

📦 システム拡張

Slack連携/プロセス監視で安定・拡張

詳しく見る
FO 日本株自動売買
背景画像
「戦略が、自律する。」