
Контроль рисков — это навык, которому должен научиться каждый инвестор. Столкнувшись с быстро меняющимся и развивающимся рынком цифровых валют, алгоритмическим трейдерам необходимо уделять особое внимание управлению рисками. Это связано с тем, что программная торговля часто автоматизирует сделки на основе исторических данных и статистических моделей, а на быстро меняющихся рынках эти модели могут быстро стать неточными. Поэтому эффективная стратегия управления рисками имеет решающее значение для защиты капитала инвесторов.
Среди множества инструментов управления рисками стоимость под риском (VaR) является широко используемым методом измерения риска, который может помочь инвесторам предсказать максимальный убыток, который может возникнуть в инвестиционном портфеле в нормальных рыночных условиях. VaR может количественно выразить риск в одном числе, упрощая оценку риска и позволяя инвесторам интуитивно понимать потенциальные потери.
VaR, или «стоимость под риском», используется для количественной оценки максимально возможных убытков, которые могут быть понесены в течение определенного периода времени и при определенном уровне достоверности. Другими словами, он сообщает инвесторам или риск-менеджерам: «Сколько у нас денег, которые находятся в «безопасном» диапазоне при нормальных рыночных условиях и не будут потеряны завтра». Например, если цифровая валюта 1-дневный 99 % VaR портфеля составляет\(10 000, что означает, что в 99% случаев мы ожидаем, что потери за один день составят не более\)10,000。
Легко понятьНапример, 95% VaR для криптовалютного портфеля за один день составляет\(5000, что означает, что существует 95% уверенность в том, что портфель не потеряет более\)5000. Количественно выражайте сложные риски, используя интуитивно понятные числа, понятные непрофессионалам. Конечно, это неизбежно вводит в заблуждение.
Стандарты сравнения: Предположим, что есть два портфеля A и B, и 1-дневный 95% VaR портфеля A равен\(3000, в то время как B\)6000. Это означает, что в нормальных рыночных условиях A менее рискован, чем B. Несмотря на то, что два портфеля содержат разные активы, мы можем напрямую сравнить их уровни риска. Соответственно, уровень инвестиций также может быть оценен. Если доходность стратегий A и B за последний месяц составляет обе$6000, а средние и максимальные значения VaR у A значительно ниже, чем у B. Мы можем сделать вывод, что стратегия A лучше и может обеспечить более высокую доходность при более низком уровне риска.
Инструменты принятия решений: Трейдер может использовать VaR, чтобы решить, следует ли добавлять новый актив в портфель. Если добавление новых активов значительно увеличивает VaR, это может означать, что риск новых активов не соответствует уровню толерантности к риску портфеля.
Игнорирование хвостовых рисков: Если 1-дневный 99% VaR портфеля составляет$10 000, то потери в этом экстремальном случае в 1% могут значительно превысить это значение. В сфере цифровой валюты часто случаются события типа «черный лебедь», а экстремальные ситуации превзойдут ожидания большинства людей, поскольку VaR не учитывает хвостовые события.
Предположения: Параметрический VaR обычно предполагает, что доходность активов распределена нормально, что редко соответствует действительности на реальных рынках, особенно на рынке криптовалют. Например, предположим, что портфель состоит только из биткоинов, мы используем параметр VaR и предполагаем, что доходность биткоинов распределена нормально. Но на самом деле, доходность биткоина может испытывать большие скачки в определенные периоды, и существует очевидный феномен агрегации волатильности. Например, если волатильность была очень высокой на прошлой неделе, вероятность значительной волатильности на следующей неделю значительно увеличится, что приведет к тому, что модель нормального распределения будет недооценивать риск. Существуют модели, учитывающие этот вопрос, например, GARCH, которую мы сегодня обсуждать не будем.
Историческая зависимость: Модель VaR опирается на исторические данные для прогнозирования будущих рисков. Однако прошлые результаты не всегда являются показателем будущих результатов, особенно на таком быстро меняющемся рынке, как рынок криптовалют. Например, если бы биткоин был очень стабилен в течение последнего года, метод исторического моделирования мог бы предсказать очень низкий VaR. Однако в случае внезапного изменения регулирования или краха рынка прошлые данные больше не будут служить надежным предсказателем будущего риска.
Существует три основных метода расчета VaR: Параметрический метод (дисперсионно-ковариационный метод): предполагая, что норма доходности подчиняется определенному распределению (обычно нормальному), для расчета VaR используются среднее значение и стандартное отклонение нормы доходности. . Метод исторического моделирования: не делайте никаких предположений о распределении доходности и напрямую используйте исторические данные для определения потенциального распределения убытков. Моделирование по методу Монте-Карло: используйте случайно сгенерированные ценовые траектории для моделирования цен на активы и расчета VaR на их основе.
Метод исторического моделирования Этот метод напрямую использует прошлые изменения цен для оценки возможных будущих потерь. Он не требует никаких предположений относительно распределения доходности и поэтому подходит для активов с неизвестным или аномальным распределением доходности, таких как цифровые валюты.
Если взять в качестве примера спотовую позицию по биткоину и рассчитать 95% VaR за 1 день для этого портфеля, то это можно сделать следующим образом:
Ниже приведен специальный код, который получает данные за последние 1000 дней и вычисляет, что VaR удержания одной позиции BTC в настоящее время составляет 1980USDT.
import numpy as np
import requests
url = 'https://api.binance.com/api/v3/klines?symbol=%s&interval=%s&limit=1000'%('BTCUSDT','1d')
res = requests.get(url)
data = res.json()
confidence_level = 0.95
closing_prices = [float(day[4]) for day in data]
log_returns = np.diff(np.log(closing_prices))
VaR = np.percentile(log_returns, (1 - confidence_level) * 100)
money_at_risk = VaR * closing_prices[-1] * 1
print(f"VaR at {confidence_level*100}% confidence level is {money_at_risk}")
При расчете VaR портфеля, содержащего несколько активов, необходимо учитывать корреляцию между активами. Если изменения цен между активами положительно коррелируют, риск портфеля увеличится; если они отрицательно коррелируют, риск портфеля уменьшится.
При расчете VaR с корреляциями методом исторического моделирования нам необходимо не только собирать историческую доходность каждого отдельного актива, но и учитывать совместное распределение доходности этих активов. На практике вы можете напрямую использовать историческую доходность портфеля для сортировки и расчетов, поскольку эта доходность уже подразумевает корреляцию между активами. На рынке криптовалют корреляция особенно важна. По сути, BTC является лидером рынка. Если BTC пойдет вверх, вероятность роста других криптовалют увеличится. Если BTC резко вырастет или упадет, настроения рынка могут быстро измениться, что приведет к Корреляции значительно возрастают за короткие периоды времени, что особенно часто случается во время экстремальных рыночных событий. Таким образом, метод исторического моделирования является полезным инструментом при рассмотрении VaR портфеля криптовалют. Для него не требуются сложные статистические модели, а только достоверные исторические данные, и он естественным образом учитывает корреляции между активами.
Если взять в качестве примера длинную позицию на 1 BTC и короткие позиции на 10 ETH, то согласно предыдущему методу можно рассчитать, что VaR коротких позиций на 10 ETH составляет 1219USDT. При объединении этих двух активов VaR рассчитывается следующим образом:
confidence_level = 0.95
btc_closing_prices = np.array([float(day[4]) for day in btc_data])
eth_closing_prices = np.array([float(day[4]) for day in eth_data])
btc_log_returns = np.diff(np.log(btc_closing_prices))
eth_log_returns = np.diff(np.log(eth_closing_prices))
log_returns = (1*btc_log_returns*btc_closing_prices[1:] - 10*eth_log_returns*eth_closing_prices[1:])/(1*btc_closing_prices[1:] + 10*eth_closing_prices[1:])
VaR = np.percentile(log_returns, (1 - confidence_level) * 100)
money_at_risk = VaR * (btc_closing_prices[-1] * 1 + eth_closing_prices[-1]*10)
print(f"VaR at {confidence_level*100}% confidence level is {money_at_risk}")
Результат — 970 USDT, что означает, что риск этой комбинации ниже, чем при удержании соответствующих активов по отдельности. Это связано с тем, что рыночные условия BTC и ETH сильно коррелируют, а эффект хеджирования комбинации длинных и коротких позиций снижает риск .
В этой статье будет представлен адаптивный метод оценки риска, а именно применение исторического моделирования при расчете VaR, а также способы учета корреляции между активами для оптимизации прогнозирования риска. В данной статье на конкретных примерах из рынка криптовалют объясняется, как использовать историческое моделирование для оценки риска портфеля, а также обсуждаются методы расчета VaR в случае значительной корреляции активов. Благодаря такому подходу программные трейдеры могут не только оценить максимальный убыток в большинстве случаев, но и быть готовыми к экстремальным рыночным условиям, что позволяет им более спокойно торговать и точнее реализовывать стратегии.