Пояснения по инвертированным циклам (Cyclical Protocol)

Oct 21, 2020 18:30


От автора программы:

Начиная с конца сентября  момента, мы начинаем на серьезном уровне работать с инвертированными циклами по проекту Cyclical Protocol (используется модуль Trading Spectrum), кое-какие пояснения по этому поводу.

Во-первых, вот определение инвертированного цикла. Это выглядит так:



Вы видите здесь два вейвлета: первый - обычный вейвлет, а второй - инвертированный вейвлет. Начиная с какой-то точки циклическая волна инвертируется, то есть вместо вершин цикла у нас получается дно рынка, и наоборот. Вы также можете определить инвертированный цикл таким образом - это цикл, где в какой-то момент его фаза сдвигается на 180 градусов (благодаря тригонометрической формуле sin(x) = - sin(x) и cos(x)=-cos(x)).



Долгое время я не принимал перевернутые циклы. Ситуация изменилась с появлением в программе модуля Q-Spectrum; этот модуль определенно показал, что инвертированные циклы существуют и работают на рынке. Следующим шагом будет применение этих циклов для построения прогноза. Подход, который сейчас имеется в  Q-Spectrum, не очень хорош, поскольку мы пытаемся применить классические циклические формулы к неклассической сущности. Вот почему эти функции помечены как “use at own risk” (“использование на свой страх и риск”) в  Q-Spectrum:



В течение последних нескольких недель я интенсивно тестировал эту идею. Главный результат: инвертированные циклы действительно существуют в финансовых данных; это не ошибка в программе и не какой-то статистический артефакт. Это реальность, которую мы должны принять. Я провел много перекрестных тестов, исключив все возможные (я надеюсь) артефакты.

Более того, в большинстве случаев лучше работают именно инвертированные циклы. Я провел свое исследование для 12 различных финансовых инструментов, и инвертированные модели работают для 10 из них, в то время как только для 2 инструментов (индекс доллара и сырая нефть) НЕинвертированные циклы работают лучше.

Другой результат (довольно ожидаемый) -  Q-Spectrum работает лучше, чем классический  Spectrum (8 против 4).

Следующий результат - будьте осторожны, используя инвертированные циклы, выявленные  Q-Spectrum. Я имею в виду эти циклы, что помечены как “для использования на свой страх и риск” в модуле Q-spectrum:



Бэктестинг показывает, что здесь эти циклы работают только для двух инструментов (AAPL и EUROUSD).

Бэктестинг показывает, что здесь лучше работать с этими “положительными” циклами (не в отрицательной области, как в предыдущем случае), а затем инвертировать их (именно эти полученные положительные циклы):



Я пока не понимаю, почему это так работает. Мне кажется, это происходит потому, что время жизни инвертированного цикла очень короткое (1-2 цикла) => и когда  Q-Spectrum обнаруживает этот цикл, он уже мертв.

Следующий результат - игра с количеством овертонов и FSM не сильно меняет результаты. Это хорошая новость, действительно хорошая, так как мы можем пропустить эти параметры и ускорить бэктестинг.

Вот таблица из Excel с результатами бэктестинга из модуля Trading Spectrum:



Чтобы вычислить эту таблицу, мне понадобился целый день. Поэтому после каждого раунда тестов мне приходилось делать эту таблицу. Затем было обнаружено что-то неправильное (какой-то артефакт), и мне пришлось переделывать это снова. Эта рутина может показаться чрезвычайно скучной, но она должна быть выполнена.

Я записал видео “как это сделать”. Посмотреть его можно здесь: Модуль Trading Spectrum, Cyclical Protocol (обновление от 28.09.2020) Но перед этим есть несколько замечаний:

  1. Это трудоемкая работа. Чтобы найти лучшие модели только для одного финансового инструмента, вам нужно 5-6 часов расчетов.
  2. Если вы решите это сделать, пожалуйста, пришлите мне свои результаты в группу. Это очень важно для дальнейшего анализа.
  3. Этот модуль имеет много возможностей для улучшения; шаг за шагом мы будем делать это.

[модуль Q-Spectrum], [Циклический анализ в Timing Solution], [Пример создания модели], [Инвертированные циклы в Timing Solution, [модуль Trading Spectrum]

Previous post Next post
Up