5条线连出一个价值选股策略
由clearyf创建,最终由clearyf 被浏览 348 用户
导语
本文简单介绍如何通过可视化的方式开发出一个价值选股策略。
标题也许看着有点蒙,什么意思呢?其实就是通过5条线连接的几个模块就能开发出一个简单的价值选股策略。我们先来看看策略截图。
策略思想介绍
该策略一共包括:证券代码列表、输入特征列表、基础特征抽取、数据过滤、Trade(回测/模拟)共5个模块。首先我们先介绍下策略的思想。
- 开始日期:2013-01-01
- 结束日期:2017-11-07
- 选股依据:根据市净率指标全市场选股,选出该指标最小的10%的股票;
- 调仓规则:买入持有22天(接近自然日30天),进行调仓,卖出全部股票,然后重新买入股票;
- 资金分配:等权重买入
策略开发流程
接下来,详细介绍策略开发的各个流程。
-
新建一个可视化空白策略模板
-
拖入证券代码列表模块,并在右侧参数窗口输入开始日期和结束日期
-
拖入输入特征列表模块,并在右侧代码编辑器窗口输入市净率排序因子
- 拖入基础特征抽取模块,并将证券代码列表和输入特征列表两个模块的连线到该模块
补充:在连线时,应该注意对应的节点,不同的节点对应不同的模块输入。此外,基础特征抽取模块的右侧参数窗口可以不填,不填就会继承输入模块的相关参数。这里,就会继承证券代码列表模块的开始日期和结束日期。
-
拖入数据过滤模块,并设置过滤条件。因为我们是通过市净率选股,我们选择市净率最小的10%的股票 。
补充:rank_pb_lf_0因子是横截面排序因子,其详细释义可以在文档-因子库查询,根据当日全市场股票市净率大小升序排序所得。通过数据过滤,我们将市盈率最小的10%的股票的过滤出来。
-
拖入交易模块——Trade(回测/模拟)
-
将策略思想添加在 主函数
-
点击运行或运行全部,得到回测结果
模块中的数据查询
可能有小伙伴比较纳闷,如果我关注中间某些模块的数据,怎样才能查看呢?BigQuant的策略研究平台为“可见即可得”的研究环境,中间模块的数据我们可以这样查询,以数据过滤模块为例:
-
首先,选中该模块,右键运行该模块
补充:运行该模块的话,就不会运行全部模块,这样方便调试策略。运行某模块的时候,系统会自动运行该模块的继承模块,即那些连线到该模块的模块也会运行。 然后,该模块是m4,直接在画布上方或者下方新建一个单元格(cell),就可查看m4模块的输出数据
是不是觉得开发策略没有想象中的那么困难啊?欢迎大家克隆进行深入研究,本文只是一个简单的demo,还有许多尝试的方向。
策略案例
https://bigquant.com/experimentshare/6987e031d07c408f958c5853629d52b3
\