早上好!
我有一个非常大的(面板)数据集,其中包含30年期间289家公司的每日股票回报数据。此外,我还有关于市场投资组合相应回报的数据。
现在,我的目标是为每只股票获得年度 beta测量。因此,长度为30的289个不同的“β系列”。
我对R很新,但我认为存档的最佳方式是循环公司以及年度指标。
for (i in 1:length(unique(company), j in 1:length(unique(year))){
data_ij <- data[which(data$company==i,data$year==j),]
beta_ij <- lm(data_ij$RETURN ~ data_ij$MARKET)
}
然而,这似乎根本不起作用。有人可以给我一些指导吗? :)
/亚历
答案 0 :(得分:1)
for (i in 1:length(unique(company)){
for( j in 1:length(unique(year))){
data_ij <- data[which(data$company==i,data$year==j),]
beta_ij <- lm(data_ij$RETURN ~ data_ij$MARKET)
}
}
答案 1 :(得分:0)
为什么不嵌套循环,
<VirtualHost 0.0.0.0:443>
DocumentRoot /var/www/empresa
ServerName empresa
# enable ssl
SSLEngine on
SSLOptions +StdEnvVars
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCertificateFile /var/ssl/ca.empresa.crt
SSLCertificateKeyFile /var/ssl/ca.empresa.key
# this location requires client cert
<Location /webservice>
SSLRequireSSL
SSLRequire %{SSL_CLIENT_S_DN_O} eq "Empresa LDA."
SSLVerifyClient require
SSLVerifyDepth 1
</Location>
</VirtualHost>
答案 2 :(得分:0)
beta_series <- lapply(levels(data$company),
function(x) lapply(unique(data$year),
function(y) lm(RETURN ~ MARKET,
data = subset(data, company == x & year == y))))
您可以使用嵌套lapply()
来首先循环覆盖company
变量的级别(如果您的级别高于要分析的公司,则可以使用unique(data$company)
)。在此期间,您可以循环查看唯一年份,并在当前迭代定义的lm()
上调用subset
。