sql - 存储算法交易设置市场数据的最佳方式是什么?

标签 sql database file nosql algorithmic-trading

我正在为交易自动化进行算法交易设置。目前,我有一个经纪商 API,它可以帮助我获取我感兴趣的所有股票的历史数据。

我想知道如何存储所有数据,无论是在文件系统还是数据库(基于 SQL 或 NoSQL)中。数据通过 REST API(如果相关)提供。

我的用例是查询历史数据以在实时市场中做出交易决策。我还必须开发一个回溯测试框架,该框架将查询历史数据以检查历史策略的性能。

我正在研究频率为 5 分钟 - 1 小时的蜡烛图,并且主要是日内交易策略。谢谢

最佳答案

正如你所说,有很多选择,正如 STLDeveloper 所说,这有点偏离主题,因为它是基于意见的......无论如何......

我在自己的 Python 回测引擎中使用的一个简单策略是使用 Python Pandas DataFrame对象,并使用 to_hdf() 以 HD5 文件保存/加载到磁盘和read_hdf() 。 HD5(对我来说)的主要优点是它的加载/保存速度比 CSV 快得多。

使用上述方法,我可以轻松管理几年的 1 分钟数据以进行回测,并且数据访问当然不是我的性能瓶颈。

您需要自己确定您选择的数据管理方法对于实时交易来说是否足够快,但总的来说,我认为如果您的策略基于 5 分钟蜡烛,那么任何合理的数据库方法对于实时交易都将具有足够的性能。你的目的。

关于sql - 存储算法交易设置市场数据的最佳方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47718923/

相关文章:

sql - 将数据从 C# 插入 SQL Server 2008 R2

sql - MySQL Join子选择优化

database - 自动调整 levelDB 磁盘空间?

php - Laravel 4.2 动态数据库连接

c# - 使用 C# 插入字段名称为 TA/TJ 的数据库

php - 无法将远程文件名获取到 file_get_contents() 然后存储文件

c++ - 同步独立的应用程序。 (如何在运行时检查文件是否被另一个程序修改)

C 编程 - 编写可自行编译的文本文件

SQL - 从 5 个条件中匹配 3 个

sql - 如何将 SQL Server 数据库分发给客户端