欢迎光临散文网 会员登陆 & 注册

R实证研究:沪指月度收益率差异性研究

2023-09-25 11:50 作者:五柳冰冰  | 我要投稿

R实证研究:沪指月度收益率差异性研究

wuliubingbing

2023-09-25

引言

因经济活动、宏观政策存在周期性,造成股市的波动也可能存在周期性。本文通过对沪指历史数据的分析,分析不同月份之间波动性的差异。

思路

统计沪指上市以来不同年份、特定月份的收益率差异。

分析过程

#所需R包
library(quantmod)
library(pedquant)
library(tidyverse)
library(patchwork)

数据预览

hz <- md_stock('000001.ss',from = '1990-01-01')[[1]]

## 1/1 000001.ss

#修改上述股指编码,可以分析任何指数和个股
hz1 <- hz %>% select(open,high,low,close,volume) %>% 
  as.zoo(order.by=hz$date) %>% 
  chartSeries(.,theme = 'white',type = "candlesticks",
            up.col = 'red',dn.col = 'green')

 


沪指上市于1990-12-19,初始值为100点,最近交易日的收盘价在图左上角标注。

计算月度收益率

r0 <- hz %>% select(3:7) %>% as.xts() %>% 
  monthlyReturn( )
r0

##            monthly.returns
## 1990-12-31    0.3285788652
## 1991-01-31    0.0184938484
## 1991-02-28    0.0233900131
## 1991-03-29   -0.0963837305
## 1991-04-30   -0.0520009984
## 1991-05-31    0.0078111287
## 1991-06-28    0.1979447879
## 1991-07-31    0.0453620238
## 1991-08-30    0.2408205841
## 1991-09-30    0.0139550524
##        ...                
## 2022-12-30   -0.0196995564
## 2023-01-31    0.0538672692
## 2023-02-28    0.0073533251
## 2023-03-31   -0.0020581716
## 2023-04-28    0.0154024309
## 2023-05-31   -0.0357208412
## 2023-06-30   -0.0007801383
## 2023-07-31    0.0277883612
## 2023-08-31   -0.0520078759
## 2023-09-25    0.0001153891

monthly.returns为月度收益率=(月最后交易日收盘价-上月最后交易日收盘价)/上月最后交易日收盘价

 


沪指上市初期,波动剧烈。2008年、2015年前后,波动也有所加剧。

探索性分析

 


用小提琴图表达各个月份收益率的概率分布情况:

图中红色的线为X轴,小提琴落在X轴之上的面积越大,说明那个月份收益率为正数的概率越大。

小提琴矮胖的月份,说明分布的集中,这些月份的统计规律明显,波动性小,涨跌平稳。

小提琴瘦高的月份,经常大涨大跌。

2月、9月波动比较小,且2月明显落在X轴上方。

5月、8月波动比较大,历史上出现过极端行情。

统计分析

特征统计量分析

## # A tibble: 12 × 7
##    month     mean     sd  n_up  n_dn pro_up pro_dn
##    <fct>    <dbl>  <dbl> <int> <int>  <dbl>  <dbl>
##  1 1      0.0129  0.123     18    15  0.545  0.455
##  2 2      0.0284  0.0531    24     9  0.727  0.273
##  3 3      0.00656 0.101     17    16  0.515  0.485
##  4 4      0.0353  0.117     18    15  0.545  0.455
##  5 5      0.0517  0.322     17    16  0.515  0.485
##  6 6      0.00339 0.111     17    16  0.515  0.485
##  7 7     -0.00851 0.0908    16    17  0.485  0.515
##  8 8      0.0302  0.254     17    16  0.515  0.485
##  9 9     -0.00686 0.0527    16    17  0.485  0.515
## 10 10    -0.00727 0.0985    15    17  0.469  0.531
## 11 11     0.0354  0.106     21    11  0.656  0.344
## 12 12     0.0179  0.107     16    17  0.485  0.515

month 月份;mean 平均值;sd 标准差 ;

n_up 该月份上涨的次数。例如1月 n_up 为18,说明从沪指1990年至今的33年里,有18个年份1月份是上涨的,另外15个年份的1月份是下跌的。

n_dn 该月份下跌的次数;

pro_up 该月份上涨的频率,1月份上涨的频率为18/33=0.5454

pro_dn 该月份下跌的频率

 


图1中,7、9、10三个月份均值为负数,含义是,过去的33年里,所有7、9、10月份的收益率的平均数是负数。

方差分析

单因素方差分析

r10 <- data.frame(month=as_factor(month(index(as.zoo(r0)))),yield=r0$monthly.returns)
summary(aov(monthly.returns ~ month, data=r10))

##              Df Sum Sq Mean Sq F value Pr(>F)
## month        11  0.141 0.01282   0.578  0.847
## Residuals   382  8.470 0.02217

P值大于0.05,各组之间显著不差异。

方差齐性检验

bartlett.test(monthly.returns ~ month, data = r10)

##
##  Bartlett test of homogeneity of variances
##
## data:  monthly.returns by month
## Bartlett's K-squared = 217.35, df = 11, p-value < 2.2e-16

P值小于0.05,各月份的方差显著不相等,说明上述aov方法的基本假设不适用,aov方法分析均值的差异并不恰当。

结论

各个月份的方差存在显著差异,各月波动性明显不一样。因此,后面的结论从统计意义看,不够确切。

历史数据显示,2月份上涨的频率最高且方差最小。

5月份收益率均值和方差都是最大的。

7、9、10三个月份历史上收益率表现较差。

本文是R统计实验,不构成投资建议。本文由Rmarkdown自动编译生成。




R实证研究:沪指月度收益率差异性研究的评论 (共 条)

分享到微博请遵守国家法律