Технический анализ рынка акций на Московской Бирже на платформе 1С при помощи Python

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.
Иногда в той или иной отрасли между специалистами происходят крупные баталии по поводу возможности или невозможности применения той или иной технологии. О том какая технология лучше и хуже. Попытаемся совместить в себе достоинства нескольких продуктов для совместного решения общей задачи. Возьмем «от каждой технологии по способностям».

Рис 1.

image


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

Часть первая
Часть вторая

Возьмем от 1С такие возможности как: язык запросов, динамический список, система компоновки данных.

От Python нам пригодится что-нибудь из богатого набора библиотек. Например, библиотеки технического анализа:

  • Библиотека ta (более 42 индикаторов)
  • Библиотека ta-lib (более 78 индикаторов)

Нам понадобится механизм 1С «Обработка». При помощи него мы будем выполнять скрипты Python и получаемый результат выводить на экран или сохранять в базе 1С.

Рис 2.

image

Для передачи данных в Python будем отбирать один или несколько инструментов.

Рис 3.

image

Предусмотрим общие настройки обработки в зависимости от выбранного скрипта. Это сам текст скрипта, вариант передачи данных из 1с в Python и обратно.

Рис 4. Общие настройки мен файлов импорта экспорта

image

Рис 5. Отбор самих выводимых и анализируемых данных

image

Рис 6. Предусмотрим возможность получения в 1С потока вывода и ошибок Python

image

Рис 7. Ну и конечно график. Результат того, ради чего мы все это затеяли

image

Рис 8.

image

Для экономии места совместим комплексные графики. Но простое исправление скрипта позволит разнести их на разные графики, как это делается классически.

Рис 9.

image

Вспомнив, что у нас две библиотеки технического анализа создадим возможность вывода каждого графика. Получаем 120 графиков (часть индикаторов в библиотеках повторяются).
Прежде, чем воодушевленно ринуться в машинное обучение Python временно остановимся. Создадим возможность передачи и хранения в 1С индикаторов рассчитанных Python.

Рис 10.

image

Рис 11.

image

Измерив среднюю скорость расчета всех индикаторов Python и передачи их в 1С мы получаем 20 секунд на каждый биржевой инструмент. Что при наличии 340 Биржевых инструментов потребует примерно около 2 часов на полных их пересчет. При работе на интервале 1 день это оказывается вполне допустимым показателем. Но даже если нам покажется, что время полного пересчета слишком велико, то мы вспомним, что регламентные задания можно сделать параллельно выполняющимися на нескольких ядрах/ процессорах сервера. Соответственно удвоение количества регламентных заданий сократит время полного пересчета вдвое. И т.д.

Что мы получили:

  • Мы получили возможность почти мгновенного формирования графиков Python и отображения их в 1С.
  • Хранение в 1С рассчитанных Python технических индикаторов, а следовательно возможность их использования в языке запросов, отчетах.
  • Возможность подключения инструментов анализа и прогнозирования 1С. Например 1С Аналитика.

v8.1c.ru/platforma/1s-analitika

Подробности можно посмотреть в документации

Продолжение следует…
Источник: https://habr.com/ru/post/561888/


Интересные статьи

Интересные статьи

Недавно я попал на стажировку в новую для себя IT-компанию и наш (моей команды) проект был - бот для телеграмма, который автоматизирует часть работы hr-менеджеров. Первую...
Анализ тональности стал мощным инструментом для масштабной обработки мнений, выражаемых в любых текстовых источниках. Практическое применение этого инструмента в английском языке до...
Числа с плавающей запятой необходимы для научного программирования, однако первые процессоры напрямую поддерживали лишь операции с целыми числами. Но ранние микропроцессоры всё же мог...
Про то как вызывать Python из C написал в прошлой статье, теперь поговорим как делать наоборот и вызывать C/C++ из Python. Раз начал писать об этом, то раскроем всю тему до конца. Тем более, чт...
В ноябре я публиковал статью «Яндекс.Метеум – технология без технологии. Маркетинг с точностью до района», где соотносил качество прогнозов Яндекса с другими сервиса. Акцент делался на температур...