用于量化投资策略(最高日频率)研究的金融数据库,用 MySQL 是否足够?有哪些可能遇到的瓶颈?

如题所述

第1个回答  2018-03-20

如果你正在做高频数据,SQL绝对不是一个解决方案,搜索数据会让你等死 。至于如何解决,可以开研讨会。提到的主题是每日最高频率的数据,但它是否足以在这里分成两部分进行讨论。

第一部分是存储这个不是你的瓶颈。

因为从总的能力,所有的财务数据(以上每日)加不超过20国内(没有文本数据)。任何服务器的硬盘都足以承受。从一个表中,最大的表不是每天的列表,而是一些表的键。我所看到的大多数表都是关于4亿个数据的。事实上,从SQL中仍然可以承受。但是,如果你真的想加快速度,我们建议将表格拆分,放置在一个小表中需要的数据并进行索引(这是非常重要的)!!所以,如果你谈论存储这个角度,SQL没有瓶颈。那么瓶颈在哪里呢?

第二部分是如何阅读和计算这是最大的问题

你的策略是一个连续的阅读和计算过程。一种方法是读取数据,然后计算时间,你会发现,阅读是一个很大的瓶颈,首先不是SQL本身找到计算时间,如果是一个10M,你的速度是100K,它需要100秒是一分钟,如果你把所有的股票全天的交易数据可能超过10m。这时,你需要写一些SQL语句来减少数据你每一次的量,但这将增加SQL本身和连接所需的时间。所以这是跷跷板,你需要找到一个适当的平衡

一个简单的语句数据有大量的头,没有复杂的数据语句,少量的必须是最好的,而不是最坏的,取决于个别情况和能力,当上述不能解决时,在前面分割表时,表结构优化就是解决方案。但同样的事情是牺牲硬盘空间和时间。当你得到相同的,你会失去相同的。此外,如果上述你不满意。你需要使用内存数据库的解决方案,因为根据我的经验,数据库不能减少到第二级和下面,如果你想做一些战略的回溯测试或优化工作,或者一些高频率的交易在实战中,那么数据库必须能够满足你的要求。最后,这是一个主观因素,是不够的。还需要结合你自己的情况和要求来看待。当然,提高你的能力是最重要的,是所有方面的技能

相似回答