短い時間の約定価格を並べると、上がった直後に下がり、下がった直後に上がる。そこで「一つ前の値動きと逆方向へ売買すれば勝てる」と考えたくなる。しかし、その往復が市場の評価の変化ではなく、売り気配と買い気配の間で取引が交互に成立しただけなら、見えている反転をそのまま利益にはできない。
この現象をビッドアスク・バウンスと呼ぶ。超短期の逆張り、ティック足の検証、出来高が少ない銘柄の価格分析で重要な論点だ。本稿では気配と約定を分け、同じ2円の往復がなぜ取引可能な2円の利益にならないかを架空例で説明する。
買い気配1000円、売り気配1002円の市場
ビッドは市場参加者が買いたいと提示している価格、アスクは売りたいと提示している価格である。最良ビッド1000円、最良アスク1002円なら、スプレッドは2円、両者の平均である仲値は1001円となる。急いで買う注文は通常アスク側、急いで売る注文は通常ビッド側と取引する。
この気配が変わらないまま、買い成行、売り成行、買い成行、売り成行が来たとしよう。十分な数量がある単純な板なら、約定価格は1002、1000、1002、1000と動く。約定価格のチャートは上下するが、ビッド1000、アスク1002、仲値1001は全く変わっていない。

実際の市場では気配も数量も変わり、必ず交互に約定するわけではない。この例の目的は、価格系列に市場の評価変化以外の成分が含まれることを示す点にある。前の約定値だけで反転の利益を計算すると、売買できる側の価格を取り違えやすい。
1000円の約定を見てから1000円で買えるとは限らない
1000円で売り約定が起きた直後に「次は1002円へ戻る」と考えて買い成行を出すと、買えるのは通常1002円のアスクだ。その後に1002円の約定が表示されても、売り成行を出せば1000円のビッドで売ることになる。チャート上は2円上がったのに、往復取引の損益は1株あたり−2円となる。
100株なら−200円で、手数料や滑りがあればさらに悪化する。これは取引所に特別な不利益を受けたわけではない。「直前に誰かが売れた価格」と「今すぐ自分が買える価格」を混同したために生じる。気配が一定なら、成行売買を何度も繰り返すほどスプレッドを払い続ける。

負の自己相関を見つけても、すぐに優位性とは呼べない
一つ前の価格変化がプラスのとき次がマイナスになりやすければ、価格変化には負の自己相関が見られる。平均回帰の手法では魅力的な性質に見えるが、約定がビッドとアスクを行き来することでも、このような傾向は生まれ得る。
Rollの1984年の研究は、市場価格の変化に含まれるこの種の成分を利用し、一定の仮定の下で取引コストを推定する考え方を示している。つまり観測された反転が、利益機会ではなくスプレッドの存在を反映している可能性がある。相関の符号だけで採用を決めず、気配側を使った約定モデルで費用後の損益を計算する必要がある。
なお、最初の「必ず交互に動く」例は説明のための極端な設定で、取引方向が独立に発生するモデルなどとは前提が違う。そこから特定のスプレッド推定式へ数値を代入し、現実のスプレッドが求まると解釈してはいけない。モデルの仮定と教育用の図を区別したい。
仲値で見直すと反転は残るか
最初の確認は、同じ時刻のビッドとアスクから仲値系列を作り、約定値系列と比べることだ。約定値では頻繁に上下しているのに、仲値ではほとんど動かないなら、スプレッド内の往復の影響が大きい可能性がある。仲値でも明確な反転が残るなら、気配自体の移動をさらに調べる。
ただし仲値は取引可能な価格ではない。仲値でシグナルを検出することはできても、仲値で全て約定したと仮定すれば別の楽観性が入る。シグナル計算と売買価格を分け、買いではアスク、売りではビッドを基本に、注文量と時間遅れに応じた滑りも考える。
また片側の気配だけが古い、更新時刻がそろっていない、異なる取引所の価格を混ぜている場合は、仲値にも人工的な動きが生じる。同じ情報源、同じ時刻基準で整合させ、価格が異常に逆転した記録や配信欠落を点検する。仲値へ変換するだけでデータ品質の問題は解決しない。
何秒足へまとめるかで印象が変わる
取引が成立するたびに一つ進むイベント時刻と、毎秒・毎分に一つ観測する時計時刻では、系列の性質が変わる。取引の多い1秒も少ない1分も一件として扱うティック系列と、固定間隔系列を同じものとして比べない。取引回数に応じた重み付けの違いがあるからだ。
1秒、10秒、1分と観測間隔を変え、約定値と仲値の双方で反転の強さを比較する方法がある。短い間隔だけに見える反転が、費用を差し引くと消えるなら、市場構造由来の可能性を疑う。一方、間隔を粗くして反転が消えたからといって全てがバウンスとは限らず、本当の短期情報も平均化される。
スプレッドに対する値動きの大きさを測る
同じ2円の値動きでも、スプレッドが2円の銘柄と0.1円の銘柄では意味が違う。スプレッド2円の中を2円往復しただけなら、成行で取引できる利益は乏しい。スプレッド0.1円の市場で仲値が2円動いたなら、費用以外の価格変動が相対的に大きい。
例えば「予測する仲値変化÷通常スプレッド」を補助尺度にできる。予測変化0.5円、スプレッド2円なら0.25倍で、成行往復の負担を超える根拠が弱い。予測変化5円、スプレッド1円なら5倍だが、それでも予測の当たり外れと滑り次第で赤字になり得る。倍率は利益保証でなく、調べる優先度を決める目安だ。
指値でビッド買い・アスク売りなら取れるのか
ビッド1000円へ買い指値を置き、アスク1002円で売れれば、確かに2円の粗利益になる可能性はある。ただし両方の価格で確実に成立するとは限らず、順番待ち、部分約定、取消しの遅れ、保有中の価格変動が加わる。成行の逆張り検証を、そのまま指値の利益と読み替えられない。
特に買い指値が成立したときにビッドもアスクも下がり始めれば、予定した1002円の売り指値が取り残される。スプレッドを受け取る代わりに在庫と逆選択のリスクを負うのが、流動性を供給する取引の一面だ。未約定の取引を落とし、成立した往復だけを集計すると成績がよく見えやすい。
空売りのバックテストでも同じ取り違えが起こる
1002円の買い約定を見て「次は1000円」と予測し、売り成行を出すなら、通常は1000円で売る。買い戻しは1002円となり、やはり1株あたり−2円だ。売買方向が逆でも、アスクで売り、ビッドで買い戻せたことにする楽観的なモデルは誤りになる。
株式の空売りでは、さらに貸株の利用可能性や費用なども関係する。FXや暗号資産でも手数料体系、資金調達、価格配信方式が違う。スプレッド内の往復という基本構造は共通していても、商品ごとのコストを一律には置けない。
気配のない過去データしか手に入らない場合
約定値だけの履歴なら、ビッドとアスクを完全に復元することはできない。通常スプレッドを仮定して売買価格へ上乗せする感度分析は可能だが、急変時の拡大や数量別の価格までは分からない。最小スプレッドだけを全期間に適用する設定は、とくにイベント時に楽観的になりやすい。
実運用に近い評価を行うなら、一定期間は気配付きデータを保存し、時間帯・銘柄・出来高別の分布を測る。履歴がない部分は仮定と明示し、スプレッドを2倍、3倍にした場合の結果も確認する。データから分からないことを、精密な小数点で埋め合わせない。
発見した反転を三つの記録へ分解する
約定が1002円から1000円へ下がった瞬間に、直前と直後の気配を並べる。ビッド1000円、アスク1002円が変わっていないなら、中心価格の下落は観測されていない。両方の気配が1円下がっていれば、気配の変化も含まれている。この二つを同じ「2円下落」のサンプルへまとめると、異なる現象を混ぜて学習することになる。
さらに、約定時点の気配と、その情報を受信して注文を出せる時点の気配を分ける。約定記録と気配記録の時刻が粗い場合、どちらが先だったか分からないこともある。そのサンプルは順序不明として残し、自分に有利な気配だけを選ばない。
最後に、予定数量での執行価格を確認する。最良気配に100株しかなく、500株を成行で買うなら、表示アスクだけでは全量の費用を計算できない。反転幅が小さい戦略ほど、数ティックの深さや遅延で利益が消えやすい。最良気配での計算は出発点であり、大きな数量でも成立する証拠ではない。
検証の順番を固定する
まず約定値と仲値の反転を比較する。次に売買気配を使った成行損益を計算し、さらに実際の費用を入れる。指値手法なら別途、待ち順位と未約定を含めて検証する。最後に未使用期間で同じ傾向が出るかを見る。この順なら、見かけの価格パターンと実行可能な売買ルールを混同しにくい。
記録表には、シグナル時刻、直前約定値、ビッド、アスク、気配時刻、注文方向、予定数量、実際の約定値を残す。気配が変わる前に注文が到達したのかも重要で、データ上の同じ秒が実際の同時刻とは限らない。短期になるほどタイムスタンプの精度と注文遅延の影響が大きくなる。
反転パターンを見つけることは検証の入口にすぎない。その値段が誰にとっての買値・売値であり、自分の注文はどちら側で成立するかを確かめる。ビッドアスク・バウンスを理解すると、「動いた値幅」をそのまま「取れる利幅」と考える誤りを減らせる。
参考:Richard Roll(1984)「A Simple Implicit Measure of the Effective Bid-Ask Spread in an Efficient Market」。本文の固定気配と売買損益は独自の説明用例。


コメント