【问题标题】:What is the best way to store market data for Algorithmic Trading setup?为算法交易设置存储市场数据的最佳方式是什么?
【发布时间】:2018-05-22 23:15:15
【问题描述】:

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

我想知道如何将所有数据存储在文件系统或数据库中(基于 SQL 或 NoSQL)。如果相关,数据来自 REST API。

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

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

【问题讨论】:

  • 这个问题的答案主要基于意见,因此与 Stack Overflow 无关。
  • 也许我错了,但我当然认为在决定如何存储数据时有一个大的技术观点,因为在让算法交易你自己的钱时查询时间是必不可少的。
  • 您尝试过哪些不起作用的方法?
  • 第一个试验涉及在 Excel 上编写规则并使用它从其他 CSV 中获取数据,相信我需要很长时间。就在那时,我放弃了 Excel 的想法。虽然我不确定在 Java/Python 中相同的过程会有多快。

标签: sql database file nosql algorithmic-trading


【解决方案1】:

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

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

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

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

【讨论】:

  • 感谢 Ian 的领导。我会尝试 HD5,因为您已经在使用它,我相信它也会对我有所帮助。
猜你喜欢
  • 2012-01-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-05
  • 1970-01-01
  • 1970-01-01
  • 2011-08-09
  • 1970-01-01
相关资源
最近更新 更多