Бета-цикл, который учитывает частоту сегментированных временных рядов - PullRequest
0 голосов
/ 09 апреля 2019

Я пытаюсь запустить функцию LM, чтобы собрать полный вывод (сводку) по довольно большой серии xts (etfadj3) доходов различных ценных бумаг. В настоящее время я могу рассчитать бета-версию и захватить все результаты регрессии для возвращаемого ряда первого столбца по каждому последующему ряду возвращений столбца (ценной бумаги) - это то, что я хочу. Тем не менее, я хотел бы иметь возможность изменить этот сценарий так, чтобы я мог изменять частоту регрессии, чтобы увидеть результат за месяц / квартал / год. Есть ли способ изменить то, что я должен сделать это? Спасибо !!!

storage <- list()
for(i in names(etfadj3)[-1]){
  storage[[i]] <- summary(lm(etfadj3$OPP~get(i), etfadj3)
  )}

# Regression Coefficient Data

coeffs=sapply(storage, FUN=function(item){item$coefficients})
coeffs= as.data.frame(coeffs)
rownames(coeffs) <- c('Intercept_Coeff','ETF_Beta','Intercept_Std_Err','ETF_Beta_Std_Err','Intercept_T-Stat','ETF_Beta_T_Stat',
                      'Intercept_p-value','ETF_Beta_p-value')
# R-Squared

rsq=sapply(storage, FUN=function(item){item$r.squared})
rsq= t(as.data.frame(rsq))
rownames(rsq) <- c('R-Squared')

# Mean squared error

mse=sapply(storage, FUN=function(item){mean(item$residuals^2)})
mse= t(as.data.frame(mse))
rownames(mse) <- c('Mean Squared Error')


storage2 <- rbind(coeffs,rsq,mse)
storage3 <- as.data.frame(t(storage2))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...