Description:
monthly observations from 1946-12 to 1991-02
number of observations : 531
observation : country
country : United-States
library(data.table)
## Warning: package 'data.table' was built under R version 3.3.3
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 3.3.3
library(scales)
## Warning: package 'scales' was built under R version 3.3.3
ri : interest rate for a maturity of i months (% per year).
r1 : interest rate for a maturity of 1 months (% per year).
Irates <- read.csv(file="Irates.csv", header=TRUE, sep=",")
print(head(Irates))
## X r1 r2 r3 r5 r6 r11 r12 r36 r60 r120
## 1 1 0.325 0.422 0.477 0.549 0.577 0.698 0.720 1.145 1.415 1.825
## 2 2 0.322 0.427 0.485 0.555 0.583 0.698 0.718 1.119 1.386 1.824
## 3 3 0.326 0.419 0.473 0.543 0.571 0.693 0.715 1.140 1.406 1.817
## 4 4 0.318 0.441 0.508 0.583 0.610 0.718 0.737 1.105 1.364 1.804
## 5 5 0.302 0.445 0.521 0.606 0.637 0.759 0.780 1.172 1.416 1.815
## 6 6 0.288 0.473 0.570 0.666 0.698 0.811 0.830 1.169 1.399 1.805
The following is to find the correlationship amount different periods of the intrest. Obviously, the ri is more correlative to rj next to it, the further distance, the weaker correlatioship.
cor(Irates)
## X r1 r2 r3 r5 r6 r11
## X 1.0000000 0.8083058 0.8111824 0.8146423 0.8177383 0.8184827 0.8317327
## r1 0.8083058 1.0000000 0.9981834 0.9963142 0.9936087 0.9923646 0.9865379
## r2 0.8111824 0.9981834 1.0000000 0.9994606 0.9971952 0.9960555 0.9903624
## r3 0.8146423 0.9963142 0.9994606 1.0000000 0.9988174 0.9978974 0.9930528
## r5 0.8177383 0.9936087 0.9971952 0.9988174 1.0000000 0.9998271 0.9969483
## r6 0.8184827 0.9923646 0.9960555 0.9978974 0.9998271 1.0000000 0.9979614
## r11 0.8317327 0.9865379 0.9903624 0.9930528 0.9969483 0.9979614 1.0000000
## r12 0.8350443 0.9852767 0.9890832 0.9919122 0.9960889 0.9971886 0.9999160
## r36 0.8699257 0.9624058 0.9664599 0.9706246 0.9770057 0.9787702 0.9876478
## r60 0.8808549 0.9492244 0.9532650 0.9578381 0.9646118 0.9664539 0.9772081
## r120 0.8942205 0.9329449 0.9369463 0.9417438 0.9485344 0.9503359 0.9624666
## r12 r36 r60 r120
## X 0.8350443 0.8699257 0.8808549 0.8942205
## r1 0.9852767 0.9624058 0.9492244 0.9329449
## r2 0.9890832 0.9664599 0.9532650 0.9369463
## r3 0.9919122 0.9706246 0.9578381 0.9417438
## r5 0.9960889 0.9770057 0.9646118 0.9485344
## r6 0.9971886 0.9787702 0.9664539 0.9503359
## r11 0.9999160 0.9876478 0.9772081 0.9624666
## r12 1.0000000 0.9893694 0.9794707 0.9652020
## r36 0.9893694 1.0000000 0.9979313 0.9908089
## r60 0.9794707 0.9979313 1.0000000 0.9968634
## r120 0.9652020 0.9908089 0.9968634 1.0000000
Next is to find the changes for r1, r2, r3, r5, r6, r11, r12, r36, and r60.
delr1<-diff(Irates[,'r1'])
delr2<-diff(Irates[,'r2'])
delr3<-diff(Irates[,'r3'])
delr5<-diff(Irates[,'r5'])
delr6<-diff(Irates[,'r6'])
delr11<-diff(Irates[,'r11'])
delr12<-diff(Irates[,'r12'])
delr36<-diff(Irates[,'r36'])
delr60<-diff(Irates[,'r60'])
t<-data.frame(delr1,delr2,delr3,delr5,delr6,delr11,delr12,delr36,delr60)
print(head(t))
## delr1 delr2 delr3 delr5 delr6 delr11 delr12 delr36 delr60
## 1 -0.003 0.005 0.008 0.006 0.006 0.000 -0.002 -0.026 -0.029
## 2 0.004 -0.008 -0.012 -0.012 -0.012 -0.005 -0.003 0.021 0.020
## 3 -0.008 0.022 0.035 0.040 0.039 0.025 0.022 -0.035 -0.042
## 4 -0.016 0.004 0.013 0.023 0.027 0.041 0.043 0.067 0.052
## 5 -0.014 0.028 0.049 0.060 0.061 0.052 0.050 -0.003 -0.017
## 6 0.040 0.013 -0.004 -0.013 -0.015 -0.011 -0.010 0.021 0.035
Find the correlationship in the change of intrest rate in the different time is much smaller now. However, it still shows the strong correlationship
cor(t)
## delr1 delr2 delr3 delr5 delr6 delr11
## delr1 1.0000000 0.9216890 0.8456308 0.7906600 0.7745276 0.7090545
## delr2 0.9216890 1.0000000 0.9798791 0.9305395 0.9116647 0.8351715
## delr3 0.8456308 0.9798791 1.0000000 0.9732575 0.9533571 0.8791417
## delr5 0.7906600 0.9305395 0.9732575 1.0000000 0.9951593 0.9436012
## delr6 0.7745276 0.9116647 0.9533571 0.9951593 1.0000000 0.9649487
## delr11 0.7090545 0.8351715 0.8791417 0.9436012 0.9649487 1.0000000
## delr12 0.6989234 0.8222673 0.8667261 0.9337122 0.9559260 0.9990219
## delr36 0.5620834 0.6770647 0.7237442 0.8057747 0.8350178 0.9092121
## delr60 0.4967685 0.5981047 0.6462377 0.7306532 0.7610877 0.8457246
## delr12 delr36 delr60
## delr1 0.6989234 0.5620834 0.4967685
## delr2 0.8222673 0.6770647 0.5981047
## delr3 0.8667261 0.7237442 0.6462377
## delr5 0.9337122 0.8057747 0.7306532
## delr6 0.9559260 0.8350178 0.7610877
## delr11 0.9990219 0.9092121 0.8457246
## delr12 1.0000000 0.9191947 0.8572593
## delr36 0.9191947 1.0000000 0.9667731
## delr60 0.8572593 0.9667731 1.0000000
The following, to predicte 6month intreste rate change using the other factors.
model= lm(data=t, delr6 ~ .)
summary(model)
##
## Call:
## lm(formula = delr6 ~ ., data = t)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.094620 -0.003338 -0.000244 0.003311 0.083078
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -3.849e-05 4.880e-04 -0.079 0.937
## delr1 -8.938e-02 3.788e-03 -23.594 <2e-16 ***
## delr2 4.146e-01 1.274e-02 32.553 <2e-16 ***
## delr3 -6.301e-01 1.480e-02 -42.582 <2e-16 ***
## delr5 1.121e+00 9.671e-03 115.962 <2e-16 ***
## delr11 9.159e-01 3.450e-02 26.549 <2e-16 ***
## delr12 -7.417e-01 3.374e-02 -21.985 <2e-16 ***
## delr36 9.704e-03 6.875e-03 1.412 0.159
## delr60 6.076e-03 5.765e-03 1.054 0.292
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.01123 on 521 degrees of freedom
## Multiple R-squared: 0.9996, Adjusted R-squared: 0.9996
## F-statistic: 1.511e+05 on 8 and 521 DF, p-value: < 2.2e-16
model2= lm(data=t, delr6 ~ .-delr60 )
summary(model2)
##
## Call:
## lm(formula = delr6 ~ . - delr60, data = t)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.093656 -0.003251 -0.000204 0.003379 0.084863
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -2.686e-05 4.880e-04 -0.055 0.956
## delr1 -8.855e-02 3.706e-03 -23.895 < 2e-16 ***
## delr2 4.116e-01 1.241e-02 33.157 < 2e-16 ***
## delr3 -6.270e-01 1.449e-02 -43.262 < 2e-16 ***
## delr5 1.120e+00 9.514e-03 117.681 < 2e-16 ***
## delr11 9.210e-01 3.417e-02 26.956 < 2e-16 ***
## delr12 -7.469e-01 3.338e-02 -22.379 < 2e-16 ***
## delr36 1.588e-02 3.598e-03 4.413 1.24e-05 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.01123 on 522 degrees of freedom
## Multiple R-squared: 0.9996, Adjusted R-squared: 0.9996
## F-statistic: 1.726e+05 on 7 and 522 DF, p-value: < 2.2e-16
Based on the F-test, R^2, p-Value in two models, the following regression recommends from machine.
delr6 = -2.686e-05 + -8.855e-02 * delr1 + 4.116e-01 * delr2 -6.270e-01 * delr3 + 1.120e+00 * delr5 + 9.210e-01 * delr11 -7.469e-01 * delr12 + 1.588e-02 * delr36