Eskalibur
Eskalibur личный блог
11 января 2023, 23:55

Объекты в алгоритме.

Объекты в алгоритме.




Заметка ниже будет полезна тру алготрейдерам, которые сами пишут торговые программы, исследуют рынки и придумывают алгоритмы. Она поможет не утонуть, не уйти по ложному пути и остаться на плаву долгое время, и может быть, если повезёт — грааль будет создан.
Итак, какие объекты (индикаторы) необходимо создать в программе, для написания эффективных алгоритмов? 

Обязательные:
1. Moving Average — скользящее среднее   (куда же без них).
2. Linear Regression — линейная регрессия 
3. Minimum, Maximum  — определение минимума максимума 
4. Standart Deviation — стандартное отклонение  (объединено с Пунктом 1, вычисляется в составе одного объекта)

Могут пригодится дополнительно:
5. Correlation — корреляция
6. Relative strength index — индекс относительной силы
7. Multiple regression — множественная регрессия

Пункт 1 (скользящее среднее) также вычисляет бету регрессии, но иногда нужна регрессия не на время, поэтому отдельный объект Linear Regression всё таки необходим.

Пункт 6 RSI, есть смысл использовать в некоторых алгоритмах, но в настоящий момент, нигде не используется.

Пункт 7 Множественная регрессия- необходима для исследований.
Но в итоговых алгоритмах вряд ли будет использоваться. В конечном счёте этот объект необходим для понимания, что множественная регрессия, как и другие сложные математические алгоритмы — не нужны. :-)

Львиная доля метрик рынка, измеряющие временные характеристики (например, AROON), объёмные характеристики, и прочее (цена, открытый интерес и т.п.) описываются с помощью пунктов 1-4.  

Можно копать исследования и диссертации, и даже найти там некоторые идеи. Но из огромных тонн шелухи, вы выловите лишь одну целую семечку, которая уже состарилась. Если всё таки этот тернистый путь интересен, — есть хороший блог smart-lab.ru/profile/uralpro/, где выложены переводы подобных научных статей.

А какие объекты пишите и используете вы ?


67 Комментариев
  • Главком Главком
    12 января 2023, 00:19
    price action это какой объект у нас получаеццца?
  • Replikant_mih
    12 января 2023, 00:52

    Почему вы это называете объдектами? Из-за реализации их в форме объекта (ООП)? Или по какй причине?

     

    Львиная доля метрик рынка, измеряющие временные характеристики (например, AROON), объёмные характеристики, и прочее (цена, открытый интерес и т.п.) описываются с помощью пунктов 1-4.  

     

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

      • Replikant_mih
        12 января 2023, 10:18
        Eskalibur, Тогда согласен). Мне тоже нравится подход когда я реализую низкоуровневый слой, потом из него как из кубиков собираю более высокоуровневый, из него ещё более высокоуровневый. Одни плюсы). Это и для стратегий и для инфраструктуры в целом. И кода меньше и работать приятней и прочее и прочее. Это по поводу объектов и ООП. По поводу формализации через условный ТОП4 индикаторов — у меня наверно как-то по другому).
          • Replikant_mih
            12 января 2023, 11:15
            Eskalibur, Ну, по факту возможно у меня тоже будет какой-то ТОП инструментов, помогающих в формализации трейдерских сущностей и идей  целом, я просто об этом как-то не задумываюсь, поэтому стройного ТОПа в головек нет. Например, часто использую ATR сейчас. Мувинги могу использовать для прикидочной оценки влияния фактора тренда и трендовости или чтобы какой-то неценовой ряд сгладить. А в остальном скорее всего помаленьку), скорее какие-то под конкретную задачу временые ряды строю).
  • Daniil Lazarev
    12 января 2023, 01:16
    Тру алготрейдеры и сами знают какие индикаторы им нужны 😀 Все зависит от стратегии. В некоторых вообще не используются приведенные вами обязательные индикаторы. 
  • SergeyJu
    12 января 2023, 01:58
    Никакую регрессию, корреляцию и RSI в системах не использую. И что со мной не так? 

    • Андрей К
      12 января 2023, 12:10
      SergeyJu, олд скул называется )
      • SergeyJu
        12 января 2023, 14:13
        Андрей К, Вы неправильно поняли. Я все перечисленное, плюс разные фильтры, преобразования Фурье и Гильберта, случайные леса  и многое другое исследовал и отбросил за бесполезностью или малой эффективностью. 
  • T-800
    12 января 2023, 06:25
    Как торгуется регрессия?
      • T-800
        12 января 2023, 11:01
        Eskalibur, а понятно, но Ван не трейдингом живет, а зарабатывает продажей ос энжин. Поэтому смотреть не буду.
  • Eldar Shaymardanov
    12 января 2023, 07:14
    Если я придумал алгоритм, создал робота и он торгует без всех указанных «объектов», то я не тру алготрейдер?!
    Да и что такое в вашем понимании «объект»?
  • Дмитрий Овчинников
    12 января 2023, 07:19
    Итак, какие объекты (индикаторы) необходимо создать в программе, для написания эффективных алгоритмов? 
    Никаких не надо создавать. Если что-то надо узнать в конкретной точке, надо просто вычислить значение.
      • Дмитрий Овчинников
        12 января 2023, 10:48
        Eskalibur, 
        вы что-то не то делаете. никаких объектов не создается, вычисляется обычной формулой и помещается в обычную переменную. 

          • Дмитрий Овчинников
            12 января 2023, 11:13
            Eskalibur, 
            среда программирования здесь не при чем.
            вам, как создателю алгоритма, необходимо понимать физику того, чего вы считаете и каким образом это помогает вам в ваших логических размышлениях. тогда окажется, что вместо сложного можно считать простое, а может быть и вообще не стоит использовать ту или иную функцию.
            а те кривые на ценовом ряде, которые у вас на картинке, оставьте ручным скальперам, им ведь без этого никак.
            • Replikant_mih
              12 января 2023, 11:26
              Дмитрий Овчинников, Ну, справедливости ради, mql5 же объектно ориентированный язык), так что (точно не помню, конечно) индикаторы там реализованы как объекты.
              • Дмитрий Овчинников
                12 января 2023, 11:28
                Replikant_mih, 
                именно поэтому я их и не использую :)
                • Replikant_mih
                  12 января 2023, 11:34
                  Дмитрий Овчинников, )) У каждого своя история). Я вот тоже не особо люблю встроенные индикаторы — у меня чисто субъективно это ассоциируется с моим Forex этапом, который у меня как трейдерское «детство».
                  • Дмитрий Овчинников
                    12 января 2023, 11:38
                    Replikant_mih, 
                    я видел, как встроенный индикатор в МТ5 показывает неверные значения и терял на этом деньги, поэтому их использование противоречит моим целям :)
                    • Replikant_mih
                      12 января 2023, 12:05
                      Дмитрий Овчинников, Ну не знаю. Неверное значение — вряд ли там глобально что-то «неверное», прям сильно. А если не сильно — то я скорее выкину стратегию, которая от лёгкого дуновения шума ломается)).
                      • Дмитрий Овчинников
                        12 января 2023, 12:21
                        Replikant_mih, 
                        глобально и сильно неверное. проявляется редко, при определенном стечении обстоятельств. связанно с самим принципом управления тайм-сериями в мт5.
              • Дмитрий Овчинников
                12 января 2023, 11:35
                Eskalibur, 
                Просто так вы не вычислите формулой её.
                Если мне понадобится, я прекрасно вычислю то, что мне нужно. Не уверен, что это будет называться множественная регрессия, но физика может быть похожей :)
      • T-800
        12 января 2023, 11:03
        Eskalibur, я на делфи давно пишу роботов. Объекты никогда не создавал. Работает отлично!
        • Андрей К
          12 января 2023, 12:12
          T-800, на какой версии дельфей? )
          • T-800
            12 января 2023, 13:21
            Андрей К, 6-я)
            Алгоритмы медленные, хватает, 
            а переписывать все нет желания)
            • Андрей К
              12 января 2023, 13:34
              T-800, вот это олд скул прям конкретный ) я на 7 остановился, с 6 начинал
              • T-800
                12 января 2023, 13:45
                Андрей К, сейчас на 7-ке?
                • Андрей К
                  12 января 2023, 13:47
                  T-800, в трейдинге на делфи просидел примерно до 2017, но на нем решал какие то прикладные задачи, что то вида скачать, проанализировать и тд.

                  К тому времени в мою жизнь резко вошел линукс и c++ и все прикладные задачи очень плавно перешли на линукс примочки типа bash и тд
  • Андрей Костюк
    12 января 2023, 09:52

    Как говорится - шо то, шо это, все пища для модели машинного обучения))

    • Replikant_mih
      12 января 2023, 10:19
      Андрей Костюк, Используете? В смысле, модели машинного обучения).
  • Replikant_mih
    12 января 2023, 11:28
     Я не знаю, чё все наезжают на ООП объекты)) — на самом деле это никакое не усложнение, а наоборот упрощение. Вернее, ты более мощную логику помещаешь в коробку, а коробкой пользуешься легко и удобно.
    • Дмитрий Овчинников
      12 января 2023, 11:33
      Replikant_mih, 
      а в итоге у тебя хренова гора коробок с неясным и ненужным содержимым, а для перемещения в пространстве приходится использовать медленный и тяжелый грузовик.


        • Дмитрий Овчинников
          12 января 2023, 12:24
          Eskalibur, 
          На сях или дельфях 20-30 объектов у вас займёт памяти 100-300кБ
          У меня в одном алгоритме может быть более сотни инстансов. таких алгоритмов десятки. на каждый инстанс по 20-30 объектов, а как по другому ;)
          спасибо, я сам посчитаю то, что мне нужно и тогда, когда мне нужно.
        • T-800
          12 января 2023, 13:30
          Eskalibur, а зачем много памяти для бота?
          У меня в одной проге на Делфи6 до 100 роботов, в каждом по несколько индикаторов. Гружу последние 3000 5-минутных свечей и работает не выключаясь еще полгода, сохраняя и все обсчитывая.
          И все хватает без ООП.
      • Replikant_mih
        12 января 2023, 12:03
        Дмитрий Овчинников, Речь про реализацию в mql5 или в целом про ООП?) Если в целом про ООП — тут зависит от реализации).
        • Дмитрий Овчинников
          12 января 2023, 12:26
          Replikant_mih, 
          я про MQL, что там у других мне не известно, но думаю все тоже самое.
  • Replikant_mih
    12 января 2023, 11:30
     Я недавно даже свой research'евый Jupyter notebook переписал на ООП рельсы, в разы удобней, проще, гибче, мощнее. 
    • shprots
      12 января 2023, 13:05
      Replikant_mih, интересно глянуть)
      • Replikant_mih
        12 января 2023, 14:42
        shprots, секретное)).
  • 22022022
    12 января 2023, 11:31
    Большинство начинающих алготрейдеров проходят через поиск «грааля», перебор всех бесплатных индикаторов, фильтры, всевозможные комбинаций, поиск коэффициент… особо безумные копают глубже! и используют тайные числа масонов 
    Но это уже следующий уровень  
  • wrmngr
    12 января 2023, 12:44
    Хм, только Макс/мин в явном виде есть в боевых алго среднечастотных, остальное мусор
  • shprots
    12 января 2023, 13:10
    Вспомнили URALPRO! Он где то выкладывал своих олдовых ботов. Новичкам советую поискать и глянуть.

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

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