R语言逻辑回归Logistic选股因素模型交易策略及沪深300指数实证
全文链接:http://tecdat.cn/?p=32071
原文出处:拓端数据部落公众号
随着中国的证券市场规模的不断壮大、市场创新不断深化、信息披露不断完善、市场监管不断强化,随着现代投资组合理论的发展和计算机技术的进步,投资者为了在股票交易中取得更多的收益,就需要有合理有效的投资策略,因素模型的基础上发展出众多量化研究模型。对于这些模型的研究能够帮助投资者有效的跟踪市场的变化,为得出更好的投资策略而提供帮助。Logistic选股模型正是这些众多模型中的一个。
因素模型
因素模型是建立在证券收益率对各种因素或指数变动具有一定敏感性的假设基础之上的一种模型。证券的收益率具有相关性,这种相关性是通过对模型中的一个或多个因素的共同反应而体现出来。证券收益率中不能被因素模型所解释的部分被认为是各种证券的个性,因而与其他证券无关。因素模型也被称为指数模型(Index model)或夏普模型(Sharp model)。
研究思路
本文以多因素模型在股票交易中的应用为背景,帮助客户针对Logistic选股模型的理论基础以及模型原理方面分析Logistic选股模型的可行性与稳定性。为保证模型的可靠和稳定,使用过去五年的历史数据来检测模型。
Logistic模型在股票交易中的选股策略
结合以上多因素模型与Logistic回归分析的知识可以得到基于Logistic选股模型。这里采用沪深300指数作为基准,将沪深300中的个股作为研究对象,研究其收益率超过沪深300股指收益率的概率。
这里Logistic选股模型研究的窗口期选择为一个月,在当月的最后一个交易日以股票或指数投资组合的收盘价买入股票或指数资产组合,在次月的最后一个交易日以股票或指数投资组合的收盘价卖出股票或指数资产组合。
这样将即可以使用Logistic回归分析结合历史数据对组合中每支股票进行回归分析。利用回归分析结果预测每只股票下个月收益率大于指数投资组合收益率的概率,这时我们选取预测中收益率大于基准收益率概率排名前40支股票,等权重组合,在当月的最后一个交易日以收盘价买入,在次月的最后一个交易日以收盘价卖出。如此即为Logistic选股模型的交易策略。
实证结果分析
#读取数据
file=list.files(".",pattern=".Rdata")
for(i in file)load(i)
#计算对数收益率
data$return2=c(0,( log((data$CLOSE.y[-1])/data$CLOSE.y[-nrow(data)])))
合并因子数据和收益率数据
经过对模型的检验得到以下结果:
逻辑回归收益分布
逻辑回归收益的直方图 可以看到大部分收益分布在大于0的区域
图中显示了根据模型所选股票在当期的收益率分布。从图中可以看出大部分股票收益率分布在0%至-10%之间,将近半数的股票在其交易当期内具有小额负收益。
这个图横轴代表时间。纵轴代表使用逻辑回归模型结果在不同时间点的收益
累计收益
组合累积和基准累积
这个图横轴代表时间。纵轴代表使用逻辑回归模型结果在不同时间点的收益率:
通过图中对利用Logistic选股模型选出的组合的收益率和基准收益率的对比可以看出看出通过Logistic选股模型选出的组合具有一个较平稳的收益率,而且在绝大数的时间内收益率超过了基准收益。由此可以看出Logistic选股模型具有一定的稳定性和有效性,在绝大多数的情况下可以选出收益率高于基准收益的组合。
组合和基准每月的收益率的对比图
逻辑回归模型结果
Deviance Residuals:
Min 1Q Median 3Q Max
-0.86049 -0.32622 -0.05835 -0.00147 2.24675
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 7.199e+00 9.101e+00 0.791 0.429
SHARE_TOTALTRADABLE -9.482e-10 1.934e-09 -0.490 0.624
MKT_CAP -4.653e-11 5.952e-11 -0.782 0.434
MV -1.687e+00 2.033e+00 -0.830 0.407
pe -9.811e-02 1.128e-01 -0.870 0.384
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 16.081 on 41 degrees of freedom
Residual deviance: 11.560 on 37 degrees of freedom
(1 observation deleted due to missingness)
AIC: 21.56
总结
构建了Logistic选股模型,并利用历史数据经行回测,验证模型的有效性,并根据实验数据得到结果证明Logistic选股模型可以在大部分情况下为投资者选出一个收益率能够超过基准收益的投资组合。但是本文的研究也可能存在以下问题和漏洞:
- 本文选取了过去5年的历史数据,其中会有较多的数据缺失,数据缺失较多的股票不会计入模型,可能会造成结果的偏差。
- 对于部分股票具有数据缺失,在经行Logistic回归分析的时候会造成回归结果的不准确,从而影响最终结果。
- 本文中只是选取前3年的数据经行Logistic回归分析,在计算更近时期的收益时,并没有加入之后新的因子数据经行计算,可能造成分析的不准确。
- 本文只是解析了Logistic选股模型的原理并构建模型加以验证,其中没有对因子的选取进行验证,不能保证所有的因子都具有极大的相关性,其中也可能会有部分因子导致结果的偏差。
- 在实验中所用到的数据可能由于现实中信息披露的可靠性、稳定性、时效性等问题导致实验结果不是完全的可靠。
- 本文中忽略了如果使用Logistic选股模型经行交易对市场的影响。
- 本文采用的是以季度发布的数据,实验中不能对季度中因子变化导致的影响作出分析。
参考文献
[1]:黄志文. Logistic选股模型及其在沪深300中的实证[R].国信证券,2010.
[2]:黄志文.传统多因素模型及其在沪深300 中的实证[R].国信证券,2010.
[3]:滋维·博迪.投资学[M].第九版.机械工业出版社,2012;127-172.
相关文章
- c语言逻辑运算符!_c语言中关系运算符
- 机器学习算法(一):逻辑回归模型(Logistic Regression, LR)[通俗易懂]
- R语言贝叶斯广义线性混合(多层次/水平/嵌套)模型GLMM、逻辑回归分析教育留级影响因素数据|附代码数据
- R语言多项逻辑回归-因变量是无序多分类
- R语言条件(配对)逻辑回归-因变量是配对资料
- R语言随机森林RandomForest、逻辑回归Logisitc预测心脏病数据和可视化分析|附代码数据
- 小米集团估值逻辑已变
- Python用逻辑回归、决策树、SVM、XGBoost 算法机器学习预测用户信贷行为数据分析报告
- R语言随机森林RandomForest、逻辑回归Logisitc预测心脏病数据和可视化分析|附代码数据
- 数据分享|R语言逻辑回归、Naive Bayes贝叶斯、决策树、随机森林算法预测心脏病|附代码数据
- 【视频】R语言逻辑回归(Logistic回归)模型分类预测病人冠心病风险|数据分享|附代码数据
- 国际版抖音tiktok直播带货利用免费流量的带货逻辑和方法
- R语言可视化探索BRFSS数据并逻辑回归Logistic回归预测中风|附代码数据
- 【C 语言】字符串拷贝 ( 字符串拷贝业务逻辑代码 | 分离 主函数 与 字符串拷贝 业务模型 )
- 【C 语言】二级指针作为输入 ( 指针数组 | 将 二级指针 作为函数输入 | 抽象函数业务逻辑 )
- 【C 语言】文件操作 ( 配置文件读写 | 业务逻辑 | 接口设计 )
- 【C 语言】文件操作 ( 配置文件读写 | 框架搭建 | 主函数逻辑结构 | 启动无限循环 | 接收用户操作值 | 宏定义 | 显示操作菜单 )
- SQLServer 错误 605 尝试在数据库 %d 中提取逻辑页 %S_PGID 失败。 该逻辑页属于分配单元 %I64d,而非 %I64d。 故障 处理 修复 支持远程
- Oracle逻辑结构详解程序员
- 函数使用Oracle乘法聚合函数处理复杂业务逻辑(oracle乘法聚合)
- 达式妙用Redis实现复杂逻辑表达式(redis 逻辑表)
- 深入浅出学习Redis运行逻辑(redis运行逻辑)