上一节我们已经得到了一个比较完整的数据库,但是这个数据库并不适用于量化投资的研究,这是为什么呢?
1)数据并没有经过清洗,比如还有一些"None"、“--”数据,会在后续模型搭建中影响正常的矩阵运算。
2)当前数据存储的方式并不适合量化分析。如图所示,金融数据是个三维数据,时间维度代表每个交易日,个股维度代表每只股票,指标维度代表每个具体的指标(如日涨跌幅、成交量、换手率、总资产、ROE等)。真正适合量化投资平台的数据存储方式是以时间和个股建立table,然后每个指标分别为一个table。原因有二:
a)量化投资分析的所需要使用数据的股票数量往往有上千只,交易日也往往也有上千个,而指标只有几十个,以指标为单位读取table效率更高。
b)单次量化分析所需要的指标数量往往有限,以Fama-French(1993)三因子模型为例,只需要用到beta,size,value,日收益率等极少数指标,因此这样做有利于最大限度地减少运算冗余,从而提升运算效率。
而我们得到的数据是这种形式:
而我们需要的是这种形式:
3)维度不统一。即历史行情数据是每日的数据而财务数据是季度数据,我们需要把财务数据变成每日的数据,即当日的财务数据等于当日最新发布财