昨晚我写的数据库写入函数被提出了一些新要求,因此我整个上午和下午的前半段都在重新编写这个数据库写入函数。过程还是挺顺利的,也学到了一些用 Python 的 SQLAlchemy 来读写数据库的方法。或许以后我也可以将数据保存在 SQLite 中,并且用 Python 来读写,避免数据量太大而混乱的问题。

完成这个工作之后,我再次对着此前的回测结果陷入了沉思,并意识到我仍然没有非常清晰的想法。更重要的是,我一看到回测结果就感到心烦意乱。

最终,我决定开始自行开发一个回测框架。

我的初步想法很简单。由于量化策略往往五花八门,没有统一标准,因此这个回测框架应该尽可能输入结构工整易处理的数据,也就是标的持仓和价格数据。有了这两样数据,回测并生成一个净值序列应当不会很麻烦。而在此基础上,我打算实现一个 Performance 类,用以根据输入的净值和持仓数据来返回策略的绩效。这个绩效应当包含每一年的回测指标,如天数、胜率、收益率等等。此外,应该还要有一个 .py 文件,用来存放各种回测能够使用的计算函数。从工程角度考虑,也许这次我应该使用 git 来作版本控制。

当然,这些想法也许会随着开发过程的推进而发生变化。目前,我正在编写 Performance 类,希望能够早点实现出来。