Cointime

Download App
iOS & Android

Uniswap v3 Math Insights: デジタル資産の価格動向

Validated Project

作者: ck.eth

編集者: リリア

双曲分布 [1] は、もともと砂嵐の変動 [2] (砂漠における砂のダイナミクス) をシミュレートするために開発されましたが、そのパラメーターの柔軟性により金融資産収益のモデル化に応用できます [3]。

左: 対数縦座標プロットで統計分布を見ると、その形状をよりよく理解できます。双曲線分布は双曲線に似た形状を示しますが、破線のガウス分布は e^-x²/2 項の存在により放物線として見ることができます。右: 対数対数プロットで分布の裾を確認すると、分布の特性をよりよく理解できます。べき乗則分布は、対数対対数プロットで減衰傾向を示しません。分布を組み合わせ、重みパラメータを使用することで、異なる分布をブレンドできます。

デジタル資産の価格動向

流動性プロバイダー (LP) にとって、資産の価格動向を理解することは非常に役立ちます。最も古いデジタル資産であるビットコイン (BTC) の履歴データを、2015 年以降の 3,091 日の収益を使用した対数縦軸プロットの形式で見ると、いくつかの異常値を除いて、一般化された双曲線分布が歴史的に適合していることがわかります。毎日がよく戻ります。

当てはめの異常はたまたま右端と左端の外れ値であり、両対数プロットで観察できます。この図では、マイナスのリターンの裾野が赤で表され、プラスの外れ値リターンが青で表されていることがわかります。

尾部は似ていますが、右側の外れ値には多少の不一致があります。ヒストグラムを平滑化するために、カーネル密度推定 (KDE) メソッドを使用しました。

2015 年 1 月 1 日以来、ビットコイン (BTC) の毎日のリターンの左右の裾、特に右の裾は非対称を示しています。

これは、一般化双曲線と非対称べき乗則を組み合わせることで、ビットコイン価格のダイナミクスを説明できることを意味します。例としてビットコインを選んだことに注意することが重要です。これは、ビットコインがすべてのデジタル資産の中で最も古い時系列であり、最も変動性が低いためです。これは、他のデジタル資産の流動性プロバイダー (LP) がより変動的な動作をすることを意味します。

価格の動的モデリング

この波の挙動をシミュレートするために混合できる統計分布は数十あります。たとえば、従来の金融における一般的なアプローチは、幾何学的なブラウン運動 (対数正規分布) を使用し、それをローイ過程 (ポアソン分布) と組み合わせて価格の高騰を考慮することです。

Erik Bardoux と Antonis Papapantoleon がレベレ プロセスに関する講義で視覚化したシミュレーション パス。

ユーザーがこれらの分布を探索し、リーマン積分を介して Uniswap 上でこれらの分布の LP 位置を複製する方法を支援するために、Desmos 上に 50 を超える統計分布のライブラリを作成しました。

統計分布ライブラリの Desmos リンク: https://www.desmos.com/calculator/4ey6hbevzf

統計分布ライブラリの Desmos リンク: https://www.desmos.com/calculator/4ey6hbevzf

Desmos の興味深い機能は、両対数プロットに切り替える機能で、各統計分布の裾の特性がどのように変化するかを確認できます。

データにどの分布が最適であるかを比較したい場合は、コルモゴロフ・スミルノフ検定を使用して、累積分布関数を経験的な累積ヒストグラム データと比較できます。ただし、考えられる最悪の分布を仮定するだけの以下の簡単なアプローチも使用できます。

未来について何も分からなかったらどうしますか?そうですね、価格空間で考えられる最悪の分布がどのようなものであるかを考えることができます。これは無限に伸びる裾を持つべき乗則です。そのような分布の 1 つはコーシー分布です (価格空間では、対数コーシー分布と同等です)。

コーシー分布は大数の法則には従わず、独自の意志を持っています。コーシー分布の特徴については、リンク https://en.wikipedia.org/wiki/Cauchy_distribution#/media/File:Mean_estimator_consistency.gif を参照してください。

コーシー分布の特性の 1 つは、大数の法則に従わないことです。過去 30 日間の平均を計算し、パターンがあると考えるかもしれませんが、実際には騙されている可能性があります。興味深い例は DOGE/ETH 取引ペアの平均ですが、流動性の欠如によりこのような動作を示す可能性があります。

ドージコインとイーサリアムは 7 年以上前から存在していますが、取引ペアのホッピング プロセスには独自の特徴があり、統計的近似手法を適用することが困難です。

ドージコインとイーサリアムは 7 年以上前から存在していますが、取引ペアのホッピング プロセスには独自の特徴があり、統計的近似手法を適用することが困難です。

右側の loglog ヒストグラムでは外れ値が増加しています。 loglog プロットで外れ値が大きくなる分布が対数コーシー分布であることを学びました。

価格空間の対数正規分布と比較してコーシー分布がどのように見えるかを確認できます。

左: 対数正規分布の対数対数グラフは放物線であり、コーシーべき乗則の線形テールが赤で表され、黒の破線が対数コーシー分布を表しています。右: 同じ分布を価格空間で表現したもので、[ 0、巨大)。

log-Cauchy 分布は、Uniswap v2 ポジションの全範囲ほど悪くはありませんが、2 番目に悪いケースです。パート12で資本効率の最適化について学んだことに基づいて、下限を 80 ~ 90% 付近に設定すると、価格が下限に近づくと分布が拡大し始めるため、資本効率を向上させるのに役立ちます。ゼロになるまで流動性を提供します。

現在の価格 1 から始めて、80 ~ 90% の下限を設定して範囲を制限する開始点として使用できますが、そのようなダイナミクスに基づいて資産を投資/売買することはお勧めしません。これは財務上のアドバイスではありません。ベストプラクティスは、資産についてさらに詳しく知ることです。

複雑な系におけるべき乗則分布について

しかし、コーシー分布のようなべき乗則分布は時間の経過とともに裾が短くなりますか?暗号通貨のような進化する複雑なシステムでは、べき乗則現象 (付録を参照) を完全に排除することは困難ですが、不確実性の程度を軽減することは可能です。

考えてみると、すべての資産は初期段階で不確実性の瞬間を経験します。実際、自動マーケットメーカー (AMM) の開発により、従来の金融市場では予測できなかった興味深いつながりが発見されました。人々は平方根の法則を使用して、価格効果を統計的に推定します。 AMM を使用すると、単に集中した流動性の関数として価格がどのような影響を受けるかを正確に予測でき、特定の瞬間における価格への影響を定義するために出来高やボラティリティを考慮する必要はありません。議論を極端にして、ジェローム・パウエルがメタマスクをダウンロードし、DOGE/ETHで流動性を確保し、数兆ドルの流動性を提供することを決定したとします。 DOGE を売ろうとする各人が価格に与えるマイナスの影響はほとんど無視できます。リターン分布からわかるように、ボラティリティは時間の経過とともに減少し、徐々にコーシー分布のようではなくなります。

したがって、AMMに長期間にわたり過剰流動性を提供する勇気のある十分な資金を備えた流動性プロバイダーがいれば、資産のボラティリティが低下する可能性があります。とはいえ、勇気を高めるためにデジタル通貨プリンターを手元に用意できる人はほとんどいないでしょう。

デジタル通貨プリンターが存在しない場合、暗号通貨業界がこの問題を克服する方法の 1 つは、流動性プロバイダーに継続的な購入保証を提供できる資産をブロックチェーン上に導入することです。これらの資産には、高配当株(退職者向けの年金基金が購入)、債券(銀行や企業が短期資金調達のために購入)、外国為替(単一の世界的集中法定通貨を実現するのは困難であるため、中国元、米ドル、ユーロなどの通貨ペアは引き続き使用されます)、およびコモディティ(食品と暖房は常に需要があります)。流動性プロバイダーとしては、マクドナルド/コーンのような取引ペアに流動性を提供する際に、常に一定の需要があることがわかっているため、流動性を怖がらせることがないため、より安心できます。たとえ逸脱損失があったとしても、流動性プロバイダーとしては、あなたはたくさんのハッピーミールメーカーやたくさんのトウモロコシの所有者になるので安心できます。

付録

べき乗則と、この現象が仮想通貨と従来の金融に存在し続ける理由について:

最近の良い例は、共同進化する DeFi システム (2023 年 1 月 8 日) です。このシステムでは、Curve が Vyper 経由で攻撃され、Aave などの他のプロトコルに影響を及ぼし、さらに他のユーザーの出金に関する決定に影響を与えました。ゼロデイ脆弱性の存在により、システムは継続的に進化して不均衡になり、テール イベントが発生します。

これは、インターネットから履歴データを取得するコードです。

数学をインポート

numpyをnpとしてインポート

import yfinance as yf #必ず「pip install yfinance」を実行してください

パンダをPDとしてインポートする

matplotlib.pyplotをpltとしてインポート

matplotlib.animation をアニメーションとしてインポート

#BTC/EURをデフォルトとしてダウンロード

matplotlib.animation をアニメーションとしてインポート

#BTC/EURをデフォルトとしてダウンロード

ticker1="BTC-USD" #^GSPC、^IXIC、CL=F、^OVX、GC=F、BTC-USD、JPY=X、EURUSD=X、^TNX、TLT、SHY、^VIX、LLY、XOM

ティッカー2="EURUSD=X"

t_0="2017-07-07"

t_f="2023-07-07"

data1=yf.download(ticker1, start=t_0, end=t_f)

data2=yf.download(ticker2, start=t_0, end=t_f)

データ3=データ1

dat=data1['閉じる']

dat = pd.to_numeric(dat, エラー='強制')

dat=dat.dropna()

dat_ret=dat.pct_change(1)

x = np.array(dat.values)

dat_recurrence=dat/max(dat)

xr = np.array(dat_recurrence.values)

fig, (ax1, ax2) = plt.subplots(nrows=1, ncols=2, figsize=(6.5,3))

# 最初のサブプロットでロジスティックマップをプロットします

ax1.plot(range(len(x)), x, '#056398', linewidth=.5)

ax1.set_xlabel('時間')

ax1.set_ylabel(str(ticker1)+'/'+str(ticker2)+'価格比率')

ax1.set_title(str(ticker1)+'/'+str(ticker2)+' '+ str(t_0) 以降の変動)

ax1.set_yscale('ログ')

n_end=len(x)

# 2 番目のサブプロットでロジスティック マップの漸化プロットを作成します

R = np.zeros((n_end, n_end))

範囲 (n_end) 内の i の場合:

range(i, n_end) の j の場合:

abs(xr[i] - xr[j]) < 0.01 の場合:

R[i, j] = 1

R[j, i] = 1

ax2.imshow(R, cmap='viridis', Origin=' lower', vmin=0, vmax=1)

ax2.set_xlabel('タイムステップ')

ax2.set_ylabel('タイムステップ')

ax2.set_xlabel('タイムステップ')

ax2.set_ylabel('タイムステップ')

ax2.set_title(' の反復プロット +str(ticker1)+'/'+str(ticker2))

シリーズ = pd.Series(dat_ret).fillna(0)

図、ax = plt.subplots()

密度 = stats.gaussian_kde(系列)

series.hist(ax=ax, bins=400,edgecolor='black',color='#25a0e8', linewidth=.2,figsize=(6.5,2),histt​​ype=u'step',density=True)

ax.set_xlabel('ログの戻り値')

ax.set_ylabel('ログ頻度')

ax.set_title('戻り値のログログヒストグラム ' +str(ticker1)+'/'+str(ticker2))

ax.set_yscale('ログ')

ax.set_xscale('ログ')

ax.grid(なし)

plt.scatter(系列, 密度(系列), c='#25a0d8', s=6)

図、ax2 = plt.subplots()

series.hist(ax=ax2, bins=400,edgecolor='black',color='#25a0e8', linewidth=.2,figsize=(6.5,2),histt​​ype=u'step',density=True)

ax2.set_xlabel('返されるログ')

ax2.set_ylabel('ログ頻度')

ax2.set_title('収益の Log-y ヒストグラム ' +str(ticker1)+'/'+str(ticker2))

ax2.set_yscale('ログ')

ax2.grid(なし)

plt.scatter(系列, 密度(系列), c='#25a0d8', s=6)

plt.show()

二重曲線分布と混合モデル

numpyをnpとしてインポート

matplotlibからpyplotをpltとしてインポートします

scipyインポート統計より

p、a、b、loc、スケール = 1、1、0、0、1

範囲=15

x = np.linspace(-rnge, rnge, 1000)

#尾部の混合モデル

範囲=15

x = np.linspace(-rnge, rnge, 1000)

#尾部の混合モデル

w=.999

dist1=stats.genhyperbolic.pdf(x, p, a, b, loc, スケール)

dist2=stats.cauchy.pdf(x, loc, スケール)

混合物=np.nansum((w*dist1,(1-w)*dist2),0)

plt.figure(figsize=(16,8))

plt.subplot(1, 2, 1)

plt.title("一般化双曲線分布ログ-Y")

plt.plot(x, stats.genhyperbolic.pdf(x, p, a, b, loc,scale), label = 'GH(p=1, a=1, b=0, loc=0,scale=1) '、色='黒')

plt.plot(x, stats.genhyperbolic.pdf(x, p, a, b, loc, スケール),

カラー = '赤'、アルファ = .5、ラベル = 'GH(p=1, 0

[plt.plot(x, stats.genhyperbolic.pdf(x, p, a, b, loc,scale),

color = 'red'、alpha = 0.2)、np.linspace(1, 2, 10) の場合]

plt.plot(x, stats.genhyperbolic.pdf(x, p,a,b,loc, スケール),

カラー = '青'、アルファ = 0.2、ラベル = 'GH(p=1、a=1、-1

plt.plot(x, stats.genhyperbolic.pdf(x, p,a,b,loc, スケール),

カラー = '緑'、アルファ = 0.2、ラベル = 'GH(p=1、a=1、0

[plt.plot(x, stats.genhyperbolic.pdf(x, p, a, b, loc,scale),

color = 'blue'、alpha = .2) for b in np.linspace(-10, 0, 100)]

[plt.plot(x, stats.genhyperbolic.pdf(x, p, a, b, loc,scale),

color = 'green'、alpha = .2) for b in np.linspace(0, 10, 100)]

plt.plot(x, stats.norm.pdf(x, loc,scale), label = 'N(loc=0,scale=1)', color='purple', ダッシュ=[3])

plt.plot(x, stats.laplace.pdf(x, loc,scale), label = 'Laplace(loc=0,scale=1)', color='black',dashes=[1])

plt.plot(x, 混合, ラベル = 'コーシー(loc=0, スケール=1)', カラー='青',ダッシュ=[1])

plt.xlabel('返品')

plt.ylabel('ログ密度')

plt.ylim(1e-10, 1e0)

plt.yscale('ログ')

x = np.linspace(0, 10000, 10000)

dist1=stats.genhyperbolic.pdf(x, p, a, b, loc, スケール)

dist2=stats.cauchy.pdf(x, loc, スケール)

混合物=np.nansum((w*dist1,(1-w)*dist2),0)

plt.subplot(1, 2, 2)

plt.title("一般化双曲線分布テール Log-Y Log-X")

plt.plot(x, stats.genhyperbolic.pdf(x, p, a, b, loc,scale), label = 'GH(p=1, a=1, b=0, loc=0,scale=1) '、色='黒')

plt.plot(x, stats.genhyperbolic.pdf(x, p, a, b, loc, スケール),

カラー = '赤'、アルファ = .5、ラベル = 'GH(p=1, 0

[plt.plot(x, stats.genhyperbolic.pdf(x, p, a, b, loc,scale),

color = 'red'、alpha = 0.2)、np.linspace(1, 2, 10) の場合]

plt.plot(x, stats.genhyperbolic.pdf(x, p,a,b,loc, スケール),

カラー = '青'、アルファ = 0.2、ラベル = 'GH(p=1、a=1、-1

plt.plot(x, stats.genhyperbolic.pdf(x, p,a,b,loc, スケール),

カラー = '緑'、アルファ = 0.2、ラベル = 'GH(p=1、a=1、0

[plt.plot(x, stats.genhyperbolic.pdf(x, p, a, b, loc,scale),

color = 'blue'、alpha = .2) for b in np.linspace(-10, 0, 100)]

[plt.plot(x, stats.genhyperbolic.pdf(x, p, a, b, loc,scale),

color = 'green'、alpha = .2) for b in np.linspace(0, 10, 100)]

plt.plot(x, stats.norm.pdf(x, loc,scale), label = 'ガウス', color='purple', ダッシュ=[3])

plt.plot(x, stats.laplace.pdf(x, loc,scale), label = 'Laplace(loc=0,scale=1)', color='black',dashes=[1])

plt.plot(x, stats.cauchy.pdf(x, loc,scale), label = 'Cauchy(loc=0,scale=1)', color='blue',dashes=[1])

#ヘビーテールミックスモデル

plt.plot(x, 混合物, label = 'GH+Cauchy Mix(loc=0,scale=1)', color='red',dashes=[1])

plt.xlabel('ログの戻り値')

plt.ylabel('ログ密度')

plt.ylim(1e-10, 1e0)

plt.xlim(1e-0,1e4)

plt.xscale('ログ')

plt.yscale('ログ')

plt.legend(loc="右上")

plt.subplots_adjust(right=1)

コメント

全てのコメント

Recommended for you

  • Binance Alpha がプロジェクトの最初のバッチを発表: KOMA、Cheems、APX、ai16z、AIXBT

    公式ニュースによると、Binance Alphaはプロジェクトの最初のバッチ、つまりKOMA、Cheems、APX、ai16z、AIXBTを発表しました。

  • Binance Alpha がプロジェクトの最初のバッチを発表: KOMA、Cheems、APX、ai16z、AIXBT

    公式ニュースによると、Binance Alphaはプロジェクトの最初のバッチ、つまりKOMA、Cheems、APX、ai16z、AIXBTを発表しました。

  • Kinto:公式を装ったフィッシングメールにご注意ください

    Kintoは、最近ユーザーがKintoを装ったフィッシングメールを受信して​​いることをXプラットフォーム上で通知した。 Kinto は、これらのメールが Kinto から送信されたものではなく、メールに含まれるリンクをクリックすべきではないことを確認します。さらに、Kinto は、ユーザーのメールボックスは漏洩しておらず、電子メールを受信したメールボックスの一部は Kinto アカウントに関連付けられていなかったと述べました。

  • 香港金融サービス長官兼財務省のホイ・チンユー氏がステーブルコイン法案の第2読会を進めた

    香港政府のプレスリリースによると、香港金融サービス兼財務長官のホイ・チンユー氏は本日の立法会会議で「安定通貨法案」の第二読会を行い、早期可決を望んでいるという。できるだけ。規制制度の要点は以下の 3 点である。 (1) ライセンシーは、ステーブルコインの準備資産が高品質かつ流動性の高い資産で構成され、総額が少なくとも常に流通している法定通貨と等しい ステーブルコインの額面は、適切に分離され、保管; (2) 安定通貨保有者は発行者から額面で償還する権利を有するべきであり、償還要求は不当な手数料なしで合理的な期間内に処理されなければなりません。 (3) マネーロンダリングの必要性と戦うための一連の措置。規定されるべき、リスク管理、開示規制および監査、および適切な候補者の要件。

  • AI エージェントのスタートアップ /dev/agents は、Index Ventures と CapitalG が主導し、評価額 5 億ドルで 5,600 万ドルのシードラウンドを完了

    12月18日のニュースによると、Stripeの元CTOであるDavid Singleton氏が設立したAIエージェントオペレーティングシステムプラットフォーム/dev/agentsが、評価額5億米ドルで5,600万米ドルのシードラウンドを完了した。このラウンドは Index Ventures と CapitalG が主導し、Conviction Capital も参加しました。このラウンドには、OpenAI 共同創設者の Andrej Karpathy 氏、Scale AI CEO の Alexandr Wang 氏、Palo Alto Networks CEO の Nikesh Arora 氏、Android 創設者の Andy Rubin 氏など、数多くの著名なテクノロジー リーダーも参加しました。 レポートによると、/dev/agents のビジョンは、AI 時代の Android オペレーティング システムを構築し、特別に最適化されたインターフェイスとプロトコルを提供し、新しい UI パターンとユーザー データ モデルを確立することです。

  • Anthropic Xのアカウントはハッキングを受けて復旧しており、システム被害は確認されていない。

    人工知能スタートアップ Anthropic の公式 X アカウントが今朝盗まれ、不明なトークン契約アドレスが投稿されましたが、そのツイートは現在削除されています。 Anthropic は、アカウントからの不正投稿の根本原因を特定し、Anthropic のシステムやサービスが侵害されたり、事件に関与したりしていないことを確認したと述べた。

  • ZachXBT: X プラットフォームのアカウント漏洩は 2FA セキュリティ対策の欠如に関連している可能性があります

    オンチェーン探偵の ZachXBT は、「最近、X プラットフォームで多くのアカウント侵害が発生していますが、これらのアカウントはいずれも 2FA のセキュリティ キーや認証手順を使用していないと思われます。」と投稿しました。

  • ナイジェリアが暗号化詐欺の巣窟を捜索、多くの国の国民を含む約800人の容疑者を逮捕

    ロイター通信によると、ナイジェリアの経済金融犯罪委員会(EFCC)は12月10日、ラゴスの仮想通貨詐欺センターを強制捜査し、中国人148人、フィリピン人40人を含む容疑者792人を逮捕した。このグループは主に北米とヨーロッパのユーザーを詐欺のターゲットにしており、被害者が餌にかかると、偽の仮想通貨スキームやその他の存在しないプロジェクトに資金を送金するよう強制されます。

  • ZachXBT: LastPass 攻撃者が 40 以上のアドレスから約 536 万ドルの暗号資産を盗んだ

    12月17日、オンチェーンアナリストのZachXBTは、LastPass攻撃者が40以上の被害者のアドレスに攻撃を開始し、総額約536万ドルの暗号資産を盗んだことを明らかにした。次に攻撃者は、資金の流れを隠蔽するために、盗んだ資金をETHに変換し、複数のインスタント取引所を介してイーサリアムネットワークからビットコインネットワークにクロスチェーンで資産を転送しました。

  • オンチェーン取引ツールSolTradingBotが攻撃の疑い

    12月17日、コミュニティニュースによると、オンチェーン取引ツールSolTradingBotが攻撃を受けた疑いがあり、一部のユーザーが資金を盗まれたと報告しています。