Автор: Александр Кургузкин (mehanizator).
Иногда бывает полезно иметь модель для оценки будущей волатильности. Будущая волатильность нужна для оценки рисков, дисперсии портфеля, для опционного оценщика. В первую очередь встает вопрос — какие параметры добавлять в эту модель, иными словами — от чего будущая волатильность может зависеть?
Ну первая идея — будущая волатильность является отражением текущей волатильности плюс-минус сколько-нибудь. Ок, но тогда встает второй вопрос — а как считать текущую волатильность? После некоторых размышлений мне пришло в голову пять вариантов, и в этом посте мы проверим их на корреляцию с будущей волатильностью.
Однако сперва хочу заметить, что волатильность — величина, определенная на ограниченном пространстве, она не может быть отрицательной. Значит скорее всего она логарифмически распределена и для исправлении этой несправедливости нам нужно рассматривать в качестве значений не саму волатильность, а ее логарифм. Логарифм, понятное дело, определен от -бесконечности до +бесконечности и распределен скорее всего нормально, стало быть линейные модели должны работать ок.
Да, кстати, далее там, где говорится «изменение цены», имеется в виду логарифм отношения цен.
Итак — как определить текущую волатильность?
1. Среднеквадратичное изменение цены за N предыдущих дней (vol.N).
2. Среднее абсолютное изменение цены за N предыдущих дней (norm.N).
3. Средний дневной диапазон ln(HIGH/LOW) за N предыдущих дней (range.N).
4. Средний полный с учетом гэпа дневной диапазон ln(max(HIGH, CLOSE(-1)) / min(LOW, CLOSE(-1)) за N предыдущих дней(frange.N)
5. Текущий VIX.
Берем данные за S&P 500 с 1994 года и считаем все эти оценки для Npast = 8,16,32,64, также считаем будущую волатильность (в варианте 1) для Nfut = 8, 16, 32, 64
Получаем матрицу корреляций:
future.8 future.16 future.32 future.64
vol.8 +0.71074 +0.72100 +0.70608 +0.66862
norm.8 +0.71144 +0.72110 +0.71100 +0.67373
range.8 +0.77017 +0.78282 +0.76287 +0.71953
frange.8 +0.77169 +0.78475 +0.76526 +0.72284
vol.16 +0.72382 +0.74024 +0.73061 +0.69686
norm.16 +0.72414 +0.74176 +0.73733 +0.70499
range.16 +0.75838 +0.77419 +0.76263 +0.72504
frange.16 +0.75919 +0.77543 +0.76442 +0.72812
vol.32 +0.71761 +0.73946 +0.73722 +0.70503
norm.32 +0.72059 +0.74373 +0.74380 +0.71278
range.32 +0.73287 +0.75528 +0.75212 +0.71720
frange.32 +0.73332 +0.75609 +0.75349 +0.72028
vol.64 +0.69149 +0.72041 +0.72088 +0.69065
norm.64 +0.69170 +0.72135 +0.72357 +0.69473
range.64 +0.69470 +0.72280 +0.72315 +0.69159
frange.64 +0.69498 +0.72348 +0.72468 +0.69529
vix +0.78607 +0.80222 +0.78486 +0.74188
Пристально вглядываясь в матрицу корреляций, замечаем, что VIX рвет все остальные варианты как тузик промокашку. Вторые по силе корреляции все как один frange.
Резюме
Для оценки будущей волатильности достаточно взять в модель один параметр — текущий VIX. Но если очень хочется два, можно взять еще историческую волатильность, посчитанную по варианту frange для числа баров (на глазок) Npast = sqrt(8 * Nfut)
Автор: mehanizator
Комментарии:
Yaroslav Alexeev: «Ну первая идея — будущая волатильность является отражением текущей волатильности плюс-минус сколько-нибудь.»
Первая идея посмотреть на кривую фьючерсов VIX на www.vixcentral.com 🙂
mehanizator: ну так VIX это один из вариантов оценки текущей волатильности.