Автор: Александр Кургузкин (mehanizator).
Ernie Chan недавно предложил Variance Risk Premium как возможно значимый фактор для определения направления рынка. VRP считается как вмененная волатильность минус историческая. Я решил проверить этот фактор на значимость.
Я решил считать его несколько иначе, как логарифм отношения вмененной волатильности (VIX) и исторической в скользящем окне длиной 21 день — так данные получается более однородными. Будущие изменения цены нормализованны на эту историческую волатильность.
Поскольку историческую волатильность можно считать разными способами, я перепробовал несколько и нашел, что лучшие результаты получаются если считать ее как средний логарифм дневного диапазона с учетом гэпов. Стандартное отклонение дневных измерений, как это обычно бывает, работает хуже всего, но даже в этом случае результаты были значимыми.
Данные: SPY все имеющиеся дневные данные (Yahoo.Finance).
Корреляция VRP и будущего нормированного изменения цены: +0.053
Кросс-валидацию модели фактор успешно проходит, по итогам кросс-валидации корреляция получается несколько меньше, +0.039, но это все равно очень неплохо, учитывая, что обычно там получается +0.000.
Кросс-валидированная эквити стратегии, построенной исключительно на VRP факторе:
Годовой Шарп 0.82 против 0.63 для без-факторной модели (но с нормализацией на волатильность).
Издержки не учитывались.
Вывод: фактор работает, корреляция VRP с изменением цены положительная, то есть когда VIX выше локальной исторической волатильности, это скорее всего приведет к росту SPY. Можно понимать проще — VIX склонен осциллировать вокруг локальной исторической волатильности и на этом можно зарабатывать.
Автор: mehanizator
Комментарии:
ID: Я так понимаю 8% годовых , если без издержек.
dobrachev: У меня тоже из графика 8 % получилось.
mehanizator: что вы ерундой занимаетесь, никто не делает стратегии на единственном факторе.
Салимжан Бижанов: Александр, как Вы потом несколько факторов объединяете в 1 многофакторную модель?
Салимжан Бижанов: а паттерны (редкие шаблонные явления) Вы как-то включаете в многофакторную модель?
или только те факторы, у которых есть «полноценные» временные ряды данных?
ID: Просто для меня доходность главный фактор 🙂 . Если он устраивает переходим шарпам , а не наоборот.
mehanizator: Салимжан Бижанов: паттерны я не использую, но я думаю можно как-то из паттерна сделать полный временной ряд при желании. 0 0 0 1 0 0 …
как добавляю… ну, через запятую 🙂 просто еще один столбец в матрице добавляется.
mehanizator: ID это очень неправильно, нужную доходность можно подогнать плечом, а Шарп вы плечом не подгоните.
ID: Доходность подогнать плечом можно только с доп. риском , а значит это будет другая доходность 🙂 Не сравнимая с начальной.
mehanizator: отношение доходности к риску это и есть шарп.
ID: Что есть шарп не имеет отношение к теме. Есть утверждение — про 8% годовых , которые не изменить никаким плечом и шарпом 🙂
mehanizator: берите плечо вдвое больше, будет 16%
кстати, я закладывал келли 0.25. можете поднять келли до 1, будет 32%.
mehanizator: но я к тому, что все равно в окончательной системе будет 2-3 фактора, и соответственно доходности и шарпы другие
ID: Если модель даёт 2% , то плечо 1:10 , не принесёт 20% , как и удвоение плеча на 8% не принесёт 16% . Риски разные.
dobrachev: Да, по поводу того, что всё нужно сравнивать сравнивать по шарпу — это ,конечно, очень правильное замечание.
Салимжан Бижанов: «как добавляю… ну, через запятую 🙂 просто еще один столбец в матрице добавляется.»
Александр, вы наверное меня не совсем поняли.
У вас есть набор значимых факторов х1, х2, х3 …хn. и есть ряд, который вы прогнозируете y.
есть 2 подхода:
1. разделить капитал на n частей и торговать n однофакторных моделей.
2. сформировать одну n-факторную модель (линейную или нелинейную неважно). самый простой пример линейной модели: y=a*x1+…+z*xn.
Вопрос: как вы определяете коэффициенты для каждого фактора в модели?
mehanizator: у меня модели линейные, так что делить или не делить — получится одинаково.
коэффициенты определяются инкрементальным процессом, не помню как он обычно называется в data mining, в общем когда наращиваются пошагово коэффициенты с проверкой после каждого шага.
Григорий Исаев: Ernie Chan ничего в этом плане не придумал, это все уже 10 лет как в академии описано.
Kent: «Корреляция VRP и будущего нормированного изменения цены: +0.053»
это отсутствие связи по сути
и даже если это опечатка, правильно +0.53 то по сути это пограничная зона между присутствием и отсутствием закономерности, т.е. не стоит на эту закономерность надяться, имхо
mehanizator: 0.05 это нормальная, рабочая корреляция для долгосрока
0.5 таких корреляций между прошлым и будущим на ценах не бывает, это из области фантастики.
возможно вы путаете корреляцию с вероятностью.