簡體   English   中英

在 R 中使用線性回歸進行多 Beta 計算

[英]Multiple Beta Calculation using Linear Regression in R

我按照以下格式將數據保存在 excel 文件中

  Y       X1         X2     X3      X4      X5      X6
0.3236% 0.2561% 0.3302% 0.2800% 0.2886% 0.2363% 0.2755%
0.4547% 0.3860% 0.4673% 0.4626% 0.4407% 0.3966% 0.4460%
0.3820% 0.3193% 0.3882% 0.3910% 0.3333% 0.3307% 0.3485%
0.3951% 0.3190% 0.3991% 0.3506% 0.3594% 0.3230% 0.3692%
0.4460% 0.4047% 0.4566% 0.3841% 0.4125% 0.3561% 0.4319%
0.4525% 0.4163% 0.4629% 0.4142% 0.4000% 0.3871% 0.4357%
0.3680% 0.4011% 0.3759% 0.3890% 0.4193% 0.4802% 0.3490%
0.4304% 0.2657% 0.4224% 0.4619% 0.4936% 0.3776% 0.2827%
0.1360% 0.1866% 0.1351% 0.1694% 0.1853% 0.1316% 0.1649%
0.1317% 0.1335% 0.1276% 0.1682% 0.1960% 0.1318% 0.1356%
0.2713% 0.4491% 0.2891% 0.1901% 0.3513% 0.1816% 0.3869%
0.2404% 0.2389% 0.2371% 0.2217% 0.2162% 0.1827% 0.2571%
0.4934% 0.4529% 0.5047% 0.4766% 0.3890% 0.4124% 0.4610%
0.4083% 0.4513% 0.4128% 0.3612% 0.3974% 0.3759% 0.4667%
0.3033% 0.3063% 0.3058% 0.3342% 0.2688% 0.3286% 0.3019%
0.2976% 0.3226% 0.2967% 0.2697% 0.2626% 0.2860% 0.3172%
0.2505% 0.3238% 0.2554% 0.2682% 0.2495% 0.3014% 0.2931%
0.2077% 0.2491% 0.2019% 0.1866% 0.2063% 0.2065% 0.1928%
0.3669% 0.3316% 0.3703% 0.3034% 0.2806% 0.3556% 0.3310%

我需要運行線性回歸作為

Y = M1*X1 + C 

作為第一個線性回歸並將 M1 的計算值存儲在表中說 T

然后在下一步中,我需要將第二個線性回歸運行為

Y = M2*X2 + C 

並將 M2 的計算值存儲在表 T 中

重復該過程並計算值直到 M6 並將所有六個值存儲在表 T 中

研究所需的財務 Beta 計算

在以下位置附上數據文件以供參考。

https://drive.google.com/file/d/1lam3tA9iPXJvqtEO-89vmbVIkxYf3sG3/view?usp=sharing

你可能正在尋找這個。 由於您沒有提供M*列,因此我模擬了一些數據。

d[] <- lapply(d, function(x) as.numeric(gsub("%", "", x)))  # cleans data from "%" beforehand

T <- sapply(1:6, function(i) {
  FO <- reformulate(paste0("M", i, "*", "X", i), response="y")
  return(coef(lm(FO, d))[2])
})
T
#         M1         M2         M3         M4         M5         M6 
# -0.6628572 -0.8423720  0.4183318  0.5154114  2.5278650  1.1081990 

reformulate創建FO其feeded與值rmula幀16sapply ,使得總是相同的數字被添加既MX returnlm擬合模型並且已經給出了所需的系數。 總的來說, sapply也會拋出所需的向量T

數據

d <- structure(list(y = c("0.9148%", "0.9371%", "0.2861%", "0.8304%", 
"0.6417%", "0.5191%", "0.7366%", "0.1347%", "0.657%", "0.7051%"
), X1 = c("0.4577%", "0.7191%", "0.9347%", "0.2554%", "0.4623%", 
"0.94%", "0.9782%", "0.1175%", "0.475%", "0.5603%"), X2 = c("0.904%", 
"0.1387%", "0.9889%", "0.9467%", "0.0824%", "0.5142%", "0.3902%", 
"0.9057%", "0.447%", "0.836%"), X3 = c("0.7376%", "0.8111%", 
"0.3881%", "0.6852%", "0.0039%", "0.8329%", "0.0073%", "0.2077%", 
"0.9066%", "0.6118%"), X4 = c("0.3796%", "0.4358%", "0.0374%", 
"0.9735%", "0.4318%", "0.9576%", "0.8878%", "0.64%", "0.971%", 
"0.6188%"), X5 = c("0.3334%", "0.3467%", "0.3985%", "0.7847%", 
"0.0389%", "0.7488%", "0.6773%", "0.1713%", "0.2611%", "0.5144%"
), X6 = c("0.6756%", "0.9828%", "0.7595%", "0.5665%", "0.8497%", 
"0.1895%", "0.2713%", "0.8282%", "0.6932%", "0.2405%"), M1 = c("0.043%", 
"0.1405%", "0.2164%", "0.4794%", "0.1974%", "0.7194%", "0.0079%", 
"0.3755%", "0.5144%", "0.0016%"), M2 = c("0.5816%", "0.1579%", 
"0.359%", "0.6456%", "0.7758%", "0.5636%", "0.2337%", "0.09%", 
"0.0856%", "0.3052%"), M3 = c("0.6674%", "2e-04%", "0.2086%", 
"0.933%", "0.9256%", "0.7341%", "0.3331%", "0.5151%", "0.744%", 
"0.6192%"), M4 = c("0.6262%", "0.2172%", "0.2166%", "0.3889%", 
"0.9425%", "0.9626%", "0.7399%", "0.7332%", "0.5358%", "0.0023%"
), M5 = c("0.6089%", "0.8368%", "0.7515%", "0.4527%", "0.5358%", 
"0.5374%", "0.0014%", "0.3557%", "0.6121%", "0.8289%"), M6 = c("0.3567%", 
"0.4106%", "0.5735%", "0.5897%", "0.7197%", "0.395%", "0.9192%", 
"0.9626%", "0.2335%", "0.7245%")), row.names = c(NA, -10L), class = "data.frame")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM