Оценка риска (VaR) для алгоритмического управления риском торговли
Оценка риска потерь для алгоритмической стратегии торговли, или портфеля стратегий, имеет чрезвычайно важное значение для долгосрочного роста капитала.
Мы будем применять концепцию VaR к одной стратегии или набору стратегий, чтобы помочь нам количественно оценить риск в нашем торговом портфеле.
VaR предоставляет оценку, при определенной степени достоверности, размера убытков от портфеля за определенный период времени.
В этом случае
Например, VaR, равный 500 000 долларов США при уровне доверия 95% в течение одного дня, просто указывает, что существует вероятность 95% потери не более 500 000 долларов США на следующий день.
P ((L≤−5,0×10^5) = 0,05 Или, в более общем смысле, для потери L, превышающей значение VaR с уровнем доверия c, мы имеем:
P ((L≤−VaR) =1−c
VaR широко распространен в финансовой отрасли, поэтому вы должны быть знакомы с преимуществами и недостатками этой техники.
Тем не менее, VaR не лишен своих недостатков:
VaR не следует использовать в одиночку, а всегда использовать вместе с набором методов управления рисками, таких как диверсификация, оптимальное распределение портфеля и разумное использование рычага.
На данный момент мы не обсуждали фактический расчет VaR, ни в общем случае, ни в конкретном примере торговли. Есть три метода, которые будут интересны нам. Первый - метод вариантно-ковариантности (с использованием допущений нормальности), второй - метод Монте-Карло (на основе базового, потенциально ненормального распределения) и третий известен как исторический загрузка, которая использует историческую информацию о доходах для рассматриваемых активов.
В этой статье мы сосредоточимся на методе вариантно-ковариантности, а в последующих статьях рассмотрим методы Монте-Карло и исторического загрузки.
Рассмотрим портфель из P долларов, с уровнем доверия c. Мы рассматриваем ежедневную доходность, с активом (или стратегией) историческим стандартным отклонением σ и средним μ. Затем ежедневный VaR по методу вариантно-ковариантности для одного актива (или стратегии) рассчитывается как:
P−(P(α(1−c) +1)) где α - обратная функция кумулятивного распределения нормального распределения со средним μ и стандартным отклонением σ.
Мы можем использовать библиотеки SciPy и panda из Python для расчета этих значений. Если мы установим P=106 и c=0.99, мы можем использовать метод SciPy ppf для генерации значений для функции обратного накопительного распределения до нормального распределения с μ и σ, полученных из некоторых реальных финансовых данных, в этом случае исторические ежедневные доходы CitiGroup (мы могли бы легко заменить здесь доходы алгоритмической стратегии):
# var.py
import datetime
import numpy as np
import pandas.io.data as web
from scipy.stats import norm
def var_cov_var(P, c, mu, sigma):
"""
Variance-Covariance calculation of daily Value-at-Risk
using confidence level c, with mean of returns mu
and standard deviation of returns sigma, on a portfolio
of value P.
"""
alpha = norm.ppf(1-c, mu, sigma)
return P - P*(alpha + 1)
if __name__ == "__main__":
start = datetime.datetime(2010, 1, 1)
end = datetime.datetime(2014, 1, 1)
citi = web.DataReader("C", 'yahoo', start, end)
citi["rets"] = citi["Adj Close"].pct_change()
P = 1e6 # 1,000,000 USD
c = 0.99 # 99% confidence interval
mu = np.mean(citi["rets"])
sigma = np.std(citi["rets"])
var = var_cov_var(P, c, mu, sigma)
print "Value-at-Risk: $%0.2f" % var
Вычисленное значение VaR дается:
Рискованная стоимость: $56510,29 VaR является чрезвычайно полезным и распространенным методом во всех областях финансового управления, но он не без недостатков.
В последующих статьях мы не только обсудим альтернативные расчеты VaR, но и обозначим концепцию ожидаемого дефицита (также известного как условная стоимость под угрозой), которая дает ответ на вопрос, сколько, вероятно, будет потеряно.