动量效应 matlab,十万火急!!我的这个动量效应的R语言程序正确么??

这是一个动量效应的程序,运行后的结果与大多数已有的研究结果有很大的不同,然而又感觉自己的程序没错,想让大神看看问题出在哪了?

附上程序与 数据。数据是若干只股票的近三年的周收益率。

#这是我自己对动量效应的研究的构思

#第一步是读取数据,数据的排列方式是以日期(时间段)为行,股票类型为列,这样的排列刚好适用于动量效应的研

#究。首先是选定一个起始点,从这一个起始点开始计算之前一段时间K内的每只股票的累计收益率,然后选取最好的10%

#与最差的10%,而这种操作在这个程序上我是先用suma这个向量存储每一只股票在过去K段时间内的累计收益率,然后

#用y

#是最差的10%,高于90%的就是最好的10%。而用lo=suma<=y[1]来提取出股票,再用a

#表示最差10%股票持有J期后的收益率表现,而sum(a)即是这些股票的累积收益率之和。同样lg=suma>=y[2]

#即最好的10%的股票也是类似处理的。

data=read.csv("周收益率.csv")

col=ncol(data)  #计算数据的列数

nr=nrow(data)   #计算行数

#创建一个动量函数,通过输入不同的k,j来计算动量收益与显著性t值

mom

#用一个列表来装载各种数据

L

#新建几个向量,用来存储每个(k,j)组合每次计算的赢家收益率b_ret,与输家收益率a_ret,以及动量收益c_ret

a_ret

b_ret

c_ret

v=1

for(i in 1:(nr-k-j+1)){    #表示每个(k,j)组合要计算(nr-k-j+1)次动量收益

#(参考点要移动(nr-k-j+1)次)

suma

for(x in 1:col){

suma[x]

}

y

lo=suma<=y[1]   #选取(锁定)下10%的股票

lg=suma>=y[2]   #选取(锁定)上10%的股票

a

b

sum_a=sum(a)

sum_b=sum(b)

#等权重平均后的收益率

a_ret[v]

b_ret[v]

v=v+1

}

c_ret=b_ret-a_ret#所有参照点的动量收益向量

meas=mean(c_ret,na.rm=T) #动量效应收益

sds=sd(c_ret,na.rm=T)#样本方差

t

#存储各类值

L$t

L$m

L$sd

return(L)

}

若令 t

希望大神来解答困惑啊!!十万火急!

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值