首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为小规模算法交易软件设置数据收集

如何为小规模算法交易软件设置数据收集
EN

Stack Overflow用户
提问于 2019-06-26 17:33:29
回答 2查看 75关注 0票数 0

这是一个概念层面的问题。

我正在构建一个小规模的算法交易软件,我想知道我应该如何在该系统中设置数据收集/检索。系统应该是完全自主的。

目前我想要实时交易的算法是在非常低的频率上进行交易,但是我希望将来能够以更高的频率进行交易,因此我认为使用websocket设置数据收集将是一个好主意,以便立即获得实时交易。如果需要,我可以在以后汇总这些内容。

我的第一个问题是:考虑到数据将是实时的,我是否可以在开始时使用CSV文件进行存储,或者您是否会建议使用更实质性的文件?

在任何情况下,数据收集都将作为我的应用程序中的一个守护进程进行。

我的第二个问题是:有没有可用的框架来处理实时传入的数据,以保持数据库不变,而其余的软件正在查询它,以避免冲突?

我的第三个也是最后一个问题是:您认为在这种情况下使用websocket是一种明智的方法,还是每次应用程序需要数据时查询都会更好?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-06-26 17:54:10

CSV是一种很好的交换格式,但由于它是基于文本文件的,所以不适合实时更新。这只是我的观点,但我想不出比数据库更喜欢它的理由。

为了处理实时冲突,您稍后将需要一个专业等级数据库。PostgreSQL有着健壮的名声,MariaDB可能也是一个正确的选择。您可以在像SQLite这样的开发模式下使用公升数据库,但要注意其中的细微差别:很容易编写在一个数据库上可以工作,但在另一个数据库上会崩溃的代码。另一方面,如果跨数据库的可移植性很重要,那么您至少应该使用两个数据库:一个在开发时,另一个在集成时。

一个要立即问自己的问题是,您是想要关系数据库还是noSQL数据库。前者确保ACID (原子性、一致性、隔离性、持久性)事务,后者提供更大的可扩展性。

票数 0
EN

Stack Overflow用户

发布于 2019-06-28 20:17:19

作为算法交易的主要参与者之一,曼氏集团已经开放了他们的名为Artic的数据存储,这是专门为时间序列和节拍数据设计的。你可以在here上找到它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56769559

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档