量化选股策略搭建(五)(短期策略搭建)

所用到的数据:
1、上市公司信息数据

可用tushare的 stock_basic接口获取
2、股票每日信息(开、收、最高、最低价,换手率,成交量等)

可用tushare的pro_bar接口获取
3、大盘指数每日信息

可用tushare的 index_daily 接口获取
4、每日涨跌停统计

可用tushare的 limit_list接口获取
5、个股每日资金流向(超大、大、中、小单流入流出)

可用tushare的moneyflow接口获取
完整数据获取代码可以见github,github链接在末尾。

策略搭建代码

一些包导入及定义
量化选股策略搭建(五)(短期策略搭建)_第1张图片
上市公司信息获取:

量化选股策略搭建(五)(短期策略搭建)_第2张图片
读取大盘信息:

将大盘的日期提取出来生成一个dict,这么做的目的是为了给交易日编一个码,后期方便处理,因为有些股票会有停牌日导致信息丢失。

量化选股策略搭建(五)(短期策略搭建)_第3张图片

读取上市公司每日的涨跌的基本信息:

量化选股策略搭建(五)(短期策略搭建)_第4张图片

特征工程

获取星期:似乎在短期交易中,星期几也是一个重要的指标

量化选股策略搭建(五)(短期策略搭建)_第5张图片

获取每日涨跌停统计,如果某天涨停数远远多于跌停数,则说明市场赚钱效应显著。

量化选股策略搭建(五)(短期策略搭建)_第6张图片

将每日成交量做一些处理,利用5天成交量均线换算成比例,开盘价等也是如此。

量化选股策略搭建(五)(短期策略搭建)_第7张图片

将大盘近三日相对于当天大盘情况换算成比例。

量化选股策略搭建(五)(短期策略搭建)_第8张图片

获取资金流向

量化选股策略搭建(五)(短期策略搭建)_第9张图片

标签制作

这里将未来3天股价相对于今天收盘价涨超6%,并且最低价大于3%的股票标记为1,否则为0.
量化选股策略搭建(五)(短期策略搭建)_第10张图片

模型训练

训练时间:20190101->20190101

测试时间:20190101->20191218

这里不选用测试集,原因是当前所用的测试机不能代表未来的情况。

使用的特征:

星期;当日涨停数-当日跌停数;转换后的开盘、收盘等价;近三日的收盘价、成交量(换成比例的);资金中、大、超大单流入及净流入(换算成比例的)。一共有32个特征。
在这里插入图片描述

模型训练,利用lgb模型训练。
量化选股策略搭建(五)(短期策略搭建)_第11张图片

观察特征重要性:

从特征重要性可以发现,近几天上证指数、涨跌停情况、还有换手率是比较重要的特征。看上证指数和涨跌停情况说明还是需要看大盘的,大盘好赚钱效应才高。

量化选股策略搭建(五)(短期策略搭建)_第12张图片

回测

**买入策略:**当日收盘价买入,持股周期3天,止盈5个点,止损3个点。

先剔除一部分涨停无法买入的股票(利用最高价是否等于收盘价判断,暂且这么判断)

量化选股策略搭建(五)(短期策略搭建)_第13张图片

**回测结果:**初始资金为10w,Account为自己定义的一个类,可见github看源代码
量化选股策略搭建(五)(短期策略搭建)_第14张图片

盈利情况:

虽然账户跑输了上证指数,但是短期的交易胜率还是挺高的,回撤也很小。

量化选股策略搭建(五)(短期策略搭建)_第15张图片

与上证对比图:

量化选股策略搭建(五)(短期策略搭建)_第16张图片

总结与感触:

1、低频交易想在短期获得利润很难,市场不确定性比较大

2、机器学习特别依赖训练集,训练集选取不好,未来将很难盈利

3、机器学习也特别依赖特征,特征太多,模型容易很难学到有效信息,容易过拟合

4、在股市问题上,验证集选取也不好选取,你当前所选取的验证集很难代表未来的情况。

未来研究方向:

1、中期股票选股策略

2、单支股票的操作策略

3、股价预测等

代码 github: https://github.com/wbbhcb/stock_market

对量化、数据挖掘、深度学习感兴趣的可以关注公众号,本人不定期分享有关这些方面的研究。
量化选股策略搭建(五)(短期策略搭建)_第17张图片
个人知乎: https://www.zhihu.com/people/e-zhe-shi-wo/activities

你可能感兴趣的:(量化杂文)