拓端tecdat|R语言用收缩估计股票beta系数回归分析Microsoft收益率风险

原文链接:http://tecdat.cn/?p=25610 

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

配对交易提出的问题之一是股票的贝塔值相对于市场的不稳定估计。这是一个可能的解决方案的建议,这并不是真正的解决方案。
看看下图:

Microsoft的滚动系数(回归:MSFT~SPY)- 120 天的窗口,纯蓝色是使用完整样本估计的 beta


我们可以看到截距并没有太大的波动,这确实意味着如果市场不波动,MSFT 也不会。然而,beta在稳定的市场(贝塔 = 1)和中性(贝塔 = 0)之间波动。

当然,随着窗口的缩短,事情会变得更加不稳定,120 天大致意味着最近的 6 个月,这并不短。也许我们可以在长期(稳定)估计和短期估计之间找到一个折衷方案。

一种方法是简单地平均两个估计值。另一种是使用收缩估计的方式对它们进行平均。但现在,这种方法的一个简单解释是平均计算 X 矩阵中的离散度,在我们的例子中,它只是市场收益和截距,当前周期是否波动?可以使用 X 矩阵的奇异值分解来给出解释。

我们得到一个新的 beta 估计值,它是短期和长期估计值的平均值。我们需要决定应用多少收缩。我们有一个参数,称为超参数,它决定了要应用的收缩量,低数字意味着对长期估计的拉动较小,而一个高的数字意味着对长期的拉动较大,因此对短期估计的权重较小。结果是:

你可以看到,你应用的缩减量越大,估计值就越接近它的长期值。将超参数取为0.1将防止β值波动到负值区域,但仍为可能的结构性变化留出一些空间。你可以用这个方案来调和不稳定的估计程序和常识性的论点,例如,可能在这段时间内β值确实是负的,但这有意义吗? 可能你的估计值变成负的,只是因为你想允许结构性变化,这是一件好事,这导致了 "不那么直观 "的估计。
 

以下代码包含一个函数,用于绘制您自己的数据,将希望查看的时间范围、窗口长度和股票代码作为输入。

  1.  
    ret <<- matrix # 收益矩阵
  2.  
     
  3.  
    for (i in 1:l){
  4.  
     
  5.  
    dat0 = (getSymbols
  6.  
     
  7.  
     
  8.  
    ret<<- dat - 1
  9.  
     
  10.  
    }
  11.  
     
  12.  
     
  13.  
     
  14.  
    for (i in 1:(n-w)){
  15.  
     
  16.  
    bet0[i]  = lm
  17.  
    bet1[i]  = lm
  18.  
    }
  19.  
     
  20.  
     
  21.  
    btt <<- lm$coef[2] # 我们以后需要它作为一个先验平均数
  22.  
     
  23.  
    plot
  24.  
    abline
  25.  
     
  26.  
    legend
  27.  
     
  28.  
    plotbe
  29.  
     
  30.  
     
  31.  
     
  32.  
    Aok <- 0.01 #又称正则化参数
  33.  
     
  34.  
    A = Amoink*diag(2)
  35.  
     
  36.  
    # 你可以尝试用不同的值来代替对角线
  37.  
     
  38.  
    # 也许你不想在另一个应用程序中缩小截距
  39.  
     
  40.  
    prbeta
  41.  
     
  42.  
     
  43.  
     
  44.  
    poet = matrix
  45.  
    for (i in 2:(n-wl)){
  46.  
     
  47.  
    bet0[i]  = lm$coef[1]
  48.  
     
  49.  
    bet1[i]  = lm$coef[2]
  50.  
     
  51.  
    x = cbind
  52.  
     
  53.  
    post[i,] = solve
  54.  
    }
  55.  
     
  56.  
     
  57.  
     
  58.  
    plot(postbet
  59.  
     
  60.  
    lines

注意:
这个想法与“岭回归”有关,也可以看作是一种半贝叶斯方法,其中先验的均值等于长期估计。


最受欢迎的见解

1.R语言对S&P500股票指数进行ARIMA + GARCH交易策略

2.R语言改进的股票配对交易策略分析SPY—TLT组合和中国股市投资组合

3.R语言时间序列:ARIMA GARCH模型的交易策略在外汇市场预测应用

4.TMA三均线期指高频交易策略的R语言实现

5.r语言多均线量化策略回测比较

6.用R语言实现神经网络预测股票实例

7.r语言预测波动率的实现:ARCH模型与HAR-RV模型

8.R语言如何做马尔科夫转换模型markov switching model

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

posted @ 2022-03-06 13:20  拓端tecdat  阅读(190)  评论(0)    收藏  举报