[TOC]

Kürzlich stieß ich auf einen Beitrag auf Zhihu mit einem sehr verlockenden Titel: „Ein sicherer Weg, um in der Kryptowelt schnell reich zu werden: Von 3000 auf 12000 US-Dollar in drei Monaten“.
Ich musste lachen. Stabil? Schnell reich werden? Diese beiden Wörter zusammen bedeuten meistens eines von zwei Dingen: Entweder es ist Betrug, oder man ist jemand, der noch kein unvorhergesehenes Ereignis erlebt hat.
Als Entwickler quantitativer Handelslösungen konnte ich jedoch nicht widerstehen und musste unbedingt einen Blick darauf werfen, als ich diese Strategiebeschreibung sah.

Nach dem Lesen versank ich in tiefes Nachdenken…
Es scheint, vielleicht, möglicherweise, eventuell, Hoffnung, Wunsch, vielleicht ergibt das irgendwie Sinn?
Ohne weitere Umschweife öffnen wir die Plattform zur Erfinderbewertung und legen los!
Die einfachste Logik:
// 伪代码
if (btcChange > 2%) {
开多 1手 BTC
开空 1手 ETH
}
Nachdem ich den Code fertiggestellt hatte, klickte ich voller Zuversicht auf den Backtest, und dann…

Wir verlieren Unmengen an Geld.
Als ich sah, wie die Aktienkurskurve rapide nach unten stürzte, verfiel ich in tiefe Selbstzweifel.
Bei ruhiger Betrachtung ist das Problem offensichtlich:
1 Lot BTC ≠ 1 Lot ETH
Bitcoin (BTC) ist aktuell 100.000 US-Dollar wert, während Ethereum (ETH) nur etwa 3.000 US-Dollar wert ist. Ein Hedging im Verhältnis 1:1 ist kein Hedging, sondern Geldverschwendung.
Eine geeignete Absicherungsstrategie muss Folgendes berücksichtigen:
Dieser Code bildet den Kern der Strategieberechnung und implementiert die vollständige Berechnung des Beta-Koeffizienten von ETH im Verhältnis zu BTC. Der Beta-Koeffizient repräsentiert zwei wichtige Informationen: das zugrunde liegende Preisverhältnis und die Volatilitätskorrelation, die direkt den abzusichernden Anteil bestimmt.
// 计算ETH相对BTC的Beta系数
function calculateBeta(btcRecords, ethRecords, lookback) {
// 数据不足时的降级处理
if (btcRecords.length < lookback + 1 || ethRecords.length < lookback + 1) {
Log("⚠️ K线数据不足,使用当前价格比作为默认Beta")
let btcPrice = btcRecords[btcRecords.length - 1].Close
let ethPrice = ethRecords[ethRecords.length - 1].Close
let defaultBeta = btcPrice / ethPrice
betaInfo.currentBeta = defaultBeta
betaInfo.correlation = 0
betaInfo.priceRatio = defaultBeta
betaInfo.returnBeta = 1.0
betaInfo.lastUpdate = new Date().toLocaleString()
Log(" 默认Beta =", _N(defaultBeta, 2), "| 价格比:", _N(btcPrice, 0), "/", _N(ethPrice, 0))
return defaultBeta
}
let btcReturns = []
let ethReturns = []
let priceRatios = []
// 第一步:计算日收益率 + 历史价格比
for (let i = btcRecords.length - lookback; i < btcRecords.length; i++) {
// 日收益率 = (今日收盘 - 昨日收盘) / 昨日收盘
let btcRet = (btcRecords[i].Close - btcRecords[i-1].Close) / btcRecords[i-1].Close
let ethRet = (ethRecords[i].Close - ethRecords[i-1].Close) / ethRecords[i-1].Close
btcReturns.push(btcRet)
ethReturns.push(ethRet)
// 记录每天的价格比
let ratio = btcRecords[i].Close / ethRecords[i].Close
priceRatios.push(ratio)
}
// 第二步:计算历史平均价格比
let avgPriceRatio = priceRatios.reduce((a, b) => a + b, 0) / priceRatios.length
// 第三步:计算价格比的波动性
let priceRatioVariance = 0
for (let i = 0; i < priceRatios.length; i++) {
let diff = priceRatios[i] - avgPriceRatio
priceRatioVariance += diff * diff
}
priceRatioVariance /= (priceRatios.length - 1)
let priceRatioStd = Math.sqrt(priceRatioVariance)
let priceRatioCv = priceRatioStd / avgPriceRatio // 变异系数
// 第四步:计算收益率的均值
let btcMean = btcReturns.reduce((a,b) => a+b, 0) / btcReturns.length
let ethMean = ethReturns.reduce((a,b) => a+b, 0) / ethReturns.length
// 第五步:计算协方差和方差
let covariance = 0
let btcVariance = 0
let ethVariance = 0
for (let i = 0; i < btcReturns.length; i++) {
let btcDiff = btcReturns[i] - btcMean
let ethDiff = ethReturns[i] - ethMean
covariance += btcDiff * ethDiff
btcVariance += btcDiff * btcDiff
ethVariance += ethDiff * ethDiff
}
covariance /= (btcReturns.length - 1)
btcVariance /= (btcReturns.length - 1)
ethVariance /= (ethReturns.length - 1)
// 第六步:计算收益率Beta
// Beta = Cov(ETH, BTC) / Var(BTC)
let returnBeta = covariance / btcVariance
// 第七步:计算相关系数
// 相关系数 = Cov(ETH, BTC) / (Std(BTC) × Std(ETH))
let correlation = covariance / Math.sqrt(btcVariance * ethVariance)
// 第八步:最终Beta = 历史平均价格比 × 收益率Beta
let finalBeta = avgPriceRatio * returnBeta
// 第九步:限制Beta范围,避免极端值
let minBeta = avgPriceRatio * 0.5
let maxBeta = avgPriceRatio * 2.0
finalBeta = Math.max(minBeta, Math.min(maxBeta, finalBeta))
// 第十步:获取当前价格比
let currentBtcPrice = btcRecords[btcRecords.length - 1].Close
let currentEthPrice = ethRecords[ethRecords.length - 1].Close
let currentPriceRatio = currentBtcPrice / currentEthPrice
// 更新Beta信息到全局
betaInfo.currentBeta = finalBeta
betaInfo.correlation = correlation
betaInfo.returnBeta = returnBeta
betaInfo.avgPriceRatio = avgPriceRatio
betaInfo.currentPriceRatio = currentPriceRatio
betaInfo.priceRatioStd = priceRatioStd
betaInfo.priceRatioCv = priceRatioCv
betaInfo.lastUpdate = new Date().toLocaleString()
return finalBeta
}
Hauptfunktionen und Logik:
Cov(ETH,BTC) / Var(BTC)Dies verdeutlicht die Sensitivität der ETH-Renditen gegenüber Änderungen der BTC-Renditen.Nach der Veröffentlichung der Beta-Version musste die Lücke zwischen Theorie und Praxis geschlossen werden, indem theoretische Koeffizienten in tatsächlich handelbare Größen an der Börse umgerechnet wurden. Dieser Teil des Codes ermöglichte diese entscheidende Umrechnung.
// 计算对冲张数
function calculateHedgeAmount(beta) {
let btcCoinAmount = config.btcCoinAmount // 0.1 BTC
let ethCoinAmount = btcCoinAmount * beta // ETH数量 = 0.1 × Beta
// 转换成合约张数
let btcContracts = Math.floor(btcCoinAmount / contractInfo.btcCtVal)
btcContracts = Math.max(1, btcContracts) // 至少1张
let ethContracts = Math.floor(ethCoinAmount / contractInfo.ethCtVal)
ethContracts = Math.max(1, ethContracts)
// 实际开仓的币数
let actualBtcCoins = btcContracts * contractInfo.btcCtVal
let actualEthCoins = ethContracts * contractInfo.ethCtVal
Log("🎯 对冲计算 | Beta:", _N(beta, 3),
"\n BTC: ", _N(actualBtcCoins, 4), "币 =", btcContracts, "张 (CtVal:", contractInfo.btcCtVal, ")",
"\n ETH: ", _N(actualEthCoins, 4), "币 =", ethContracts, "张 (CtVal:", contractInfo.ethCtVal, ")",
"\n 实际比例:", _N(actualEthCoins / actualBtcCoins, 3))
return {
btc: btcContracts,
eth: ethContracts,
btcCoins: actualBtcCoins,
ethCoins: actualEthCoins,
beta: beta
}
}
Wichtige Umstellungsschritte:
Dieser Abschnitt behandelt die Strategieumsetzung und das Risikomanagement, die Umsetzung des berechneten Hedging-Plans in konkrete Handelsgeschäfte und das Risikomanagement. Die Einstiegslogik wird hier anhand einer Long-Position veranschaulicht; eine Short-Position lässt sich analog nachvollziehen.
AuslösebedingungsdesignDas System verwendet eine doppelte Bedingung: BTC-Preisanstieg > 2 % und BTC-Preisanstieg > ETH-Preisanstieg. Dies gewährleistet ausreichende Marktvolatilität und die Einhaltung der erwarteten relativen Stärkebeziehung.
// BTC涨 > 2% 且涨幅大于ETH → 开多BTC + 开空ETH
if (btcChange > 0.02 && btcChange > ethChange) {
let amounts = calculateHedgeAmount(beta)
// 先开BTC多单
let btcOrder = createMarketOrder(config.btcSymbol, "buy", amounts.btc)
if (!btcOrder) {
Log("❌ BTC开多失败")
return null
}
// 再开ETH空单
let ethOrder = createMarketOrder(config.ethSymbol, "sell", amounts.eth)
if (!ethOrder) {
Log("❌ ETH开空失败,回滚BTC")
createMarketOrder(config.btcSymbol, "closebuy", amounts.btc)
return null
}
Log("🟢 开仓完成 | Beta:", _N(beta, 3))
}
Atomare TransaktionsausführungDie Ausführung erfolgt sequenziell und beinhaltet einen Rollback-Mechanismus. Zuerst wird eine Long-Position in BTC eröffnet; bei Erfolg wird anschließend eine Short-Position in ETH eröffnet. Schlägt die ETH-Order fehl, wird die bestehende Long-Position in BTC umgehend geschlossen, um die Integrität der Position zu gewährleisten und einseitiges Risiko zu vermeiden.
Im Folgenden wird die Abschlusslogik veranschaulicht:
Gewinn und Verlust berechnet nach WährungDer Gesamtgewinn bzw. -verlust der beiden Positionen wird auf Basis der Anzahl der eröffneten Coins berechnet, und der Gesamtabsicherungseffekt wird ermittelt.
Einstellungen der RisikokontrollschwelleDie Gesamtperformance des Portfolios wird bewertet, und es werden asymmetrische Gewinnmitnahmelinien (+3%) und Stop-Loss-Linien (-1%) festgelegt, um einen positiven Erwartungswert zu erzielen.
// 按币数计算盈亏
function checkClose(pos, btcTicker, ethTicker) {
let btcPnlUsd, ethPnlUsd
if (pos.type === 'long_btc_short_eth') {
// BTC多单盈亏 = (当前价 - 开仓价) × 币数
btcPnlUsd = (btcTicker.Last - pos.btcPrice) * pos.btcCoinAmount
// ETH空单盈亏 = (开仓价 - 当前价) × 币数
ethPnlUsd = (pos.ethPrice - ethTicker.Last) * pos.ethCoinAmount
} else {
btcPnlUsd = (pos.btcPrice - btcTicker.Last) * pos.btcCoinAmount
ethPnlUsd = (ethTicker.Last - pos.ethPrice) * pos.ethCoinAmount
}
let totalPnlUsd = btcPnlUsd + ethPnlUsd
let totalCost = pos.btcPrice * pos.btcCoinAmount + pos.ethPrice * pos.ethCoinAmount
let totalPnlPct = totalPnlUsd / totalCost
// 止盈: +3%
if (totalPnlPct >= 0.03) {
return {close: true, reason: '✅止盈', pnl: totalPnlPct, pnlUsd: totalPnlUsd}
}
// 止损: -1%
if (totalPnlPct <= -0.01) {
return {close: true, reason: '🛑止损', pnl: totalPnlPct, pnlUsd: totalPnlUsd}
}
return {close: false, pnl: totalPnlPct, pnlUsd: totalPnlUsd}
}
Der Test wurde wiederholt, und die Ergebnisse waren…

Die Kurve steigt endlich an!
Von Oktober 2025 bis Januar 2026, etwa 3 Monate:
Nach umfassenden Backtests wurde diese Strategie validiert:
Das ist der Reiz des quantitativen Handels:
Aus einer Idee entstehen → Code zur Umsetzung schreiben → Backtesting zur Überprüfung durchführen → Optimieren und verbessern
Die Strategie in dem Zhihu-Beitrag war gut, aber der Teufel steckt im Detail:
Echtes quantitatives Trading beinhaltet die Validierung jeder Idee anhand von Daten, die Implementierung jeder Strategie mit Code und die Aufzeichnung jedes einzelnen Handels.
Wenn Sie eine Idee haben, sollten Sie sie überprüfen.
Der Code befindet sich am Ende des Artikels. Sie können ihn gerne ausführen, modifizieren und selbst optimieren.
Bei Interesse kann ich später weiterschreiben:
Gerne können Sie liken, kommentieren und nach weiteren Updates fragen!
📝Artikelquellcode (Strategieparameter können im Parameterabschnitt am Anfang des Quellcodes flexibel eingestellt werden; die Handelslogik wurde optimiert).:Zwei-Wege-Beta-Hedging-Strategie
Dieser Artikel dient ausschließlich Lern- und Kommunikationszwecken und stellt keine Anlageberatung dar.
P.S.: Es gibt keinen sicheren Weg, in der Kryptowelt schnell reich zu werden; nur Risikomanagement und kontinuierliche Optimierung.