elektroyar
elektroyar личный блог
22 декабря 2019, 17:23

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

Когда-то давно я занимался распознавание образов и использовал такую вещь как интегральное представление изображения. И на самом деле этот же метод применим и в алготрейдинге, например для быстрого расчета 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 Комментария
  • ICWiener
    22 декабря 2019, 17:25
    У вас что самое узкое место это математические расчеты?
      • ICWiener
        22 декабря 2019, 17:30
        elektroyar, вы на форекс торгуете?
          • ICWiener
            22 декабря 2019, 17:41
            elektroyar, денег нет поэтому а-ля бинарки?? Лучше сразу на лотерии Гослото переходите ))
              • Дмитрий Новиков
                22 декабря 2019, 18:04
                elektroyar, вы по БШ бинарки посчитайте и увидите как они недооценены
                  • Дмитрий Новиков
                    22 декабря 2019, 18:23
                    elektroyar, там не Аналитика, там математика.
                  • quant_trader
                    22 декабря 2019, 18:43
                    elektroyar, бинари (не вшивый какой нибудь робофорекс) мне отменили 27к из заработанных 30к $. Но 3к я вывел :)

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

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

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

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн