【12/31〆】Bybit登録&$100入金で6000円が貰える!詳細はこちら!

分散型取引所のプライスインパクト・スリッページとは?仕組みと対策

この記事から分かること

  • プライスインパクトとは
  • Price impact too highの対策
  • スリッページとは
  • スリッページの対策
この記事を書いた人

「Price impact(プライスインパクト)」とは、分散型取引所においてあなた自身の取引が市場価格にどのくらいの影響を与えるかを示す指標のことで、このパーセンテージ分だけ不利な価格で取引する必要があります。

流動性が少ない状況で大量のスワップを行うと発生します。

プライスインパクト(Price impact)とは

「Slippage(スリッページ)」とは、分散型取引所であなたが注文してから実際に取引が処理されるまでに発生する、市場全体による価格変化のことを指します。

膨大な取引が発生する中であなたの取引がどのような順番で処理されるかは「ブロックチェーン」の仕組みや「バリデーター(シーケンサー)」が決めます。

従って、あなたが注文を行った時点から実際に取引が処理されるまで、必ず多くの取引が前に割り込むことになるため、市場全体の価格変化の影響を受けてしまいます。

分散型取引所のスリッページとは?

これは多くの分散型取引所で採用されている共通の仕組みです。

本記事を読むことで分散型取引所のプライスインパクトとスリッページが発生する原因・仕組みと押さえておくべき注意点が分かります。

この記事は以下の公式文献を参考に作成しています。

本記事でご紹介している内容では、多くの分散型取引所が採用するUniswapV2の「Price Impact」と「Slippage」の概要・仕組みです。

分散型取引所の関連記事はこちら
分散型取引所とはインパーマネントロスとは
プライスインパクトとはスリッページとは
流動性マイニングとはイールドファーミングとは
パンケーキスワップとはユニスワップとは
目次

プライスインパクト(Price Impact)とは

プライスインパクトが大きく発生すると「価格影響が大きすぎます」や「Price impact too high」が表示され、仮想通貨のスワップが行えなくなります。

「Price impact too high」とは、分散型取引所の流動性プール内の仮想通貨の枚数に対してあなたの取引量が大きいため、価格が大きく変わってしまい取引すべきではない状態になっていることを指します。

コインチェックやバイナンスといった中央集権取引所(CEX)で例えると、出されている売り注文が少ないにも関わらず、あなたが大量に買い注文を出したため、価格が大きく上がるイメージです。

プライスインパクトが発生する仕組み

分散型取引所は、スワップが画面で表示されている価格で必ずしも取引できるとは限りません。

さとう

その1つの要因がPrice Impact(プライスインパクト、価格影響)です。何故Price Impactが発生するのか解説していきます。

分散型取引所の仮想通貨の価格は、板取引のように人間が出した注文価格では決まりません。

流動性プールの中の仮想通貨枚数の単純な割り算で機械的に価格は決まります。(これをAMM, Automated Market Makersと呼びます)

それぞれの流動性プール毎に仮想通貨の価格は決まっています。

liquidty-pool-price

あなたの取引によって流動性プール内の仮想通貨の枚数が変わることで、流動性プールの価格も変わります。

流動性プール内のそれぞれの仮想通貨の枚数をX,Yとすると、あなたのスワップによってXとYは次の式に従って変化するようにプログラムされています。

\(XY=k\)

※最も一般的なUniswap V2タイプの場合の式

kの値は流動性プールに提供されている仮想通貨の枚数の掛け算で、新しく流動性プールに追加で仮想通貨が提供されたり、削除されたりするまで変わりません。(スワップでは変わらない)

XとYの掛け算であるkで流動性プール内の仮想通貨の枚数の変化の仕方が決まるので、Constant Product AMMと呼ばれることがあります。(直訳:定積AMM)

さとう

具体的な例を挙げてイメージしてみます。

分散型取引所に次のような流動性プールがありました。

  • USDT=40,000枚(USDTの流動性枚数をX)
  • BTC=2枚(BTCの流動性枚数をY)
  • AMM:XY=80,000

ビットコインの価格は1枚20,000USDTになります。(40,000÷2)

kである80,000の値はずっと変わりません。(実際には流動性が追加で提供されたり解除されたりすると変わりますが、今回の例では追加で提供しないので変わりません。)

あなたはこの流動性プールで、10,000USDTを使ってビットコインを購入しました。

ぱんだ

今ビットコインは1枚20,000USDTだから、10,000USDTを使って半分の0.5BTC分はこのスワップで買いたいよね。

この時、スワップによって流動性プール内の仮想通貨の枚数はXY=kに従って変わります。

  • まず変化後のXをAMMの式に入れる:(40,000+10,000)Y=80,000
  • Yを計算する:Y=80,000÷50,000=1.6

あなたが10,000USDTを流動性プールに入れてスワップしようとすることでXは50,000になり、それに対応するようにYが定まります。

Y=1.6となり、スワップ前に流動性プールの中にあったBTC2枚との差分0.4枚があなた受け取れるビットコインです。

さとう

現在価格だと0.5枚受け取れる計算でしたが、0.1枚減った0.4枚となっており、この減った0.1枚分がPrice Impactの影響です。

プライスインパクト・Price impactの仕組み

このように、スワップによって流動性プールの中の仮想通貨の枚数はXY=kに従って変わり、あなたが受け取れる仮想通貨の枚数は流動性プールの変化の差分になります。

今回はプライスインパクトが発生しやすいように流動性プールの中の枚数を少なくしましたが、実際には流動性プールの中には膨大な枚数の仮想通貨が提供されているため、ここまで激しく起きません。

特に今回例に挙げたビットコインとステーブルコインといったスワップで利用されやすい流動性プールでは、提供した側に発生する報酬の総量も多くなるので、自然と多くの流動性が集まります。

PancakeswapのBTCBとBUSDのプール
さとう

今度は上の画像に挙げたような流動性の総量が大きい流動性プールをイメージしてみましょう。

  • USDT=20,000,000枚(USDTの流動性枚数をX)
  • BTC=1000枚(BTCの流動性枚数をY)
  • AMM:XY=20,000,000,000

ビットコインの価格は同じように1枚20,000USDTになります。(20,000,000÷1000)

kである20,000,000,000値はずっと変わりません。

あなたはこの流動性プールで10,000USDTを使ってビットコインを購入しました。

ぱんだ

今ビットコインは1枚20,000USDTだから、Price Impact抜きで考えると、半分の0.5枚分はこのスワップで買える計算になるね。

この時、流動性プール内のそれぞれの仮想通貨の枚数はXY=kに従って次のように変わります。

  • 変化後のXを式に入れる:(20.000,000+10,000)Y=20,000,000,000
  • Yを計算する:Y=20,000,000,000÷20,010,000=999.5002…

Yの値はほぼ999.5になり、スワップ前に流動性プール内にあったBTC1000枚との差分0.5枚があなたが受け取れるビットコインです。

ぱんだ

今度はほとんどPrice Impactが起きてないね。

Price Impactが発生しなかった理由は、あなたの10,000USDTのスワップが流動性プールに対して十分小さく、価格への影響(Price Impact)をほとんど及ぼさないからです。

このように、XYを掛けたkの大きさ(流動性プールの大きさ)によって、プール内の仮想通貨のスワップ効率に違いが出ることが分かります。

流動性プールの大きさとPrice Impactの関係
  • XY=kが小さい(プールが少ない):Price Impactが起きやすい
  • XY=kが大きい(プールが大きい):Price Impactが起きにくい
さとう

下のグラフを見るとイメージがしやすいです。XY=80000とXY=2000000の比較です。

プライスインパクト・Price impactの仕組み

このようにXY=kの値が大きいとき、Price Impactが起きにくいという結論を数学的に考えてみます。

先程と同じように以下の流動性プールをイメージします

  • USDT=20,000,000枚(USDTの流動性枚数をX)
  • BTC=1000枚(BTCの流動性枚数をY)
  • AMM:XY=20,000,000,000

この時。10000USDTをBTCにスワップしようとしても、下のように変化はほとんどグラフ上では表現されません。

10000USDTという取引量が流動性プール全体に対して小さすぎるからです。

プライスインパクト・Price impactが発生する仕組み

拡大すると下のグラフのようにほぼ直線になっており(右に10000動かすと下に0.5動く直線)、0.5BTC分をスワップで受け取れることが分かります。(Price Impactはほぼなし)

プライスインパクト・Price impactが発生する仕組み

このように、流動性プールが十分大きい場合、少量のスワップを行ってもXとYの動きはグラフ上では小さくなることが分かります。

そして、取引量が流動性プールに対して十分に小さい場合、スワップによる流動性プール内の仮想通貨の枚数の変化の仕方は、現在の流動性プールを表す点の接線の傾きと同じになります。

XY=kのグラフの接線の傾きは、以下のようにXY=kを微分することで求められます。

\(XY=k\)

\(Y=k/X\)

\(Y=kX^{-1}\)

\(Y’=-kX^{-2}\)

\(Y’=-k/X^2\)

さとう

今回の例では、傾きが-1/20000になります。

傾きの動き方は、現在の流動性プールの価格と同じです。

つまり、流動性プールに対して取引量が小さいとき、ほぼ現在価格通りに取引ができることを意味しています(Price Impactが発生しない)。

ぱんだ

だから表示価格のまま取引ができたんだね。

プライスインパクト・Price impactが発生する仕組み

ちなみに、このAMMの計算過程で「価格」の考え方は実は一切出てきませんでした。

使った考え方は流動性プールの枚数とXY=kだけです。

しかし、XY=kを使うだけで需要が増えると価格が上がって取引しづらくなり、供給が増えると価格が下がって取引しやすくなる「需要と供給の法則」を表せています。

流動性プール(供給)に対して取引量(需要)が大きいとプライスインパクトが発生するからです。

プライスインパクトが大きく、スワップした時に大きく損をしてしまう時「Price impact too high」と表示されてスワップが制限されます。

プライスインパクトが大きすぎるとスワップできなくなる

流動性プールが枯渇しないようにし、利用者が大きく損することを事前に防ぐ目的です。

【補足】ステーブルコイン同士のスワップは例外

本記事で紹介したXY=kですが、ステーブルコイン同士のスワップでは例外的なルールを設けている分散型取引所がほとんどです。(USDTとUSDT、USDTとBUSDなど)

ステーブルコイン同士は価値が等しいため、XY=kに従ってプライスインパクトが発生して価格が変化すると実態と乖離してしまうからです。

そこで多くの分散型取引所では特別に「StableSwap AMM」を採用しています。

StableSwap AMMでは著しく流動性プール内の枚数に変化が起きない限り、プライスインパクトほぼゼロで同じ枚数同士でスワップされるAMMです。

さとう

下の記事で仕組みと概要を詳しく解説しています。

次にプライスインパクトの対策について、次の2つのケースに分けて解説します。

要注意ケース①:流動性プールが少ない

流動性プールの中の仮想通貨が少ない場合、Price Impactが発生しやすくなります。

特に上場したばかりの「ミームコイン」のようなマイナーな仮想通貨は流動性プールの中身が少ないです。

さとう

プライスインパクトを抑える方法は、次の3つです。

  • 流動性が多い他の分散型取引所を見つける
  • 他の流動性プールと組み合わせてスワップ
  • 中央集権取引所で探す

利用している分散型取引所の流動性が偶然少ない可能性があるため、まずは他の分散型取引所の流動性プールも確認しましょう。

多い方を利用したり、組み合わせたりしてスワップすることでプライスインパクトを抑えられます。

例えば、「Dexscreener」と呼ばれるツールを利用すると全分散型取引所の流動性を一覧で表示し、どこの取引所の流動性が一番多いか確認できます。

Liquidity=流動性の総額

プライスインパクトが発生しない流動性プールがない場合は、中央集権取引所で取り扱いがないか探しましょう。

要注意ケース②:あなたの取引量が大きい

取引量が多い場合もプライスインパクトが発生しやすくなります。

さとう

プライスインパクトを抑える方法はこちらも同様です。

  • 流動性が多い他の分散型取引所を見つける
  • 他の流動性プールと組み合わせてスワップ
  • 板が厚い中央集権取引所を探す

特に流動性プールに対して膨大な量のスワップをする場合、可能な限り流動性プールを分散させるのがポイントです。

一か所でスワップすると損をする可能性が高いです。

スリッページ(Slippage)とは

「スリッページ(Slippage)」とは、取引が成立するまでに発生する市場全体による価格変化です。

プライスインパクトがあなた自身が引き起こす価格変化であることに対し、スリッページはあなた以外の取引によって発生します。

スワップが実行されるまで価格は動く

あなたが注文を出してから実際にスワップ取引が実行されるまでには、時間があります。

サーバーを経由する時間やブロックチェーンで実際に処理されるまでの時間です。

膨大な取引が発生する中であなたの取引がどのような順番で処理されるかは「ブロックチェーン」の仕組みや「バリデーター(シーケンサー)」が決めます。

したがって、あなたが注文を行った時点から実際に取引が処理されるまで、必ずいくつかの取引が割り込みます。

他の人の取引により価格が変化した場合、変化後の価格であなたの取引は処理されることになり、これによる価格変化のことを「Slippage(スリッページ)」と呼びます。

スリッページは許容するパーセンテージを事前に設定することができ、許容パーセンテージを超えるスリッページが発生した場合、取引が自動でキャンセルされる仕組みになっています。

さとう

許容し過ぎると不利な価格で取引することになり、許容しなさ過ぎると取引が失敗してガス代が無駄になります。

オススメの許容スリッページ設定とは

結論、次の2パターンで分けて許容スリッページを設定してキャンセルされた場合に都度調整するのがオススメです。

  • BTC&USDT等の価格が安定しているプール:0.5%前後
  • マイナーな仮想通貨で流動性が少ないプール:5%前後

スリッページは流動性プールが少なく、取引量が多い場合に発生しやすいです。

ミームコイン」や「ブロックチェーンゲーム」関係のプロジェクト等は、特に最初は流動性プールが運営や投資家から十分に用意されていないケースがあります。

この状態で仮想通貨の売り買いが流動性プールで大量に発生すると、スリッページが発生しやすくなります。

さとう

スリッページが発生しやすい通貨のスワップでは、まず5%ぐらいで様子を見るのがオススメです。

スワップがキャンセルされたら焦らずに設定した許容スリッページを見直すようにしましょう。

スリッページ(Slippage)の設定方法
パンケーキスワップの場合のスリッページ設定方法

スリッページ設定のメリット/デメリット

許容スリッページ設定のメリット・デメリットは次の通りです。

許容スリッページを高く設定する
  • 取引が成功しやすい
  • ガス代の無駄払いが減る
  • 不利な価格でスワップされる可能性がある

高くし過ぎると不利な価格でスワップが成立してしまう可能性があるため、マイナーな仮想通貨のスワップでなければ初期設定のままにしておきましょう。

許容スリッページを低く設定する
  • 取引が失敗しやすい
  • ガス代の無駄に発生する
  • 適正なスワップ価格で取引しやすい

低くすると適正価格でスワップしやすくなりますが、取引が失敗しやすくガス代が無駄になる可能性があるため、初期設定以上に下げることはおすすめしません。

Price ImpactとSlippageの違い

Price ImpactとSlippageの違いは、分散型取引所Uniswapの公式記事でも取り上げられています。

Price Impact and Price Slippage are two common terms used to describe the outcome of a change in price when swapping cryptocurrency.

It is important to note that these terms do not mean the same thing.

Price impact is the change in token price caused by your own trade, while price slippage is the change in token price caused by the total movement of the market.

UNISWAP HELP CENTER「Price Impact vs Price Slippage」

Price ImpactとSlippageは同じ意味を持つ訳ではなく、Price Impactはあなた自身の取引によって引き起こされるトークン価格の変化を指し、Slippageは市場全体の現在の動きによって引き起こされるトークン価格の変化である旨が書かれています。

Slippageがあなた自身の取引を含む市場全体の取引による価格変化の影響を指す一方、Price Impactはあなたのみの取引による価格変化を指す点がポイントです。

この記事は以下のUniswapの公式文献を参考に作成しました。

  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次