全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
1405 1
2021-04-09
在得到fama因子(国泰安数据库有)模型后,需要计算每个股票的阿尔法进而计算风险调整收益率,因此需要进行对每个股票进行ols,也就是需要进行分组回归。
这里需要引入一个包“data.table",结合之前常用的”tidyverse“包。假设因子模型存放在”test.csv“中,为了方面,假定回归模型为:y~x1+x2+x3,stock为各股票代码,


library (tidyverse)
library(data.table)
test<-read_csv("test.csv")#肯定还有更好的方法读取,但是现在只会这样
dt<-data.table(test)
result<-dt[,as.list(coef(lm(y~x1+x2+x3,data=.SD))),keyby=.(stock)]

这里dt[i,j,k]为data.table数据格式的特殊表示形式,i为dt数据中的行,k为分组依据,j为运算表达式,方括号里面的.(stock)的意思是读取dt数据中的stock这一列数据,keyby=.(stock)意思是以stock这一列分组依据;.SD的意思是读取分组后的子集,也就是stock的各个分组的子集。coef为提取回归方程的系数,as.list意思是输出的格式为一个向量


二维码

扫码加我 拉你入群

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

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

全部回复
2021-4-9 20:59:20
  直接
dt <- fread('test.csv')
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群