突然想做个系列,结合自己的学习路程让更多的量化爱好者有机会接触这条路。
这一篇做的是多因子选股篇,结合具体策略来说,说的不好还请大家多多指正。
前言
选股思路来自于前些日子看的一本书《超级成长股》,全篇就讲了两个因子:市销率跟市研率(市值跟研发费用)。
作为翻版小市值收益曲线还是可以的。
选用的是市销率+净利润增长率+营业收入增长率三个因子,先选出市销率最低的30只股票,然后用净利润增长率+营业收入进行等权打分,选出分最高的前十只股票,在优矿平台上实现。
策略部分
选用的语言是Python,这里导入的是3个包,numpy、pandas是python自带的,CAL是优矿自己集成的库
每一个策略都要有确定回测的区间、相对的基准、股票池、初始资金、策略执行的频率以及佣金
导入上交所日历、定义三个因子
相当于在券商开个户
策略逻辑部分:
def handle_data(account): # 每个交易日的买入卖出指令
设定股票池
提取市销率因子 ,这里调取了优矿的因子数据
按市销率,选市销率最小的30只股票
提取市销率最小30只股票的净利润增长率和营业收入增长率数据
# 营业收入增长率OperatingRevenueGrowRate,处理方法同上
买入列表
buylist = Total_Score.sort('total_score').tail(10).index.tolist() # 选出评分最高的10只股票
买入判断
for s in account.valid_secpos.keys():
回测曲线: