[TOC]

میں نے حال ہی میں Zhihu پر ایک بہت ہی دلکش عنوان کے ساتھ ایک پوسٹ دیکھی: “کرپٹو ورلڈ میں فوری امیر ہونے کا ایک مستحکم طریقہ: تین ماہ میں 3000U سے 12000U”۔
میں بس ہنس پڑا۔ مستحکم؟ جلدی امیر ہو جاؤ؟ ان دو الفاظ کو ایک ساتھ رکھنے کا مطلب عام طور پر دو چیزوں میں سے ایک ہوتا ہے: یا تو یہ ایک گھوٹالہ ہے، یا آپ کوئی ایسا شخص ہے جسے ابھی تک بلیک سوان واقعہ کا سامنا نہیں ہوا ہے۔
تاہم، ایک مقداری ٹریڈنگ ڈویلپر کے طور پر، جب میں نے اس حکمت عملی کی تفصیل دیکھی تو میں ایک نظر ڈالنے کے لیے کلک کرنے سے باز نہیں آ سکا۔

پڑھ کر میں گہری سوچ میں پڑ گیا…
ایسا لگتا ہے، شاید، ممکنہ طور پر، شاید، امید، خواہش، شاید کچھ معنی رکھتا ہے؟
مزید اڈو کے بغیر، آئیے انوینٹرز کوانٹیفیکیشن پلیٹ فارم کھولیں اور شروع کریں!
سادہ ترین منطق:
// 伪代码
if (btcChange > 2%) {
开多 1手 BTC
开空 1手 ETH
}
کوڈ لکھنے کے بعد، میں نے اعتماد کے ساتھ بیک ٹیسٹ پر کلک کیا، اور پھر…

ہم مٹھی میں پیسے کھو رہے ہیں۔
نیچے کی طرف گرتے ہوئے ایکویٹی وکر کو دیکھ کر، میں گہرے خود شک میں پڑ گیا۔
اس کے بارے میں پرسکون طور پر سوچنے سے، مسئلہ واضح ہے:
BTC کی 1 لاٹ ≠ 1 لاٹ ETH
بی ٹی سی فی الحال ہر ایک کی قیمت \(100,000 ہے، جبکہ ETH صرف \)3,000 کے قریب ہے۔ اگر آپ ہیج کرنے کے لیے 1:1 کا تناسب استعمال کرتے ہیں، تو یہ ہیجنگ نہیں ہے، یہ پیسے دے رہا ہے۔
ایک مناسب ہیجنگ حکمت عملی پر غور کرنے کی ضرورت ہے:
یہ کوڈ حکمت عملی کا بنیادی کیلکولیشن انجن ہے، جو BTC کے نسبت ETH کے بیٹا کوفیشینٹ کے حساب کو مکمل طور پر لاگو کرتا ہے۔ یہاں بیٹا کوفیسینٹ معلومات کے دو اہم ٹکڑوں کی نمائندگی کرتا ہے: بنیادی قیمت کا تناسب اور اتار چڑھاؤ کا باہمی تعلق، جو براہ راست اس تناسب کا تعین کرتا ہے جس کو ہیج کرنے کی ضرورت ہے۔
// 计算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
}
اہم افعال اور منطق:
Cov(ETH,BTC) / Var(BTC)یہ BTC ریٹرن میں تبدیلیوں کے لیے ETH کی واپسی کی حساسیت کی نشاندہی کرتا ہے۔بیٹا ورژن کے جاری ہونے کے بعد، نظریہ اور حقیقت کے درمیان فرق کو ختم کرنے کی ضرورت تھی، نظریاتی گتانکوں کو تبادلے پر حقیقی قابل تجارت مقدار میں تبدیل کرنا۔ کوڈ کے اس حصے نے اس اہم تبدیلی کو پورا کیا۔
// 计算对冲张数
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
}
}
تبادلوں کے اہم اقدامات:
یہ سیکشن حکمت عملی پر عمل درآمد اور رسک کنٹرول کا احاطہ کرتا ہے، حسابی ہیجنگ پلان کو حقیقی تجارتی آپریشنز میں ترجمہ کرتا ہے اور خطرے کا انتظام کرتا ہے۔ اندراج کی منطق کو یہاں واضح کیا گیا ہے، مثال کے طور پر ایک لمبی پوزیشن کا استعمال کرتے ہوئے؛ ایک مختصر پوزیشن کو اسی طرح سمجھا جا سکتا ہے۔
ٹرگر کنڈیشن ڈیزائنسسٹم میں دوہری شرط ہے: BTC قیمت میں اضافہ> 2% اور BTC قیمت میں اضافہ> ETH قیمت میں اضافہ۔ یہ مارکیٹ میں کافی اتار چڑھاؤ کو یقینی بناتا ہے اور یہ کہ متوقع رشتہ دار طاقت کا رشتہ درست ہے۔
// 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))
}
جوہری لین دین پر عمل درآمدعملدرآمد ترتیب وار ہے اور اس میں رول بیک میکانزم شامل ہے۔ سب سے پہلے، بی ٹی سی میں ایک لمبی پوزیشن کھولیں؛ اگر کامیاب ہو، تو ETH میں ایک مختصر پوزیشن کھولیں۔ اگر ETH آرڈر ناکام ہو جاتا ہے تو، BTC میں موجودہ لانگ پوزیشن کو فوری طور پر بند کر دیں تاکہ پوزیشن کی سالمیت کو یقینی بنایا جا سکے اور یک طرفہ خطرے سے بچیں۔
مندرجہ ذیل اختتامی منطق کا ایک مظاہرہ ہے:
منافع اور نقصان کا حساب کرنسی کے حساب سے کیا جاتا ہے۔دونوں پوزیشنوں کے کل منافع اور نقصان کا حساب کھلے ہوئے سکوں کی تعداد کی بنیاد پر لگایا جاتا ہے، اور مجموعی طور پر ہیجنگ اثر کا تعین کیا جاتا ہے۔
رسک کنٹرول کی حد کی ترتیباتپورٹ فولیو کی مجموعی کارکردگی کا جائزہ لیا جاتا ہے، اور غیر متناسب منافع لینے (+3%) اور سٹاپ-لاس (-1%) لائنیں مثبت متوقع قدر کے حصول کے لیے مقرر کی جاتی ہیں۔
// 按币数计算盈亏
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}
}
دوبارہ امتحان لیا گیا، اور نتائج یہ تھے…

وکر آخر میں اوپر جا رہا ہے!
اکتوبر 2025 سے جنوری 2026 تک، تقریباً 3 ماہ:
مکمل بیک ٹیسٹنگ کے بعد، اس حکمت عملی کی توثیق کی گئی:
یہ مقداری تجارت کا رغبت ہے:
ایک آئیڈیا کے ساتھ شروع کریں → اسے لاگو کرنے کے لیے کوڈ لکھیں → تصدیق کرنے کے لیے بیک ٹیسٹ → بہتر بنائیں اور بہتر کریں
Zhihu پوسٹ میں بیان کردہ حکمت عملی درست تھی، لیکن شیطان تفصیلات میں ہے:
حقیقی مقداری تجارت میں ڈیٹا کے ساتھ ہر خیال کی توثیق کرنا، کوڈ کے ساتھ ہر حکمت عملی کو نافذ کرنا، اور ہر تجارت کو ریکارڈ کرنا شامل ہے۔
اگر آپ کے پاس کوئی خیال ہے تو آپ کو اس کی تصدیق کرنی چاہیے۔
کوڈ مضمون کے آخر میں ہے۔ بلا جھجھک اسے چلائیں، اس میں ترمیم کریں، اور اسے خود بہتر بنائیں۔
اگر آپ دلچسپی رکھتے ہیں تو، میں بعد میں لکھنا جاری رکھ سکتا ہوں:
بلا جھجھک پسند کریں، تبصرہ کریں، اور مزید اپ ڈیٹس کے لیے درخواست کریں!
📝آرٹیکل سورس کوڈ (حکمت عملی کے پیرامیٹرز کو سورس کوڈ کے شروع میں پیرامیٹر سیکشن میں لچکدار طریقے سے سیٹ کیا جا سکتا ہے؛ ٹریڈنگ منطق کو بہتر بنایا گیا ہے)۔:دو طرفہ بیٹا ہیجنگ کی حکمت عملی
یہ مضمون صرف سیکھنے اور مواصلات کے مقاصد کے لیے ہے اور اس میں کوئی سرمایہ کاری کا مشورہ نہیں ہے۔
PS: کرپٹو دنیا میں فوری امیر ہونے کا کوئی یقینی طریقہ نہیں ہے۔ صرف رسک مینجمنٹ اور مسلسل اصلاح۔