经过几天的搜索并在R中尝试不同的事情,我的问题和搜索术语都没有找到。如果已经有我的问题的答案,我很抱歉问我的问题。到目前为止,我找不到一个。
我目前正在对债券的财务数据进行回归分析。我回归的目的是确定两个债券组合是否显示出显着不同的收益率。 我控制4个变量(V1到V4)来控制其他风险来源。
回归公式如下:
ield(p)=∝(p)+ 1(p)*V1+2(p)*V2(,)+3*V3(p)+4*V4(p)
(p)
表示特定于投资组合的值。
因变量(Yield
)是特定于投资组合的。
请注意V1
& V2
具有特定于投资组合的系数和公共变量值,
而V3
& V4
具有公共系数和特定于投资组合的变量值。
拦截也需要是特定于投资组合的价值。
如何将上述回归方程转换为R?
特别是,我如何获得V1
&的组合特定系数。 V2
和V3
&的公共系数V4
Regression <- lm(Yield ~ V1 +V2 + V3+ V4)
?
通过
对每个投资组合进行“独立”回归没有问题MessageBox.Show(ds.Tables[0].Rows.Count.ToString());
任何意见或建议将不胜感激。
亲切的问候,
西蒙
答案 0 :(得分:1)
我对你的问题的理解是:
v1
和v2
的参数需要特定于投资组合v3
和v4
的参数对于不同的投资组合根据这些假设,您可以先调整v3
和v4
,然后使用输出(作为偏移量)使每个适合v1
和v2
portolio
类似于:
# fit the first model to decide the parameters of v3 and v4 (beta3 and beta4)
model1 <- lm(Yield~V3+V4)
# Create offset which "frozen" the parameters of v3 and v4
offset_term <- beta3*V3 + beta4*v4
# fit final model with offset for each of your porfolio data
# assuming index_p1 is the row index of your portfolio 1, and index_p2 is for portfolio 2, then:
final_model_portfolio1 <- lm(Yield[index_p1]~V1[index_p1]+V2[index_p1]+offset(offset_term[index_p1]))
final_model_portfolio2 <- lm(Yield[index_p2]~V1[index_p2]+V2[index_p2]+offset(offset_term[index_p2]))