#database #python-3.x #sqlite #algorithmic-trading
#База данных #python-3.x #sqlite #алгоритмическая торговля
Вопрос:
В настоящее время я работаю над собственным проектом дневной торговли, но я не знаю, с чего начать, когда дело доходит до использования базы данных.
Цель: создать торгового бота. (У меня уже есть алгоритм)
Проблема: мне нужна помощь в процессе и инструменте для использования.
В настоящее время у меня есть программа, которая работает 24 часа в сутки и извлекает текущие финансовые данные.
-
Я думаю, что вывод этой программы должен быть вставлен в базу данных SQL, потому что там будут миллионы строк. Верно ли это предположение?
-
Затем мне нужно выполнить оперативный расчет, чтобы добавить вывод моего алгоритма в новый столбец этой базы данных. Это правильное предположение или у меня должна быть отдельная база данных для оперативного расчета, связанная с моим алгоритмом?
Я теряюсь в отношении фреймворка и инструмента, которые я должен использовать в качестве наилучшей практики, будь то параллельные вычисления, база данных SQL / NoSQL, PySpark и так далее.
Комментарии:
1. с
pandas
легко работать с данными, и вы можете найти руководства по использованиюpandas
в торговле с «временными рядами». Некоторые люди используютpandas
даже с большими файлами — несколько ГБ. Я думаю, что есть даже модуль для использованияpandas
сpyspark
, но если он не будет работать, я бы использовал database. У вас есть модулиSQLAlchemy
,peewee
для работы с различными базами данных — Postgres, MySQL (в конечном итоге SQLite). У вас всегда будут одни и те же столбцы, поэтому вам не нужен NoSQL.2. @furas спасибо за ответ. Считается ли pandas хорошей практикой для такого рода работ? Позволяет ли мне использование базы данных пропустить PySpark или я должен использовать ее в любом случае для повышения эффективности?
Ответ №1:
Что касается первого предположения: предполагая, что вы собираетесь вставить миллионы строк в одну таблицу без каких-либо корреляций / ограничений, выполняемых или необходимых, я бы посоветовал прочитать о NoSQL (например, MongoDB), который при допущении этого предположения также может дать правильное решение для вашего второго вопроса.
Я бы посоветовал прочитать: http://www.automatedtrader.net/articles/technology-strategy/157883/python-for-analysing-financial-markets
Удачи!