スリッページとは?EAの約定価格がずれる理由と注意点

自動売買LAB辞典

EAを動かしていて、「想定していた価格と、取引履歴に残った価格が違う」と気づくことがあります。その理由の一つが、スリッページです。

EAは、決めたルールで売買を行うプログラムです。ただし、ルールどおりに注文を出すことと、その価格で取引が成立することは別の話。この記事では一般的な仕組みとして、価格がずれる理由と、EAの検証・運用で確認したいポイントを整理します。個別の業者やEAの仕様・実績を検証したものではありません。

スリッページとは?注文時の基準価格と約定価格のずれ

スリッページとは、注文時に指定した価格や想定した価格と、実際に取引が成立した価格との差を指します。取引が成立することを「約定」といい、そのときの価格が「約定価格」です。

ただし、どの価格を比較の基準にするかは重要です。EAが売買を判断した時点の価格と、実際に注文を送信した時点の価格は、同じとは限りません。厳密に調べるときは、判断から送信までの値動きと、送信から約定までのずれを分けて考えます。

スリッページには、不利な方向だけでなく有利な方向へのずれもあります。たとえば、買い注文なら基準より高い価格での成立は不利、低い価格なら有利なずれです。売り注文では逆になります。「価格がずれた」という事実だけで、原因や影響まで決めつけないことが大切です。

スプレッドとの違いを整理しよう

スプレッドは、同じ時点で提示されている買値と売値の差です。一方、スリッページは、注文時の基準価格と実際の約定価格の差。どちらも取引結果に関係しますが、比較しているものが違います。

チャート上の価格と約定価格を見比べただけでは、両者を区別できないことがあります。チャートに表示される価格の種類や、注文の売買方向によって、見るべき価格が変わるためです。

「チャートと違うから、すべてスリッページ」と判断せず、買値・売値のどちらを見ているか、比較した時刻がそろっているかを確認しましょう。表示や記録の仕様は、取引環境ごとに確かめる必要があります。

スリッページが発生する主な理由

注文が届くまでにも価格は動く

EAが価格を受け取り、条件を判定して注文を送り、取引が成立するまでには時間がかかります。その間に価格が変化すれば、想定と異なる価格で成立する可能性があります。経済指標の発表前後など、値動きが急になる場面では、この影響が目立つことがあります。

希望する価格で取引できる数量には限りがある

流動性とは、取引相手がどれだけいて、どの程度売買が成立しやすいかという性質です。希望する価格で取引できる数量が十分でなければ、その価格で注文全体が成立するとは限りません。取引量の少ない時間帯や、価格が飛ぶように動く場面にも注意が必要です。

通信や注文処理の時間も関係する

通信の遅れや、注文処理にかかる時間も要因になり得ます。ただし、履歴の価格差だけから「回線が原因」「業者が原因」と特定することはできません。通信環境を整えても、相場の変動や流動性によるずれまでなくなるわけではありません。

注文方式によって扱いは変わる

スリッページを考えるときは、注文の種類も確認対象です。成行注文は、そのとき取引可能な価格での成立を目指す注文であり、画面で見た価格がそのまま保証されるわけではありません。

一般に、指値注文は指定価格またはそれより有利な価格での成立を条件にしますが、価格条件が合わなければ成立しないことがあります。逆指値注文は、指定した価格への到達をきっかけに発動する注文です。発動する価格と実際の約定価格が一致するとは限らず、損切り用に設定していても想定以上の損失になる可能性があります。

もっとも、注文の執行方法や価格保証の有無は、サービスや商品によって異なります。EAに「許容スリッページ」の設定があっても、すべての注文で価格差を必ず制限できるとは一般化できません。設定がどの注文に適用され、条件を外れた場合にどう処理されるかは、利用するEAと取引先の仕様を確認する項目です。

EAの成績にはどのように影響する?

EAは同じルールを繰り返します。そのため、約定価格の小さな違いでも、取引を重ねると成績の差につながることがあります。新規注文だけでなく、利益確定や損切りなど、決済時のずれも確認対象です。

特に、狙う利益幅が小さい戦略では、不利なずれが利益に占める割合は相対的に大きくなります。ただし、取引回数が多いEAだから悪い、長く保有するEAなら問題ない、と一括りにはできません。注文のタイミングや数量、取引する市場の状態も関係します。

また、価格差だけでなく、注文が成立しなかった場合の扱いも大切です。再注文するのか、取引を見送るのかによって、その後の売買が変わる可能性があります。成績差を見る際は、約定価格と注文処理をセットで確認します。

バックテストと実運用に差が出る理由

バックテストは、過去の価格データを使って売買ルールを検証することです。ルールの特徴を知る手がかりになりますが、実際の注文処理を完全に再現できるものではありません。

過去データの品質や細かさ、売買成立を再現する方法、スプレッド、手数料などの取引コストによって結果は変わります。スリッページや通信の遅れがどこまで反映されるかも、テスト環境と設定次第です。実運用と同じ条件だと、確認せずに扱わないようにしましょう。

期間が短すぎたり、一方向に動く相場ばかりだったりすると、戦略の弱点を見落としやすくなります。取引数が少ない結果も、偶然の影響を見分けにくくなります。さらに、過去の結果に合わせて設定を調整しすぎる「過剰最適化」にも注意が必要です。

実際に進行する相場で動作を確かめるフォワードテストも、確認手段の一つです。ただし、デモ環境などでは実運用と約定条件が異なることがあり、確認期間外の相場も再現できません。バックテストもフォワードテストも、将来の利益を保証するものではありません。

初心者が取引履歴で確認したいポイント

価格差を調べるときは、一件の目立つ結果だけで判断せず、次の項目をそろえて見ると整理しやすくなります。

  • 比較の基準は、EAの判断時・注文送信時など、いつの価格か
  • 銘柄、売買方向、注文の種類、取引数量は何か
  • 新規注文と決済のどちらで、どの方向に価格がずれたか
  • 発生時刻や、そのときのスプレッドに共通点があるか
  • 注文の拒否、再注文、通信エラーなどの記録が残っているか

約定履歴に基準価格が残っていなければ、それだけで正確なスリッページを算出するのは難しい場合があります。必要に応じてEAのログなどを確認しますが、記録される内容は製品ごとに異なります。必要な記録がない場合、原因や正確な価格差は現時点では確認できません。

有利・不利の両方向と、特定の時間帯への偏りを見ていくことが大切です。条件の違う口座やEAを、価格差だけで単純に順位づけすることも避けましょう。

評価指標をもう少し詳しく知りたい方へ

ぽっちゃり勇者のひとこと

「EAはルールどおりに動く」と「狙った価格で必ず成立する」は別なんですね。ここは僕も混同しないように勉強したいところ。ずれを見つけたら、まずは比較した価格と時刻を確認。あわてて設定を変える前に、記録をそろえる一歩から整理していきましょう。

タイトルとURLをコピーしました