Приложения для торговли систем - кэширование исторических данных в локальной базе данных?

StackOverflow https://stackoverflow.com/questions/7813985

Вопрос

Большинство торговых приложений получают DataFeed от коммерческих поставщиков, таких как IQFEED или брокерские компании, которые поддерживают Trading API. Есть ли заслуга в хранении его в локальной базе данных? Внутридневная DataFeed просто массивная по размеру, и база данных будет расти в геометрической прогрессии с 1 минутами данных всего за 50 акций, не говоря уже о тиковых данных. Я подозреваю, что это будет кошмаром для резервного копирования базы данных и может повлиять на производительность.

Если вы получаете исторические данные в текстовых файлах на DVD или в Интернете, то хранение их в базе данных является единственным логическим выбором, но будет ли все равно хорошей идеей, если вы получите его через API?

Это было полезно?

Решение

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

Как вы сказали, данные о тиках в значительной степени не могут быть вопросом, для 1 -минутных данных, которые означают приблизительно 400 бар в день и 20000 бар для 50 символов.

Пространство расчета может быть рассчитано на основе этого, если вы храните OLHC, его можно достичь с четырьмя значениями типа Int.

Как отметил другой ответ, производительность может быть проблемой с все большим количеством символов, но не должна быть проблемой с 50 символами на 1 минутах.

Другие советы

Это вопрос производительности. Если API достаточно быстрый, то используйте это. Если это не так, а кэширование поможет, тогда кэшюруйте это. Только ваше приложение и ваши модели использования могут определить, насколько истина и необходимость применяется к этим утверждениям.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top