Избранное трейдера yuryss
Часть 2.
В прошлой части мы подбирали такую комбинацию статистических оценок динамики акций, которая давала нам возможность стабильно выбирать портфель акций лучше среднерыночного, с показателем Шарпа на 26% выше индексного.
Мы также пробовали составлять портфель из портфелей и портфель на основе портфеля оценок, но в силу высокой линейной зависимости оценок и полученных на них портфелей друг от друга Bagging ожидаемо не дал никакого результата.
Тем не менее, этот важный этап подготовительных работ – построение портфеля (или композиции портфелей) на простых, статистических оценках дал нам некоторую отправную точку, относительно которой мы будем рассматривать эффективность всех наших последующих нововведений.
Рис. 6. Иллюстрация динамики волатильности акций США, входящих в состав индекса S&P 500.
Основную проблему стандартных методов мы видим в том, что они разработаны для стационарных стохастических процессов, в то время как любые финансовые (а зачастую природные, биологические и др.), временные ряды имеют нестационарную природу. Так, например, широко известно, что логарифмическое изменение стоимости акций является нестационарным процессом со склонностью к консолидации (кластеризации) волатильности.
Процент растущих дней: 50.01%.
Средний возврат дня: 0.023%
Процент растущих дней, если предыдущий 1 день падал: 40.71%
Процент растущих дней, если предыдущий 1 день рос: 59.72%
Как оценивать систему? То есть предположим, что уже есть система, на тестере. Есть важные показатели стратегии, есть не очень. Прибыльность, максимальный дродаун, максимальный период просадки – это всем понятно. Менее очевидно, но важны: средняя прибыль на сделку и профит-фактор. Если тестер показал меньше определенных значений, торговая система не работает. И неважно, какая там прибыль. Вообще неважно, хоть 500% годовых.
Средняя прибыль на сделку важна, потому что это показатель хрупкости системы.
Если у вас на стадии теста средняя прибыль вышла 0.02% на сделку, это, весьма вероятно, приговор. В конкретных цифрах это, например, средняя прибыль в 10 единиц с контракта ценой 50000 единиц. Такая прибыль висит на соплях. Если чуть подует ветерок – повысятся комиссии, спреды, чуть изменится рынок – она опрокинется. При этом тестер может нарисовать вам любую прибыль, но вы должны быть умнее его. Начиная от 0.1% уже терпимо для гиперликвидов (на Московской бирже последние десять лет это были фьючерсные контракты на доллар и индекс РТС, сейчас еще брент). Проверял – терпимо, работает. На менее ликвидных инструментах показатель должен быть сильно больше.
Последние что мы сделаем с нашими ценами. Зададим лимиты по волатильности. Я постараюсь сделать график РИ, дневной, с настоящими характеристиками. После чего мы сможем проверить на нем различные стратегии.
Мы используем хорошо забытую методику имени Орнштейна-Уленбека. В общем, это основа, из которой все понемногу брали и почетные имена забыли. Качаем файл и смотрим формулу:
https://cloud.mail.ru/public/2TTp/33yg8KSna
Это дифур и его решение. Где х(t) это наша искомая волатильность на следующий день. При этом мы получаем три члена. Альфа «а», которая отвечает за среднее значение и уровень притяжения. Битта «б», отвечает за скорость этого «притяжения» и сигма за границы «коридор». Если вы, когда ни будь, слышали такое название «компрессор лимитер», то это оттуда. На листе «ОУ» видны свойства этой формулы. У нас есть некий ряд со средним 5,6. Мы можем задать альфу 5,6 и битту 0,5. Мы получим ряд со средним 5,6, но более «сплоченную» вокруг среднего значения. Чем больше у нас битта, тем ближе мы к среднему значению. Можете поменять цифры в зеленой зоне и посмотреть, кто за что отвечает.
Описание и тестирование в программе Wealth-Lab первых двух роботов я уже приводил. Вот соответствующие ссылки:
Тестирование рабочей свечной модели на исторических данных
Тестирование модели CandleMax в программе Wealth-Lab
Индикатор PVV (price/volume/volatility)
Тестирование робота PVVI в программе Wealth-Lab
Сейчас настало время дать краткое описание и привести тестирование в программе Wealth-Lab третьей торговой системы, которая у меня сейчас в работе.
Торговая система AVP (average volume/price) не является свечной моделью, как CandleMax, и не основана на красивой математической формуле, как система PVVI. Из трех моих спекулятивных роботов, робот AVP выдает сигналы реже всех. Тем не менее, результативность этого робота практически совпадает с результативностью робота PVVI, лишь совсем немного ей уступая.
Давайте соберем цену, потом разберем цену и сравним. Все будет производиться на ваших глазах в экселе. Файл, которого я прикладываю. ФАЙЛ https://cloud.mail.ru/public/27GB/5ipstzGrY .(в зеленые области вы будите вписывать разные цифры). Проверку на гетероскедастичность мы будем делать методом максимального правдоподобия. Во я загнул. Если просто. Мы возьмем две, хорошо известных нам стратегии и будем их прогонять на каждом шаге создания графика цены. Первая стратегия. Увеличение лота на один при убытке. Принцип опциона. И если у нас случайный процесс, то должно получаться 50/50. И удвоение позиции. Принцип мартингейта. И если у нас случайный процесс у=x^2, то у^2=x, мы всегда в плюсе. Давайте по шагам.
Шаг первый, лист W
Сгенерируем случайные числа. В экселе есть функция =случмежду(0;1). И 0 переведем в -1, а 1 в 1. У нас получился простой бинарный ряд из 1 и -1. Возьмем 100 таких цифр. Теперь посчитаем их сумму нарастающим итогом. К сумме предыдущей прибавить следующее (Total). И построим график изменения этой суммы. Назовем это «геометрическое Броуновское движение». Тогда, сумма всех случайных числе будет равна точке, куда пришел наш график. А сумма всех случайных чисел в квадрате, будет равна пройденному пути. А если каждый шаг происходит за 1 секунду. То это, одновременно, и время. И мы должны получить следующую зависимость. Берем 100, извлекаем корень квадратный и получаем 10. И это одно стандартное отклонение. И есть теорема, которая доказывает, что 68% траекторий будут заканчиваться в диапазоне от -10 до +10. Вы можете это проверить сами. В графе ТЕСТ введите число. Если сумма средних от -10 до +10, ставим 1, если больше 0. У вас будет получаться среднее 0,7, в среднем. То есть в 3 случаях из 10 мы будем выскакивать из -10 +10. И это уже не 50/50 вверх или в низ. Это уже 30/70.