ASSIGNMENT1: 1. Find
returns of NSE data> 6months, having selected the 10th data pt as
start and 95th point as end point. Then plot the returns as well.
> z<-read.csv(file.choose(),header=T)
> head(z)
Date Open High Low Close Shares.Traded Turnover..Rs..Cr.
1 02-Jan-12 4640.20 4645.95 4588.05 4636.75 108460668 3590.96
2 03-Jan-12 4675.80 4773.10 4675.80 4765.30 146621115 5021.29
3 04-Jan-12 4774.95 4782.85 4728.85 4749.65 165938849 5661.16
4 05-Jan-12 4749.00 4779.80 4730.15 4749.95 177862936 5873.79
5 06-Jan-12 4724.15 4794.90 4686.85 4754.10 176057282 5234.69
6 07-Jan-12 4755.60 4759.40 4743.05 4746.90 18783880 414.88
> close<-z$Close[10:95]
> close.ts<-ts(close,deltat=1/252)
> close.ts
Time Series:
Start = c(1, 1)
End = c(1, 86)
Frequency = 252
[1] 4831.25 4866.00 4873.90 4967.30 4955.80 5018.40 5048.60 5046.25 5127.35 5158.30 5204.70 5087.30 5199.25 5235.70 5269.90 5325.85 5361.65 5335.15 5368.15 5412.35
[21] 5381.60 5390.20 5416.05 5531.95 5521.95 5564.30 5607.15 5505.35 5483.30 5429.30 5281.20 5375.50 5385.20 5339.75 5359.35 5359.40 5280.35 5222.40 5220.45 5333.55
[41] 5359.55 5429.50 5463.90 5380.50 5317.90 5257.05 5274.85 5364.95 5228.45 5278.20 5184.25 5243.15 5194.75 5178.85 5295.55 5317.90 5358.50 5322.90 5234.40 5243.60
[61] 5226.85 5276.85 5207.45 5226.20 5289.70 5300.00 5332.40 5290.85 5200.60 5222.65 5202.00 5189.00 5190.60 5209.00 5248.15 5239.15 5188.40 5086.85 5114.15 4999.95
[81] 4974.80 4965.70 4928.90 4907.80 4942.80 4858.25
> summary(close.ts)
Min. 1st Qu. Median Mean 3rd Qu. Max.
4831 5185 5246 5238 5359 5607
> z.diff<-diff(close.ts)
> returns<-z.diff/lag(close.ts, k=-1)
> returns
Time Series:
Start = c(1, 2)
End = c(1, 86)
Frequency = 252
[1] 7.192755e-03 1.623510e-03 1.916330e-02 -2.315141e-03 1.263166e-02 6.017854e-03 -4.654756e-04 1.607134e-02 6.036257e-03 8.995212e-03 -2.255654e-02
[12] 2.200578e-02 7.010627e-03 6.532078e-03 1.061690e-02 6.721932e-03 -4.942508e-03 6.185393e-03 8.233749e-03 -5.681451e-03 1.598038e-03 4.795740e-03
[23] 2.139936e-02 -1.807681e-03 7.669392e-03 7.700879e-03 -1.815539e-02 -4.005195e-03 -9.848084e-03 -2.727792e-02 1.785579e-02 1.804483e-03 -8.439798e-03
[34] 3.670584e-03 9.329490e-06 -1.474979e-02 -1.097465e-02 -3.733915e-04 2.166480e-02 4.874802e-03 1.305147e-02 6.335758e-03 -1.526382e-02 -1.163461e-02
[45] -1.144249e-02 3.385929e-03 1.708105e-02 -2.544292e-02 9.515248e-03 -1.779963e-02 1.136133e-02 -9.231092e-03 -3.060783e-03 2.253396e-02 4.220525e-03
[56] 7.634593e-03 -6.643650e-03 -1.662628e-02 1.757604e-03 -3.194370e-03 9.565991e-03 -1.315179e-02 3.600611e-03 1.215032e-02 1.947180e-03 6.113208e-03
[67] -7.791989e-03 -1.705775e-02 4.239895e-03 -3.953931e-03 -2.499039e-03 3.083446e-04 3.544870e-03 7.515838e-03 -1.714890e-03 -9.686686e-03 -1.957251e-02
[78] 5.366779e-03 -2.233020e-02 -5.030050e-03 -1.829219e-03 -7.410838e-03 -4.280874e-03 7.131505e-03 -1.710569e-02
> plot(returns)
>
> z<-read.csv(file.choose(),header=T)
> head(z)
Date Open High Low Close Shares.Traded Turnover..Rs..Cr.
1 02-Jan-12 4640.20 4645.95 4588.05 4636.75 108460668 3590.96
2 03-Jan-12 4675.80 4773.10 4675.80 4765.30 146621115 5021.29
3 04-Jan-12 4774.95 4782.85 4728.85 4749.65 165938849 5661.16
4 05-Jan-12 4749.00 4779.80 4730.15 4749.95 177862936 5873.79
5 06-Jan-12 4724.15 4794.90 4686.85 4754.10 176057282 5234.69
6 07-Jan-12 4755.60 4759.40 4743.05 4746.90 18783880 414.88
> close<-z$Close[10:95]
> close.ts<-ts(close,deltat=1/252)
> close.ts
Time Series:
Start = c(1, 1)
End = c(1, 86)
Frequency = 252
[1] 4831.25 4866.00 4873.90 4967.30 4955.80 5018.40 5048.60 5046.25 5127.35 5158.30 5204.70 5087.30 5199.25 5235.70 5269.90 5325.85 5361.65 5335.15 5368.15 5412.35
[21] 5381.60 5390.20 5416.05 5531.95 5521.95 5564.30 5607.15 5505.35 5483.30 5429.30 5281.20 5375.50 5385.20 5339.75 5359.35 5359.40 5280.35 5222.40 5220.45 5333.55
[41] 5359.55 5429.50 5463.90 5380.50 5317.90 5257.05 5274.85 5364.95 5228.45 5278.20 5184.25 5243.15 5194.75 5178.85 5295.55 5317.90 5358.50 5322.90 5234.40 5243.60
[61] 5226.85 5276.85 5207.45 5226.20 5289.70 5300.00 5332.40 5290.85 5200.60 5222.65 5202.00 5189.00 5190.60 5209.00 5248.15 5239.15 5188.40 5086.85 5114.15 4999.95
[81] 4974.80 4965.70 4928.90 4907.80 4942.80 4858.25
> summary(close.ts)
Min. 1st Qu. Median Mean 3rd Qu. Max.
4831 5185 5246 5238 5359 5607
> z.diff<-diff(close.ts)
> returns<-z.diff/lag(close.ts, k=-1)
> returns
Time Series:
Start = c(1, 2)
End = c(1, 86)
Frequency = 252
[1] 7.192755e-03 1.623510e-03 1.916330e-02 -2.315141e-03 1.263166e-02 6.017854e-03 -4.654756e-04 1.607134e-02 6.036257e-03 8.995212e-03 -2.255654e-02
[12] 2.200578e-02 7.010627e-03 6.532078e-03 1.061690e-02 6.721932e-03 -4.942508e-03 6.185393e-03 8.233749e-03 -5.681451e-03 1.598038e-03 4.795740e-03
[23] 2.139936e-02 -1.807681e-03 7.669392e-03 7.700879e-03 -1.815539e-02 -4.005195e-03 -9.848084e-03 -2.727792e-02 1.785579e-02 1.804483e-03 -8.439798e-03
[34] 3.670584e-03 9.329490e-06 -1.474979e-02 -1.097465e-02 -3.733915e-04 2.166480e-02 4.874802e-03 1.305147e-02 6.335758e-03 -1.526382e-02 -1.163461e-02
[45] -1.144249e-02 3.385929e-03 1.708105e-02 -2.544292e-02 9.515248e-03 -1.779963e-02 1.136133e-02 -9.231092e-03 -3.060783e-03 2.253396e-02 4.220525e-03
[56] 7.634593e-03 -6.643650e-03 -1.662628e-02 1.757604e-03 -3.194370e-03 9.565991e-03 -1.315179e-02 3.600611e-03 1.215032e-02 1.947180e-03 6.113208e-03
[67] -7.791989e-03 -1.705775e-02 4.239895e-03 -3.953931e-03 -2.499039e-03 3.083446e-04 3.544870e-03 7.515838e-03 -1.714890e-03 -9.686686e-03 -1.957251e-02
[78] 5.366779e-03 -2.233020e-02 -5.030050e-03 -1.829219e-03 -7.410838e-03 -4.280874e-03 7.131505e-03 -1.710569e-02
> plot(returns)
>
ASSIGNMENT2:
> z<-read.csv(file.choose(),header=T)
> head(z)
age ed employ address income debtinc creddebt othdebt default
1 41 3 17 12 176 9.3 11.36 5.01 1
2 27 1 10 6 31 17.3 1.36 4.00 0
3 40 1 15 14 55 5.5 0.86 2.17 0
4 41 1 15 14 120 2.9 2.66 0.82 0
5 24 2 2 0 28 17.3 1.79 3.06 1
6 41 2 5 5 25 10.2 0.39 2.16 0
> data<- z[1:700,1:9]
> sapply(data,mean)
age ed employ address income debtinc creddebt othdebt default
34.8600000 1.7228571 8.3885714 8.2785714 45.6014286 10.2605714 1.5534571 3.0582286 0.2614286
> data$ed<-factor(data$ed)
> logit.est<-glm(default~age+employ+address+income+debtinc+creddebt+othdebt,data=data,family="binomial")
> summary(logit.est)
Call:
glm(formula = default ~ age + employ + address + income + debtinc +
creddebt + othdebt, family = "binomial", data = data)
Deviance Residuals:
Min 1Q Median 3Q Max
-2.3659 -0.6516 -0.2882 0.2625 2.9757
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -1.376573 0.571560 -2.408 0.0160 *
age 0.033712 0.017342 1.944 0.0519 .
employ -0.265086 0.031999 -8.284 < 2e-16 ***
address -0.103960 0.023192 -4.483 7.38e-06 ***
income -0.007566 0.008095 -0.935 0.3500
debtinc 0.065099 0.030621 2.126 0.0335 *
creddebt 0.628475 0.113759 5.525 3.30e-08 ***
othdebt 0.070761 0.077682 0.911 0.3623
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 804.36 on 699 degrees of freedom
Residual deviance: 552.20 on 692 degrees of freedom
AIC: 568.2
Number of Fisher Scoring iterations: 6
>
> confint.default(logit.est)
2.5 % 97.5 %
(Intercept) -2.4968094058 -0.25633710
age -0.0002768342 0.06770153
employ -0.3278025120 -0.20236959
address -0.1494167558 -0.05850405
income -0.0234310297 0.00829931
debtinc 0.0050836856 0.12511410
creddebt 0.4055112145 0.85143903
othdebt -0.0814939858 0.22301505
> logit.eg2<-with(z[701:850,1:8],data.frame(age=mean(age),employ=mean(employ),address=mean(address),income=mean(income),debtinc=mean(debtinc),creddebt=mean(creddebt),othdebt=mean(othdebt),ed=factor(1:3)))
> logit.eg2$prob<-predict(logit.est,newdata=logit.eg2,type="response")
> head(logit.eg2)
age employ address income debtinc creddebt othdebt ed prob
1 35.82 9.393333 8.806667 51.68667 9.756667 1.6852 3.174933 1 0.1143839
2 35.82 9.393333 8.806667 51.68667 9.756667 1.6852 3.174933 2 0.1143839
3 35.82 9.393333 8.806667 51.68667 9.756667 1.6852 3.174933 3 0.1143839
>
