YouMind
ログイン

ジム・シモンズのアルゴリズムが寝ている間も利益を生む仕組み(クオンツ運用の完全フレームワーク)

@RitOnchain
英語2026年6月06日
163K
165
24
12
388

TL;DR

この記事では、Medallion Fund の成功の秘訣を「シグナル検出」「ファクターモデリング」「マルコフ・レジーム・スイッチング」「ニューラルネットワーク」「実行ロジック」という 5 つの技術的レイヤーに分解し、それぞれに対応する実行可能な Python コードを紹介します。

史上最も成功したヘッジファンドは、34 年の歴史で一度も損失を出した年がありません。その正確なシステム ― すべての計算式、すべてのシグナル、実行可能なコード ― を公開します。

1988 年春。冷戦の暗号解読に生涯を捧げた数学者が、トレーディングオフィスに足を踏み入れ、ウォール街で誰も試したことのないことを行いました。すべてのトレーダーを解雇し、代わりにシグナル検出器を導入したのです。

彼の名はジム・シモンズ。彼のファンドはメダリオンと呼ばれました。結果は次の通りです。市場から 600 億ドルのパフォーマンスフィーを獲得。シモンズ個人の純資産は 300 億ドル。44% のパフォーマンスフィーを差し引いた後の年間リターンは 39%。34 年の運用で損失を出した年はゼロ。

このプラットフォーム上のすべてのクオントは、この数字を目にしたことがあります。しかし、実際に内部で何が動いているのかを知る者はほとんどいません。

今こそ、その秘密を明かします。

レイヤー 1:シグナル検出エンジン

ルネサンスはニュースで取引しません。10-K(有価証券報告書)を読むこともありません。シモンズのチームはデータ駆動型の手法に依存し、統計分析と計算能力を駆使して市場の非効率性を特定します。膨大な量のデータを収集し、統計的パターンや非ランダムなイベントを幅広い市場で分析します。

最初のレイヤーはパターン抽出器です。地震計のように考えてください。地震そのものを読むのではなく、大きな値動きに先立つ、価格データに潜む目に見えない微動を読み取るのです。

以下が Python のスケルトンコードです。

python
1import numpy as np
2import pandas as pd
3from scipy import stats
4
5def detect_signal(prices: pd.Series, lookback: int = 20) -> dict:
6 returns = prices.pct_change().dropna()
7
8 # 自己相関 ― 今日のリターンは明日の予測に役立つか?
9 acf_1 = returns.autocorr(lag=1)
10
11 # 移動平均からの Z スコア偏差
12 rolling_mean = returns.rolling(lookback).mean()
13 rolling_std = returns.rolling(lookback).std()
14 z_score = (returns - rolling_mean) / rolling_std
15
16 # ハースト指数 ― この系列はトレンドか、平均回帰か?
17 hurst = compute_hurst(prices.values)
18
19 return {
20 "autocorrelation": acf_1,
21 "z_score_latest": z_score.iloc[-1],
22 "hurst_exponent": hurst, # 0.5 未満 = 平均回帰、0.5 超 = トレンド
23 "regime": "trending" if hurst > 0.55 else "mean_reverting"
24 }
25
26def compute_hurst(ts):
27 lags = range(2, 20)
28 tau = [np.sqrt(np.std(np.subtract(ts[lag:], ts[:-lag]))) for lag in lags]
29 m = np.polyfit(np.log(lags), np.log(tau), 1)
30 return m[0] * 2.0

これが示すこと: ハースト指数が 0.45 未満なら、その資産は平均回帰性が強く、逆張りが有効です。0.55 を超えるならトレンド性が強く、モメンタム戦略が有効です。メダリオンは、まさにこのような相場状態検出に基づいて戦略を切り替えます。

レイヤー 2:ファクターモデル(なぜ株価は誰も知らないうちに動くのか)

本格的なクオント運用では、オプションチェーン、板情報、ファンダメンタルデータ(利益、収益、キャッシュフロー)、企業行動、ニュースセンチメント、ソーシャルメディアのボリューム、さらに最近では衛星画像、匿名化されたクレジットカード取引、ウェブトラフィック、アプリダウンロード、コンテナ船の動きといったオルタナティブデータも収集します。

ルネサンスは、リターンをファクターに分解することで、なぜ価格が動くのかを特定します。Fama-French の 5 ファクターモデルはその公開版です。ルネサンスのプライベート版は 200 以上のファクターにまで及びます。

python
1from sklearn.linear_model import LinearRegression
2
3def factor_decompose(returns: pd.DataFrame, factors: pd.DataFrame) -> dict:
4 """
5 returns: 資産リターンの DataFrame
6 factors: ファクターリターンの DataFrame(マーケット、サイズ、バリュー、モメンタムなど)
7 """
8 model = LinearRegression()
9 model.fit(factors, returns)
10
11 alpha = model.intercept_ # ファクターで説明できないリターン = 純粋なエッジ
12 betas = model.coef_ # ファクターエクスポージャー
13 r_squared = model.score(factors, returns)
14
15 return {
16 "alpha": alpha, # これが狙うもの ― alpha が 0 より大きいか?
17 "betas": dict(zip(factors.columns, betas)),
18 "r_squared": r_squared,
19 "edge_quality": "strong" if abs(alpha) > 0.001 and r_squared > 0.3 else "weak"
20 }

高い α と低い R 二乗値は、あなたのエッジが既知のファクターでは説明できないことを意味します。それがメダリオンの領域です。

レイヤー 3:マルコフ連鎖レジームマシン

トップクオントファンドの最もよく引用される秘密の 1 つは相場状態の検出です。取引する前に、現在どの市場状態にいるのかを知ることです。自然言語処理はニュース記事やソーシャルメディアをスキャンし、一般のセンチメントに関する洞察を抽出しますが、より深い相場状態のシグナルは価格構造そのものから得られます。

マルコフ連鎖は、市場状態間の遷移確率をモデル化します。

python
1import numpy as np
2
3# 状態:0 = 強気、1 = 弱気、2 = 停滞
4# 遷移行列は過去データから推定
5transition_matrix = np.array([
6 [0.78, 0.14, 0.08], # 強気から:78% は強気継続、14% は弱気へ、8% は停滞へ
7 [0.20, 0.68, 0.12], # 弱気から:20% は回復、68% は弱気継続、12% は停滞へ
8 [0.25, 0.23, 0.52], # 停滞から:25% は強気へ、23% は弱気へ、52% は停滞継続
9])
10
11def get_next_regime(current_state: int, steps: int = 5) -> np.ndarray:
12 """N ステップ後の状態確率分布を返す。"""
13 state_vec = np.zeros(3)
14 state_vec[current_state] = 1.0
15
16 for _ in range(steps):
17 state_vec = state_vec @ transition_matrix
18
19 return {
20 "bull_probability": round(state_vec[0], 3),
21 "bear_probability": round(state_vec[1], 3),
22 "stagnant_probability": round(state_vec[2], 3),
23 "dominant_regime": ["Bull", "Bear", "Stagnant"][np.argmax(state_vec)]
24 }

もしモデルが次の 5 期間で弱気相場継続の確率が 76% と示したなら、あなたはロングしないでしょう。

レイヤー 4:ニューラルネットワークエッジ抽出器

AI システムはディープラーニングを使用して、リアルタイムで取引シグナルを生成・実行し、強化学習で取引戦略を継続的に最適化し、エントリーとエグジットのタイミングを改善します。

ニューラルネットワークのレイヤーは、どの数式も捉えきれない非線形関係を抽出します。

python
1import torch
2import torch.nn as nn
3
4class QuantEdgeNet(nn.Module):
5 def __init__(self, input_features: int = 50):
6 super().__init__()
7 self.layers = nn.Sequential(
8 nn.Linear(input_features, 128),
9 nn.ReLU(),
10 nn.Dropout(0.2),
11 nn.Linear(128, 64),
12 nn.ReLU(),
13 nn.Linear(64, 3) # 出力:[ロング、ショート、フラット] の確率
14 )
15
16 def forward(self, x):
17 return torch.softmax(self.layers(x), dim=-1)
18
19# 学習シグナル:ファクタースコア + レジーム確率 + 生の価格特徴量を結合
20def build_feature_vector(prices, factors, regime_probs):
21 signal = detect_signal(prices)
22 return np.concatenate([
23 prices.pct_change().tail(20).values, # 直近 20 のリターン
24 list(factors.values()), # ファクターエクスポージャー
25 list(regime_probs.values()), # マルコフレジーム確率
26 [signal["hurst_exponent"],
27 signal["z_score_latest"]]
28 ])

重要な洞察:あなたは価格を予測しているのではありません。方向の確率を予測しているのです。たとえ正解率が 52% でも、ケリー基準を正しく使えば、利益を生み出せます。

レイヤー 5:執行レイヤー(クオントの 80% がここで敗れる)

ルネサンスは、執行コストを極めて低く抑えるためのインフラを構築したに違いありません。報告されているグロスリターンは取引コスト控除後であり、メダリオンのパフォーマンスはさらに驚くべきものになっています。

ほとんどの個人クオントは執行でエッジを失います。その対策は以下の通りです。

python
1def kelly_position_size(
2 win_probability: float,
3 win_loss_ratio: float,
4 max_risk_pct: float = 0.02 # 1 トレードあたりのリスクは 2% を超えない
5) -> float:
6 kelly_fraction = win_probability - (1 - win_probability) / win_loss_ratio
7 kelly_fraction = max(0, kelly_fraction) # ケリー値が負にならないように
8 half_kelly = kelly_fraction * 0.5 # 安全のためハーフケリーを使用
9 return min(half_kelly, max_risk_pct) # 2% のハードキャップ
10
11def calculate_execution_cost(
12 spread_bps: float,
13 market_impact_bps: float,
14 shares: int,
15 price: float
16) -> float:
17 total_bps = spread_bps + market_impact_bps
18 cost_per_share = price * total_bps / 10_000
19 return cost_per_share * shares
20
21# エッジが執行コストを上回る場合のみ取引
22def should_trade(edge_bps: float, execution_cost_bps: float) -> bool:
23 return edge_bps > (execution_cost_bps * 1.5) # 最低でもコストの 1.5 倍のエッジを要求

メダリオンのプレイブック:全 5 レイヤー

text
1生の市場データ
2 ↓
3[L1] シグナル検出 → ハースト指数 · ACF · Z スコア
4 ↓
5[L2] ファクターモデル → α 抽出 · β エクスポージャー
6 ↓
7[L3] マルコフレジーム → 強気 · 弱気 · 停滞
8 ↓
9[L4] ニューラルネットエッジ → ロング · ショート · フラット
10 ↓
11[L5] ケリー + 執行 → ポジションサイズ · コストフィルター · エントリー
12 ↓
13 取引する / しない

他のクオントファンドは何千人もの従業員を抱えています。ルネサンスは合計 400 人、モデルに触れているのはおそらく 200 人ほどです。他のファンドは複数の競合戦略を持っています。ルネサンスは皆が一緒に取り組む単一のモデルを持っています。

これこそ誰も語らない秘密です。エッジは単一の数式にあるのではありません。それはパイプラインにあります。各レイヤーがノイズを濾過し、統計的確定性だけが残るのです。

数字は嘘をつかない

ほとんどのクオント戦略は過学習で死にます。メダリオンが生き残る理由は、次の通りです。

  1. 全システムを外部に見せない ― α を守る
  2. 外部資金を閉鎖した ― キャパシティを維持
  3. ハーフケリーを使用する ― レバレッジ過多のクオントを殺すドローダウンを生き抜く
  4. すべてのシグナルはまずアウトオブサンプルでテストされる ― データ漏洩なし

2025 年までに、米国株式の出来高の 75% 以上がクオンテーションまたはアルゴリズムシステムによって駆動されていました。市場そのものがクオントなのです。あなたのエッジは、最高のパイプラインを構築することにあります。

上記のコードはあなたの出発点です。すべての数式は実行可能です。すべてのレイヤーはスタッキング可能です。

さあ、あなた自身のものを構築しましょう。

最後までお読みいただきありがとうございました。QT していただけると嬉しいです!

筆者について:私は Venus です。シニアクオントシステムアーキテクト兼バックエンドエンジニアとして、AI、クラウド、フィンテック x ディーファイインフラ分野でスタートアップの 0→1 立ち上げとプロダクトの 1→100 スケーリングを経験してきました。

ワンクリック保存

YouMindでバイラル記事をAI深読み

ソースを保存し、的を絞った質問をし、主張を要約して、バイラル記事を再利用できるノートに変えます。すべてを1つのAIワークスペースで行えます。

YouMindを探索
クリエイターのために

あなたの Markdown をきれいな 𝕏 記事に

自分の長文を投稿するとき、画像・表・コードブロックを 𝕏 向けに整形するのは手間がかかります。YouMind は Markdown 全体を、そのまま投稿できるきれいな 𝕏 記事に変換します。

Markdown → 𝕏 を試す

解読すべきパターンをもっと

最近のバイラル記事

バイラル記事をもっと見る