Так что, спрогнозировать таки можно?

  • Автор темы Forecseen
  • Дата начала

Forecseen

New member
Другие истории
Начиная с версии 8.9 количество тестируемых стратегий увеличилось в 3 раза и составило 192 штуки.
К 8-и независимым вариантам ограничений по убыткам (Stop) и 8-и по прибыли Limit комбинируемым во всех сочетаниях добавлены два варианта закрытия-открытия сделок.
До сих пор все стратегии предполагали единый принцип так называемых блокированных сделок. Т.е. в зависимости от совета Новичка производилась покупка/продажа, выставлялись ограничения и срок сделки. Если достигались ограничения то сделка закрывалась по достигнутому ограничению. Если нет то по текущему курсу в конце срока. Последующие сделки не влияли на предыдущие, т.е. все сделки блокировались и не менялись до закрытия.
Две новые стратегии рассматривают варианты неблокированных сделок. Такие сделки гораздо чаще используются в торговле поскольку обеспечивают динамичное управление, но настолько ли они лучше?
В новых двух стратегиях история исследуется на основе таких неблокированных сделок. Каждая последующая сделка изменяет общее состояние счёта, количество проданной или купленной валюты в зависимости от направления предыдущей сделки, наличия на счёте и текущего совета программы.
Самый простой случай когда сделка еще не заключена, но программа советует покупать или продавать. Тогда просто заключается единичная сделка (покупается или продаётся единица валюты) и устанавливаются границы прибыли и убытков.

Если сделка уже заключена ранее и за текущий период (Tick) достигнуты границы, сделка закрывается с фиксацией прибыли или убытка.
Если сделка еще не закрылась и программа советует ждать – сделка не меняется.
Если программа советует новую сделку когда старая еще не закрыта то:
В случае совпадения направления нового совета со старой сделкой, т.е. например если предыдущей была покупка и предлагается снова покупка то первая из новых стратегий оставляет купленную сумму неизменной, но меняются ограничения stop-limit в соответствии с новым, уточненным советом. Вторая из новых стратегий производит дополнительную покупку по текущему курсу увеличивая общее количество купленного актива. Ограничения stop-limit также заменяются на новые.
Аналогично в случае совета продавать при наличии уже проданного актива.
Если совет противоположен уже заключенной сделке то по первой стратегии сделка закрывается по текущему курсу, а по второй стратегии сделка реверсируется по текущему курсу на 2 единицы.
Прогон на сделках с суточным периодом, на протяжении 5-лет предварительно показал, что суммарная прибыль по оптимальной стратегии уменьшилась примерно в 2 раза, но и колебания прибыль-убыток стали гораздо меньше, что позволяет делать ставки с большим плечом.
Полный баланс для всех случаев пока не готов, поскольку для каждой метастратегии существует своя подстратегия и оптимальная настройка. А это требует некоторого времени ;)
 

Forecseen

New member
Небольшая помощь тем, кто совсем не любит графики.
Режим "nograph" выдаёт только советы что делать (покупать, продавать, ждать) и по установке предела прибыли и ограничения убытков по любой из 64 стратегий
 
Последнее редактирование:

Forecseen

New member
Версия 9f

Самый главный плюс и немного о версии 9-х
Чем же всё-таки данный Советник отличается от десятков (сотен, тысяч?) уже существующих на рынке? В чём его главное преимущество?
Придётся повториться. Если остальные советники просто дают совет на основе заложенного алгоритма или не дают совета, а предоставляют (мало)внятную информацию
о волне-N, уровне сопротивления и т.п. то данный Советник не только выдаёт чёткий и понятный прогноз, но и учится!
Причём уровней обучения несколько.
Чтобы понять и оценить придётся немного углубиться.
Всем известны основные способы обработки информации с целью формирования прогноза. Дедукция, индукция, анализ, синтез. Желающие могут
сбегать в википедию для подробностей.
В основе работы данного Советника лежит принцип моделирования.
Создаётся математическая модель максимально отвечающая поведению рынка в части выбранных показателей за прошедший период и затем определяются эти показатели в недалёком будущем.
И опять же возникает главный вопрос - насколько верен прогноз?
Понятно, что ответ на него можно тоже только спрогнозировать.
На основе чего?
Первое это базовые принципы моделирования. Но тут ничего особо нового. То, что рынок подчиняется набору периодических (волновых) колебаний плюс некие шумы
(или тоже колебания, но неопределенные) более менее известно давно.
Про волны Эллиота не слышал только совсем ленивый. Итак с базой понятно. Это совокупность затухающих периодических процессов с некими, пока неизвестными параметрами.
(Кстати Эллиот когда-то подобрал один набор эмпирически, но...мир меняется)
Подбирать эмпирически новые коэффициенты ...можно и Советник это позволяет, вот только стоит ли?
Если он умеет это делать сам.
Итак, уровень первый. Построение модели мира.
На самом простом, первом уровне подбирается такая модель, которая при минимальном наборе колебательных составляющих отражает изучаемый (прошлый) интервал
максимально точно. Математику опустим. Т.е. находятся существующие волны, их периоды и коэффициенты затухания.
Когда находится модель максимально отражающая прошлое, она просто экстраполируется вперед, на заданный интервал.
В общем случае даже на одном наборе данных можно построить множество моделей дающих несколько разные прогнозы, но важно то, что даже на этом этапе уже получается вероятность верного
предсказания выше 50%.
Для примера прогноз первого уровня по курсу Газпрома на 24 дня по дневным тикам на базе истории предыдущих 4 месяцев.. До пересечения жёлтых линий (отметка "0" на шкале) - исторические данные, далее прогноз. Фактические данные красной и синими линиями


NT.jpg
Пусть не намного (конкретно будет зависеть от многих факторов), но выше и теоретически данный подход может начать приносить прибыль.
Вернее мог бы теоретически если бы не одно "но". Прибыль была бы гарантирована при отсутствии спрэда и комиссионных. А они есть и небольшое превышение вероятности прогноза над 50% уже ничего не гарантирует.
Как повысить вероятность?
Очевидно, что из множества моделей выбрать наиболее адекватные. Но как?
Обучая систему делать подобный выбор.
Уровень второй. Простое обучение. Ну, точнее имеется два варианта, но один из них промежуточный между 1 и 2 уровнями.
Режим обучения включается отметкой "Forecast training"

Dial2.jpg
Принцип тоже прост. На отрезке ближайшей истории берется отрезок для построения модели первого уровня и следующий за ним участок для проверки правильности прогноза по этой модели.
Советник строит модель, делает прогноз, сравнивает его с фактическим результатом, корректирует модель, делает новый прогноз, снова сравнивает с фактическими данными (теми же) и так до тех пор
пока прогноз не перестанет улучшаться. Тогда полученная модель считается натренированной и по ней уже делается прогноз с использованием полного набора последних данных.
Результат промежуточного обучения
T.jpg

Результат полного обучение второго уровня

FT.jpg

При построении модели первого уровня без обучения прогноз (данные после жёлтой вертикальной линии) показывает постепенный рост до 160 руб/акцию.
Модели второго уровня дают несколько иной результат
Промежуточный вариант показывает сначала спад до 145 руб/ак, затем некоторые колебания и рост до 165
Вариант с полной тренировкой второго уровня прогнозирует падение до 146 и рост до 160
Если взглянуть на фактические данные (синии и красная линия за отметкой "0" и жёлтыми границами), которых Советник не знал,

GazpIsx.jpg

то довольно ожидаемо лучший прогноз дало полная тренировка второго уровня и оптимальной была бы стратегия 12 или 22. Об этом чуть позже.
Эти прогнозы, если быть точным, делались на основе настроек по умолчанию, на для каждого типа активов эти настройки можно оптимизировать.



Подобное обучение, разумеется дальше повышает вероятность хорошего прогноза, но имеет большой недостаток.
В случае условно случайного всплеска в области данных используемых для построения модели или её обучения, прогноз на последующие периоды будет существенно искажен (*) поскольку неизвестно как часто этот всплеск
повторялся ранее и будет повторяться в дальнейшем.
(*) Прим. Если говорить точнее то даже в модели 1-го уровня есть механизм компенсации сильных единичных воздействий и шумовых эффектов через задание соотношения дифференциальной и интегральной составляюшей, но он тоже требует полуэмпирического задания.
Третий уровень. Непрерывное тотальное обучение. Если на втором уровне при обучении берётся один,ближайший участок истории (котировок) для построения модели и примыкающий к нему для оценки верности прогноза,
то для третьего уровня обучение ведётся на большом участке истории, причём если на втором уровне критерием "обученности" служит отклонение (среднеарифметическое, квадратичное или мин-макс) прогноза от реальности то на третьем
уровне критерием оптимальности служит прибыль полученная за выбранный длительный период времени и эта прибыль будет зависеть не только от разницы между прогнозом и фактом, но и от выбранной стратегии поведения на рынке при заданных
уровнях спрэда и предполагаемых комиссионных(окошки Tax rate и Margin). Например если второму уровню обучения важна только погрешность прогноза независимо от прогнозируемого изменения курса то для стратегии по прибыли может оказаться интересней верно прогнозировать редкие, но резкие изменения курса и игнорировать погрешности "мелочных" прогнозов (уровень игнорирования в окошке SkipLevel).


На третьем уровне обучения подбираются практически все значимые для работы Советника параметры.

Dial1.jpg
Кнопкой "1D SF refining" включается режим обучения и производится поиск оптимума для коэффициентов стратегий S1-S3 (уровни Stop-Limit), границы действий "SkipLevel", соотношения интегральной и дифференциальной составляющих "diff add", доверительного интервала прогноза тренда "ConfInt" и коэффициента затухания "Damping".
Дополнительно через FS Control включаются (с возможностью индивидуального отключения параметров) в поиск диапазон для построения модели ProbeLen, длина прогноза Nprog, максимальная частота волны maxran.
Процесс глобального поиска, конечно длительный, практически совершенствовать можно бесконечно, но полученные коэффициенты можно использовать в любой промежуточный момент постоянно повышая вероятность верного прогноза и ожидаемую прибыль.


А есть ли в этом смысл? Или лучше не ждать обучения, а потихоньку, понемногу, используя уже полученную вероятность?
Тем более, что показанные выше графики демонстрируют возможность достаточно уверенно обретать свою, в общем то немалую прибыль даже для необученной системы.
Но всегда есть какое-то "но".
 
Последнее редактирование:
Your email address will not be publicly visible. We will only use it to contact you to confirm your post.
Сверху