Скачать MetaTrader 5

Быстрая проверка индикаторов и ТС

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Jaws
113
Jaws  

Всем привет.

Недавно общался с одним как мне показалось продвинутым специалистом по автоматическому трейдингу и по его словам методология поиска рыночных закономерностей(неэффективностей), состоит из цепочки этапов, в начале которой стоят процедуры генерации гипотез и их проверки, «семейством алгоритмов», которые очень быстро оценивают меру присутствия данной закономерности в ряде, утверждалось что это необходимость, без которой пространство поиска изза медленности обычного тестирования, сужается настолько, что теряется смысл и либо стоит уповать на удачу либо заняться чем то более простым.

Короче речь идёт о логике таких алгоритмов, выбить формулу(лы) у меня не получилось. Решил что здесь всем комьюнити можно решить эту задачу. Думаю это многим будет интересно, особенно новичкам.

Говоря более предметно, задача формулируется так: «Какое самое быстрое вычисление нужно произвести, что бы получить меру валидности торговой идеи?»

Ещё более предметно так: «Как получить быструю оценку предикторной силы индикатора или ТС, без тестирования?»

 

Я конечно понимаю что обычное тестирование это наиболее точный и адекватный способ проверки идей, но согласитесь очень медленный. Нужен этап предварительной, менее точной(на<10-20%) но гораздо более быстрой оценки(100-1000 раз, мне сказали) «качества» торгового алгоритма или индикатора.

Интересует прежде всего формула, или алгоритм, но можно и готовый код на mql, С++, C#

Заранее спасибо.

Alexander Laur
8142
Alexander Laur  

Формулы наврядли Вам кто-нибудь скажет. Ведь по формулам будут открываться/закрываться позиции. Поэтому, только Вы сами должны свои идеи загонять в формулы и прогонять на данных.

Для получения данных нужны тики, из которых нужно сформировать бары нужного таймфрейма. Об этом неоднократного говорил hrenfx. В зависимости от того, нужны ли Вам тики внутри баров или нет, бары можно подготовить соответствующим образом. Такая подготовка баров (все тики/ OHLC) даст существенное увеличение производитедьности, но уменьшается точность.

Andrey Miguzov
2360
Andrey Miguzov  
lucky_teapot:

... и их проверки, «семейством алгоритмов», которые очень быстро оценивают меру присутствия данной закономерности в ряде, утверждалось что это необходимость, без которой пространство поиска изза медленности обычного тестирования, сужается настолько, что теряется смысл и либо стоит уповать на удачу либо заняться чем то более простым.

Скорее всего Ваш знакомый специалист имел ввиду метод box-counting - это один из методов определения значимости входных факторов, который дает количественную оценку предсказуемости конкретных рядов. Я про него узнал из книги "Нейрокомпьютинг и его применения в экономике и бизнесе" А.А.Ежов, С.А.Шумский. (глава 7 стр. 141)

Подробный алгоритм описан в комментариях к статье.

Сам не использую. Методика показалась мне интересной, но с реализацией пришлось отложить, на всё времени к сожалению не хватает...

PS: Но эта методика скорее дает не оценку стратегии, а оценку входных данных которые она использует. ИМХО это одно и то же... 

Jaws
113
Jaws  
papaklass:

Формулы наврядли Вам кто-нибудь скажет. Ведь по формулам будут открываться/закрываться позиции. Поэтому, только Вы сами должны свои идеи загонять в формулы и прогонять на данных.

Для получения данных нужны тики, из которых нужно сформировать бары нужного таймфрейма. Об этом неоднократного говорил hrenfx. В зависимости от того, нужны ли Вам тики внутри баров или нет, бары можно подготовить соответствующим образом. Такая подготовка баров (все тики/ OHLC) даст существенное увеличение производитедьности, но уменьшается точность.

Подготовка баров это немного другое.

К примеру есть индикатор или ТС, как математически оценить его прогнозный потенциал? Есть ли универсальный способ?

Я не спрашиваю про формулы чьих-то индикаторов или ТС, я говорю о сверхбыстрой их предварительной оценке.

MigVRN:

Скорее всего Ваш знакомый специалист имел ввиду метод box-counting - это один из методов определения значимости входных факторов, который дает количественную оценку предсказуемости конкретных рядов. Я про него узнал из книги "Нейрокомпьютинг и его применения в экономике и бизнесе" А.А.Ежов, С.А.Шумский. (глава 7 стр. 141)

Подробный алгоритм описан в комментариях к статье.

Сам не использую. Методика показалась мне интересной, но с реализацией пришлось отложить, на всё времени к сожалению не хватает...

PS: Но эта методика скорее дает не оценку стратегии, а оценку входных данных которые она использует. ИМХО это одно и то же... 

Спасибо за статью и рекомендацию книги. Но нейросети в контексте рынка, это по моему как стрелять из пушки по воробьям.

В данном случае просто нужно дать оценку "качества" индикатору.

Alexander Laur
8142
Alexander Laur  
lucky_teapot:

Подготовка баров это немного другое.

К примеру есть индикатор или ТС, как математически оценить его прогнозный потенциал? Есть ли универсальный способ?

Я не спрашиваю про формулы чьих-то индикаторов или ТС, я говорю о сверхбыстрой их предварительной оценке.

Спасибо за статью и рекомендацию книги. Но нейросети в контексте рынка, это по моему как стрелять из пушки по воробьям.

В данном случае просто нужно дать оценку "качества" индикатору.

На мой взгляд, именно подготовка баров и даст существенное повышение быстродействия при оценке. Ведь для того, чтобы оценить потенциал индикатора или ТС, Вы должны прогнать его на истории. Так?

Если Вы ищите формулы без прогона по котировкам, т.е. какие-то универсальные математические формылы оценок черных ящиков (в нашел случае индикаторы/ТС), то даже не знаю существуют ли они вообще.

Jaws
113
Jaws  
papaklass:

На мой взгляд, именно подготовка баров и даст существенное повышение быстродействия при оценке. Ведь для того, чтобы оценить потенциал индикатора или ТС, Вы должны прогнать его на истории. Так?

Если Вы ищите формулы без прогона по котировкам, т.е. какие-то универсальные математические формылы оценок черных ящиков (в нашел случае индикаторы/ТС), то даже не знаю существуют ли они вообще.

А где про это можно прочитать, про подготовку баров? Тыцните на линк плиз.

В общем то я стараюсь вообще уйти от концепций «бар», «свеча» и OHLC-подобные виды статистик. На моём небольшом опыте, ЕМА(60) от секундных баров(клосов), прореженное 1\60 даёт наиболее приемлемый минутный двухмерный ряд(бид аск). Какие то специфические манипуляции с отдельно OHLC на мой взгляд статистически несущественны.

А в данном случае вопрос о валидации закономерностей на рядах. Как понять что индикатор или ТС прогнозирует в приемлемом диапазоне.

"Прогон" то конечно, но это должно быть не медленнее индикатора средней сложности, к примеру что бы год минуток за 1\10 секунды обрабатывалось.

Alexander Laur
8142
Alexander Laur  
lucky_teapot:

 Посмотрите высказывания hrenfx насчет подготовки баров. Мне сейчас трудно мысленно воспроизвести, где он по этому поводу высказывался. Попытался по поиску найти, но слишком много постов, в которых упоминается hrenfx. Компьютер завис на очередной странице. :)

Hrenfx, если читаете данную ветку, дайте человеку ссылки на свои посты про подготовку данных, пожалуйста.

По теме.

Для того, чтобы определить "что индикатор или ТС прогнозирует в приемлемом диапазоне" нужно всго-лишь сравнить работу исследуемого индикатора/ТС с эталоном. Согласны? Если расхождения будут приемлемыми, значит и исследуемый объект будет пригодным для работы.

Вопрос: как получить этот эталон? Самый легкий путь - создать его (эталон) самому. И опять в моей голове всплывают рассуждения hrenfx-а. Продолжу.

Подготовка эталона:

- берем интересуемый временной ряд (например, EURUSD за 2013 год);

- строим на нем ЗигЗаг (наверно лучший индикатор для подготовки эталона)  с параметрами, которые удовлетворяют частоте наших входов в рынок. Например: на 5-ти минутках ЗигЗаг с параметрами 12,5,3 даст поряка 12 экстремумов (6-максимумов и 6-минимумов), в сумме 12 сделок в день.

- запоминаем время образования и цены всех экстремумов. Предполагаем, что все открытия происходят в экстремумах (покупки в минимумах, продажи в максимумах);

- количество максимумов и количество минимумов на исследуемом историческом участке даст Вам общее количество продаж/покупок соотвественно.

Все, эталон готов. Осталось дело за малым, а именно, запустить свой исследуемый индикатор/ТС и сравнить результаты.

Кстати, подготовку универсального эталона можно было бы заказать программистам на условиях краудфандинга. :) 

Andrey Miguzov
2360
Andrey Miguzov  
papaklass:

 Посмотрите высказывания hrenfx насчет подготовки баров. Мне сейчас трудно мысленно воспроизвести, где он по этому поводу высказывался. Попытался по поиску найти, но слишком много постов, в которых упоминается hrenfx. Компьютер завис на очередной странице. :)

lucky_teapot:

А где про это можно прочитать, про подготовку баров? Тыцните на линк плиз.

Здесь и здесь. Вторую ветку до конца дочитайте...

lucky_teapot:

Спасибо за статью и рекомендацию книги. Но нейросети в контексте рынка, это по моему как стрелять из пушки по воробьям.

В данном случае просто нужно дать оценку "качества" индикатору.

Не за что. Там книга про нейросети - но сам метод никак с ними не связан. Этот метод - альтернатива того, который Вам предлагает papaklass. Он нужен лишь:

Для того, чтобы определить "что индикатор или ТС прогнозирует в приемлемом диапазоне"
FastHistory
FastHistory
  • 2011.10.10
  • hrenfx
  • www.mql5.com
Увеличение скорости тестирования/оптимизации в разы и десятки раз. Нелинейное преобразование.
Алёша
502
Алёша  

lucky_teapot:

Короче речь идёт о логике таких алгоритмов, выбить формулу(лы) у меня не получилось. Решил что здесь всем комьюнити можно решить эту задачу. Думаю это многим будет интересно, особенно новичкам.

Если мне не изменяет память, вы уже об этом сравнительно недавно спрашивали в другой теме. Но даже есле это были не вы то подобных тем тут валяется с десяток, даже статьи есть.

В нашем деле важно не алгоритм «выбить» у кого то, а самому уметь их придумывать. Все алгоритмы которые получены от кого то, тем более коллективные, априори нерабочие.

Я бы ещё понял если вам нужно было что то запрограммировать, рутинная часть, метод какой то не знали или синтаксис, а если алгоритм не можете придумать то это проблема более фундаментальная. Без обид. Раз такое спрашиваете, то не понимаете сути прогнозирования временных рядов, а если так, то нет шансов.

Советую отдать капусту в ДУ известному управляющему, или хэдж-фонд, если она конечно есть в должном для инвестирования объёме.

Serqey Nikitin
11421
Serqey Nikitin  

Alex_Bondar:

В нашем деле важно не алгоритм «выбить» у кого то, а самому уметь их придумывать. Все алгоритмы которые получены от кого то, тем более коллективные, априори нерабочие.


Если я правильно понял вопрос, то нужно начинать с правильной идеи, отвечающей поставленной задаче, например: стабильное получение прибыли. Все остальное ( формулы, индикаторы, тики и т.д. и т.п.) вторично.

Например мне очень помогла ТРИЗ ( теория решения изобретательских задач ). Но может быть есть и другой путь выхода на правильную идею.

Jaws
113
Jaws  

Отлично!

Спасибо papaklass и MigVRN, за конкретную помощь, алгоритм и линки.

Alex_Bondar  и VNIK тоже спасибо, за абстрактные советы и предположения.

Также мне ещё подсказали(намекнули точнее), о том что один из этого «семейства алгоритмов» это просто корреляция исследуемого индикатора и его же симметричной версии (смотрящей в будущее на столько же как и в прошлое). Только под каждый индикатор нужно делать затем свою пост-модуляцию такой корреляции, так как значение может быть сильно смещено в положительную сторону.

В общем довольно шустро было найдено 3 потенциально интересных версии, «box-counting» от MigVRN, метод с ZigZag от papaklass, надо только разобраться в формализации «сравнения», и третий корреляция с видящей будущее версией.

Теперь нужно попробовать это закодить и протестить.

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

И краундфандинг вполне может иметь место если кто готов приложиться помочь:)))

Всем спасибо, даже не ожидал что так быстро будут найдены на первый взгляд интересные решения.

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий