Showing posts with label stockprice-tatamotors. Show all posts
Showing posts with label stockprice-tatamotors. Show all posts

Thursday, October 17, 2019

Stock Price Tata Motors

Stock Price Tata Motors with R

> head(TATAMOTORS.NS)
           TATAMOTORS.NS.Open TATAMOTORS.NS.High
2004-01-01            86.8566            87.7477
2004-01-02            87.7668            88.2171
2004-01-05            87.7668            89.1082
2004-01-06            88.1501            89.1082
2004-01-07            86.5021            87.1344
2004-01-08            86.0421            89.4819
           TATAMOTORS.NS.Low TATAMOTORS.NS.Close
2004-01-01           86.5212             87.0865
2004-01-02           87.0099             87.4602
2004-01-05           86.3487             87.1632
2004-01-06           85.9463             87.0865
2004-01-07           83.9534             85.5535
2004-01-08           86.0421             89.0603
           TATAMOTORS.NS.Volume TATAMOTORS.NS.Adjusted
2004-01-01             10841713               34.68618
2004-01-02              8896231               34.83502
2004-01-05             11173816               34.71672
2004-01-06             12316118               34.68618
2004-01-07             19653589               34.07559
2004-01-08             10254370               35.47233

> tail(TATAMOTORS.NS)

           TATAMOTORS.NS.Open TATAMOTORS.NS.High
2019-10-09             118.50              121.7
2019-10-10             119.30              119.7
2019-10-11             118.05              122.2
2019-10-14             122.60              130.0
2019-10-15             127.10              128.9
2019-10-16             127.30              128.3
           TATAMOTORS.NS.Low TATAMOTORS.NS.Close
2019-10-09            115.45              120.90
2019-10-10            116.20              116.80
2019-10-11            117.25              121.30
2019-10-14            122.50              127.85
2019-10-15            123.70              126.95
2019-10-16            124.50              125.85
           TATAMOTORS.NS.Volume TATAMOTORS.NS.Adjusted
2019-10-09             44666296                 120.90
2019-10-10             31229192                 116.80
2019-10-11             41027561                 121.30
2019-10-14             68048611                 127.85
2019-10-15             57548920                 126.95
2019-10-16             31513807                 125.85
> chartSeries(Cl(TATAMOTORS.NS))
> addMACD()
> addRSI()
> addBBands()
> addMomentum()
> addMFI()
TATAMOTORS.NS
TATAMOTORS.NS

> tatamot <- dailyReturn(Cl(TATAMOTORS.NS), type='log')
Warning message:
In to_period(xx, period = on.opts[[period]], ...) :
  missing values removed from data
> par(mfrow=c(2,2))
> acf(tatamot, main="Return ACF");
> pacf(tatamot, main="Return PACF");
> acf(tatamot^2, main="Squared return ACF");
> pacf(tatamot^2, main="Squared return PACF")
TATAMOTORS.NS
TATAMOTORS.NS

> par(mfrow=c(1,1))
> m=mean(tatamot);s=sd(tatamot);
> par(mfrow=c(1,2))
> hist(tatamot, nclass=40, freq=FALSE, main='Return histogram');curve(dnorm(x,mean=m,sd=s), from = -0.3, to = 0.2, add=TRUE, col="red")
> plot(density(tatamot), main='Return empirical distribution');curve(dnorm(x,mean=m,sd=s), from = -0.3, to = 0.2, add=TRUE, col="red")
TATAMOTORS.NS

> par(mfrow=c(1,1))
> kurtosis(tatamot)
daily.returns 
     7.270904 
> anscombe.test(tatamot)

Anscombe-Glynn kurtosis test

data:  tatamot
kurt = 7.2709, z = 19.5675, p-value < 2.2e-16
alternative hypothesis: kurtosis is not equal to 3

> skewness(tatamot)
daily.returns 
   -0.2072195 
> agostino.test(tatamot)

D'Agostino skewness test

data:  tatamot
skew = -0.20722, z = -5.23559, p-value = 1.645e-07
alternative hypothesis: data have a skewness

> moment(tatamot)
daily.returns 
 9.450431e-05 
> moment(tatamot,order=3,absolute=TRUE)
daily.returns 
 4.396014e-05 
> jarque.test( tatamot )
Error in jarque.test(tatamot) : argument x is not a vector
> mu.raw.x <- all.moments( tatamot, order.max=6 )
> all.cumulants( mu.raw.x )
              [,1]
[1,]  0.000000e+00
[2,]  0.000000e+00
[3,]  7.310549e-04
[4,] -4.026871e-06
[5,]  2.282160e-06
[6,] -1.145532e-07
[7,]  3.098097e-08
> raw2central( mu.raw.x )
              [,1]
[1,]  1.000000e+00
[2,]  0.000000e+00
[3,]  7.310549e-04
[4,] -4.095959e-06
[5,]  3.885871e-06
[6,] -1.445611e-07
[7,]  6.204735e-08
> garch11.spec = ugarchspec(variance.model = list(model="sGARCH",garchOrder=c(1,1)), mean.model = list(armaOrder=c(0,0)))
> tata.garch11.fit = ugarchfit(spec=garch11.spec, data=tatamot)
> coef(tata.garch11.fit)
          mu        omega       alpha1
3.507270e-04 2.846816e-05 8.149042e-02
       beta1
8.781425e-01
> vcov(tata.garch11.fit)
              [,1]          [,2]          [,3]
[1,]  1.433996e-07  1.520408e-10  3.663707e-07
[2,]  1.520408e-10  4.488760e-11  6.384014e-08
[3,]  3.663707e-07  6.384014e-08  1.748810e-04
[4,] -5.648805e-07 -1.273877e-07 -2.501084e-04
              [,4]
[1,] -5.648805e-07
[2,] -1.273877e-07
[3,] -2.501084e-04
[4,]  4.249125e-04
> infocriteria(tata.garch11.fit)
                     
Akaike       -4.534292
Bayes        -4.527857
Shibata      -4.534294
Hannan-Quinn -4.532008
> uncmean(tata.garch11.fit)
[1] 0.000350727
> uncvariance(tata.garch11.fit)
[1] 0.0007052319

Conclusion

> geary(tatamot)
daily.returns 
    0.7229091 
> bonett.test(tatamot)

Bonett-Seier test for Geary kurtosis

data:  tatamot
tau = 0.019546, z = 23.143440, p-value < 2.2e-16
alternative hypothesis: kurtosis is not equal to sqrt(2/pi)


Black-Scholes formula-R

 Black-Scholes formula-R > BlackScholes <- function(TypeFlag = c("c", "p"), S, X, Time, r, b, sigma) { TypeFla...