Type/to search
2
Follow
475
Followers
Надежный способ быстро разбогатеть на криптовалюте? Правда из популярных постов на Zhihu и реальные результаты тестирования.
Discussions
Created 2026-01-08 15:11:50  Updated 2026-01-23 10:48:21
 2
 600

img

Источник: Казалось бы, прекрасная мечта об арбитраже.

Недавно я наткнулся на пост на Zhihu с очень заманчивым заголовком: «Надежный способ быстро разбогатеть в мире криптовалют: от 3000U до 12000U за три месяца».

Я просто рассмеялся. Стабильный? Быстро разбогатеть? Сочетание этих двух слов обычно означает одно из двух: либо это мошенничество, либо вы человек, который еще не сталкивался с «черным лебедем».

Однако, будучи разработчиком количественных торговых стратегий, я все же не смог удержаться и, увидев описание этой стратегии, заглянул внутрь.

Согласно этой теории, утверждается следующее:

  1. **BTC — лидер в мире криптовалют.**Колебания его цены определенно сильнее, чем у его более мелких аналогов (ETH, SOL и т. д.).
  2. Бычий рынок началсяБиткоин стремительно растёт → Откройте длинную позицию по BTC и короткую по ETH → Получите прибыль от разницы в цене.
  3. Медвежий рынок наступилЦена BTC резко падает → Открытие короткой позиции по BTC + открытие длинной позиции по ETH → По-прежнему верный способ получить прибыль от разницы цен.

img

Прочитав это, я погрузился в глубокие размышления...

Кажется, возможно, вероятно, надежда, желание, может быть, в этом есть какой-то смысл?

Первая версия кода: Наивное начало

Итак, без лишних слов, давайте откроем платформу количественной оценки изобретателей и начнём!

Простейшая логика:

javascript
// 伪代码 if (btcChange > 2%) { 开多 1BTC 开空 1ETH }

Закончив писать код, я уверенно нажал на кнопку тестирования, и затем...

Первый бэктест

Мы теряем деньги одну за другой.

Наблюдая за стремительным падением кривой доходности акций, я впал в глубокое сомнение в собственных силах.

Код второго издания: Научное хеджирование

В чём заключалась проблема? Искусство хеджирования с использованием коэффициента бета.

Если спокойно об этом подумать, проблема очевидна:

1 лот BTC ≠ 1 лот ETH

В настоящее время BTC стоит 100 000 долларов, в то время как ETH стоит всего около 3000 долларов. Если вы используете соотношение 1:1 для хеджирования, это не хеджирование, а потеря денег.

При разработке эффективной стратегии хеджирования необходимо учитывать следующие факторы:

  • Соотношение цен:BTC/ETH ≈ 30:1
  • Разница волатильностиКорреляция доходности между двумя
  • Номинальная стоимость контрактаБессрочный контракт OKX в BTC равен 0,01 BTC, а бессрочный контракт в ETH равен 0,1 ETH.

Полная реализация бета-хеджирования

Этот код является основным вычислительным механизмом стратегии, который полностью реализует расчет коэффициента Бета ETH относительно BTC. Коэффициент Бета здесь представляет собой два ключевых элемента информации: соотношение базовых цен и корреляцию волатильности, которые напрямую определяют долю, которую необходимо хеджировать.

javascript
// 计算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 }

Основные функции и логика

  1. **Проверка и обработка данных, а также анализ их деградации.**Проверьте, достаточно ли исторических данных; если нет, используйте соотношение текущих цен напрямую, чтобы гарантировать постоянную работоспособность стратегии.
  2. Расчет рядов доходностиПреобразование данных о ценах в доходность исключает влияние абсолютных значений цены, что делает активы, торгующиеся по разным ценам, сопоставимыми.
  3. Основные вычисления для статистического анализа
    • Ковариация: Измеряет направление и силу корреляции между доходностью BTC и ETH.
    • дисперсия: Измеряет волатильность самой доходности BTC.
    • Доходность БетаCov(ETH,BTC) / Var(BTC)Это указывает на чувствительность доходности ETH к изменениям доходности BTC.
    • Коэффициент корреляцииСтандартизированная ковариация отражает степень линейной корреляции.
  4. Комплексный бета-синтезИтоговый коэффициент Бета = Историческое среднее соотношение цен × Коэффициент Бета доходности. Этот коэффициент учитывает как разницу в цене базового актива (например, BTC в 30 раз дороже ETH), так и разницу в волатильности (например, волатильность ETH в 0,8 раза выше, чем у BTC). Например, если соотношение цен равно 30, а коэффициент Бета доходности равен 0,8, то итоговый коэффициент Бета равен 24, что означает, что для хеджирования 1 BTC требуется 24 ETH.
  5. Механизмы контроля рискаУстановите разумные ограничения на значение бета-коэффициента, чтобы предотвратить расчет необоснованных коэффициентов хеджирования из-за краткосрочных экстремальных рыночных условий.

После выпуска бета-версии возникла необходимость преодолеть разрыв между теорией и реальностью, преобразовав теоретические коэффициенты в фактические торгуемые величины на бирже. Эта часть кода выполнила это важнейшее преобразование.

javascript
// 计算对冲张数 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 } }

Ключевые этапы преобразования

  1. Определите размер базовой позицииУстановите базовое значение в BTC (например, 0,1) в зависимости от конфигурации, которое будет служить «якорем» для всего хеджирующего портфеля.
  2. Теоретический расчет стоимости монетыТеоретическое количество ETH = Базовое количество BTC × Коэффициент бета.
  3. конвертация номинальной стоимости контрактаНаиболее важным практическим шагом является деление теоретического количества монет на «стоимость контракта» (CtVal) каждого контракта. Например, один контракт BTC может представлять 0,01 BTC, а один контракт ETH — 0,1 ETH, таким образом получая количество контрактов.
  4. ИнтеграцияОкругление в меньшую сторону гарантирует, что сделки совершаются целыми контрактами, как минимум, одним контрактом. Одновременно с этим, доля фактически совершенных сделок рассчитывается в обратном порядке для последующих точных расчетов прибыли и убытков.

Логика открытия и закрытия

В этом разделе рассматриваются реализация стратегии и контроль рисков, преобразование рассчитанного плана хеджирования в реальные торговые операции и управление рисками. Логика входа иллюстрируется здесь на примере длинной позиции; короткую позицию можно понять аналогичным образом.

Проектирование условий срабатыванияСистема использует двойное условие: рост цены BTC > 2% и рост цены BTC > рост цены ETH. Это обеспечивает достаточную волатильность рынка и сохранение ожидаемой зависимости относительной силы.

javascript
// 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)) }

Атомарное выполнение транзакцийИсполнение происходит последовательно и включает механизм отката. Сначала открывается длинная позиция в BTC; в случае успеха открывается короткая позиция в ETH. Если ордер на ETH не срабатывает, немедленно закрывается существующая длинная позиция в BTC, чтобы обеспечить целостность позиции и избежать одностороннего риска.

Ниже приведена демонстрация логики закрытия:

Прибыль и убытки, рассчитанные по валютеОбщая прибыль и убыток по двум позициям рассчитываются на основе количества открытых монет, и определяется общий эффект хеджирования.

  • Прибыль/убыток по длинной позиции в BTC = (текущая цена - цена открытия) × количество удерживаемых BTC
  • Прибыль/убыток по короткой позиции по ETH = (цена открытия - текущая цена) × количество удерживаемых ETH

Настройки пороговых значений контроля рисковОценивается общая эффективность портфеля, и устанавливаются асимметричные линии фиксации прибыли (+3%) и стоп-лосса (-1%) для достижения положительного ожидаемого значения.

javascript
// 按币数计算盈亏 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 месяца:

Результаты деятельности фонда

  • Начальный капитал: 50 000 долларов США
  • Итоговая сумма собственного капитала: 51 095 долларов США.
  • Общая доходность: приблизительно 2,2%
  • Максимальная просадка: Держитесь в разумных пределах.

Статистика транзакций

  • Количество возможностей для фиксации прибыли: 6
  • Количество стоп-лосс ордеров: 14
  • Процент выигрышей: 30%

Истинный вывод

После тщательного тестирования на исторических данных эта стратегия была подтверждена:

✅ Теоретически осуществимые части:

  1. Действительно, бета-хеджирование может снизить односторонний риск.
  2. Изменение соотношения цен создает возможности для арбитража.
  3. Стоп-лосс и тейк-профит могут защитить прибыль.

⚠️ Реальные проблемы:

  1. Низкая доходностьРентабельность составила всего 30%, а совокупная доходность за три месяца — 2,2%, что далеко от заявленной в публикации четырехкратной доходности.
  2. **Возможностей открыть вакансию немного.**Порог в 2% ограничивает частоту открытия позиций.
  3. Комиссии за транзакциюЧастое открытие и закрытие позиций приведет к тому, что значительная часть прибыли будет поглощена.
  4. Риск проскальзыванияРезультаты реальной торговли могут быть хуже, чем результаты тестирования на исторических данных.
  5. Экстремальные рыночные условияЕсли одновременно произойдет скачок/снижение стоимости BTC и ETH, механизм хеджирования потерпит неудачу.

🔍 Области для оптимизации:

  1. Многовалютная ротацияОн может хеджировать не только ETH, но и SOL, BNB и т.д.
  2. Динамическая убыльКорректировка пороговых значений входа в зависимости от волатильности
  3. Остановить потерю охлажденияНе открывайте новую позицию сразу после размещения стоп-лосса.
  4. Хеджирование волатильности ДельтаПомимо коэффициента бета цены, можно также рассмотреть хеджирование волатильности.
  5. Управление деньгамиДинамическая корректировка коэффициента достаточности капитала для каждой открытой позиции.

В заключение: значение количественного анализа.

В этом и заключается привлекательность количественной торговли:

Начните с идеи → Напишите код для её реализации → Проведите тестирование для проверки → Оптимизируйте и улучшите

Стратегия, изложенная в той статье на Zhihu, была разумной, но дьявол кроется в деталях:

  • Без бета-хеджирования это просто ставка на направление движения цены.
  • Без механизма контроля рисков это все равно что бегать голым.
  • Без проверки на исторических данных это всего лишь пустые мечты.

Настоящая количественная торговля предполагает проверку каждой идеи данными, реализацию каждой стратегии с помощью кода и запись каждой сделки.

Если у вас есть идея, вам следует её проверить.

Код находится в конце статьи. Можете смело запускать, изменять и оптимизировать его самостоятельно.

Если вам интересно, я могу продолжить писать позже:

  • Стратегии хеджирования на основе дельты волатильности
  • Внедрение многовалютной ротации
  • Оптимизация управления фондами и контроля рисков.

Не стесняйтесь ставить лайки, оставлять комментарии и просить больше обновлений!

📝Исходный код статьи (параметры стратегии можно гибко задавать в разделе параметров в начале исходного кода; торговая логика оптимизирована).Двусторонняя стратегия хеджирования бета-коэффициента


Отказ от ответственности

Данная статья предназначена исключительно для обучения и обмена информацией и не является инвестиционной рекомендацией.

P.S.: В мире криптовалют нет гарантированного способа быстро разбогатеть; есть только управление рисками и постоянная оптимизация.

Comment
All comments (2)

    老师,多币种轮动吧

    5 months ago

    这个不太适合轮动

    5 months ago
  • 1
iPhone Download
Forums
PINE Language
© 2015 - ∞ INVENTOR PTE LTD (SG)