楼主: 飞奔的面条
2793 5

[问答] 求助用matlab做Brennan, Chordia, and Subrahmanyam (1998)的risk adjust [推广有奖]

  • 1关注
  • 0粉丝

初中生

66%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
48 点
帖子
7
精华
0
在线时间
28 小时
注册时间
2012-11-23
最后登录
2014-11-6

楼主
飞奔的面条 发表于 2014-7-21 19:05:48 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
我做的论文有点像Brennan,Chordia, and Subrahmanyam (1998) 的repulication,方法大致是从expected return减去用expected return和risk factor(我的case是用3或者4factor)回归后的loading乘以risk factor后得到一列新的expected return。(详细如pdf)
我的dataset如下:
Date, permno, Market, SMB, HML, MOM, RF, expected return, expected return benchmark, size, value, momentum

我的matlab太菜了,刚刚学了些简单的,要实现上面说的怎么都写不对,但是我还是写了点点(厚脸皮贴出来了)。。。
我还附了一个data的sample,跪求高手帮忙看看如何实现。。。我程式写不出来论文不能交好痛苦啊啊啊啊啊啊啊啊啊。。。


Factors=DATA(2:460984,34:38);

Rf=DATA(2:460984,38);

FFfactors=DATA(2:460984,34:36);

Carfactors=DATA(2:460984,34:37);

ExcessExpRet=DATA(2:460984,39);

ExcessRet=DATA(2:460984,40);

%% F&F Risk-adjusted Returns
FFRetNa=zeros(size(ExcessExpRet));

for i=1:1:size(ExcessExpRet,2);

                [B]=regress(ExcessExpRet(Ran,i),[ones(length(Ran),1),FFfactors(Ran,:)]);

                FFRetNa(a,i)=ExcessExpRet(a,i)-(B(1,1)+FFfactors(a,:)*B(2:end));

                else
                FFRetNa(a,i)=0;
end

。。。(然后显示错误。。。我不知道咋回事。。。)

BCS.xls (71 KB)
BCS_pdf.pdf (203.28 KB)
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Brenna MATLAB adjust atlab matla adjust matlab

沙发
soar1120 发表于 2014-7-21 19:22:57
for i=1:1:size(ExcessExpRet,2);

                [B]=regress(ExcessExpRet(Ran,i),[ones(length(Ran),1),FFfactors(Ran,:)]);

                FFRetNa(a,i)=ExcessExpRet(a,i)-(B(1,1)+FFfactors(a,:)*B(2:end));

                else
                FFRetNa(a,i)=0;
end

1. 你的这句连if都没有,哪来的else;
2.   [B]这里为什么B要有方括号;
3. a是什么?
已有 1 人评分论坛币 收起 理由
admin_kefu + 20 热心帮助其他会员

总评分: 论坛币 + 20   查看全部评分

藤椅
飞奔的面条 发表于 2014-7-21 19:33:44
soar1120 发表于 2014-7-21 19:22
for i=1:1:size(ExcessExpRet,2);

                =regress(ExcessExpRet(Ran,i),[ones(length(Ran),1) ...
谢谢。

关于第二个问题,B应该是beta的意思,是和factors回归下来的loadings。
关于第三个问题,我是根据一个同学之前的一个练习作业改写的,实在不知道怎么改,把觉得有关系的都写上了。。。

不知道能否帮我结合data sample看下该如何写这个程式?非常感谢。。。

板凳
soar1120 发表于 2014-7-21 19:53:03
飞奔的面条 发表于 2014-7-21 19:33
谢谢。

关于第二个问题,B应该是beta的意思,是和factors回归下来的loadings。
看了你的pdf,就是先求出idiosyncratic risk,然后再用firm characteristics回归。你可以自己先试着先出一个没有循环的函数,然后再把他写成循环。这个如果会matlab的话,不是很难。

如果我帮你写,就成了我帮你做作业了。。。从你放上来的程序看,你需要从matlab的基础学起。

报纸
飞奔的面条 发表于 2014-7-21 20:10:30
soar1120 发表于 2014-7-21 19:53
看了你的pdf,就是先求出idiosyncratic risk,然后再用firm characteristics回归。你可以自己先试着先出一 ...
对的!对我来说真的是看上去不难,都研究了好多天了都不对。不过!我再去写写写一下。

我还有一个问题,循环我是需要按Date和permno来回归,能等下帮我看一下嘛?因为我matlab真的不是很会写,循环也不太会。。。。而且时间也有点紧。。。

地板
soar1120 发表于 2014-7-21 20:15:24
按股票循环。也就是pdf里的security j。

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-24 21:42