小白的AI策略学习方法论

研报复现
小白
标签: #<Tag:0x00007f8c602856d8> #<Tag:0x00007f8c60285598>

(likingfit) #1

我是学CS的,对金融认识为零,在这之前也没有看过研报,对平台的很多模块也一无所知。学习了平台小学阶段的课程,对于如何构建策略有了初步理解,但是问题来了,我不懂金融和股票,不明白其中每一个步骤的原因和逻辑。有幸得到BigQuant工程师的指导(下文都称作mentor),他建议我通过阅读和复现研报来理解金融和量化投资,并且掌握其中因子分析的原因和逻辑,可以快速地建立我对量化投资对认知。

研报都有这样的“套路”

mentor推荐了一篇《华泰金工》的研报,那么问题接踵而至:

  1. 金融知识缺乏。 例如研报中出现的技术因子,风格因子,换手率,波动率等等都让人头大。
  2. 量化方法陌生 。毫无疑问,量化投资策略是有套路的,可当时对量化方法一无所知,对于每一步的方法都是似懂非懂的。

华泰金工的研报中列出了海量因子,并介绍了单因子测试方法然后给了测试结果。在阅读过多篇研报后再来看, 发现研报都有统一的思路:通过金融规律找到某种因子的可能性,构建因子,进行因子预处理,再构造回测框架,分析回测结果

掌握了这样的规律后,研报的阅读也就轻松了许多。于是我花了一到两周的时间把“华泰金工单因子测试因子系列”的十篇研报都看了一遍,对如何寻找、构建因子,整套测试模型等有了一个大概的认识。

熟悉平台功能模块,有助于提高策略编写效率

研究了大概两周左右,对研报的结构和套路都有了深刻的认识,但同时也不停的熟悉平台的使用。mentor让我开始试着研报复现,构建一个完整的策略。我花了一上午的时间完成相应的因子的构建, 发现对平台的模块熟悉程度越高,写策略效率越高,因为在写策略的过程中,不断地会有新的需求,会刺激我去学习使用更多的模板。

举个例子:刚开始都是直接用“证券代码列表”模块获取相应的数据,到后面需要一些分钟数据,那就得用“数据源”模块去调用;再后来,需要批量测试因子,那显然需要一些自动化的操作,这时候才发现有个很好的模块叫“自定义运行”,可以很轻松的帮用户完成批量测试的操作。总之, 初学者需要尽快地熟悉模块,或者边写边学边问。

数据处理是关键,模块化处理更便捷

数据处理是关键,我觉得要基本掌握数据处理的方法后,才算是入门了策略编写。学会了数据调用,也能构建一些简单因子,可面对大量的数据我还是无从下手。Mentor就让我看了本《利用python进行数据分析》,磨刀不误砍柴工,书里详细介绍了numpy和pandas的用法,这简直是对初学者一个巨大的福音,并且 平台也上线了免费python课程,可以更好地与平台结合学习 研报对于因子的处理方面比较严格,要剔除各种影响因素,BigQuant平台有非常全的模块库, 中性化、缺失值处理、股票过滤等等功能都是非常齐全的,也不用自己去敲更多的代码。

学习回测模板,理清回测逻辑

接下是策略的回测,一开始我跟着学院里的回测模板跑,确实是能跑出一些结果来,但是离开了模板自己写回测就完全不行,因为回测模块里面有很多代码逻辑需要搞清楚。平台上有专门的文档仔细介绍了整个回测流程和使用方法, 每一个初学者必读! 搞清楚回测模块不同function的用途,模块里的context是什么,怎么用,还有其他的重要对象的使用。 初学者如果要灵活使用回测模块稍微比较难,有编程功底上手会很快,不会编程的话结合平台上其他用户写的回测多多测试。在回测的时候,还需要注意对应研报要求,回测逻辑、回测时段、回测周期等。

套构建专题策略,持续深造

初步尝试复现了几篇研报,对于研报的思路基本已经驾轻就熟,上手策略速度变快了,可以构建专题策略,继续提升。Mentor给我的任务是做T+0相关因子的策略。挑选了十篇研报进行复现,这时可能会遇到更复杂的因子构建情况,例如分钟数据、回归等,但大多不是太大的问题。 在这期间,我学会了去对比和分析回测结果,不同时期不同策略跑出来的效果如何。

在整个研报复现的过程中,Mentor给了我很大的帮助,让我入门和上手都变得更快,尤其前期数据处理方面和后面一些策略逻辑方面卡住的时候,不要一个人闷头干,多多交流才会更快的进步。哦,还需要提一点,平台最大的优势是可视化模块,对于很多非程序员是很友好的,但是在编写策略时,难免会遇到bug,所以学会如何调试模块和代码也是初学时很重要的一环。