R语言逻辑回归Logistic选股因素模型交易策略及沪深300指数实证|附代码数据

全文链接:http://tecdat.cn/?p=32071

原文出处:拓端数据部落公众号

最近我们被客户要求撰写关于交易策略的研究报告,包括一些图形和统计输出。

随着中国的证券市场规模的不断壮大、市场创新不断深化、信息披露不断完善、市场监管不断强化,随着现代投资组合理论的发展和计算机技术的进步,投资者为了在股票交易中取得更多的收益,就需要有合理有效的投资策略,因素模型的基础上发展出众多量化研究模型。对于这些模型的研究能够帮助投资者有效的跟踪市场的变化,为得出更好的投资策略而提供帮助。Logistic选股模型正是这些众多模型中的一个。

因素模型

因素模型是建立在证券收益率对各种因素或指数变动具有一定敏感性的假设基础之上的一种模型。证券的收益率具有相关性,这种相关性是通过对模型中的一个或多个因素的共同反应而体现出来。证券收益率中不能被因素模型所解释的部分被认为是各种证券的个性,因而与其他证券无关。因素模型也被称为指数模型(Index model)或夏普模型(Sharp model)。

研究思路

本文以多因素模型在股票交易中的应用为背景,帮助客户针对Logistic选股模型的理论基础以及模型原理方面分析Logistic选股模型的可行性与稳定性。为保证模型的可靠和稳定,使用过去五年的历史数据来检测模型。

Logistic模型在股票交易中的选股策略

结合以上多因素模型与Logistic回归分析的知识可以得到基于Logistic选股模型。这里采用沪深300指数作为基准,将沪深300中的个股作为研究对象,研究其收益率超过沪深300股指收益率的概率。

这里Logistic选股模型研究的窗口期选择为一个月,在当月的最后一个交易日以股票或指数投资组合的收盘价买入股票或指数资产组合,在次月的最后一个交易日以股票或指数投资组合的收盘价卖出股票或指数资产组合。

image.png

这样将即可以使用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)])))

合并因子数据和收益率数据

R语言逻辑回归Logistic选股因素模型交易策略及沪深300指数实证|附代码数据_第1张图片

R语言逻辑回归Logistic选股因素模型交易策略及沪深300指数实证|附代码数据_第2张图片

经过对模型的检验得到以下结果:

逻辑回归收益分布

R语言逻辑回归Logistic选股因素模型交易策略及沪深300指数实证|附代码数据_第3张图片
逻辑回归收益的直方图 可以看到大部分收益分布在大于0的区域

图中显示了根据模型所选股票在当期的收益率分布。从图中可以看出大部分股票收益率分布在0%至-10%之间,将近半数的股票在其交易当期内具有小额负收益。

R语言逻辑回归Logistic选股因素模型交易策略及沪深300指数实证|附代码数据_第4张图片

R语言逻辑回归Logistic选股因素模型交易策略及沪深300指数实证|附代码数据_第5张图片

这个图横轴代表时间。纵轴代表使用逻辑回归模型结果在不同时间点的收益

累计收益

R语言逻辑回归Logistic选股因素模型交易策略及沪深300指数实证|附代码数据_第6张图片
 

组合累积和基准累积

R语言逻辑回归Logistic选股因素模型交易策略及沪深300指数实证|附代码数据_第7张图片

这个图横轴代表时间。纵轴代表使用逻辑回归模型结果在不同时间点的收益率:

R语言逻辑回归Logistic选股因素模型交易策略及沪深300指数实证|附代码数据_第8张图片

通过图中对利用Logistic选股模型选出的组合的收益率和基准收益率的对比可以看出看出通过Logistic选股模型选出的组合具有一个较平稳的收益率,而且在绝大数的时间内收益率超过了基准收益。由此可以看出Logistic选股模型具有一定的稳定性和有效性,在绝大多数的情况下可以选出收益率高于基准收益的组合。

组合和基准每月的收益率的对比图

R语言逻辑回归Logistic选股因素模型交易策略及沪深300指数实证|附代码数据_第9张图片

R语言逻辑回归Logistic选股因素模型交易策略及沪深300指数实证|附代码数据_第10张图片

逻辑回归模型结果

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选股模型可以在大部分情况下为投资者选出一个收益率能够超过基准收益的投资组合。但是本文的研究也可能存在以下问题和漏洞:

  1. 本文选取了过去5年的历史数据,其中会有较多的数据缺失,数据缺失较多的股票不会计入模型,可能会造成结果的偏差。
  2. 对于部分股票具有数据缺失,在经行Logistic回归分析的时候会造成回归结果的不准确,从而影响最终结果。
  3. 本文中只是选取前3年的数据经行Logistic回归分析,在计算更近时期的收益时,并没有加入之后新的因子数据经行计算,可能造成分析的不准确。
  4. 本文只是解析了Logistic选股模型的原理并构建模型加以验证,其中没有对因子的选取进行验证,不能保证所有的因子都具有极大的相关性,其中也可能会有部分因子导致结果的偏差。
  5. 在实验中所用到的数据可能由于现实中信息披露的可靠性、稳定性、时效性等问题导致实验结果不是完全的可靠。
  6. 本文中忽略了如果使用Logistic选股模型经行交易对市场的影响。
  7. 本文采用的是以季度发布的数据,实验中不能对季度中因子变化导致的影响作出分析。

参考文献

[1]:黄志文. Logistic选股模型及其在沪深300中的实证[R].国信证券,2010.

[2]:黄志文.传统多因素模型及其在沪深300 中的实证[R].国信证券,2010.

[3]:滋维·博迪.投资学[M].第九版.机械工业出版社,2012;127-172.


R语言逻辑回归Logistic选股因素模型交易策略及沪深300指数实证|附代码数据_第11张图片
最受欢迎的见解

1.[](http://tecdat.cn/r%e8%af%ad%e8%a8%80%e7%bb%98%e5%88%b6%e7%94%...)R语言对S&P500股票指数进行ARIMA + GARCH交易策略

2.[](http://tecdat.cn/r%e8%af%ad%e8%a8%80%e7%94%9f%e5%ad%98%e5%88%...)R语言改进的股票配对交易策略分析SPY—TLT组合和中国股市投资组合

3.[](http://tecdat.cn/r%e8%af%ad%e8%a8%80%e5%a6%82%e4%bd%95%e5%9c%...)R语言时间序列:ARIMA GARCH模型的交易策略在外汇市场预测应用

4.[](http://tecdat.cn/r%e8%af%ad%e8%a8%80%e4%b8%ad%e4%bd%bf%e7%94%...)TMA三均线期指高频交易策略的R语言实现

5.[](http://tecdat.cn/r%e8%af%ad%e8%a8%80%e7%94%9f%e5%ad%98%e5%88%...)r语言多均线量化策略回测比较

6.[](http://tecdat.cn/r%e8%af%ad%e8%a8%80ggplot2%e8%af%af%e5%b7%ae...)用R语言实现神经网络预测股票实例

7.[](http://tecdat.cn/r-%e8%af%ad%e8%a8%80%e7%bb%98%e5%88%b6%e5%8a...)r语言预测波动率的实现:ARCH模型与HAR-RV模型

8.[](http://tecdat.cn/r%e8%af%ad%e8%a8%80%e5%a6%82%e4%bd%95%e6%89%...)R语言如何做马尔科夫转换模型markov switching model

9.matlab使用Copula仿真优化市场风险

你可能感兴趣的:(数据挖掘深度学习人工智能)