Наверно не только меня одного в профессию программиста привела тяга к компьютерным играм. Все эти новые вселенные, стрелялки, полеты на немыслимых самолетах. Всегда хочется что-то узнать большее об управляемом персонаже, защитить его, правильно им управлять. Возможно даже вырастить его в немыслимого супергероя. С годами игры меняются. Остается главное – страсть к чему-то новому исследовательскому. Открутить колесико от одной машинки и прикрутить его к другой. А вдруг!

Рис1.
Рис1.

Самое главное в этом процессе играть самому. По своим правилам и своими игрушками. Пусть даже и не выиграть. Но самое главное самому и по своим правилам. Руководить собственным маленьким, подчиняющимся только тебе «терминатором». Начнем с выбора персонажа. Пусть это будут акции российских и иностранных компаний доступные обычному человеку на Московской бирже через терминал QUIK. Спасибо разработчикам терминала. Они предоставляют механизмы экспорта/импорта информации во внешние системы анализа. Платформа для создания бизнес-приложений логично вписывается в эту нишу. При этом концепция «low code» позволяет в одиночку создать и поддерживать свои правила игры на своем поле. Даже человек, который ранее никогда не программировал может в приемлемый срок освоить встроенный в 1С Предприятие язык программирования и начать управлять небольшой торговой системой, закладывая в нее свою логику.

Создадим себе возможность быстрого выбора персонажа, которым мы хотим управлять в текущую минуту.

Рис 2.
Рис 2.

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

Рис 3.
Рис 3.

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

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

Рис 4.
Рис 4.

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

Рис 5.
Рис 5.

Это могут быть как ценовые показатели, так и количественные.

Рис 6.
Рис 6.
Рис 7.
Рис 7.

Для принятия решения о текущем поведении инструмента необходимо проанализировать его разными средствами и подходами. На эту тему существует огромное количество теорий от математики до астрологии. Опишу некоторые из них.

Рис 8.
Рис 8.

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

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

Рис 9.
Рис 9.

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

Рис 10.
Рис 10.

Любому игроку нравится внести в игру свои правила. Для этого должна быть возможность вывода графиков каких только душа пожелает. А если таких нет, то дополнить самостоятельно. Хорошо что язык 1С понятен и доступен.

Рис 11.
Рис 11.

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

Рис 12.
Рис 12.

Наличие таких стратегий отличный вариант. Но в современных условиях многие из классических алгоритмов могут и не работать. Чтобы четко понимать для каждого конкретного инструмента работает ли для него данная стратегия будем сразу и проверить на текущих и исторических данных. Для этого просто проверим для сигналов в прошлом сбылись ли их предсказания. Получим значения вероятностей срабатывания сигнала. Например 0,6 – Значит в прошлом сигнал для этого инструмента отрабатывал в 60 % случаев.

Рис 13.
Рис 13.

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

При этом по нажатию всего на одну кнопку мы можем расшифровать сигнал. Увидеть графически.

Рис 14.
Рис 14.

Собственная система предсказаний-это хорошо. Но вдруг она ошибется. Предусмотрим кнопки быстрого перехода на тематические сайты поиска информации.

Рис 15.
Рис 15.
Рис 16.
Рис 16.

Когда речь заходит о вероятности и статистике в голову, конечно, приходят классические знания. Частоты значений. Это либо частоты цен, либо частоты ночных скачков цен.

Рис 17.
Рис 17.
Рис 18.
Рис 18.

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

Получилось в сумме из двух библиотек более 120 технических индикаторов и графиков.

Рис 19.
Рис 19.

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

Рис 20.
Рис 20.

У нас получилось сразу несколько возможностей построения графиков. Этот как механизмы языка Python. Так и встроенные в 1С типовые средства построения графиков и отчетов.

Рис 21.
Рис 21.
Рис 22.
Рис 22.
Рис 23.
Рис 23.

Комментарии (4)


  1. janson
    06.02.2022 15:13
    +11

    Я думал тут про моего любимого Бэтмена или Фоллаут. А тут какие-то графики.


    1. fosihas
      06.02.2022 21:15

      «- А что, отец, - спросил молодой человек, затянувшись, - невесты у вас в городе есть?

      Старик дворник ничуть не удивился.- Кому и кобыла невеста...»

      (с) И. Ильф и Е. Петров. 12 стульев.


      1. janson
        07.02.2022 01:00
        +2

        Вопросов больше не имею! Хотя эпиграф обычно вначале размещают.


  1. prishelec
    07.02.2022 01:13
    +2

    У меня психологическая травма уже. Что за графики?