问题描述
我正在使用市场模型进行事件研究:AR(i,t)=R(i,t) - ((alpha(i) + beta(i)*R(m,t))。我很挣扎由于数据格式和过滤,计算 alpha(截距)和 beta(斜率)估计量。
如果评级变化不为零,则有一个“事件”,我需要的是计算 -1:-3 的事件前窗口的 alpha 和 beta(示例)。但是,每个 ISIN 有几个事件,这意味着我必须按 ISIN 和事件(非零评级变化)进行分组,然后使用 lm() 对事件前窗口进行回归,并将值保存在下一个列中到事件和事件前窗口。
我的数据提取如下:
Date_ ISIN Return STOXX_Return rating_Change rating
2016-10-01 CH00 0.017531563 -0.0003749766 0.00 A
2016-11-01 CH00 -0.073376071 -0.0220566972 0.00 A
2016-12-01 CH00 -0.010745412 0.0182991778 0.00 A
2017-01-01 CH00 0.045742055 0.0641541456 1.90 A
2017-07-01 CH00 -0.072018814 -0.0193375447 0.00 A
2018-01-01 GB00 0.041200982 0.0144049186 0.00 B+
2018-02-01 GB00 0.040654871 0.0119439111 0.00 B+
2018-03-01 GB00 -0.029012563 -0.0463974419 0.00 B+
2018-04-01 GB00 -0.073155490 -0.0066808630 -8.90 B
2018-10-01 GB00 0.042203267 0.0047172371 0.00 B
2018-11-01 GB00 -0.073256106 -0.0545350385 0.00 B
....
我需要的是另外两列,填充 alpha 和 beta - 像这样:
Date ISIN R STOXX_Return rating_Change rating alpha beta
2016-10-01 CH00 0.017531563 -0.0003749766 0.00 A 1 2
2016-11-01 CH00 -0.073376071 -0.0220566972 0.00 A 1 2
2016-12-01 CH00 -0.010745412 0.0182991778 0.00 A 1 2
2017-01-01 CH00 0.045742055 0.0641541456 1.90 A 1 2
2018-02-01 GB00 0.040654871 0.0119439111 0.00 B+ 3 4
2018-03-01 GB00 -0.029012563 -0.0463974419 0.00 B+ 3 4
2018-04-01 GB00 -0.073155490 -0.0066808630 -8.90 B+ 3 4
... for all Dates and ISINs
alpha 和 beta 的 1 和 2(3 和 4)只是展示的示例,对于每个事件,我需要一个特定的 alpha 和 beta。
我尝试将 for-if 循环与 filter 和 lm 以及 magrittr 的不同尝试结合使用。但是,可能并且显然由于我仍然是 R 的初学者这一事实,可能并没有像我想要的那样工作。有人明白我的问题是什么以及如何帮助/解决它吗? 非常感谢您的支持。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)