Pull to refresh

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

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

Рис 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

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

Продолжение следует…
Tags:
Hubs:
Total votes 4: ↑0 and ↓4-4
Comments6

Articles