コンテンツにスキップ
このページの翻訳は LLM によって生成されています。誤りに気づいた場合は GitHub で issue を開いてお知らせください。

無期限先物:価格影響モジュール

  • 動的計算: 取引サイズと市場の厚みから計算。
  • OI追跡: 複数時間枠で未決済建玉を記録。
  • 市場の厚み: ペアごとに設定可能。
  • 時間加重OI: 時間枠で累積建玉を計算。
  • 方向別処理: ロング・ショートで個別に計算。
  • OI_WINDOWS_SETTINGS:OI時間枠の設定。
  • WINDOWS:各時間枠のOI。
  • PAIR_DEPTHS:ペアの市場の厚み。
  • TRADE_LAST_WINDOW_OI:取引の直近時間枠のOI。
  • get_trade_price_impact:価格への影響を計算。
  • add_price_impact_open_interest:新規時のOI更新。
  • remove_price_impact_open_interest:決済時のOI更新。
  • get_price_impact_oi:価格影響用の現在OIを取得。

次の式で計算します。

$$Price\ Impact\ % = \frac{(Start\ OI + \frac{Trade\ Size}{2})}{One\ Percent\ Depth}$$

  • Start OI: 対象方向の開始時OI。
  • Trade Size: 取引サイズ。
  • One Percent Depth: 価格を1%動かす取引量。
  1. PAIR_DEPTHS から市場の厚みを取得します。

  2. 複数の時間枠のOIを集計し、最近の枠に高い重みを付けます。

  3. 価格影響率を計算します。

    let price_impact_p = Decimal::from_ratio(
    start_open_interest_usd + trade_open_interest_usd.checked_div(2_u64.into())?,
    one_percent_depth_usd
    ).checked_div(Decimal::from_atomics(100_u64, 0)?)?;
  4. 計算した影響を約定価格に適用します。

    let price_after_impact = if long {
    open_price + price_impact
    } else {
    open_price - price_impact
    };

次のロング取引を考えます。

  • 新規価格: $1000。
  • 取引サイズ: $100,000。
  • 現在のOI: $500,000。
  • 1%の市場の厚み: $1,000,000。
  1. 価格影響率を計算します。

    Price Impact % = (500,000 + 100,000 / 2) / 1,000,000 / 100 = 0.55%
  2. 影響額を計算します。

    Price Impact = $1000 * 0.55% = $5.50
  3. 価格に適用します。

    Price After Impact = $1000 + $5.50 = $1005.50

OIは時間枠を使って管理します。

  1. OI_WINDOWS_SETTINGS で枠の長さと数を設定します。
  2. 新規時に add_price_impact_open_interest で現在枠のOIを増やします。
  3. 決済時に remove_price_impact_open_interest で調整します。
  4. 複数の最近の枠を使い、安定した指標にします。
  1. 市場の厚みで PAIR_DEPTHS を初期化します。
  2. OI_WINDOWS_SETTINGS を設定します。
  3. get_trade_price_impact で取引の影響を計算します。
  4. 約定後、add_price_impact_open_interest または remove_price_impact_open_interest でOIを更新します。

次のパラメーターで調整できます。

  • PAIR_DEPTHS の one_percent_depth_above_usd と one_percent_depth_below_usd。
  • OI_WINDOWS_SETTINGS の windows_count と windows_duration。
  • 市場の厚みの動的調整。
  • 非対称な価格影響への対応。
  • より高度な時間加重アルゴリズム。