上市公司尾部风险测度检验(基于Fama-French α 检验)部一

library("readr")
library("readxl")
library("dplyr")
library(stringr)
library(PerformanceAnalytics)
setwd("e:/R/tail risk/month")
load("r.RData")
listd<-read.csv("listd.csv");listy<-read.csv("listy.csv")
r<-left_join(r,listd,by="Stkcd")
y5<-read.csv("y6.csv")%>%tbl_df()# 读取个股市场月数据
y5<-left_join(y5,listy,by="Stkcd")
sy<-read_excel("sy.xlsx")%>%tbl_df()
wy<-read_excel("wy.xlsx")%>%tbl_df()
varp<-0.05
#
a0b1=numeric();a1b1=numeric();a2b1=numeric();a3b1=numeric();a4b1=numeric()
a0b2=numeric();a1b2=numeric();a2b2=numeric();a3b2=numeric();a4b2=numeric()
a0f1=list(NA,NA,NA,NA,NA);a1f1=list(NA,NA,NA,NA,NA);a2f1=list(NA,NA,NA,NA,NA);a3f1=list(NA,NA,NA,NA,NA);a4f1=list(NA,NA,NA,NA,NA)
a0f2=list(NA,NA,NA,NA,NA);a1f2=list(NA,NA,NA,NA,NA);a2f2=list(NA,NA,NA,NA,NA);a3f2=list(NA,NA,NA,NA,NA);a4f2=list(NA,NA,NA,NA,NA)

#  月度滚动
##通过尾部beta值分组
for(i in 0:21){
  for(h in 0:11){
    r1<-filter(r,Trdmnt>=(19950101+100*h+10000*i),Trdmnt<(19970101+100*h+10000*i))
    # 筛选出上市时期不大于1年窗口期第一个交易日的股票
    r1<-filter(r1,List<=min(r1$Trdmnt))
    k<-round(nrow(distinct(r1,Trdmnt))*varp)
    r2<-distinct(r1,Trdmnt,.keep_all = TRUE)%>%transmute(rme=Cdretwdos-Nrrdaydt/100,rme=-rme)%>%arrange(rme)
    r3<-slice(r2,(nrow(distinct(r1,Trdmnt))-k+1):n())
    r4<-transmute(r3,lrme=log(rme));a<-sum(r4)       
    α1<-1/k*a-log(as.numeric(slice(r2,nrow(distinct(r1,Trdmnt))-k))) #得出 Hill estimator
    r5<-mutate(r1,rje=-(Dretwd-Nrrdaydt/100),rme=-(Cdretwdos-Nrrdaydt/100))
    b<-group_by(r5,Stkcd)%>%arrange(rme)%>%slice(n()-round(n()*varp))%>%select(Stkcd,rme)%>%rename(frme=rme) #市场VAR
    f<-group_by(r5,Stkcd)%>%arrange(rje)%>%slice(n()-round(n()*varp))%>%select(Stkcd,rje)%>%rename(frje=rje) #个股VAR
    e<-group_by(r5,Stkcd)%>%summarise(k=round(n()*varp)) # 也可以求出k值
    # 检验分组正确性 ff<-filter(r5,Stkcd==2)%>%arrange(rje)
    # 有时用slice选择行会出错,可以用filter。
    c<-left_join(r5,f,by="Stkcd")%>%left_join(b,by="Stkcd")
    c1<-mutate(c,t=ifelse(rje>frje&rme>frme,1,0),tt=ifelse(rme>frme,1,0))
    c2<-group_by(c1,Stkcd)%>%summarise(τ=sum(t)/sum(tt)) 
    varm<-b
    varj<-f
    d<-left_join(c2,varj,by="Stkcd")%>%left_join(varm,by="Stkcd")%>%mutate(=(τ^α1)*frje/frme)%>%select(-(2:4))%>%arrange(desc())%>%filter(!=0)
    y6<-filter(y5,Trdmnt==(199701+h+100*i))
    
    a0b1[i*12+(h+1)]=mean(inner_join(y6,slice(d,1:(n()/5)),by="Stkcd")$eMretwd)
    a1b1[i*12+(h+1)]=mean(inner_join(y6,slice(d,(n()/5*1+1):(n()/5*(1+1))),by="Stkcd")$eMretwd)
    a2b1[i*12+(h+1)]=mean(inner_join(y6,slice(d,(n()/5*2+1):(n()/5*(2+1))),by="Stkcd")$eMretwd)
    a3b1[i*12+(h+1)]=mean(inner_join(y6,slice(d,(n()/5*3+1):(n()/5*(3+1))),by="Stkcd")$eMretwd)
    a4b1[i*12+(h+1)]=mean(inner_join(y6,slice(d,(n()/5*4+1):(n()/5*(4+1))),by="Stkcd")$eMretwd)
    
    a0b2[i*12+(h+1)]=weighted.mean(inner_join(y6,slice(d,1:(n()/5)),by="Stkcd")$eMretwd,inner_join(y6,slice(d,1:(n()/5)),by="Stkcd")$Msmvosd)
    a1b2[i*12+(h+1)]=weighted.mean(inner_join(y6,slice(d,(n()/5*1+1):(n()/5*(1+1))),by="Stkcd")$eMretwd,inner_join(y6,slice(d,(n()/5*1+1):(n()/5*(1+1))),by="Stkcd")$Msmvosd)
    a2b2[i*12+(h+1)]=weighted.mean(inner_join(y6,slice(d,(n()/5*2+1):(n()/5*(2+1))),by="Stkcd")$eMretwd,inner_join(y6,slice(d,(n()/5*2+1):(n()/5*(2+1))),by="Stkcd")$Msmvosd)
    a3b2[i*12+(h+1)]=weighted.mean(inner_join(y6,slice(d,(n()/5*3+1):(n()/5*(3+1))),by="Stkcd")$eMretwd,inner_join(y6,slice(d,(n()/5*3+1):(n()/5*(3+1))),by="Stkcd")$Msmvosd)
    a4b2[i*12+(h+1)]=weighted.mean(inner_join(y6,slice(d,(n()/5*4+1):(n()/5*(4+1))),by="Stkcd")$eMretwd,inner_join(y6,slice(d,(n()/5*4+1):(n()/5*(4+1))),by="Stkcd")$Msmvosd)
  
    ms<-as.numeric(str_sub(max(r1$Trdmnt),start=1L,end=6L))
    y11<-filter(y5,Trdmnt==ms)%>%select(1,3)
    y12<-left_join(d,y11,by="Stkcd")%>%filter(Msmvosd!="NA")%>%arrange(Msmvosd)
    
    ###根据月末流通市值排序大小:
    for(l in 0:4){
      a0f1[[l+1]][i*12+(h+1)]=mean(inner_join(y6,select(slice(arrange(slice(y12,(n()/5*l+1):(n()/5*(l+1))),desc()),(n()/5*0+1):(n()/5*(0+1))),-Msmvosd),by="Stkcd")$eMretwd)
      a1f1[[l+1]][i*12+(h+1)]=mean(inner_join(y6,select(slice(arrange(slice(y12,(n()/5*l+1):(n()/5*(l+1))),desc()),(n()/5*1+1):(n()/5*(1+1))),-Msmvosd),by="Stkcd")$eMretwd)
      a2f1[[l+1]][i*12+(h+1)]=mean(inner_join(y6,select(slice(arrange(slice(y12,(n()/5*l+1):(n()/5*(l+1))),desc()),(n()/5*2+1):(n()/5*(2+1))),-Msmvosd),by="Stkcd")$eMretwd)
      a3f1[[l+1]][i*12+(h+1)]=mean(inner_join(y6,select(slice(arrange(slice(y12,(n()/5*l+1):(n()/5*(l+1))),desc()),(n()/5*3+1):(n()/5*(3+1))),-Msmvosd),by="Stkcd")$eMretwd)
      a4f1[[l+1]][i*12+(h+1)]=mean(inner_join(y6,select(slice(arrange(slice(y12,(n()/5*l+1):(n()/5*(l+1))),desc()),(n()/5*4+1):(n()/5*(4+1))),-Msmvosd),by="Stkcd")$eMretwd)
      
      a0f2[[l+1]][i*12+(h+1)]=weighted.mean(inner_join(y6,select(slice(arrange(slice(y12,(n()/5*l+1):(n()/5*(l+1))),desc()),(n()/5*0+1):(n()/5*(0+1))),-Msmvosd),by="Stkcd")$eMretwd,
                                            inner_join(y6,select(slice(arrange(slice(y12,(n()/5*l+1):(n()/5*(l+1))),desc()),(n()/5*0+1):(n()/5*(0+1))),-Msmvosd),by="Stkcd")$Msmvosd)
      a1f2[[l+1]][i*12+(h+1)]=weighted.mean(inner_join(y6,select(slice(arrange(slice(y12,(n()/5*l+1):(n()/5*(l+1))),desc()),(n()/5*1+1):(n()/5*(1+1))),-Msmvosd),by="Stkcd")$eMretwd,
                                            inner_join(y6,select(slice(arrange(slice(y12,(n()/5*l+1):(n()/5*(l+1))),desc()),(n()/5*1+1):(n()/5*(1+1))),-Msmvosd),by="Stkcd")$Msmvosd)
      a2f2[[l+1]][i*12+(h+1)]=weighted.mean(inner_join(y6,select(slice(arrange(slice(y12,(n()/5*l+1):(n()/5*(l+1))),desc()),(n()/5*2+1):(n()/5*(2+1))),-Msmvosd),by="Stkcd")$eMretwd,
                                            inner_join(y6,select(slice(arrange(slice(y12,(n()/5*l+1):(n()/5*(l+1))),desc()),(n()/5*2+1):(n()/5*(2+1))),-Msmvosd),by="Stkcd")$Msmvosd)
      a3f2[[l+1]][i*12+(h+1)]=weighted.mean(inner_join(y6,select(slice(arrange(slice(y12,(n()/5*l+1):(n()/5*(l+1))),desc()),(n()/5*3+1):(n()/5*(3+1))),-Msmvosd),by="Stkcd")$eMretwd,
                                            inner_join(y6,select(slice(arrange(slice(y12,(n()/5*l+1):(n()/5*(l+1))),desc()),(n()/5*3+1):(n()/5*(3+1))),-Msmvosd),by="Stkcd")$Msmvosd)
      a4f2[[l+1]][i*12+(h+1)]=weighted.mean(inner_join(y6,select(slice(arrange(slice(y12,(n()/5*l+1):(n()/5*(l+1))),desc()),(n()/5*4+1):(n()/5*(4+1))),-Msmvosd),by="Stkcd")$eMretwd,
                                            inner_join(y6,select(slice(arrange(slice(y12,(n()/5*l+1):(n()/5*(l+1))),desc()),(n()/5*4+1):(n()/5*(4+1))),-Msmvosd),by="Stkcd")$Msmvosd)}
  }}

利用CAPM、三因子、五因子模型检验 α显著性

# 开始计算各值
# 投资组合收益率
for(o in 1:2){
  for(i in 1:5){
    print(mean(lapply(paste0("a",0:4,"b",o),get)[[i]]))}
  print(mean(lapply(paste0("a",0:4,"b",o),get)[[1]]-lapply(paste0("a",0:4,"b",o),get)[[5]]))
  
  for(i in 1:5){
    print(t.test(lapply(paste0("a",0:4,"b",o),get)[[i]])$statistic[[1]])}
  print(t.test(lapply(paste0("a",0:4,"b",o),get)[[1]]-lapply(paste0("a",0:4,"b",o),get)[[5]])$statistic[[1]])}

wf1<-filter(wy,Trdmnt>=199801,Trdmnt<201810)%>%arrange(Trdmnt)

#投资组合收益率经过CAPM模型回归的截距项
for(o in 1:2){
  for(i in 1:5){
    print(as.matrix(lm(eMretwd~mkt,data.frame(wf1,eMretwd=lapply(paste0("a",0:4,"b",o),get)[[i]]))$coefficients)[1])}
  print(as.matrix(lm(eMretwd~mkt,data.frame(wf1,eMretwd=lapply(paste0("a",0:4,"b",o),get)[[1]]-lapply(paste0("a",0:4,"b",o),get)[[5]]))$coefficients)[1])
  
  for(i in 1:5){   
    print(as.matrix(summary(lm(eMretwd~mkt,data.frame(wf1,eMretwd=lapply(paste0("a",0:4,"b",o),get)[[i]])))$coefficients)[1,3])}
  print(as.matrix(summary(lm(eMretwd~mkt,data.frame(wf1,eMretwd=lapply(paste0("a",0:4,"b",o),get)[[1]]-lapply(paste0("a",0:4,"b",o),get)[[5]])))$coefficients)[1,3])}

#投资组合收益率经过FF3模型回归的截距项
for(o in 1:2){
  for(i in 1:5){
    print(as.matrix(lm(eMretwd~mkt+smb+hml,data.frame(wf1,eMretwd=lapply(paste0("a",0:4,"b",o),get)[[i]]))$coefficients)[1])}
  print(as.matrix(lm(eMretwd~mkt+smb+hml,data.frame(wf1,eMretwd=lapply(paste0("a",0:4,"b",o),get)[[1]]-lapply(paste0("a",0:4,"b",o),get)[[5]]))$coefficients)[1])
  
  for(i in 1:5){   
    print(as.matrix(summary(lm(eMretwd~mkt+smb+hml,data.frame(wf1,eMretwd=lapply(paste0("a",0:4,"b",o),get)[[i]])))$coefficients)[1,3])}
  print(as.matrix(summary(lm(eMretwd~mkt+smb+hml,data.frame(wf1,eMretwd=lapply(paste0("a",0:4,"b",o),get)[[1]]-lapply(paste0("a",0:4,"b",o),get)[[5]])))$coefficients)[1,3])}

#投资组合收益率经过FF5模型回归的截距项
for(o in 1:2){
  for(i in 1:5){
    print(as.matrix(lm(eMretwd~mkt+smb+hml+rmw+cma,data.frame(wf1,eMretwd=lapply(paste0("a",0:4,"b",o),get)[[i]]))$coefficients)[1])}
  print(as.matrix(lm(eMretwd~mkt+smb+hml+rmw+cma,data.frame(wf1,eMretwd=lapply(paste0("a",0:4,"b",o),get)[[1]]-lapply(paste0("a",0:4,"b",o),get)[[5]]))$coefficients)[1])
  
  for(i in 1:5){   
    print(as.matrix(summary(lm(eMretwd~mkt+smb+hml+rmw+cma,data.frame(wf1,eMretwd=lapply(paste0("a",0:4,"b",o),get)[[i]])))$coefficients)[1,3])}
  print(as.matrix(summary(lm(eMretwd~mkt+smb+hml+rmw+cma,data.frame(wf1,eMretwd=lapply(paste0("a",0:4,"b",o),get)[[1]]-lapply(paste0("a",0:4,"b",o),get)[[5]])))$coefficients)[1,3])}

#经过规模细分的投资组合收益率经过FF5模型回归的截距项
for(o in 1:2){
  for(v in 1:5){
    for(l in 1:5){
      print(as.matrix(lm(eMretwd~mkt+smb+hml+rmw+cma,data.frame(wf1,eMretwd=lapply(paste0("a",0:4,"f",o),get)[[v]][[l]]))$coefficients)[1])}}
  for(l in 1:5){
    print(as.matrix(lm(eMretwd~mkt+smb+hml+rmw+cma,data.frame(wf1,eMretwd=lapply(paste0("a",0:4,"f",o),get)[[1]][[l]]-lapply(paste0("a",0:4,"f",o),get)[[5]][[l]]))$coefficients)[1])}
  
  for(v in 1:5){
    for(l in 1:5){
      print(as.matrix(summary(lm(eMretwd~mkt+smb+hml+rmw+cma,data.frame(wf1,eMretwd=lapply(paste0("a",0:4,"f",o),get)[[v]][[l]])))$coefficients)[1,3])}}
  for(l in 1:5){
    print(as.matrix(summary(lm(eMretwd~mkt+smb+hml+rmw+cma,data.frame(wf1,eMretwd=lapply(paste0("a",0:4,"f",o),get)[[1]][[l]]-lapply(paste0("a",0:4,"f",o),get)[[5]][[l]])))$coefficients)[1,3])}}

# 平均
for(o in 1:2){
  for(v in 1:5){
    print(as.matrix(lm(eMretwd~mkt+smb+hml+rmw+cma,data.frame(wf1,eMretwd=apply(do.call("cbind",lapply(paste0("a",0:4,"f",o),get)[[v]]),1,mean)))$coefficients)[1])}
  print(as.matrix(lm(eMretwd~mkt+smb+hml+rmw+cma,data.frame(wf1,eMretwd=apply(do.call("cbind",lapply(paste0("a",0:4,"f",o),get)[[1]]),1,mean)-apply(do.call("cbind",lapply(paste0("a",0:4,"f",o),get)[[5]]),1,mean)))$coefficients)[1])
  
  for(v in 1:5){   
    print(as.matrix(summary(lm(eMretwd~mkt+smb+hml+rmw+cma,data.frame(wf1,eMretwd=apply(do.call("cbind",lapply(paste0("a",0:4,"f",o),get)[[v]]),1,mean))))$coefficients)[1,3])}
  print(as.matrix(summary(lm(eMretwd~mkt+smb+hml+rmw+cma,data.frame(wf1,eMretwd=apply(do.call("cbind",lapply(paste0("a",0:4,"f",o),get)[[1]]),1,mean)-apply(do.call("cbind",lapply(paste0("a",0:4,"f",o),get)[[5]]),1,mean))))$coefficients)[1,3])}

直接生成表格

m1=numeric();m2=numeric();m3=numeric();m4=numeric();m5=numeric();m6=numeric()
for(o in 1:2){
  for(i in 1:5){
    m1[i+(o-1)*12]=mean(lapply(paste0("a",0:4,"b",o),get)[[i]])}
  m1[i+(o-1)*12+1]=mean(lapply(paste0("a",0:4,"b",o),get)[[1]]-lapply(paste0("a",0:4,"b",o),get)[[5]])
  
  for(i in 1:5){
    m1[i+(o-1)*12+6]=t.test(lapply(paste0("a",0:4,"b",o),get)[[i]])$statistic[[1]]}
  m1[i+(o-1)*12+7]=t.test(lapply(paste0("a",0:4,"b",o),get)[[1]]-lapply(paste0("a",0:4,"b",o),get)[[5]])$statistic[[1]]}

wf1<-filter(wy,Trdmnt>=199601,Trdmnt<201901)%>%arrange(Trdmnt)

#投资组合收益率经过CAPM模型回归的截距项
for(o in 1:2){
  for(i in 1:5){
    m2[i+(o-1)*12]=as.matrix(lm(eMretwd~mkt,data.frame(wf1,eMretwd=lapply(paste0("a",0:4,"b",o),get)[[i]]))$coefficients)[1]}
  m2[i+(o-1)*12+1]=as.matrix(lm(eMretwd~mkt,data.frame(wf1,eMretwd=lapply(paste0("a",0:4,"b",o),get)[[1]]-lapply(paste0("a",0:4,"b",o),get)[[5]]))$coefficients)[1]
  
  for(i in 1:5){   
    m2[i+(o-1)*12+6]=as.matrix(summary(lm(eMretwd~mkt,data.frame(wf1,eMretwd=lapply(paste0("a",0:4,"b",o),get)[[i]])))$coefficients)[1,3]}
  m2[i+(o-1)*12+7]=as.matrix(summary(lm(eMretwd~mkt,data.frame(wf1,eMretwd=lapply(paste0("a",0:4,"b",o),get)[[1]]-lapply(paste0("a",0:4,"b",o),get)[[5]])))$coefficients)[1,3]}

#投资组合收益率经过FF3模型回归的截距项
for(o in 1:2){
  for(i in 1:5){
    m3[i+(o-1)*12]=as.matrix(lm(eMretwd~mkt+smb+hml,data.frame(wf1,eMretwd=lapply(paste0("a",0:4,"b",o),get)[[i]]))$coefficients)[1]}
  m3[i+(o-1)*12+1]=as.matrix(lm(eMretwd~mkt+smb+hml,data.frame(wf1,eMretwd=lapply(paste0("a",0:4,"b",o),get)[[1]]-lapply(paste0("a",0:4,"b",o),get)[[5]]))$coefficients)[1]
  
  for(i in 1:5){   
    m3[i+(o-1)*12+6]=as.matrix(summary(lm(eMretwd~mkt+smb+hml,data.frame(wf1,eMretwd=lapply(paste0("a",0:4,"b",o),get)[[i]])))$coefficients)[1,3]}
  m3[i+(o-1)*12+7]=as.matrix(summary(lm(eMretwd~mkt+smb+hml,data.frame(wf1,eMretwd=lapply(paste0("a",0:4,"b",o),get)[[1]]-lapply(paste0("a",0:4,"b",o),get)[[5]])))$coefficients)[1,3]}

#投资组合收益率经过FF5模型回归的截距项
for(o in 1:2){
  for(i in 1:5){
    m4[i+(o-1)*12]=as.matrix(lm(eMretwd~mkt+smb+hml+rmw+cma,data.frame(wf1,eMretwd=lapply(paste0("a",0:4,"b",o),get)[[i]]))$coefficients)[1]}
  m4[i+(o-1)*12+1]=as.matrix(lm(eMretwd~mkt+smb+hml+rmw+cma,data.frame(wf1,eMretwd=lapply(paste0("a",0:4,"b",o),get)[[1]]-lapply(paste0("a",0:4,"b",o),get)[[5]]))$coefficients)[1]
  
  for(i in 1:5){   
    m4[i+(o-1)*12+6]=as.matrix(summary(lm(eMretwd~mkt+smb+hml+rmw+cma,data.frame(wf1,eMretwd=lapply(paste0("a",0:4,"b",o),get)[[i]])))$coefficients)[1,3]}
  m4[i+(o-1)*12+7]=as.matrix(summary(lm(eMretwd~mkt+smb+hml+rmw+cma,data.frame(wf1,eMretwd=lapply(paste0("a",0:4,"b",o),get)[[1]]-lapply(paste0("a",0:4,"b",o),get)[[5]])))$coefficients)[1,3]}

mm1<-matrix(c(m1,m2,m3,m4),16,6,byrow=TRUE)
#经过规模细分的投资组合收益率经过FF5模型回归的截距项
for(o in 1:2){
  for(v in 1:5){
    for(l in 1:5){
      m5[l+(v-1)*5+(o-1)*60]=as.matrix(lm(eMretwd~mkt+smb+hml+rmw+cma,data.frame(wf1,eMretwd=lapply(paste0("a",0:4,"f",o),get)[[v]][[l]]))$coefficients)[1]}}
  for(l in 1:5){
    m5[l+(v-1)*5+(o-1)*60+5]=as.matrix(lm(eMretwd~mkt+smb+hml+rmw+cma,data.frame(wf1,eMretwd=lapply(paste0("a",0:4,"f",o),get)[[1]][[l]]-lapply(paste0("a",0:4,"f",o),get)[[5]][[l]]))$coefficients)[1]}
  
  for(v in 1:5){
    for(l in 1:5){
      m5[l+(v-1)*5+(o-1)*60+30]=as.matrix(summary(lm(eMretwd~mkt+smb+hml+rmw+cma,data.frame(wf1,eMretwd=lapply(paste0("a",0:4,"f",o),get)[[v]][[l]])))$coefficients)[1,3]}}
  for(l in 1:5){
    m5[l+(v-1)*5+(o-1)*60+35]=as.matrix(summary(lm(eMretwd~mkt+smb+hml+rmw+cma,data.frame(wf1,eMretwd=lapply(paste0("a",0:4,"f",o),get)[[1]][[l]]-lapply(paste0("a",0:4,"f",o),get)[[5]][[l]])))$coefficients)[1,3]}}

# 平均
for(o in 1:2){
  for(v in 1:5){
    m6[v+(o-1)*12]=as.matrix(lm(eMretwd~mkt+smb+hml+rmw+cma,data.frame(wf1,eMretwd=apply(do.call("cbind",lapply(paste0("a",0:4,"f",o),get)[[v]]),1,mean)))$coefficients)[1]}
  m6[v+(o-1)*12+1]=as.matrix(lm(eMretwd~mkt+smb+hml+rmw+cma,data.frame(wf1,eMretwd=apply(do.call("cbind",lapply(paste0("a",0:4,"f",o),get)[[1]]),1,mean)-apply(do.call("cbind",lapply(paste0("a",0:4,"f",o),get)[[5]]),1,mean)))$coefficients)[1]
  
  for(v in 1:5){   
    m6[v+(o-1)*12+6]=as.matrix(summary(lm(eMretwd~mkt+smb+hml+rmw+cma,data.frame(wf1,eMretwd=apply(do.call("cbind",lapply(paste0("a",0:4,"f",o),get)[[v]]),1,mean))))$coefficients)[1,3]}
  m6[v+(o-1)*12+7]=as.matrix(summary(lm(eMretwd~mkt+smb+hml+rmw+cma,data.frame(wf1,eMretwd=apply(do.call("cbind",lapply(paste0("a",0:4,"f",o),get)[[1]]),1,mean)-apply(do.call("cbind",lapply(paste0("a",0:4,"f",o),get)[[5]]),1,mean))))$coefficients)[1,3]}

mm2<-matrix(m6,4,6,byrow = TRUE)
mm3<-rbind(mm1,matrix(m5[1:30],5,6),mm2[1,],matrix(m5[31:60],5,6),mm2[2,],matrix(m5[61:90],5,6),mm2[3,],matrix(m5[91:120],5,6),mm2[4,])
write.csv(mm3,"E:/R/tail risk/table/mm.csv",row.names = FALSE)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值