กองทุนเฮดจ์ฟันด์ที่ประสบความสำเร็จมากที่สุดในประวัติศาสตร์ ไม่เคยมีปีที่ขาดทุนเลย ใน 34 ปีที่ผ่านมา นี่คือระบบที่แน่นอน — ทุกสูตร ทุกสัญญาณ โค้ดที่รันได้
ฤดูใบไม้ผลิ ปี 1988 นักคณิตศาสตร์ที่ใช้ชีวิตทั้งชีวิตในการถอดรหัสสงครามเย็น เดินเข้าไปในสำนักงานเทรดและทำสิ่งที่ไม่มีใครในวอลล์สตรีทเคยลอง: เขาไล่นักเทรดทั้งหมดออกและแทนที่ด้วยเครื่องตรวจจับสัญญาณ
ชื่อของเขาคือ Jim Simons กองทุนของเขาชื่อ Medallion ผลลัพธ์: ค่าธรรมเนียมผลการดำเนินงาน 6 หมื่นล้านดอลลาร์ที่ดึงมาจากตลาด มูลค่าสุทธิ 3 หมื่นล้านดอลลาร์สำหรับ Simons เพียงคนเดียว ผลตอบแทนต่อปี 39% หลังจากหักค่าธรรมเนียมผลการดำเนินงาน 44% ไม่มีปีขาดทุนเลยใน 34 ครั้ง
นักวิเคราะห์เชิงปริมาณทุกคนบนแพลตฟอร์มนี้เคยเห็นตัวเลขเหล่านี้ แทบไม่มีใครรู้ว่า อะไรกำลังทำงานอยู่ภายใต้ฝาครอบจริงๆ
จนถึงตอนนี้
เลเยอร์ 1: เอ็นจิ้นตรวจจับสัญญาณ
Renaissance ไม่ได้เทรดตามข่าว ไม่ได้อ่าน 10-Ks ทีมของ Simons อาศัยวิธีการที่ขับเคลื่อนด้วยข้อมูล ใช้การวิเคราะห์ทางสถิติและพลังการคำนวณเพื่อระบุความไม่มีประสิทธิภาพของตลาด — รวบรวมข้อมูลจำนวนมหาศาลและวิเคราะห์เพื่อหารูปแบบทางสถิติและเหตุการณ์ที่ไม่สุ่มในตลาดที่หลากหลาย
เลเยอร์แรกคือ ตัวแยกรูปแบบ คิดว่ามันเป็นเครื่องวัดแผ่นดินไหว — ไม่ได้อ่านแผ่นดินไหว แต่อ่านแรงสั่นสะเทือนที่มองไม่เห็นในข้อมูลราคาที่เกิดขึ้นก่อนการเคลื่อนไหวครั้งใหญ่
นี่คือโครงร่าง Python:
1import numpy as np2import pandas as pd3from scipy import stats45def detect_signal(prices: pd.Series, lookback: int = 20) -> dict:6 returns = prices.pct_change().dropna()78 # Autocorrelation — ผลตอบแทนวันนี้ทำนายวันพรุ่งนี้ได้ไหม?9 acf_1 = returns.autocorr(lag=1)1011 # ค่าเบี่ยงเบน Z-score จากค่าเฉลี่ยเคลื่อนที่12 rolling_mean = returns.rolling(lookback).mean()13 rolling_std = returns.rolling(lookback).std()14 z_score = (returns - rolling_mean) / rolling_std1516 # Hurst exponent — อนุกรมนี้มีแนวโน้มหรือกลับสู่ค่าเฉลี่ย?17 hurst = compute_hurst(prices.values)1819 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 }2526def 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
สิ่งที่มันบอกคุณ: ถ้า hurst < 0.45 สินทรัพย์กลับสู่ค่าเฉลี่ย — การ fade ได้ผล ถ้า hurst > 0.55 มีแนวโน้ม — โมเมนตัมได้ผล Medallion เปลี่ยนกลยุทธ์ตามการตรวจจับสภาวะแบบนี้พอดี
เลเยอร์ 2: โมเดลปัจจัย (ทำไมหุ้นถึงเคลื่อนไหวก่อนใครจะรู้สาเหตุ)
การดำเนินการเชิงปริมาณที่จริงจังดึงข้อมูล options chains, ระดับความลึกของ order-book, ข้อมูลพื้นฐาน (กำไร, รายได้, กระแสเงินสด), การดำเนินการของบริษัท, ความรู้สึกจากข่าว, ปริมาณโซเชียลมีเดีย และชุดข้อมูลทางเลือกที่เพิ่มมากขึ้น เช่น ภาพถ่ายดาวเทียม, ธุรกรรมบัตรเครดิตแบบไม่ระบุตัวตน, ปริมาณการใช้งานเว็บ, การดาวน์โหลดแอป และการเคลื่อนย้ายตู้คอนเทนเนอร์
Renaissance ระบุ สาเหตุ ที่ราคาเคลื่อนไหวโดยการแยกผลตอบแทนออกเป็นปัจจัยต่างๆ โมเดล 5 ปัจจัยของ Fama-French เป็นเวอร์ชันสาธารณะของสิ่งนี้ เวอร์ชันส่วนตัวของ Renaissance ลึกถึง 200+ ปัจจัย
1from sklearn.linear_model import LinearRegression23def 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)1011 alpha = model.intercept_ # ผลตอบแทนที่ไม่สามารถอธิบายด้วยปัจจัย = ขอบล้วน12 betas = model.coef_ # การเปิดรับปัจจัย13 r_squared = model.score(factors, returns)1415 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 }
Alpha สูง + R-squared ต่ำ = ขอบของคุณ ไม่ได้ อธิบายด้วยปัจจัยที่รู้จัก นั่นคืออาณาเขตของ Medallion
เลเยอร์ 3: เครื่องจักรสภาวะ Markov Chain
หนึ่งในความลับที่ถูกพูดถึงมากที่สุดของกองทุนเชิงปริมาณชั้นนำคือ การตรวจจับสภาวะ — การรู้ว่าคุณอยู่ในสถานะตลาดใดก่อนที่จะเทรด Natural Language Processing สแกนบทความข่าวและโซเชียลมีเดีย ดึงข้อมูลเชิงลึกเกี่ยวกับความรู้สึกสาธารณะ แต่สัญญาณสภาวะที่ลึกกว่านั้นมาจากโครงสร้างราคาเอง
Markov Chains จำลองความน่าจะเป็นของการเปลี่ยนระหว่างสถานะตลาด:
1import numpy as np23# สถานะ: 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])1011def 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.01516 for _ in range(steps):17 state_vec = state_vec @ transition_matrix1819 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": ["กระทิง", "หมี", "ซบเซา"][np.argmax(state_vec)]24 }
ถ้าโมเดลบอกความน่าจะเป็น 76% ที่จะอยู่ในสภาวะหมีในช่วง 5 ช่วงถัดไป — คุณจะไม่ทำ long
เลเยอร์ 4: ตัวแยกขอบของโครงข่ายประสาทเทียม
ระบบ AI ใช้ deep learning เพื่อสร้างและดำเนินสัญญาณเทรดแบบเรียลไทม์ โดยมี reinforcement learning เพื่อปรับกลยุทธ์การเทรดอย่างต่อเนื่องและปรับปรุงจังหวะสำหรับการเข้าและออก
เลเยอร์โครงข่ายประสาทเทียมดึงความสัมพันธ์แบบไม่เชิงเส้นที่ไม่มีสูตรใดสามารถจับได้:
1import torch2import torch.nn as nn34class 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) # เอาต์พุต: ความน่าจะเป็น [long, short, flat]14 )1516 def forward(self, x):17 return torch.softmax(self.layers(x), dim=-1)1819# สัญญาณฝึก: รวมคะแนนปัจจัย + ความน่าจะเป็นสภาวะ + คุณลักษณะราคาดิบ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()), # ความน่าจะเป็นสภาวะ Markov26 [signal["hurst_exponent"],27 signal["z_score_latest"]]28 ])
ข้อมูลเชิงลึกสำคัญ: คุณไม่ได้ทำนายราคา คุณกำลังทำนาย ความน่าจะเป็นของทิศทาง แม้ความแม่นยำ 52% — ถ้าคุณปรับขนาด Kelly อย่างถูกต้อง — ก็พิมพ์เงินได้
เลเยอร์ 5: เลเยอร์การดำเนินการ (ที่ 80% ของนักวิเคราะห์เชิงปริมาณเลือดไหล)
Renaissance ต้องสร้างโครงสร้างพื้นฐานเพื่อให้ต้นทุนการดำเนินการต่ำมาก — ผลตอบแทนรวมที่รายงานเป็นหลังหักต้นทุนการเทรด ทำให้ผลงานของ Medallion ยิ่งพิเศษมากขึ้น
นักวิเคราะห์เชิงปริมาณรายย่อยส่วนใหญ่เสียขอบไปกับการดำเนินการ ทางแก้:
1def kelly_position_size(2 win_probability: float,3 win_loss_ratio: float,4 max_risk_pct: float = 0.02 # อย่าเสี่ยงมากกว่า 2% ต่อการเทรด5) -> float:6 kelly_fraction = win_probability - (1 - win_probability) / win_loss_ratio7 kelly_fraction = max(0, kelly_fraction) # อย่า Kelly สั้น8 half_kelly = kelly_fraction * 0.5 # ใช้ half-Kelly เพื่อความปลอดภัย9 return min(half_kelly, max_risk_pct) # จำกัดสูงสุดที่ 2%1011def calculate_execution_cost(12 spread_bps: float,13 market_impact_bps: float,14 shares: int,15 price: float16) -> float:17 total_bps = spread_bps + market_impact_bps18 cost_per_share = price * total_bps / 10_00019 return cost_per_share * shares2021# เทรดเมื่อขอบมากกว่าต้นทุนการดำเนินการ22def should_trade(edge_bps: float, execution_cost_bps: float) -> bool:23 return edge_bps > (execution_cost_bps * 1.5) # ต้องการครอบคลุมต้นทุนขั้นต่ำ 1.5 เท่า
คู่มือ Medallion: ทั้ง 5 เลเยอร์
1ข้อมูลตลาดดิบ2 ↓3[L1] การตรวจจับสัญญาณ → Hurst · ACF · Z-score4 ↓5[L2] โมเดลปัจจัย → การสกัด α · การเปิดรับ β6 ↓7[L3] สภาวะ Markov → กระทิง · หมี · ซบเซา8 ↓9[L4] ขอบโครงข่ายประสาท → Long · Short · Flat10 ↓11[L5] Kelly + การดำเนินการ → ขนาดตำแหน่ง · ตัวกรองต้นทุน · การเข้า12 ↓13 เทรด / ไม่เทรด
กองทุนเชิงปริมาณอื่นๆ จ้างคนเป็นพัน Renaissance มีทั้งหมด 400 คน อาจจะ 200 คนที่แตะโมเดล กองทุนอื่นมีหลายกลยุทธ์ที่แข่งขันกัน Renaissance มีโมเดลเดียวที่ทุกคนทำงานร่วมกัน
นั่นคือความลับที่ไม่มีใครพูดถึง: ขอบไม่ใช่สูตรใดสูตรหนึ่ง มันคือ ไปป์ไลน์ — แต่ละเลเยอร์กรองสัญญาณรบกวนจนเหลือเพียงความแน่นอนทางสถิติ
ตัวเลขไม่โกหก
กลยุทธ์เชิงปริมาณส่วนใหญ่ตายจากการ overfitting Medallion อยู่รอดเพราะ:
- พวกเขาไม่เคยแสดงระบบทั้งหมดให้คนนอกดู — รักษา alpha ให้มีชีวิต
- พวกเขาปิดรับเงินจากภายนอก — รักษาความจุ
- พวกเขาใช้ half-Kelly — อยู่รอดใน drawdowns ที่ฆ่านักวิเคราะห์ที่ใช้เลเวอเรจสูงเกินไป
- ทุกสัญญาณถูกทดสอบนอกตัวอย่างก่อน — ไม่มีการรั่วไหลของข้อมูล
ภายในปี 2025 ปริมาณการเทรดหุ้นสหรัฐมากกว่า 75% ถูกขับเคลื่อนโดยระบบเชิงปริมาณหรืออัลกอริทึม ตลาด คือ เชิงปริมาณ ขอบของคุณคือการสร้างไปป์ไลน์ที่ดีที่สุด
โค้ดด้านบนคือจุดเริ่มต้นของคุณ ทุกสูตรรันได้ ทุกเลเยอร์ซ้อนกันได้
ตอนนี้ไปสร้างของคุณ
ขอบคุณที่อ่าน, ฉันจะขอบคุณมากถ้ามี QT !
เกี่ยวกับฉัน* : ฉันคือ Venus, สถาปนิกระบบเชิงปริมาณอาวุโสและวิศวกรแบ็กเอนด์ที่มีประสบการณ์ในการสร้างสตาร์ทอัพจาก 0→1 และขยายผลิตภัณฑ์จาก 1→100 ในโครงสร้างพื้นฐาน AI, cloud, และ fintech x defi





