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

Kate

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

Рис 1.

image



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

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

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

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

Нам понадобится механизм 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/
 
Сверху