本科毕业论文,洋洋 16000 字的论( luan)述(chui)Logistic 回归,当时想着搞个大新闻,结果被刘老师批判一番,最后钦定了个优秀, 0.5%的查重率以及 2%的错别字率。
Logistic 回归,就是预测一个事情发生的概率,我尝试入门机器学习,最初像在看天书,后来发现,该公式我的本科论文时候就用上了,于是不管推到过程与理论算法,引入 sklearn.linear_model
直接算出系数(和论文一样,不过那时候是有 SPSS).
我们以 600085 (同仁堂)为例,先导入 2011 年 1 月 2 日到 3 月 15 日的数据作为观测数据。
引入两个股票因子, ROC6(6 日变动速率), RVI(相对活力指数指标)作为自变量 X1,X2,第二天的股市收盘价乘 0.99 是否还大于前天的收盘价的逻辑值作为因变量,试图用自变量预测因变量。
得到的回归方程如下:
P(第二天比(当天收盘价 1/0.99 还高)的概率=1/(1+math.exp(-t))
t=(当天 ROC6)b+(当天 RVI)*c+常项 a 。
算出来的 a,b,c 分别为(-0.7462136415415949, 0.03282832018078131, 0.019269274280473765)
然后我们假设时间回到 2014 年,我们用这个模型去交易这只股票,假设根据 ROC6 , RVI 推测出明天股票有 50%的概率上涨,我们买入 500 手,假设明天股票有 60 的概率要上涨,我们买入 2000 手,假设 70%,我们买入 3000 手,同时未来三天不交易(将 refresh rate 调到 3 ,意味着出去玩三天,不管了)。同理,低于 0.45 就是要跌啦,那就卖出 1000 点,低于 0.4 就是要暴跌的节奏,那就第二天开盘全部卖了,留的青山在,不怕没柴烧。
结果显示,从 2014 年到 2015 年 7 月,单一只股票,买卖卖卖,年华收益 48%(扣除手续费),如果一直持有,年华收益 13%。
当然年华收益只是一方面,和最后股票价格有关,更为重要的是(一)在 2014 年整年,该股票主动管理一直优于被动管理(当然都亏了,或者说主动管理赚的钱拿去交手续费了)
二在 2012015 年 6 月 23 日,卖出订单如下
2015-06-23 卖 36,729.00, 共 1 个订单
2015-06-24 卖 38,814.00, 共 1 个订单
2015-06-26 卖 37,404.00, 共 1 个订单
2015-06-29 卖 36,709.00, 共 1 个订单
2015-06-30 卖 29,393.00, 共 1 个订单
根据算法,系统自动清盘了,神奇的避免了 7 月 1 日的大跌(说明算法还是有用的)。
从走势图看,对于机器学习,判断价值投资的买入卖出时间点意义大于波动套利(好像和量化理论不符合啊)。对于该模型,我相信肯定会有不科学的地方,而且不科学的地方肯定远多于科学的地方,未来继续发展(作死)的空间如下:
1.该模型只用了两个因子,可以考虑使用多个因子加入模型
2.该模型只用了一个股票,量化交易的前提之一是大数定理,就是一个不管用大家一起上才管用。因此还值得进一步发展的空间很多。
详细回测代码请戳:
https://uqer.io/community/share/579dfb15228e5ba294061f35