Иногда в той или иной отрасли между специалистами происходят крупные баталии по поводу возможности или невозможности применения той или иной технологии. О том какая технология лучше и хуже. Попытаемся совместить в себе достоинства нескольких продуктов для совместного решения общей задачи. Возьмем «от каждой технологии по способностям».
Рис 1.
Приведенный текст является продолжением уже опубликованных статей.
Часть первая
Часть вторая
Возьмем от 1С такие возможности как: язык запросов, динамический список, система компоновки данных.
От Python нам пригодится что-нибудь из богатого набора библиотек. Например, библиотеки технического анализа:
Нам понадобится механизм 1С «Обработка». При помощи него мы будем выполнять скрипты Python и получаемый результат выводить на экран или сохранять в базе 1С.
Рис 2.
Для передачи данных в Python будем отбирать один или несколько инструментов.
Рис 3.
Предусмотрим общие настройки обработки в зависимости от выбранного скрипта. Это сам текст скрипта, вариант передачи данных из 1с в Python и обратно.
Рис 4. Общие настройки мен файлов импорта экспорта
Рис 5. Отбор самих выводимых и анализируемых данных
Рис 6. Предусмотрим возможность получения в 1С потока вывода и ошибок Python
Рис 7. Ну и конечно график. Результат того, ради чего мы все это затеяли
Рис 8.
Для экономии места совместим комплексные графики. Но простое исправление скрипта позволит разнести их на разные графики, как это делается классически.
Рис 9.
Вспомнив, что у нас две библиотеки технического анализа создадим возможность вывода каждого графика. Получаем 120 графиков (часть индикаторов в библиотеках повторяются).
Прежде, чем воодушевленно ринуться в машинное обучение Python временно остановимся. Создадим возможность передачи и хранения в 1С индикаторов рассчитанных Python.
Рис 10.
Рис 11.
Измерив среднюю скорость расчета всех индикаторов Python и передачи их в 1С мы получаем 20 секунд на каждый биржевой инструмент. Что при наличии 340 Биржевых инструментов потребует примерно около 2 часов на полных их пересчет. При работе на интервале 1 день это оказывается вполне допустимым показателем. Но даже если нам покажется, что время полного пересчета слишком велико, то мы вспомним, что регламентные задания можно сделать параллельно выполняющимися на нескольких ядрах/ процессорах сервера. Соответственно удвоение количества регламентных заданий сократит время полного пересчета вдвое. И т.д.
Что мы получили:
Подробности можно посмотреть в документации
Продолжение следует…
Источник статьи: https://habr.com/ru/post/561888/
Рис 1.
Приведенный текст является продолжением уже опубликованных статей.
Часть первая
Часть вторая
Возьмем от 1С такие возможности как: язык запросов, динамический список, система компоновки данных.
От Python нам пригодится что-нибудь из богатого набора библиотек. Например, библиотеки технического анализа:
Нам понадобится механизм 1С «Обработка». При помощи него мы будем выполнять скрипты Python и получаемый результат выводить на экран или сохранять в базе 1С.
Рис 2.
Для передачи данных в Python будем отбирать один или несколько инструментов.
Рис 3.
Предусмотрим общие настройки обработки в зависимости от выбранного скрипта. Это сам текст скрипта, вариант передачи данных из 1с в Python и обратно.
Рис 4. Общие настройки мен файлов импорта экспорта
Рис 5. Отбор самих выводимых и анализируемых данных
Рис 6. Предусмотрим возможность получения в 1С потока вывода и ошибок Python
Рис 7. Ну и конечно график. Результат того, ради чего мы все это затеяли
Рис 8.
Для экономии места совместим комплексные графики. Но простое исправление скрипта позволит разнести их на разные графики, как это делается классически.
Рис 9.
Вспомнив, что у нас две библиотеки технического анализа создадим возможность вывода каждого графика. Получаем 120 графиков (часть индикаторов в библиотеках повторяются).
Прежде, чем воодушевленно ринуться в машинное обучение Python временно остановимся. Создадим возможность передачи и хранения в 1С индикаторов рассчитанных Python.
Рис 10.
Рис 11.
Измерив среднюю скорость расчета всех индикаторов Python и передачи их в 1С мы получаем 20 секунд на каждый биржевой инструмент. Что при наличии 340 Биржевых инструментов потребует примерно около 2 часов на полных их пересчет. При работе на интервале 1 день это оказывается вполне допустимым показателем. Но даже если нам покажется, что время полного пересчета слишком велико, то мы вспомним, что регламентные задания можно сделать параллельно выполняющимися на нескольких ядрах/ процессорах сервера. Соответственно удвоение количества регламентных заданий сократит время полного пересчета вдвое. И т.д.
Что мы получили:
- Мы получили возможность почти мгновенного формирования графиков Python и отображения их в 1С.
- Хранение в 1С рассчитанных Python технических индикаторов, а следовательно возможность их использования в языке запросов, отчетах.
- Возможность подключения инструментов анализа и прогнозирования 1С. Например 1С Аналитика.
Подробности можно посмотреть в документации
Продолжение следует…
Источник статьи: https://habr.com/ru/post/561888/