Блог им. FineLogin

Коротко о поиске закономерностей

    • 12 января 2023, 13:06
    • |
    • GOLD
      Популярный автор
  • Еще

Из своего хз-сколько-летнего опыта интенсивного тестирования торговых алгоритмов выяснил следующее:

Если получил профит в бектесте, то первое, что нужно сделать — удвоить количество обсчитываемых событий (баров или тиков) или сместить тестируемые события во времени. Если после этого опять натестился профит, то нужно еще раз удвоить количество обсчитываемых событий или сместить события во времени. Как правило, после этого профит проходит. И вместе с ним проходит необоснованная радость.


Что такое «количество обсчитываемых событий»?

Это важнейший параметр алгоритма поиска закономерностей. Например, за 10 лет на часовом таймфрейме обсчитывается ~22 000 событий, каждое из которых описывается четырьмя точками — O, H, L и C. Итого ~88 000 точек. На минутном таймфрейме за 10 лет обсчитываается ~1 320 000 событий. Это ~5 280 000 точек.


Чем больше обсчитываемых точек в истории — тем выше вероятность, что найденная закономерность повторится в будущем.

Например, закономерности, найденные обсчетом 22 000 событий (88 000 точек) дают оконулевую вероятность повторения в будущем. Точнее — они дают переменный финансовый результат, стремящийся к нулю на длинной дистанции. Например, закономерность может давать профит  какое-то время, а потом наоборот, а потом снова профит, а потом опять слив. Все это можно увидеть собственными глазами в тестах с помощью смещения точки начала торговли в прошлое:

Коротко о поиске закономерностей

Берем компьютер — и считаем. Быстро, просто, удобно. И никаких страданий.

Так вот… чтобы выявить более-менее устойчивые закономерности, нужно обсчитать не менее 1 000 000 точек. Такие расчеты можно проводить только на мелких таймфреймах ниже пяти минут, собирая (выкачивая) длинную историю.

Зачем так заморачиваться, если можно нарисовать на графике уровни/каналы и торговать в свое удовольствие?

Затем, что уровни на графике — это закономерность, выявленная на сверхмалом количестве событий. Если протестировать уровни/каналы на 1 000 000 точек, то результат получится примерно нулевой. А комиссии утащат в убытки. Не верь в это. Возьми компьютер, залей миллион точек и проверь.


На этом пока всё. Если что-то не понятно или просто интересно, пишите в комментах. Обсудим)

--------------------
Оригинал поста — в дзене с зеркалом в телеге 

★4
56 комментариев
Мне вот интересно, зачем это все делать, если для себя уже сделали вывод, что алготрейдинг не работает?
avatar
Антон Иванов, алготрейдинг — это автоматизация сделок по заранее заданному алгоритму... алготрейдинг работает, пока работает компьютер и биржа))

попробуйте сформулировать вопрос иначе
avatar
$100, неужели я жестко ошибся и Вы практикуете автоматизированную торговлю по заранее заданным алгоритмам? ))
avatar
Антон Иванов, руками не торгую уже почти 2 года… но сделки есть каждый день)
avatar
Открытие века 😄
avatar
Top Trader, поздравляю с самовозвышением))
avatar
«за 10 лет на часовом таймфрейме обсчитывается ~22 000 событий, каждое из которых описывается четырьмя точками — O, H, L и C». Предполагаю, что вот эта аксиома справедлива для двумерного пространства — цена и время. В теории рынок имеет еще и иные измерения, в том числе, например, всем известные объемы, на самом деле их прилично больше двух, имхо… youtu.be/1k2PzKz9Szc

Пы.Сы. А вообще логика очень даже здравая по существу.
avatar
Dao Sun, это уже не логика… это математика)

если вы думаете, что учет объема повышает устойчивость найденной закономерности, то советую взять и протестировать это предположение

с математической точки зрения, объем — это пятая координата, описывающая каждое событие (бар)… таким образом, за 10 лет на часах вы будете обсчитывать не 88 000, а 110 000 точек… качество результата от этого почти не изменится

я понятно объяснил?)
avatar
$100, Более чем понятно, Коллега )) Добавим еще N-ое количество координат, получим массив данных — ооочень большой… Поищем в них идейно обоснованные регулярно повторяющиеся закономерности и дело в шляпе — Грааль найден… По пути обычно седеют и превращаются в городских сумасшедших ))
avatar
Dao Sun, биржа дает всего 5 точек — OHLCV… к ним можно добавить вручную собранные данные о спросе и предложении с консолидацией до нужного таймфрейма...  это еще 2 точки… и еще можно разделить объем на 2 части — объем сделок по цене покупателя и объем по цене продавца… итого, получим 8 точек на каждый бар

с этим можно работать… но где взять исторические данные о спросе и предложении и данные об объемах продавцов и покупателей?
avatar
$100, Бро, я вот уже несколько лет как мученик торговли и свои Граали не преподаю ))

smart-lab.ru/blog/827267.php

smart-lab.ru/blog/815535.php



avatar
Затем, что уровни на графике — это закономерность, выявленная на сверхмалом количестве событий.

Те, кто верит в ТА не знает про динамические системы. С другой стороны меньше знаешь — лучше спишь. Верят же люди в лотерею в конце то концов…
avatar
Среднеброд, Вера — самый примитивный и комфортный способ мышления, свойственный дуракам. Причем, люди являются дураками не потому, что верят, а наоборот — верят, потому, что не могут или не желают мыслить.

Собственно, поэтому я и призываю:

НИКОМУ НЕ ВЕРЬТЕ!

ТЕСТИРУЙТЕ!
avatar
Коллега, Ваш уровень пзволяет уже замахнутся на формулу 100% профита… ну хотя бы с 1 или 2мя неизвестными…а это Нобпремия лет через 30…
avatar
ГС, мой уровень позволяет осознать суровую реальность с помощью математики… и принять ее такой, как она есть… без инфантильных мечтаний о финансовой независимости))
avatar
Чем больше обсчитываемых точек в истории — тем выше вероятность, что найденная закономерность повторится в будущем.
Все замечательно, только 10 лет и даже 2-3 года назад рынок был другой.
И какие закономерности вы ищете на истории 5-10-ти летней давности? Вечные?
avatar
3Qu, скажу больше — рынок каждый день разный… хотя и выглядит одинаково уже 100 лет)

какие закономерности я ищу?

ищу не я, а комп… для этого сделал систему поиска, основанную на не вложенных циклах с перебором параметров и переключателями логики, а на  совершенно ином принципе… что-то типа примитивного (узкопрофильного) ИИ… чуть мозг не взорвал, но результаты получаются нарядные… вылазят такие закономерности, которые ни в какие ворота))
avatar
$100, имхо, все закономерности, это находим минмакс, и если цена пошла выше/ниже, берем. 
Интеллект вообще не нужен.)
Ваш ИИ, кстати, очередной раз доказывает, что мозгов для трейдинга нужно меньше чем у таракана (у таракана ~1 млн. нейронов). )
avatar
Если у вас один робот то возможно и так. Я имею ввиду тех тупых роботов которые обычно все используют.
А вот если у вас их больше 100, то уже не так, можно как угодно смещать окно тестирования, результат практически не меняется, он уже будет зависеть от другого.
avatar
Beach Bunny, сказки про 100 одновременно запущенных роботов — это в прошлом… сейчас нужно рассказывать про 300 роботов… а лучше — про 500… иначе малышей уже не цепляет))
avatar
$100, 300 нет, пока только 200 штук. Это на одном инструменте, можно запустить на втором инструменте будет 400штук.
Прикинь роботы настраивались под один инструмент, но и на втором они бэк тест проходят почти с такой же прибылью, без изменения настроек вообще.
avatar
А стюардессам вообще легко- все мужики уже отсортированы по классам!
avatar
100$, раскрою правильный подход. Что такое закономерность? Это повторяемость. А что такое случайность? Это 50% на 50%. Потому что если другое значение — можно перевернуть стратегию. 
Для получения прибыли нужно тестировать стратегию периодами. И давать оценку. Чем больше периодов мы имеем в плюс (или нужный профит). Тем сильнее закономерность. 
Если прогнать систему на длительной истории ты получится график доходности с трендовым не прекращающемся движением.  Это и есть закономерность. Любое боковое движение — это нарушение закономерности. 
avatar
LogikoMen, спасибо за годный коммент… заглядывайте почаще)

как показала практика, вместо дробления теста на периоды, достаточно собирать результаты теста нарезкой по дням и подсчетом количества прибыльных, нулевых и убыточных дней… при этом, крайне важен характер распределения прибыльных, нулевых и убыточных дней по периодам тестирования и эмуляции торговли… в идеале, все дни прибыльные или с небольшой примесью нулевых
avatar
А каким образом прогнозирование строить, на каком типе закономерности, это регрессия или кластеризация или что-то другое? 
avatar
BullandBear, не понял вопрос… прогнозирование чего строить?
avatar
$100, Какой алгоритм используется для поиска закономерности? Берем 4 точки и огромный массив данных, а дальше что, по какому принципу закономерность ищем? 
avatar
$100, Компьютер же по модели считает какой-то, например по регрессионной или по древовидной, по кластерной и тд... 
avatar
BullandBear, хмм… я еще не думал о названии используемой модели… но по смыслу она лучше всего описывается термином «тупая фильтрация»)
avatar
 Я просто в python экспериментировал, в какой-то момент мне показалось, что по результату 5 свечек можно угадать 6-ю (вверх или вниз) с большей вероятностью чем 50%, но до конца не стал проверять потому что при тестировании python выдавал разную точность на разных отрезках графика 
avatar
BullandBear, когда-то давно я тестил повторяемость белых и черных свечей… на длинных периодах вероятность повторения цвета 50%… эта вероятность не зависит от количества одноцветных свечей и не зависит от их размеров
avatar
У вас есть уже робот который зарабатывает?
Закономерности есть, их видно невооруженным глазом, при условии, что понимаешь как устроен рынок, в связи с этим становится очевидным, что запихнуть эти закономерности в формулу не получится.
Слишком много переменных, которые никак не связаны между собой, чисто математически не получится соотнести их между собой.

avatar
DV, невооруженным глазом человек видит ровно, то хочет видеть или то, что ему хотят показать… компьютер видит совсем иные вещи
avatar
Вместо того, чтобы бегать за закономерностью (которая конечно повторится, вопрос только когда?), может лучше внимательнее присмотреться к графику — ведь сейчас, как и в любой другой момент, уже идет повторение чего-то 
avatar
Elkino, присматривайтесь… кто мешает?.. это же ваши деньги… играйте))
avatar
$100, Да я так, в продолжение Ваших мыслей… подсказка)
Одно время я гонялся за закономерностями в казино, за явными и неявными. Они есть, идут кучками, но весь вопрос — когда?
В итоге все сводится к 50 на 50
Поэтому от закономерностей, индикаторов, ТА  и пр. я отказался в принципе
avatar
Elkino, казино, в идеале, построено на истинно случайном процессе… движение цены таковым не является, т.к. состоит из не случайных событий)
avatar
$100, Чисто для… незнай чего)
Движение цены случайно, т.к. кол-во факторов влияющих на неё неисчислимо..
Но, в ключевых, значимых моментах для имеющих возможности  — да, неслучайно, но и для них, рынок и случайность, несут риски.
Вы похоже решили, что эта «неслучайность» оставляет какие-то следы, паттерны. Но вот вопрос — какой будет оставлять взаимодействие с хаосом?  Мне вот кажется — след будет случайным. Паттерна нет
avatar
Elkino, если все смотрят на один индикатор — то он работает. Если все торгуют пробои, ставят стопы за уровнем — то о какой случайности может быть? 
avatar
LogikoMen, " все торгуют", но все не действуют как один..
Все используют разные индикаторы, разные ТФ  и разные уровни СЛ.
Все не торгуют пробои, из их числа как минимум Вы ) торгуете отбои.
И ликвидность не всегда именно за уровнями, она может быть размазана по движению цены.
Рынок потому и эффективен, что случаен для всех, в каждой своей точке
avatar
Elkino, у вас маленький опыт работы с индикаторами. Я использовал разные, разным усреднением. Они выдают очень похожую максимальную прибыль, близкие точки входа. Не важно какая модель. Важно что действия толпы можно усреднить. И получить определенный поток денег. Не Грааль, но зарабатывать можно. Главное была бы ликвидность и волатильность. Первое и второе создают участники торговли.
avatar
LogikoMen, Вы правы и даже более — индикаторы ни разу в торгах не использовал. Их бессчётное кол-во, странным образом, намекало об их бесполезности. )
Ставил, смотрел, удивлялся и сносил.  
Ваш Грааль, конечно, имеет место быть и вовсе не противоречит случайности на рынке.
Формула 50 на 50 это усредненное число на больших дистанциях. В реальности Всегда присутствует перевес в ту или иную сторону и,  иногда, довольно значительно. Кроме того, в  случайностях присутствуют инерция и артефакты. 
Т.е. толпа организованная индикаторами и показаниями графика создают этот перевес и инерцию. Но степень организованности толпы и пр. факторы — это всё же случайность.
$100, похоже, обнаружил артефакты
avatar
Чем больше обсчитываемых точек в истории — тем выше вероятность, что найденная закономерность повторится в будущем.

Мне достаточно на минутках 100 точек на открытии до первого клиринга.
avatar
SHERKHAN, достаточно на этой неделе?.. или уже несколько лет?
avatar
$100, ежедневно






avatar
Закономерности существуют, но проблема в том что они мерцают. Затухают т.е. откатывают, то на подъеме то на спаде. А поиск закономерности по поиску закономерностей которые будут на подъеме следующие пару месяцев это очередной поиск закономерности. Какая акция(спящая закономерность) выстрелит в 2023??
avatar
22022022, согласен… но малость уточню… закономерности, выявленные на миллионах точек, проявляются далеко не каждый день… поэтому, для извлечения ощутимого профита, необходимо найти несколько различных закономерностей и юзать их одновременно… при этом, необходимо позаботиться о минимизации коллизий между ними)
avatar
Чем больше обсчитываемых точек тем выше понимания того что вечного «грааля» на все времена не существует. Они постоянно меняются.
avatar
22022022, см. коммент выше)
avatar
Не понял картинку. Текст похож на перевод.
Можете своими словами объяснить?
avatar
DV_13, текст с ноля… был бы перевод, дал бы ссылку на источник)

а что не понятно в первую очередь?.. или вообще ничего не понятно?
avatar
Искать паттерны нужно не в абсолютных числах а в относительных.  Нормализовывать к первому бару
avatar
David Shaner, какие такие паттерны?.. вы о чем?)
avatar

теги блога GOLD

....все тэги



UPDONW
Новый дизайн