Платформа Python 3 для автоматической торговли

#database #python-3.x #sqlite #algorithmic-trading

#База данных #python-3.x #sqlite #алгоритмическая торговля

Вопрос:

В настоящее время я работаю над собственным проектом дневной торговли, но я не знаю, с чего начать, когда дело доходит до использования базы данных.

Цель: создать торгового бота. (У меня уже есть алгоритм)

Проблема: мне нужна помощь в процессе и инструменте для использования.

В настоящее время у меня есть программа, которая работает 24 часа в сутки и извлекает текущие финансовые данные.

  1. Я думаю, что вывод этой программы должен быть вставлен в базу данных SQL, потому что там будут миллионы строк. Верно ли это предположение?

  2. Затем мне нужно выполнить оперативный расчет, чтобы добавить вывод моего алгоритма в новый столбец этой базы данных. Это правильное предположение или у меня должна быть отдельная база данных для оперативного расчета, связанная с моим алгоритмом?

Я теряюсь в отношении фреймворка и инструмента, которые я должен использовать в качестве наилучшей практики, будь то параллельные вычисления, база данных 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

Удачи!