Skip to main content
成行注文は、板が提示するものが何であれ即時の約定を求めます。これを文字どおりに受け取ると危険です。板が薄いとき、あるいは板が速く動いているとき、「板が提示するもの」は目にしていた価格から大きく離れることがあります。 Intentionは成行注文を文字どおりには送信しません。すべての成行注文は、送信時に計算された保護用の価格上限を持つ指値注文に変換されます。流動性を即座に取りにいく点は変わりませんが、際限なく板を食い上げるのではなく、ある価格で止まります。

三つの上限、最も厳しいものが勝つ

上限は、独立に導かれた三つの価格のうち最も保守的なものです。
スリッページ許容度買いは最良売り気配 × (1 + s)、売りは最良買い気配 × (1 − s)既定は10%、0.01%から10%で設定可能。自分で操作できる上限です。
マーケットの価格バンドその外側では板に載ることも約定もできない守るのは自分ではなくマーケットです。ブロックのインデックス価格が得られない場合は、失効ではなく拒否です。
その数量が届く最悪の価格注文が実際に消費する板の厚みから導く最良気配の価格からは見えない上限です。
三つのうち最も厳しいもの
実際に送信される指値価格買いは三つのうち最も低い、売りは最も高い
買いなら三つのうち最も低い価格が、売りなら最も高い価格が上限になります。それぞれが別々の穴を塞いでおり、単独で十分なものは一つもありません。

スリッページ許容度

買いの上限=最良売り気配×(1+s)売りの下限=最良買い気配×(1−s)\text{買いの上限} = \text{最良売り気配} \times (1 + s) \qquad \text{売りの下限} = \text{最良買い気配} \times (1 - s) 許容度の既定値は10%で、0.01%から10%のあいだで設定できます。これは自分で操作できる上限であり、最良気配からこれ以上不利な価格では約定させるなという単純な指示を表します。

マーケットの価格バンド

どのマーケットも基準価格の周囲にバンドを設けており、その外側で注文が板に載ることも約定することもできません。これは成行注文にも適用されます。自分の許容度で、マーケットが誰にも許していない範囲まで約定を押し出すことはできません。 これは、自分ではなくマーケットを守るための上限です。これがなければ、空っぽの板に大きな成行注文を入れたときに成立した価格が、そのまま他のシステムへ流れ込んでいきます。 バンドはマーク価格とインデックス価格の両方に対して評価されます。バンドが設定されているマーケットで、そのブロックのインデックス価格が得られない場合は、フォールバックではなく拒否になります。設定された保護が黙って失効することは許されていません。 バンドの幅はマーケットごとの設定で、price_limit_ppmが保持し、price_limit_x_ppmとprice_limit_y_ppmが二区間の細分を与えます。このページからではなく契約仕様から読み取ってください。

計算例

次の板に対して、ETHを4,000 USDC分だけ成行で買う注文を出したとします。 エンジンは板を下へたどり、予算が尽きるまで使っていきます。
  • 価格帯1で1,000を使い、残りは3,000になります。
  • 価格帯2で1,503を使い、残りは1,497になります。
  • 価格帯3には2,008分の厚みがありますが、残りは1,497しかないため、一部約定になります。1,497 ÷ 50,200 = 0.0298207 ETHです。
手元に残るのは0.0798207 ETH、平均価格は50,112.30です。板の先頭にあった50,000ではありません。この差がスリッページであり、手数料ではなく、この厚みに対する自分の数量が決めるものです。 エンジンが導く上限は、たどり着いた最も深い価格帯の価格です。これが、成行注文をその価格の指値注文に変えます。

その数量が届く最悪の価格

送信前に、注文数量が食い潰す深さまで板をたどります。そこで到達した最も深い価格帯の価格が上限になります。 これが最も分かりにくい上限であり、他の二つが取りこぼすケースを埋めます。許容度は最良気配からの距離で測られますが、その近辺で約定させるだけの厚みが板にあるかどうかについては何も言いません。実際の数量まで板をたどることで、最良気配からどれだけ離れるかという問いが、この注文が実際にどこへ着地するかという問いに変わります。

実務上の意味

注文が全量約定しないことがあります。上限の内側で板の流動性が尽きた場合、残りはより不利な価格で約定するのではなく取り消されます。成行注文の一部約定は、失敗ではなく保護が働いた結果です。 許容度を狭めるほど、約定しない注文は増えます。値動きの激しいマーケットで0.01%に設定すれば、一部約定か、まったく約定しないという結果が頻繁に返ってきます。既定の10%が緩いのは、数bpsのスリッページより約定しないことのほうが悪い場合が多いからです。ただしこれは確かに緩く、薄いマーケットでの10%は実額として無視できません。 許容度よりも数量のほうが効きます。三つ目の上限は数量から導かれるため、許容度をどれだけ緩くしても、大きな注文は板の実際の厚みで縛られます。大きな注文を分割することが、影響を減らす確実な方法です。TWAPとスケール注文を参照してください。
この変換は送信時に、その時点の板を使って行われます。送信から執行までのあいだに板は動き得ます。上限が守ってくれるのは、そもそも存在しなかった厚みを食い上げてしまう事態からであって、マーケットを凍結してくれるわけではありません。

送信前の確認

上限は公開データから計算できるため、クライアントは発注を確定する前に、想定約定価格と最悪ケースを表示できます。板に見えている厚みに対して大きい注文であれば、これを確認する価値があります。最良気配と到達しうる最悪の価格との差は、まさに成行注文が隠している数値だからです。
スリッページ保護が縛るのは価格であって、結果ではありません。急変動では、余裕をもって約定していたはずの注文が一部約定か空振りで返ってきて、最も欲しかった瞬間に狙ったポジションを持てないままになることがあります。保護が目的であれば、許容度を広く取った成行注文よりも、明示的なトリガーを持つ条件付き注文のほうが適しています。

次に読む

注文タイプ

指値注文、有効期間、未約定の残数量の扱いです。

板

板の厚みの読み方と、最良気配が約定価格ではない理由です。

TWAP

大きな注文を時間で分割し、マーケットへの影響を減らします。

マーケット

マーケットごとの価格バンドとティックサイズを掲載しています。