取引プラットフォームでOCO注文を設定する方法

OCO(one-cancels-the-other:一方が約定したらもう一方を取り消す)注文は、2つの連動した注文で、どちらかが約定するともう一方がキャンセルされます。ブレイクアウト、損切り(ストップロス)と利益目標を組み合わせた設定、そして再エントリーに役立ちます。設定方法は以下のとおりです。

免責事項

これは投資助言ではありません。提供される情報は教育および情報提供のみを目的としており、いかなる金融商品の売買を推奨するものではありません。

これらのリスク警告の英語版は権威あるものです。翻訳は利便性のためにのみ提供されています。

OCO(one-cancels-the-other、どちらかが成立するともう一方が自動的にキャンセルされる)注文は、2つの連動した注文で構成されており、どちらか一方が約定すると、もう一方は自動的にキャンセルされます。
この注文は、2つの価格水準のうちどちらかでポジションを決済したいときに有用です。通常は、利益確定(プロフィットターゲット)または損切り(ストップロス)のどちらか一方ですが、両方ではありません。最初に約定した方が勝ち、もう一方はキャンセルされます。

この記事は実践的な手順を解説します。OCO注文が理にかなう場面、一般的なプラットフォームでの設定方法、そして注意すべき点を紹介します。

OCO注文が理にかなう場合

よくある用途は3つあります。

  1. ブラケット注文。 利益確定の目標と損切り(ストップロス)の両方を設定したロングポジション。現在の価格より上に売り指値、下に売りストップを置きます。先にヒットした方が約定し、もう一方はキャンセルされます。ポジションは2つの価格のいずれかでクローズされます。
  2. ブレイクアウトのエントリー。 レジスタンスを上抜ける、またはサポートを下抜けるのを待つトレーダー。レジスタンスの上に買いストップ、サポートの下に売りストップを置きます。最初に発動した方でエントリーし、もう一方はキャンセルされます。
  3. 再エントリー。 ある水準より上ではロングにしたい、下ではショートにしたいトレーダー。ブレイクアウトのエントリーと同じ構造ですが、ポジションの両側を管理します。

共通するポイントは、OCO注文は「選択肢」を用意するものだということです。どちらが先に発動するかは分かりませんが、両方に備えておきたいのです。

典型的なプラットフォームでOCOを設定する方法

手順はBrokerによって異なりますが、構造は同じです。ほとんどのプラットフォーム(thinkorswim、Interactive Brokers、Tastyworks、TradeStationなど)では、次の流れになります。

  1. ポジションを右クリックするか、注文チケットを開きます。 多くのプラットフォームでは、注文タイプのドロップダウンにOCOオプションがあります。
  2. 最初のレグを設定します。 通常、これは(利益確定の)指値注文または(損失限定の)逆指値注文です。
  3. 2つ目のレグを設定します。 補完する注文を設定します。
  4. 2つのレグをOCOとしてリンクします。 多くのプラットフォームでは、注文をOCOとしてマークするためのチェックボックスまたはボタンがあります。
  5. 送信します。 プラットフォームが2つの注文を両方送信し、どちらかが約定すると、もう一方は自動的にキャンセルされます。

また、プラットフォームでは、送信後に価格や注文タイプを調整することもできます。OCOのリンクは、どちらかのレグが約定するまで、または両方を手動でキャンセルするまで維持されます。

よくあるバリエーション

停止側にストップ・リミットを使うOCO

通常のストップ注文は、トリガーされると成行注文に変換されるため、値動きの激しい市場ではスリッページが発生する可能性があります。ストップ・リミット注文は、指定した価格で指値注文に変換されるためスリッページを回避できますが、価格がリミットを飛び越えてギャップした場合は約定しないリスクがあります。

トレードオフ:ストップ・マーケットはスリッページ付きで約定する一方、ストップ・リミットは指定価格で約定するか、まったく約定しない可能性があります。OCOでは、(損切りのための)ストップ・マーケットと(利益確定のための)指値注文を組み合わせることも、両方をストップ・リミットにすることもできます。

トレーリングストップ OCO

トレーリングストップとは、価格が有利な方向に動くにつれてストップが追随して調整されるストップです。トレーリングストップ OCO は、トレーリングストップ(価格に追随する損切り)と指値注文(利益確定)を組み合わせたものです。価格が反転した場合はトレーリングストップで決済され、先に目標に到達した場合は指値で決済されます。

トレーリングストップ OCO は、複数日続く値動きを取り込みつつ、反転したら退出したいモメンタム取引に有効です。価格が上昇するにつれてトレーリングストップが利益を確定し、指値の目標が上方向への出口を提供します。

期間指定のOCO

一部のプラットフォームでは、OCOに有効期限(期限)を設定できます。どちらの注文(脚)も約定していない場合、期限時刻にOCOは自動的にキャンセルされます。たとえば、決算発表や市場のオープンなど、特定の時間枠の間だけ有効な設定に便利です。

有効期限はプラットフォームごとに異なります。あるプラットフォームでは「good till cancelled」(GTC)が初期設定になっており、これはOCOが無期限で有効であることを意味します。別のプラットフォームでは「day」または「good till close」(GTC)が初期設定になっている場合もあります。戦略に基づいて、有効期限を意図的に設定してください。

何がうまくいかない可能性があるか

3つのパターン:

1. 変動の速い市場で両方の注文が同時に約定する

動きの速い市場では、両方の注文が同じミリ秒内に約定する可能性があります。注文のルーティングによって、どちらか一方、または両方が約定されることがあります。
「OCO」は、先に約定した方があった場合にもう一方がキャンセルされることだけを保証します。プラットフォームがキャンセルする前に両方が約定してしまうと、その結果は部分決済、または反対側への反転(flip)になることがあります。

対策:両方の水準を飛び越えて(ギャップして)しまう可能性が高い市場ではOCOを使わないでください。バッファ付きのストップ・マーケットを使用するか、部分約定のリスクを受け入れてください。

2. ロウソク足のヒゲでストップが発動するケース

ヒゲの中で価格が一瞬ストップ水準に到達するものの、終値はその上で引けます。ストップ・マーケット注文はヒゲで発動し、ストップ価格(またはそれより不利な価格)で約定します。OCOはリミットをキャンセルしますが、ノイズでエントリー(または決済)してしまいます。

対策:バッファ付きのストップ・リミットを使う、または時間ベースの確認を行います。

3. プラットフォームが「真の」OCOに対応していない

一部のプラットフォームでは、「連動注文」や「if-touched(タッチしたら)」注文のみをサポートしており、OCOのように見えますが、キャンセルのロジックが異なります。OCOの挙動を確認するために、プラットフォームのドキュメントを必ず読みましょう。

評価方法

OCO注文を設定するときは、次を確認してください。

  • プラットフォームは「真のOCO」に対応していますか?(流動性の高い銘柄で小さな注文を使って挙動をテストし、確認します。)
  • 各レッグでサポートされている注文タイプは何ですか?(ストップ・マーケット、ストップ・リミット、トレーリング・ストップ、リミット。選択肢が多いほど、実行できる戦略の幅が広がります。)
  • 有効期限のデフォルトは何ですか?(Day、GTC、またはカスタム。意図して設定します。)
  • 部分約定の取り扱いはどうなっていますか?(リミット・レッグが50%しか約定しなかった場合、OCOはキャンセルされますか? 多くのプラットフォームはキャンセルしますが、未約定のレッグを有効のまま維持するものもあります。)
  • ストップ・レッグのスリッページはどれくらいですか?(ストップ・マーケットはスリッページ込みで約定します。ペーパートレーディング口座でテストして、実際の約定品質を確認してください。)

よくある質問

OCOはブラケット注文と同じですか?

ブラケット注文は、OCOの一種です。つまり、OCOとして連動した形で、利確目標と損切り(ストップロス)の両方を持つエントリー注文です。一般的なOCOは、連動する2つの注文であれば何でもよく、ブラケットはそのよくある利用例の1つです。

複数の口座にまたがってOCOを設定できますか?

ほとんどのプラットフォームでは、口座をまたいだOCOには対応していません。OCOは、単一の口座内のポジション(建玉)レベルで設定します。

OCOとOTO(one-triggers-the-other)の違いは?

OTOは2つの注文が連動しており、最初の注文が約定したときにのみ2つ目の注文が出されます。
OCOは2つの注文が連動しており、最初の注文が約定したときに2つ目の注文がキャンセルされます。

すべてのBrokerはOCO注文に対応していますか?

多くの一流Brokerは対応しています。たとえばInteractive Brokers、Schwab、Tastyworks、TradeStation、E*TRADEなどです。実装方法は異なります。

関連リソース

どこから始めるか

取引でOCO注文を使いたい場合、実務的な最初のステップは、注文タイプに対応しているBrokerでペーパートレード口座を設定し、小さなポジションで挙動をテストすることです。ペーパー口座は、実際のお金を投入する前に、プラットフォームのOCOロジックを検証するための唯一の方法です。OCOに対応しているプラットフォームの現在の一覧は、こちらのbroker tableをご覧ください。