loading packages and data
from the histgrams we can see that a lot of variables are not normally ditributed, thus we took log of these variables.
we ts the variables after take log
suntrust_data$log_interest.income <- log(suntrust_data$total.interest.income)
suntrust_data$log_interest.expense <- log(suntrust_data$total.interest.expense)
suntrust_data$log_noninterest.expense <- log(suntrust_data$total.noninterest.expense)
suntrust_data$log_noninterest.income <- log(suntrust_data$total.noninterest.income)
suntrust_data$log_alll <- log(suntrust_data$provision.ALLL)
## Warning in log(suntrust_data$provision.ALLL): 产生了NaNs
suntrust_data$log_house.price.index..level. <- log(suntrust_data$house.price.index..level.)
suntrust_data$log_unemployment.rate <- log(suntrust_data$unemployment.rate)
suntrust_data$log_mortgage.rate <- log(suntrust_data$mortgage.rate)
suntrust_data$log_DJ.index <- log(suntrust_data$dow.jones.total.stock.market.index..level.)
suntrust_data$log_10treasury.yield <- log(suntrust_data$x10.year.treasury.yield)
suntrust_data$log_5treasury.yield <- log(suntrust_data$x5.year.treasury.yield)
suntrust_data$log_3treasury.yield <- log(suntrust_data$x3.month.treasury.rate)
suntrust_data$log_bbb <- log(suntrust_data$bbb.corporate.yield)
suntrust_data$market.returns <- diff(suntrust_data$dow.jones.total.stock.market.index..level.)
## Warning in `[<-.data.table`(x, j = name, value = value): Supplied 103 items
## to be assigned to 104 items of column 'market.returns' (recycled leaving
## remainder of 1 items).
jpmorgan_data$log_interest.income <- log(jpmorgan_data$total.interest.income)
jpmorgan_data$log_interest.expense <- log(jpmorgan_data$total.interest.expense)
jpmorgan_data$log_noninterest.expense <- log(jpmorgan_data$total.noninterest.expense)
jpmorgan_data$log_noninterest.income <- log(jpmorgan_data$total.noninterest.income)
jpmorgan_data$log_alll <- log(jpmorgan_data$provision.ALLL)
## Warning in log(jpmorgan_data$provision.ALLL): 产生了NaNs
jpmorgan_data$log_house.price.index..level. <- log(jpmorgan_data$house.price.index..level.)
jpmorgan_data$log_unemployment.rate <- log(jpmorgan_data$unemployment.rate)
jpmorgan_data$log_mortgage.rate <- log(jpmorgan_data$mortgage.rate)
jpmorgan_data$log_DJ.index <- log(jpmorgan_data$dow.jones.total.stock.market.index..level.)
jpmorgan_data$log_10treasury.yield <- log(jpmorgan_data$x10.year.treasury.yield)
jpmorgan_data$log_5treasury.yield <- log(jpmorgan_data$x5.year.treasury.yield)
jpmorgan_data$log_3treasury.yield <- log(jpmorgan_data$x3.month.treasury.rate)
jpmorgan_data$log_bbb <- log(jpmorgan_data$bbb.corporate.yield)
jpmorgan_data$market.returns <- diff(jpmorgan_data$dow.jones.total.stock.market.index..level.)
## Warning in `[<-.data.table`(x, j = name, value = value): Supplied 103 items
## to be assigned to 104 items of column 'market.returns' (recycled leaving
## remainder of 1 items).
suntrust_data <- na.omit(suntrust_data)
jpmorgan_data <- na.omit(jpmorgan_data)
suntrust_ts <- ts(suntrust_data,start = c(1990), end = c(2016),frequency = 4)
jpmorgan_ts <- ts(jpmorgan_data,start = c(1990), end = c(2016),frequency = 4)
fit models for total interest income. The candidate macro-indicators are : treasury bbb and mortgage(we have problems here because these three variable’s correlation level are high, “> 0.8”)
JP.intinc_model1 <- tslm(log_interest.income ~
log_10treasury.yield +
log_bbb +
log_mortgage.rate,
data = jpmorgan_ts)
summary(JP.intinc_model1)
##
## Call:
## tslm(formula = log_interest.income ~ log_10treasury.yield + log_bbb +
## log_mortgage.rate, data = jpmorgan_ts)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.96385 -0.37908 -0.03025 0.25835 1.47841
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 20.3327 0.9575 21.236 < 2e-16 ***
## log_10treasury.yield 0.9012 0.7906 1.140 0.25705
## log_bbb 1.0533 0.5259 2.003 0.04787 *
## log_mortgage.rate -4.3309 1.3302 -3.256 0.00154 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.5068 on 101 degrees of freedom
## Multiple R-squared: 0.6168, Adjusted R-squared: 0.6054
## F-statistic: 54.19 on 3 and 101 DF, p-value: < 2.2e-16
ST.intinc_model1 <- tslm(log_interest.income ~
log_10treasury.yield +
log_bbb +
log_mortgage.rate,
data = suntrust_ts)
summary(ST.intinc_model1)
##
## Call:
## tslm(formula = log_interest.income ~ log_10treasury.yield + log_bbb +
## log_mortgage.rate, data = suntrust_ts)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.5899 -0.2696 -0.1028 0.2588 0.8709
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 14.9325 0.7060 21.152 <2e-16 ***
## log_10treasury.yield -0.3189 0.5823 -0.548 0.585
## log_bbb 0.3062 0.3878 0.789 0.432
## log_mortgage.rate -0.5452 0.9795 -0.557 0.579
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.3732 on 101 degrees of freedom
## Multiple R-squared: 0.2764, Adjusted R-squared: 0.2549
## F-statistic: 12.86 on 3 and 101 DF, p-value: 3.487e-07
The 10 year Treasury yield is not significant for the regression model, so we will use the 5 year Treasury yield. We tried using the 3 month treasury rate because after we took log of it, it has "-inf" because you can't take the log of zero, and also the distribution does not improve by taking log. So we will choose 5 year for treasury.
JP.intinc_model2 <- tslm(log_interest.income ~
log_5treasury.yield+
log_bbb+
log_mortgage.rate,
data = jpmorgan_ts)
summary(JP.intinc_model2)
##
## Call:
## tslm(formula = log_interest.income ~ log_5treasury.yield + log_bbb +
## log_mortgage.rate, data = jpmorgan_ts)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.96672 -0.28720 -0.01295 0.23602 1.37780
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 23.0149 0.8414 27.353 < 2e-16 ***
## log_5treasury.yield 1.5375 0.3192 4.816 5.15e-06 ***
## log_bbb 2.1322 0.5292 4.029 0.000109 ***
## log_mortgage.rate -7.2282 0.9841 -7.345 5.42e-11 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.46 on 101 degrees of freedom
## Multiple R-squared: 0.6844, Adjusted R-squared: 0.675
## F-statistic: 73 on 3 and 101 DF, p-value: < 2.2e-16
checkresiduals(JP.intinc_model2)
##
## Breusch-Godfrey test for serial correlation of order up to 8
##
## data: Residuals from Linear regression model
## LM test = 70.533, df = 8, p-value = 3.849e-12
ST.intinc_model2 <- tslm(log_interest.income ~
log_5treasury.yield+
log_bbb+
log_mortgage.rate,
data = suntrust_ts)
summary(ST.intinc_model2)
##
## Call:
## tslm(formula = log_interest.income ~ log_5treasury.yield + log_bbb +
## log_mortgage.rate, data = suntrust_ts)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.64196 -0.23264 -0.05643 0.19219 0.88352
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 17.6056 0.6347 27.738 < 2e-16 ***
## log_5treasury.yield 0.9649 0.2400 4.020 0.000112 ***
## log_bbb 1.1105 0.3995 2.780 0.006492 **
## log_mortgage.rate -3.7706 0.7415 -5.085 1.7e-06 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.347 on 101 degrees of freedom
## Multiple R-squared: 0.3744, Adjusted R-squared: 0.3558
## F-statistic: 20.15 on 3 and 101 DF, p-value: 2.597e-10
checkresiduals(ST.intinc_model2)
##
## Breusch-Godfrey test for serial correlation of order up to 8
##
## data: Residuals from Linear regression model
## LM test = 84.618, df = 8, p-value = 5.724e-15
X5 Treasury works better for both model. but suffer from autocorrelation.
hope to get the correlation data from Ivan. Try with eliminating morgate. but failed it performs bad on both dataset.
JP.intinc_model3 <- tslm(log_interest.income ~
log_5treasury.yield+
log_bbb,
data = jpmorgan_ts)
summary(JP.intinc_model3)
##
## Call:
## tslm(formula = log_interest.income ~ log_5treasury.yield + log_bbb,
## data = jpmorgan_ts)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.97870 -0.48701 -0.01862 0.36057 1.45933
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 18.1002 0.6287 28.788 < 2e-16 ***
## log_5treasury.yield -0.6028 0.1606 -3.753 0.00029 ***
## log_bbb -0.8382 0.4206 -1.993 0.04896 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.5669 on 102 degrees of freedom
## Multiple R-squared: 0.5158, Adjusted R-squared: 0.5063
## F-statistic: 54.33 on 2 and 102 DF, p-value: < 2.2e-16
checkresiduals(JP.intinc_model3)
##
## Breusch-Godfrey test for serial correlation of order up to 8
##
## data: Residuals from Linear regression model
## LM test = 82.613, df = 8, p-value = 1.454e-14
ST.intinc_model3 <- tslm(log_interest.income ~
log_5treasury.yield+
log_bbb,
data = suntrust_ts)
summary(ST.intinc_model3)
##
## Call:
## tslm(formula = log_interest.income ~ log_5treasury.yield + log_bbb,
## data = suntrust_ts)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.6521 -0.2706 -0.1552 0.2899 0.8471
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 15.0413 0.4299 34.989 <2e-16 ***
## log_5treasury.yield -0.1488 0.1095 -1.359 0.177
## log_bbb -0.4410 0.2877 -1.533 0.128
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.387 on 102 degrees of freedom
## Multiple R-squared: 0.2142, Adjusted R-squared: 0.1988
## F-statistic: 13.9 on 2 and 102 DF, p-value: 4.581e-06
checkresiduals(ST.intinc_model3)
##
## Breusch-Godfrey test for serial correlation of order up to 8
##
## data: Residuals from Linear regression model
## LM test = 94.27, df = 8, p-value < 2.2e-16
try to eliminate autocorrelation by subset the recent years, after 2009 because of the big economic recession
JP.ts <- window(jpmorgan_ts, start = c(2009))
ST.ts <- window(suntrust_ts, start = c(2009))
JP.intinc_model2s <- tslm(log_interest.income ~
log_5treasury.yield+
log_bbb+
log_mortgage.rate,
data = JP.ts)
summary(JP.intinc_model2s)
##
## Call:
## tslm(formula = log_interest.income ~ log_5treasury.yield + log_bbb +
## log_mortgage.rate, data = JP.ts)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.32161 -0.22171 -0.00379 0.19837 0.44204
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 19.8465 0.7042 28.182 < 2e-16 ***
## log_5treasury.yield 0.4599 0.2371 1.939 0.063822 .
## log_bbb 1.7422 0.3964 4.395 0.000179 ***
## log_mortgage.rate -4.4120 0.6926 -6.370 1.14e-06 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.2616 on 25 degrees of freedom
## Multiple R-squared: 0.8135, Adjusted R-squared: 0.7911
## F-statistic: 36.34 on 3 and 25 DF, p-value: 2.866e-09
checkresiduals(JP.intinc_model2s)
##
## Breusch-Godfrey test for serial correlation of order up to 7
##
## data: Residuals from Linear regression model
## LM test = 23.083, df = 7, p-value = 0.001648
ST.intinc_model2s <- tslm(log_interest.income ~
log_5treasury.yield+
log_bbb+
log_mortgage.rate,
data = ST.ts)
summary(ST.intinc_model2s)
##
## Call:
## tslm(formula = log_interest.income ~ log_5treasury.yield + log_bbb +
## log_mortgage.rate, data = ST.ts)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.140635 -0.107533 -0.005049 0.084299 0.194416
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 14.9629 0.3123 47.908 < 2e-16 ***
## log_5treasury.yield 0.1039 0.1039 1.001 0.326587
## log_bbb 1.0826 0.2366 4.577 0.000112 ***
## log_mortgage.rate -1.7629 0.3346 -5.269 1.86e-05 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.1147 on 25 degrees of freedom
## Multiple R-squared: 0.7198, Adjusted R-squared: 0.6861
## F-statistic: 21.4 on 3 and 25 DF, p-value: 4.39e-07
checkresiduals(ST.intinc_model2s)
##
## Breusch-Godfrey test for serial correlation of order up to 7
##
## data: Residuals from Linear regression model
## LM test = 22.313, df = 7, p-value = 0.002244
Forecasting. Need to ensure scenario settings.
same procedures for interest expense. Results similar to interest income. Just pose model2 and model 2s
JP.intex_model2s <- tslm(log_interest.expense ~
log_5treasury.yield+
log_bbb+
log_mortgage.rate,
data = JP.ts)
summary(JP.intex_model2s)
##
## Call:
## tslm(formula = log_interest.expense ~ log_5treasury.yield + log_bbb +
## log_mortgage.rate, data = JP.ts)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.30951 -0.15464 -0.07842 0.19076 0.50645
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 14.4244 0.6512 22.150 < 2e-16 ***
## log_5treasury.yield -0.2189 0.2193 -0.998 0.3277
## log_bbb 1.7460 0.3665 4.764 6.88e-05 ***
## log_mortgage.rate -1.6360 0.6404 -2.554 0.0171 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.2419 on 25 degrees of freedom
## Multiple R-squared: 0.5617, Adjusted R-squared: 0.5091
## F-statistic: 10.68 on 3 and 25 DF, p-value: 0.0001054
checkresiduals(JP.intex_model2s)
##
## Breusch-Godfrey test for serial correlation of order up to 7
##
## data: Residuals from Linear regression model
## LM test = 23.905, df = 7, p-value = 0.001184
ST.intex_model2s <- tslm(log_interest.expense ~
log_5treasury.yield+
log_bbb+
log_mortgage.rate,
data = ST.ts)
summary(ST.intex_model2s)
##
## Call:
## tslm(formula = log_interest.expense ~ log_5treasury.yield + log_bbb +
## log_mortgage.rate, data = ST.ts)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.50096 -0.19129 -0.01956 0.21106 0.48053
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 9.2732 0.8065 11.498 1.78e-11 ***
## log_5treasury.yield -0.1192 0.2682 -0.445 0.6605
## log_bbb 3.3724 0.6108 5.521 9.74e-06 ***
## log_mortgage.rate -1.6085 0.8639 -1.862 0.0744 .
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.2962 on 25 degrees of freedom
## Multiple R-squared: 0.7158, Adjusted R-squared: 0.6817
## F-statistic: 20.99 on 3 and 25 DF, p-value: 5.211e-07
checkresiduals(ST.intex_model2s)
##
## Breusch-Godfrey test for serial correlation of order up to 7
##
## data: Residuals from Linear regression model
## LM test = 21.909, df = 7, p-value = 0.002634
models for noninterest income and noninterest expense. candidate variables are: GDP, market volatiliry, stock returns, home price growth. Still working on how to calculate market return on r. models for noninterest income
JP.noninc_model1 <- tslm(log_noninterest.income ~
real.gdp.growth +
log_house.price.index..level. +
market.volatility.index..level. ,data = JP.ts)
summary(JP.noninc_model1)
##
## Call:
## tslm(formula = log_noninterest.income ~ real.gdp.growth + log_house.price.index..level. +
## market.volatility.index..level., data = JP.ts)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.7795 -0.3522 0.1286 0.2639 0.6806
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -3.482188 2.030911 -1.715 0.0988 .
## real.gdp.growth -0.030932 0.039759 -0.778 0.4439
## log_house.price.index..level. 3.892148 0.394269 9.872 4.16e-10 ***
## market.volatility.index..level. 0.008170 0.008383 0.975 0.3391
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.4255 on 25 degrees of freedom
## Multiple R-squared: 0.8013, Adjusted R-squared: 0.7775
## F-statistic: 33.61 on 3 and 25 DF, p-value: 6.252e-09
checkresiduals(JP.noninc_model1)
##
## Breusch-Godfrey test for serial correlation of order up to 7
##
## data: Residuals from Linear regression model
## LM test = 22.999, df = 7, p-value = 0.001706
ST.noninc_model1 <- tslm(log_noninterest.income ~
log_house.price.index..level. +
real.gdp.growth +
market.volatility.index..level. ,data = ST.ts)
summary(ST.noninc_model1)
##
## Call:
## tslm(formula = log_noninterest.income ~ log_house.price.index..level. +
## real.gdp.growth + market.volatility.index..level., data = ST.ts)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.44041 -0.16026 -0.04025 0.17164 0.36869
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 2.990538 1.130927 2.644 0.0139 *
## log_house.price.index..level. 2.073219 0.219152 9.460 9.71e-10 ***
## real.gdp.growth -0.031455 0.026751 -1.176 0.2507
## market.volatility.index..level. 0.009279 0.004997 1.857 0.0751 .
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.2371 on 25 degrees of freedom
## Multiple R-squared: 0.7891, Adjusted R-squared: 0.7638
## F-statistic: 31.18 on 3 and 25 DF, p-value: 1.311e-08
checkresiduals(ST.noninc_model1)
##
## Breusch-Godfrey test for serial correlation of order up to 7
##
## data: Residuals from Linear regression model
## LM test = 16.395, df = 7, p-value = 0.02174
models for noninterest expense
JP.nonex_model1 <- tslm(log_noninterest.expense ~
real.gdp.growth +
log_house.price.index..level. +
market.volatility.index..level. ,data = JP.ts)
summary(JP.nonex_model1)
##
## Call:
## tslm(formula = log_noninterest.expense ~ real.gdp.growth + log_house.price.index..level. +
## market.volatility.index..level., data = JP.ts)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.65460 -0.30195 0.05034 0.25766 0.65361
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -1.401843 1.874158 -0.748 0.461
## real.gdp.growth -0.014878 0.036690 -0.406 0.689
## log_house.price.index..level. 3.500214 0.363838 9.620 6.96e-10 ***
## market.volatility.index..level. 0.010484 0.007736 1.355 0.187
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.3926 on 25 degrees of freedom
## Multiple R-squared: 0.7912, Adjusted R-squared: 0.7662
## F-statistic: 31.58 on 3 and 25 DF, p-value: 1.156e-08
checkresiduals(JP.nonex_model1)
##
## Breusch-Godfrey test for serial correlation of order up to 7
##
## data: Residuals from Linear regression model
## LM test = 26.229, df = 7, p-value = 0.0004583
ST.nonex_model1 <- tslm(log_noninterest.expense ~
log_house.price.index..level. +
real.gdp.growth +
market.volatility.index..level. ,data = ST.ts)
summary(ST.nonex_model1)
##
## Call:
## tslm(formula = log_noninterest.expense ~ log_house.price.index..level. +
## real.gdp.growth + market.volatility.index..level., data = ST.ts)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.4931 -0.1875 0.0390 0.1567 0.3211
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 5.106628 1.125745 4.536 0.000124 ***
## log_house.price.index..level. 1.761887 0.218147 8.077 1.97e-08 ***
## real.gdp.growth -0.017865 0.026628 -0.671 0.508427
## market.volatility.index..level. 0.008572 0.004974 1.723 0.097150 .
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.236 on 25 degrees of freedom
## Multiple R-squared: 0.7291, Adjusted R-squared: 0.6965
## F-statistic: 22.42 on 3 and 25 DF, p-value: 2.896e-07
checkresiduals(ST.nonex_model1)
##
## Breusch-Godfrey test for serial correlation of order up to 7
##
## data: Residuals from Linear regression model
## LM test = 23.38, df = 7, p-value = 0.001463
Since using recent data can help reduce autocorrelatioins. I directly use those data to fit models.(I actually run the regression of the whole time, ST.ts and JP.ts still win. So I didn't pose them.) gdp performs bad on this model. Mayve need stock returns.
models for Provisions for loan & lease Loss. Candidates: real.gdp, 5 treasury, mortgage, bbb
JP.alll_model1 <- tslm(log_alll ~ real.gdp.growth +
log_10treasury.yield +
log_mortgage.rate +
log_bbb, data = JP.ts)
summary(JP.alll_model1)
##
## Call:
## tslm(formula = log_alll ~ real.gdp.growth + log_10treasury.yield +
## log_mortgage.rate + log_bbb, data = JP.ts)
##
## Residuals:
## Min 1Q Median 3Q Max
## -3.9858 -0.2320 0.1107 0.5317 1.6651
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 22.4922 3.3747 6.665 6.8e-07 ***
## real.gdp.growth 0.0285 0.1272 0.224 0.82455
## log_10treasury.yield 7.3087 2.3601 3.097 0.00493 **
## log_mortgage.rate -18.4352 3.9035 -4.723 8.4e-05 ***
## log_bbb 6.8930 2.2046 3.127 0.00458 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.188 on 24 degrees of freedom
## Multiple R-squared: 0.5314, Adjusted R-squared: 0.4533
## F-statistic: 6.804 on 4 and 24 DF, p-value: 0.0008272
checkresiduals(JP.alll_model1)
##
## Breusch-Godfrey test for serial correlation of order up to 8
##
## data: Residuals from Linear regression model
## LM test = 11.043, df = 8, p-value = 0.1993
ST.alll_model1 <- tslm(log_alll ~ real.gdp.growth +
log_10treasury.yield +
log_mortgage.rate+
log_bbb, data = ST.ts)
summary(ST.alll_model1)
##
## Call:
## tslm(formula = log_alll ~ real.gdp.growth + log_10treasury.yield +
## log_mortgage.rate + log_bbb, data = ST.ts)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2.1976 -0.4692 0.1647 0.6139 1.0702
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 14.90894 2.64370 5.639 8.32e-06 ***
## real.gdp.growth -0.07702 0.10651 -0.723 0.47662
## log_10treasury.yield 3.22592 1.82259 1.770 0.08944 .
## log_mortgage.rate -11.31674 3.03202 -3.732 0.00103 **
## log_bbb 6.78554 1.96900 3.446 0.00210 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.9102 on 24 degrees of freedom
## Multiple R-squared: 0.4656, Adjusted R-squared: 0.3766
## F-statistic: 5.228 on 4 and 24 DF, p-value: 0.003571
checkresiduals(ST.alll_model1)
##
## Breusch-Godfrey test for serial correlation of order up to 8
##
## data: Residuals from Linear regression model
## LM test = 20.323, df = 8, p-value = 0.00918