Блог им. elektroyar

Супер ускорение расчета индикаторов

Когда-то давно я занимался распознавание образов и использовал такую вещь как интегральное представление изображения. И на самом деле этот же метод применим и в алготрейдинге, например для быстрого расчета SMA, или сбора статистики винрейта за указанный период. 

Например, был ценовой ряд из 6-ти элементов:

1.104, 1.102, 1.105, 1.106, 1.103, 1.101 

Найдем его интегральное представление (начнем с нуля):

0.0, 1.104, 2.206, 3.311, 4.417, 5.52, 6.621

Чему будет равно SMA за последние 3 элемента? Достаточно посчитать разницу: 6.621 - 3.311 и разделить ее на 3.

SMA(3) = (6.621 - 3.311)/3 = 1.103

Убедимся, что SMA(3) найдено верно. 

(1.106 + 1.103 + 1.101)/3 = 1.103

Таким образом можно найти SMA с любым периодом, совершив всего навсего одну операцию вычитания и одну операцию деления. Это позволит гораздо быстрее получить набор значений индикаторов типа SMA, RSI, STD_DEV.
Вроде все хорошо, НО НАДО ПОМНИТЬ, что если использовать тип данных с плавающей точкой, то у нас будет накапливаться ошибка. Поэтому ценовой ряд лучше сначала преобразовать в целочисленный тип. Для этого достаточно для 5-ти значных котировок умножить цену на число 100 000.

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



23 комментария
У вас что самое узкое место это математические расчеты?
avatar
ICWiener, использовал фильтр на основе винрейта за определенный период. Фильтр должен был самооптимизироваться (период фильтра, порог винрейта), при этом расчеты ведутся сразу для более чем 20-ти валютных пар и для разных периодов торгового дня. В итоге это считается не быстро. Но использование интегрального представления статистики торговли работает быстрее. 
avatar
elektroyar, вы на форекс торгуете?
avatar
ICWiener, неа, к форексу я планирую прийти. Мне нравятся мелкие экспирации, которые на форексе особо не поиспользуешь из-за сперда. Бабок у меня нет на высокочастотную торговлю, как и на инвестиции с 20-40% годовых. Так что я пошел в сферу кухонь аля бинарки, там цена формируется как (bid+ask)/2, поэтому на спред мне насрать, главное преодолеть порог винрейта. Минутных баров за столько лет накопилось полно, так что провожу тесты с 200X годов, в основном с 2008. Фильтр статистики помогает приподнять винрейт, если он и так неплохой (с положительным мат. ожиданием). Думаю должно взлететь, в свое время больше сотни тысяч вывел из Олимпа, когда ручками наторговал. Думаю из кухни можно и больше выводить. Потом эти деньги уже буду инвестировать во что-то более надежное, ну а наработки думаю и в форексе пригодятся, хотя в нем уже есть заметные отличия. 
avatar
elektroyar, денег нет поэтому а-ля бинарки?? Лучше сразу на лотерии Гослото переходите ))
avatar
ICWiener, потому что бинарки — недооценены, там можно использовать рыночные неэффективности, которые нельзя использовать в форексе. Мне проще заработать там, где есть возможность заработать, а не там, где надежнее) Конечно брокеры урезают возможности, например запрещают торговать в ночное время, где есть «горб» статистики с пиком винрейта под 70%. С таким винрейтом можно было бы делать под 50% в неделю) Но есть и другие закономерности, которые не ярко выражены и надо еще найти. Ну я и нахожу их) Пока успешно. Просто там где форексу смерть (низка волатильность), там выше предсказуемость рынка и это очень хорошо в бинарках. Для алготорговли с точки зрения процентов дохода бинарки пожалуй лучше всего. Но это для небольшого капитала. Или по вашему я должен 10к закинуть в акции и ждать, когда через 20 лет они превратятся в 383 тысячи?) Смешно. Конечно насчет 10к я пошутил, собираюсь вложить больше. Но смысл понятен. 


avatar
elektroyar, вы по БШ бинарки посчитайте и увидите как они недооценены
Дмитрий Новиков, ога, вас бы нанять аналитиком в одну из контор, вы им там скажите что-то типа «да ниче там не прогнозируется, сделайте выплаты 95% и круглосуточную торговлю». Было бы весело) 
avatar
elektroyar, там не Аналитика, там математика.
Дмитрий Новиков, да, теперь точно все встало на свои места. Тем более, там математика, вы я так понимаю в ней разбираетесь. Так вот вы были бы готовы взять на себя брокерские риски, решив что нифига там не прогнозируется? Т.е. по вашему брокеры просто так запрещают торговлю с 0 до 3 часов по МСК, или в начале часа вечером, или что процент выплат ниже для ставок «против тренда». Наверно там тупые математики сидят, думают что трейдеры могут прогнозировать что-то)
avatar
elektroyar, бинари (не вшивый какой нибудь робофорекс) мне отменили 27к из заработанных 30к $. Но 3к я вывел :)

Не надо тратить время на ерунду.
avatar
elektroyar, для слабокапитализированного традера который хочет разогнать депоху имхо предпочтительны малоликвидные и непопулярные рынки, смолл кеп акции, неликвидные опционы/фьючи, крипта наконец. Но не эффективные и ликвидные рынки.

Ну если вот прямо так хочется взгреть бинарщиков — ищем тех кто предлагает ставки на акциях овернайт и ловим ex dividend. А еще брент на склейках. Пока они не догадаются что Вы их нагибаете.

А минутки/индикаторы это шляпа. Тогда уж всякие неценовые данные или что то типа такого рыть.
avatar
немного не в тему, очень хорошо ЧЕЛОВЕК пишет:
www.patreon.com/posts/32387711
avatar
elektroyar,

«Они могут давать 58% винрейта.»

Это ни о чем, тем более на индиках. Надо от 75% винрейт.

«Поэтому нагнуть бинарщика волне реально.»

Дойдет до вывода реальных бабок проверите.

Ок, удачи.
avatar
quant_trader, 
Это ни о чем, тем более на индиках. Надо от 75% винрейт.
А вы смотрели, что такое стабильные 58%? Доход за год? С каждой удачной сделки +82 — +85% например, у интрейда, у других 80%. 500 сделок в месяц с винрейтом 58% в среднем даст примерно 30% прироста при ставке 1% и выплате 82%. За год это увеличение депозита в 23.2 раза. Вам надо 75% после этого? Сюда достаточно добавить еще пару стратегий, чтобы сгладить периоды просадок.
Дойдет до вывода реальных бабок проверите.
Я намерен распределить средства между брокерами + держать основную часть денег на счетах, а не у брокеров. Туда заводить в случае просадок. Так же не понятно почему вам бинари помешал вывести деньги, описали бы подробно, там есть полно моментов, каждый из которых можно соблюсти чтобы потом не жаловаться, например пройти заранее верификацию. Мне кажется на данный момент куда большей проблемой является создание торговой системы, чем вывод денег. Люди в первую очередь спотыкаются об это, не важно где — на форексе или в бинарках. Чисто субъективно мне кажется что делать хорошие прогнозы в форексе гораздо сложнее. 
avatar
elektroyar, «А вы смотрели, что такое стабильные 58%»

За какой период? Если они стабильные и не гуляют то это не ценовой паттерн а косяк либо в бектестере (самописном особенно) либо датафида в одно и то же время. И потом Вы понимаете что надо бектестить конкретно на их котировках а не других кухонь?

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

Отменили сделки задним числом и пересчитали баланс. Ну сам нарывался, статарбил их датафид. С особенным цинизмом в плане ММ.

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

Да, и все это было сделано.
avatar
quant_trader, 
За какой период? Если они стабильные и не гуляют то это не ценовой паттерн а косяк либо в бектестере (самописном особенно) либо датафида в одно и то же время. И потом Вы понимаете что надо бектестить конкретно на их котировках а не других кухонь?
Видите ли я был слишком тупой видимо для БШ, поэтому смотрел закономерности более примитивными методами. Для начала провел тест в тупую, торговал на истории весь день, много лет. И получается что в среднем Боллинджер дает 54%, а остальные индикаторы еще хуже. Пересечение SMA так вообще надо инвертировать, тренд не прогнозируется. Но 54% от Болли мало, чтобы иметь прибыль, хоть и не 50%. Потом я додумался смотреть винрейт в разное время суток. Ночное время + боллинджер = грааль, который нельзя использовать абсолютно у всех брокеров. Там винрейт не 75%, а в среднем 60, но есть небольшой участок где и все 70%. Тем не менее математики у брокеров видимо тупые, потому что решили что это угрожает брокеру. Поэтому все брокеры не дают торговать в это время. Вот тупые, целых 3 часа выкинули из дня, считай из 5 дней целых 15 часов! Сколько бы людей слилось. Но что то не торопятся возвращать.

В общем с ночью — фиг с ней. Добавил оптимизатор параметров — подрос винрейт, правда оптимизатор надо еще настроить, иначе от него нет толку. Очень быстро я сообразил, что не надо мусолить одну валютную пару, надо мусолить сразу много пар и как-то выбирать из них лучшие. Таким образом удается поддерживать винрейт не ниже некоторого порога, робот сам решает на каких парах сигналы учитывать, а на каких — не учитывать, или даже какой именно из одновременных сигналов. Я не знаю от куда вы взяли 75%, по факту можно и 56% иметь, если 0% начинается с 54%. Главное чтобы винрейт не был результатом концентрации удачных сделок в каком-то годе или месяце, а был результатом процесса который не сильно меняется с годами. Т.е. чтобы винрейт был более менее стабилен. У меня есть стратегии, которые хреново с 2008 года показывали себя в одном или двух годах (обычно 2016 часто бывает плохим, зато по нему можно настраивать стратегии), но есть и те что хорошо работают за любой год.
Отменили сделки задним числом и пересчитали баланс. Ну сам нарывался, статарбил их датафид. С особенным цинизмом в плане ММ.
Насколько я знаю у всех брокеров в правилах запрещено использовать котировки, которые «не тормозят» «опережают» на пару секунд, инсайдерскую информацию тоже нельзя и т.д. Учитывая, что они анализируют сделки и в том числе мною найденные закономерности мешают использовать, вычислить вас не было проблемой. Хотя я знаю более успешные истории нагибания других брокеров. 
avatar
elektroyar, с ночным контртрендом все понятно, вот если бы не гулял винрейт в нормальную сессию но он гуляет.

«Т.е. чтобы винрейт был более менее стабилен. У меня есть стратегии, которые хреново с 2008 года показывали себя в одном или двух годах (обычно 2016 часто бывает плохим, зато по нему можно настраивать стратегии), но есть и те что хорошо работают за любой год.»

Ну круто, что. Удачи.
avatar
quant_trader, 
Ну круто, что. Удачи.
Спасибо) 
avatar
quant_trader, а что за датафид если не секрет)? 
avatar
elektroyar, это было в 2014 еще, была какая то кухня которая давала котиры по DDE в см бидаск в excel. Без опережения, просто нужен был не график а именно спред.

У бинарщиков в 5знаках к йене проходили какие то внерыночные тики, на тиковом чарте получалась сопля которая потом несколько секунд усреднялась. Контртрендил :)
avatar

теги блога elektroyar

....все тэги



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