Передача данных тиков в реальном времени из одного кода Python в другой код Python или приложение флаттера

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

я хотел бы передать живые тиковые данные (dataframe) цены акций из одного кода Python в другой. Я понимаю, что могут использоваться многопроцессорные каналы/que. Тем не менее, я хочу опубликовать вопрос здесь, чтобы я мог принять мудрое решение. Запросите свои мысли по поводу приведенного ниже требования.

По сути, у меня есть живые тиковые данные о нескольких сотнях биржевых символов, поступающих из веб-сокета. Функция обратного вызова websocket немного очищает данные и сохраняет их в RedisTimeseries dB (и в influxDB в будущем). Я не хочу добавлять к этому коду дополнительные накладные расходы, поскольку он обрабатывает функции обработки и хранения в реальном времени, и я предпочитаю, чтобы это было приложение с одной функцией.

В то же время мне нужно переслать пакет тиковых данных другому коду, который будет выполнять анализ (например, алгоритм обновления списка наблюдения/графика/автоматической торговли и т. д.). Я считаю, что Redis не излучает никаких сигналов при обновлении данных (может быть, sql dB может). В настоящее время я опрашиваю дБ для данных конкретного символа несколько раз в секунду. Это неэффективно, и, кроме того, я хотел бы, чтобы алгоритм воздействовал на данные по мере их поступления вместо непрерывного опроса данных каждого символа, который, в свою очередь, загружает дБ.

есть ли эффективный метод, такой как сигналы и слот/метод обратного вызова, такой как веб-сокет? я предпочитаю, чтобы первое приложение просто выдавало кадр данных из приложения *.py и использовало его в другом приложении *.py. На самом деле, мне обязательно нужно использовать второй код *.py для алгоритма автоматической торговли (нельзя комбинировать с первым). В ближайшем будущем я также могу рассмотреть возможность использования внешнего приложения для построения графиков / пользовательского интерфейса и т. Д., Которое может быть написано на флаттере или другом языке. Таким образом, общее требование состоит в том, чтобы выдать кадр данных из приложения *.py и собрать его из какого-либо другого приложения независимо от языка, используемого вторым приложением.

0 ответов

Другие вопросы по тегам