ベイズ推定によるトレード戦略 — Smart Moneyデータを用いた信念の更新
ベイズ推論はトレードに最適です。価格方向に関する事前の信念を持ち、新しい証拠(オンチェーンデータ、クジラの活動、資金調達率)ごとにそれを更新します。Smart Money APIはまさにこの種の証拠を提供します。信念を更新し、確率的な意思決定を行いましょう。
重要な概念: ベイズの定理: P(B|A) = P(A|B) × P(B) / P(A)。トレードでは: P(価格↑ | クジラ↑) = クジラが蓄積している場合に価格が上昇する確率は?
トレードにおけるベイズの定理
公式
- 事前確率: P(方向) = 初期の信念(BTCが上昇する確率60%)
- 尤度: P(証拠 | 方向) = 方向が真の場合にこの証拠が観測される確率
- 証拠: P(証拠) = この証拠が観測される基本確率
- 事後確率: P(方向 | 証拠) = 証拠を観測後の更新された信念
例: クジラの蓄積を証拠として
事前確率: BTCが上昇する確率50%(ベースライン)。尤度: BTCが上昇する場合、クジラが蓄積する確率72%(彼らは動きを先取りする)。BTCが横ばい/下降の場合、蓄積確率は20%のみ。証拠: 250以上のクジラウォレットが蓄積しているのを観測。
Python — ベイズ更新
def bayesian_update(prior_up, likelihood_evidence_given_up, likelihood_evidence_given_down):
# 事前確率
p_up = prior_up # 0.50
p_down = 1 - prior_up # 0.50
# 証拠の尤度
p_evidence_given_up = likelihood_evidence_given_up # 0.72
p_evidence_given_down = likelihood_evidence_given_down # 0.20
# 証拠の総確率(全確率の法則)
p_evidence = (p_evidence_given_up * p_up) + (p_evidence_given_down * p_down)
# = (0.72 * 0.50) + (0.20 * 0.50) = 0.46
# 事後確率: P(上昇 | 証拠) = ベイズ
posterior_up = (p_evidence_given_up * p_up) / p_evidence
# = (0.72 * 0.50) / 0.46 = 0.783 (78.3%の上昇確率)
return posterior_up
結果: クジラの蓄積を観測後、上昇確率が50%から78%に更新。これはロングポジションを取る強いシグナル。
マルチシグナルベイズフレームワーク
複数の証拠を組み合わせる(Smart Money APIは3つ提供: デリバティブ、オンチェーン、クジラ):
Python — マルチシグナルベイズ
def multi_signal_bayesian(prior, deriv_signal, onchain_signal, whale_signal):
# 逐次更新: 事前確率から開始し、各シグナルで更新
posterior = prior
# シグナル1: デリバティブ(資金調達率、LSR)
posterior = bayesian_update(posterior, 0.68, 0.35) # 上昇の場合、68%の確率で資金調達率が正
# シグナル2: オンチェーン(MVRV、SOPR)
posterior = bayesian_update(posterior, 0.65, 0.40) # 上昇の場合、65%の確率でMVRVが有利
# シグナル3: クジラ(コンセンサス、PnL)
posterior = bayesian_update(posterior, 0.72, 0.20) # 上昇の場合、72%の確率でクジラがロング
return posterior
過去データからの尤度推定
P(証拠 | 方向)をどう知るか?バックテストから計算:
Python — 尤度の較正
def estimate_likelihoods(historical_data):
# クジラがロングした全期間のうち、次の4時間で価格が上昇した割合は?
whale_long_ups = len(historical_data[(historical_data['whale_long'] == True) & (historical_data['next_4h_up'] == True)])
whale_long_total = len(historical_data[historical_data['whale_long'] == True])
p_up_given_whale_long = whale_long_ups / whale_long_total # 0.62
# クジラがショートした全期間のうち、価格が下降した割合は?
whale_short_downs = len(historical_data[(historical_data['whale_long'] == False) & (historical_data['next_4h_up'] == False)])
whale_short_total = len(historical_data[historical_data['whale_long'] == False])
p_down_given_whale_short = whale_short_downs / whale_short_total # 0.58
return {'p_up_given_whale_long': p_up_given_whale_long, 'p_down_given_whale_short': p_down_given_whale_short}
事後確率に基づくベッティング
事後確率を得たら、それに比例してベットサイズを決定:
Python — 事後確率からのケリー基準
def kelly_bet_size(posterior_prob, odds=1.1):
# ケリー基準: f = (b*p - q) / b
# p = 勝利確率, q = 敗北確率, b = オッズ比
p = posterior_prob
q = 1 - p
b = odds - 1 # 勝利時は1.1倍のリターン(10%利益)
kelly_frac = (b * p - q) / b
# 保守的にケリーの25%を使用
position_size = kelly_frac * 0.25
return max(0, position_size) # 負値なし
# 例: 事後確率78%、ケリー6.5%、口座の1.6%を使用
効率化のための共役事前分布
連続的な推定(例: 「クジラの真の勝率は?」)にはベータ事前分布を使用:
- Beta(α=1, β=1) = 一様分布(事前知識なし)
- Beta(α=10, β=5) = クジラの勝率約67%だが不確実
- Beta(α=100, β=50) = 67%勝率への強い信念
N勝M敗を観測後、事後分布はBeta(α + N, β + M)。この共役構造により、サンプリングなしで即時更新可能。
Smart Moneyで確率的な意思決定を
当社APIは複合スコアと信頼水準を返します—ベイズフレームワークの正確な入力値です。クジラ活動、オンチェーンメトリクス、デリバティブシグナルで信念を更新するトレードシステムを構築しましょう。
ベイジアントレードを学ぶ →