Разработка системы расчета бета-коэффициента крипто-актива
Бета-коэффициент (β) измеряет чувствительность актива к движениям рыночного бенчмарка. В крипте бенчмарк — обычно BTC или общий рыночный индекс. β = 1.5 означает: при росте BTC на 10% актив исторически рос на 15%, при падении на 10% — терял 15%.
Расчёт бета
import numpy as np
import pandas as pd
from scipy import stats
def calculate_beta(asset_returns, benchmark_returns, window=None):
"""
Если window=None — расчёт по всему периоду
Иначе — rolling beta
"""
if window:
betas = []
for i in range(window, len(asset_returns)):
a = asset_returns.iloc[i-window:i]
b = benchmark_returns.iloc[i-window:i]
beta, alpha, r_value, p_value, std_err = stats.linregress(b, a)
betas.append({
'date': asset_returns.index[i],
'beta': beta,
'alpha': alpha,
'r_squared': r_value**2
})
return pd.DataFrame(betas).set_index('date')
else:
beta, alpha, r_value, _, _ = stats.linregress(benchmark_returns, asset_returns)
return {'beta': beta, 'alpha': alpha, 'r_squared': r_value**2}
Интерпретация в крипте
| Бета | Интерпретация | Пример |
|---|---|---|
| β > 1.5 | Высокая чувствительность к BTC | Small-cap altcoins |
| β ≈ 1.0 | Движется вместе с BTC | Large-cap L1 |
| 0 < β < 1.0 | Менее волатилен чем BTC | Stablecoin-adjacent |
| β < 0 | Обратная зависимость (редко в крипте) | Некоторые хедж-активы |
Adjusted Beta
Бета регрессирует к 1 (рыночному среднему) со временем. Adjusted Beta учитывает это:
Adjusted Beta = 0.67 × Historical Beta + 0.33 × 1.0
Alpha (Jensen's Alpha)
Из той же регрессии получаем α — доходность, не объяснённая рыночным движением. Положительный alpha = стратегия генерирует доходность сверх рыночного бета.
Применения
Portfolio beta management: целевой бета портфеля. Хочем β ≈ 0.8 → добавляем менее волатильные активы или уменьшаем allocation в высокобета позиции.
Market neutral: комбинируем longs и shorts так чтобы суммарный portfolio beta ≈ 0.
Pairs trading selection: ищем пары с похожим бета к BTC для stat arb.
Система рассчитывает rolling beta (30d, 90d, 252d), alpha, R² для заданного universe активов. Dashboard показывает таблицу с текущими бета значениями и их изменением за период.







