Installation of the Libraries

Libraries

If making the financial analysis of the stock exchange data, the following packages are needed:

  1. quantmod
  2. PerformanceAnalytics
  3. tidyquant
#install.packages("PerformanceAnalytics", repos = "http://cran.us.r-project.org")
#install.packages("dplyr", repos = "http://cran.us.r-project.org")
#install.packages("tidyquant", repos = "http://cran.us.r-project.org")
#install.packages("quantmod", repos = "http://cAs iran.us.r-project.org")
#install.packages("tseries", repos = "http://cran.us.r-project.org")
#install.packages("tidyverse", repos = "http://cran.us.r-project.org")

library(PerformanceAnalytics)  #useful package !!!
library(quantmod)              # useful package
library(tidyquant)             # useful
library(randtests)  # for runs test

# other libraries

library(ggplot2)
library(dplyr)
library(tseries)
library(tidyverse)
library(plotly)
library(hrbrthemes)
library(xts)
library(knitr)
library(kableExtra)
library(car)
library(mathjaxr)
library(zoo)
rm(list=ls())

Data download

If downloading the stock-exchange data, we use the quantmod package command “getSymbols”. COmmand “Ad” enables extraction of just Adjusted closing prices of the day.

# Load the required package
#library(quantmod)

# Set dates for data retrieval
#start_date <- "2010-01-01"
start_date <- "2022-11-30"
end_date <- "2022-12-31"
symbol <-"T"

# Download the data for AT&T (ticker symbol: T)
getSymbols(symbol, src = "yahoo", from = start_date, to = end_date, auto.assign = TRUE)
[1] "T"
# Extract the adjusted close prices
adot.close <- Ad(getSymbols(symbol, src = "yahoo", from = start_date, to = end_date, auto.assign = FALSE))
title <- paste(symbol) 
plot(adot.close, col="red", main=title)


valtozas <- diff(adot.close)
median_valtozas <- median(valtozas, na.rm = TRUE)  # Compute median excluding NA
valtozas[is.na(valtozas)] <- median_valtozas # replacing missing returns by their estimates by median




acf(valtozas,main="Autocorrelations of Price differences")

Testing of the weak form efficiency via autocorrelation functions

\[H_0: \text{markets are weakly information efficient}\] \[H_1: \text{markets are not weakly information efficient}\] The above given Autocorrelation function is a function, which assigns each lag a correlation between actual price differences and a lagged price differences by a specified number of periods (varying from 1 to 35 ) - \(corr(P_{t}-P_{t-1},{P_{t-i}-P_{t-i-1}})\). If the correlations would be out the band between two blue dotted lines, we could accept the hypothesis that price movements of the F are not information weakly efficient. In our case, no lags seem to be statistically significant (at 5 percent significance level). Remember, it can by just demonstration of the Type 1 Error !!! 1 We do not have any information to reject \(H_0\), prices can be considered as weakly efficient.

Testing of the weak form efficiency via Runs test

\[H_0: \text{markets are weakly information efficient}\] \[H_1: \text{markets are not weakly information efficient}\] To test the weak form of the efficiency, we can also use Runs test.[3] We are using the diferenced time series as in the previous example. Therafter, we substitute



# Load the required package
library(randtests)

# Perform the Runs Test
runs_test_result <- runs.test(as.vector(valtozas))

# Print the result
print(runs_test_result)

    Runs Test

data:  as.vector(valtozas)
statistic = 0, runs = 11, n1 = 10, n2 = 10, n = 20, p-value = 1
alternative hypothesis: nonrandomness

In our case p-value is high, we reject the alternative, we deny the alternative hypothesis of absenting the weak form of the efficiency.2

[^3] the details of the Runs test can be found in Bujang MA, Sapri FE. An application of the runs test to test for randomness of observations obtained from a clinical survey in an ordered population. The Malaysian Journal of Medical Sciences: MJMS. 2018 Jul;25(4):146.

Semi-strong form of the efficiency

All public (but not inside) information is calculated into a stock’s current price. Neither fundamental nor technical analysis can be used to achieve superior gains.

Test Event Studies: These studies examine the stock price reaction to new public information, such as earnings announcements, to determine how quickly and accurately prices adjust.

Strong form of the efficiency

Both the public and inside information is calculated into a stock current price.


  1. If speaking about 5 percent significance level, than in case of 10 autocorelation statistics, approximately 0.05 x 10 = 0.5 (is about 1?) autocorelations can be demonstrated as significant. In our case, there are 0 calculated as significant.↩︎

  2. p-value is in fact probability of the Type I error in statistical testing. It means, accepting the alternative hypothesis in case it is not really true. In our case, if p-value is high, than the statement that the prices of the stock are not informationally weak efficient, meets the probability of error of p-value x 100 percent.↩︎

LS0tCnRpdGxlOiAiVGVzdGluZyBvZiB0aGUgV2VhayBGb3JtIG9mIEVmZmljaWVuY3kgKEFUJlQpIgpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sKYXV0aG9yOiBWbGFkaW1pciBHYXpkYQotLS0KCiMjIyBJbnN0YWxsYXRpb24gb2YgdGhlIExpYnJhcmllcwoKYGBge3Igc2V0dXAsIGluY2x1ZGU9RkFMU0V9Cmluc3RhbGwucGFja2FnZXModGlueXRleCkKbGlicmFyeSh0aW55dGV4KQprbml0cjo6b3B0c19jaHVuayRzZXQoZWNobyA9IFRSVUUpCmBgYAoKCmBgYHtyLCBlY2hvPUZBTFNFfQpvcHRpb25zKHRpbnl0ZXgubWF0aGpheCA9IFRSVUUpCmBgYAoKIyMgTGlicmFyaWVzCgpJZiBtYWtpbmcgdGhlIGZpbmFuY2lhbCBhbmFseXNpcyBvZiB0aGUgc3RvY2sgZXhjaGFuZ2UgZGF0YSwgdGhlIGZvbGxvd2luZyBwYWNrYWdlcyBhcmUgbmVlZGVkOgoKMS4gcXVhbnRtb2QKMi4gUGVyZm9ybWFuY2VBbmFseXRpY3MKMy4gdGlkeXF1YW50ICAKCmBgYHtyIGxpYnJhcmllc30KI2luc3RhbGwucGFja2FnZXMoIlBlcmZvcm1hbmNlQW5hbHl0aWNzIiwgcmVwb3MgPSAiaHR0cDovL2NyYW4udXMuci1wcm9qZWN0Lm9yZyIpCiNpbnN0YWxsLnBhY2thZ2VzKCJkcGx5ciIsIHJlcG9zID0gImh0dHA6Ly9jcmFuLnVzLnItcHJvamVjdC5vcmciKQojaW5zdGFsbC5wYWNrYWdlcygidGlkeXF1YW50IiwgcmVwb3MgPSAiaHR0cDovL2NyYW4udXMuci1wcm9qZWN0Lm9yZyIpCiNpbnN0YWxsLnBhY2thZ2VzKCJxdWFudG1vZCIsIHJlcG9zID0gImh0dHA6Ly9jQXMgaXJhbi51cy5yLXByb2plY3Qub3JnIikKI2luc3RhbGwucGFja2FnZXMoInRzZXJpZXMiLCByZXBvcyA9ICJodHRwOi8vY3Jhbi51cy5yLXByb2plY3Qub3JnIikKI2luc3RhbGwucGFja2FnZXMoInRpZHl2ZXJzZSIsIHJlcG9zID0gImh0dHA6Ly9jcmFuLnVzLnItcHJvamVjdC5vcmciKQoKbGlicmFyeShQZXJmb3JtYW5jZUFuYWx5dGljcykgICN1c2VmdWwgcGFja2FnZSAhISEKbGlicmFyeShxdWFudG1vZCkgICAgICAgICAgICAgICMgdXNlZnVsIHBhY2thZ2UKbGlicmFyeSh0aWR5cXVhbnQpICAgICAgICAgICAgICMgdXNlZnVsCmxpYnJhcnkocmFuZHRlc3RzKSAgIyBmb3IgcnVucyB0ZXN0CgojIG90aGVyIGxpYnJhcmllcwoKbGlicmFyeShnZ3Bsb3QyKQpsaWJyYXJ5KGRwbHlyKQpsaWJyYXJ5KHRzZXJpZXMpCmxpYnJhcnkodGlkeXZlcnNlKQpsaWJyYXJ5KHBsb3RseSkKbGlicmFyeShocmJydGhlbWVzKQpsaWJyYXJ5KHh0cykKbGlicmFyeShrbml0cikKbGlicmFyeShrYWJsZUV4dHJhKQpsaWJyYXJ5KGNhcikKbGlicmFyeShtYXRoamF4cikKbGlicmFyeSh6b28pCnJtKGxpc3Q9bHMoKSkKYGBgCgojIyBEYXRhIGRvd25sb2FkCgpJZiBkb3dubG9hZGluZyB0aGUgc3RvY2stZXhjaGFuZ2UgZGF0YSwgd2UgdXNlIHRoZSBxdWFudG1vZCBwYWNrYWdlIGNvbW1hbmQgImdldFN5bWJvbHMiLiBDT21tYW5kICJBZCIgZW5hYmxlcyBleHRyYWN0aW9uIG9mIGp1c3QgQWRqdXN0ZWQgY2xvc2luZyBwcmljZXMgb2YgdGhlIGRheS4KCgoKYGBge3J9CiMgTG9hZCB0aGUgcmVxdWlyZWQgcGFja2FnZQojbGlicmFyeShxdWFudG1vZCkKCiMgU2V0IGRhdGVzIGZvciBkYXRhIHJldHJpZXZhbAojc3RhcnRfZGF0ZSA8LSAiMjAxMC0wMS0wMSIKc3RhcnRfZGF0ZSA8LSAiMjAyMi0xMS0zMCIKZW5kX2RhdGUgPC0gIjIwMjItMTItMzEiCnN5bWJvbCA8LSJUIgoKIyBEb3dubG9hZCB0aGUgZGF0YSBmb3IgQVQmVCAodGlja2VyIHN5bWJvbDogVCkKZ2V0U3ltYm9scyhzeW1ib2wsIHNyYyA9ICJ5YWhvbyIsIGZyb20gPSBzdGFydF9kYXRlLCB0byA9IGVuZF9kYXRlLCBhdXRvLmFzc2lnbiA9IFRSVUUpCgojIEV4dHJhY3QgdGhlIGFkanVzdGVkIGNsb3NlIHByaWNlcwphZG90LmNsb3NlIDwtIEFkKGdldFN5bWJvbHMoc3ltYm9sLCBzcmMgPSAieWFob28iLCBmcm9tID0gc3RhcnRfZGF0ZSwgdG8gPSBlbmRfZGF0ZSwgYXV0by5hc3NpZ24gPSBGQUxTRSkpCgpgYGAKCgoKCgoKYGBge3J9CnRpdGxlIDwtIHBhc3RlKHN5bWJvbCkgCnBsb3QoYWRvdC5jbG9zZSwgY29sPSJyZWQiLCBtYWluPXRpdGxlKQpgYGAKCmBgYHtyfQoKdmFsdG96YXMgPC0gZGlmZihhZG90LmNsb3NlKQptZWRpYW5fdmFsdG96YXMgPC0gbWVkaWFuKHZhbHRvemFzLCBuYS5ybSA9IFRSVUUpICAjIENvbXB1dGUgbWVkaWFuIGV4Y2x1ZGluZyBOQQp2YWx0b3phc1tpcy5uYSh2YWx0b3phcyldIDwtIG1lZGlhbl92YWx0b3phcyAjIHJlcGxhY2luZyBtaXNzaW5nIHJldHVybnMgYnkgdGhlaXIgZXN0aW1hdGVzIGJ5IG1lZGlhbgoKCgoKYWNmKHZhbHRvemFzLG1haW49IkF1dG9jb3JyZWxhdGlvbnMgb2YgUHJpY2UgZGlmZmVyZW5jZXMiKQpgYGAKCiMjIyBUZXN0aW5nIG9mIHRoZSB3ZWFrIGZvcm0gZWZmaWNpZW5jeSB2aWEgYXV0b2NvcnJlbGF0aW9uIGZ1bmN0aW9ucwoKJCRIXzA6IFx0ZXh0e21hcmtldHMgYXJlIHdlYWtseSBpbmZvcm1hdGlvbiBlZmZpY2llbnR9JCQKJCRIXzE6IFx0ZXh0e21hcmtldHMgYXJlIG5vdCB3ZWFrbHkgaW5mb3JtYXRpb24gZWZmaWNpZW50fSQkClRoZSBhYm92ZSBnaXZlbiBBdXRvY29ycmVsYXRpb24gZnVuY3Rpb24gaXMgYSBmdW5jdGlvbiwgd2hpY2ggYXNzaWducyBlYWNoIGxhZyBhIGNvcnJlbGF0aW9uIGJldHdlZW4gYWN0dWFsIHByaWNlIGRpZmZlcmVuY2VzIGFuZCBhIGxhZ2dlZCBwcmljZSBkaWZmZXJlbmNlcyBieSBhIHNwZWNpZmllZCBudW1iZXIgb2YgcGVyaW9kcyAodmFyeWluZyBmcm9tIDEgdG8gMzUgKSAtICRjb3JyKFBfe3R9LVBfe3QtMX0se1Bfe3QtaX0tUF97dC1pLTF9fSkkLgpJZiB0aGUgY29ycmVsYXRpb25zIHdvdWxkIGJlIG91dCB0aGUgYmFuZCBiZXR3ZWVuIHR3byBibHVlIGRvdHRlZCBsaW5lcywgd2UgY291bGQgYWNjZXB0IHRoZSBoeXBvdGhlc2lzIHRoYXQgcHJpY2UgbW92ZW1lbnRzIG9mIHRoZSBGICBhcmUgbm90IGluZm9ybWF0aW9uIHdlYWtseSBlZmZpY2llbnQuIEluIG91ciBjYXNlLCBubyBsYWdzIHNlZW0gdG8gYmUgc3RhdGlzdGljYWxseSBzaWduaWZpY2FudCAoYXQgNSBwZXJjZW50IHNpZ25pZmljYW5jZSBsZXZlbCkuIFJlbWVtYmVyLCBpdCBjYW4gYnkganVzdCBkZW1vbnN0cmF0aW9uIG9mIHRoZSBUeXBlIDEgRXJyb3IgISEhIFteMV0gV2UgZG8gbm90IGhhdmUgYW55IGluZm9ybWF0aW9uIHRvIHJlamVjdCAkSF8wJCwgcHJpY2VzIGNhbiBiZSBjb25zaWRlcmVkIGFzIHdlYWtseSBlZmZpY2llbnQuCgpbXjFdOiBJZiBzcGVha2luZyBhYm91dCA1IHBlcmNlbnQgc2lnbmlmaWNhbmNlIGxldmVsLCB0aGFuIGluIGNhc2Ugb2YgMTAgYXV0b2NvcmVsYXRpb24gc3RhdGlzdGljcywgYXBwcm94aW1hdGVseSAwLjA1IHggMTAgPSAwLjUgKGlzIGFib3V0IDE/KSBhdXRvY29yZWxhdGlvbnMgY2FuIGJlIGRlbW9uc3RyYXRlZCBhcyBzaWduaWZpY2FudC4gSW4gb3VyIGNhc2UsIHRoZXJlIGFyZSAwIGNhbGN1bGF0ZWQgYXMgc2lnbmlmaWNhbnQuCgojIyMgVGVzdGluZyBvZiB0aGUgd2VhayBmb3JtIGVmZmljaWVuY3kgdmlhIFJ1bnMgdGVzdAoKJCRIXzA6IFx0ZXh0e21hcmtldHMgYXJlIHdlYWtseSBpbmZvcm1hdGlvbiBlZmZpY2llbnR9JCQKJCRIXzE6IFx0ZXh0e21hcmtldHMgYXJlIG5vdCB3ZWFrbHkgaW5mb3JtYXRpb24gZWZmaWNpZW50fSQkClRvIHRlc3QgdGhlIHdlYWsgZm9ybSBvZiB0aGUgZWZmaWNpZW5jeSwgd2UgY2FuIGFsc28gdXNlIFJ1bnMgdGVzdC5bM10gV2UgYXJlIHVzaW5nIHRoZSBkaWZlcmVuY2VkIHRpbWUgc2VyaWVzIGFzIGluIHRoZSBwcmV2aW91cyBleGFtcGxlLiBUaGVyYWZ0ZXIsIHdlIHN1YnN0aXR1dGUgCgpgYGB7cn0KCgojIExvYWQgdGhlIHJlcXVpcmVkIHBhY2thZ2UKbGlicmFyeShyYW5kdGVzdHMpCgojIFBlcmZvcm0gdGhlIFJ1bnMgVGVzdApydW5zX3Rlc3RfcmVzdWx0IDwtIHJ1bnMudGVzdChhcy52ZWN0b3IodmFsdG96YXMpKQoKIyBQcmludCB0aGUgcmVzdWx0CnByaW50KHJ1bnNfdGVzdF9yZXN1bHQpCgpgYGAKCkluIG91ciBjYXNlIHAtdmFsdWUgaXMgaGlnaCwgd2UgcmVqZWN0IHRoZSBhbHRlcm5hdGl2ZSwgd2UgZGVueSB0aGUgYWx0ZXJuYXRpdmUgaHlwb3RoZXNpcyBvZiBhYnNlbnRpbmcgdGhlIHdlYWsgZm9ybSBvZiB0aGUgZWZmaWNpZW5jeS5bXjJdCgpbXjJdOiBwLXZhbHVlIGlzIGluIGZhY3QgcHJvYmFiaWxpdHkgb2YgdGhlIFR5cGUgSSBlcnJvciBpbiBzdGF0aXN0aWNhbCB0ZXN0aW5nLiBJdCBtZWFucywgYWNjZXB0aW5nIHRoZSBhbHRlcm5hdGl2ZSBoeXBvdGhlc2lzIGluIGNhc2UgaXQgaXMgbm90IHJlYWxseSB0cnVlLiBJbiBvdXIgY2FzZSwgaWYgcC12YWx1ZSBpcyBoaWdoLCB0aGFuIHRoZSBzdGF0ZW1lbnQgdGhhdCB0aGUgcHJpY2VzIG9mIHRoZSBzdG9jayBhcmUgbm90IGluZm9ybWF0aW9uYWxseSB3ZWFrIGVmZmljaWVudCwgbWVldHMgdGhlIHByb2JhYmlsaXR5IG9mIGVycm9yIG9mIHAtdmFsdWUgeCAxMDAgcGVyY2VudC4KClteM10gdGhlIGRldGFpbHMgb2YgdGhlIFJ1bnMgdGVzdCBjYW4gYmUgZm91bmQgaW4gX19CdWphbmcgTUEsIFNhcHJpIEZFLiBBbiBhcHBsaWNhdGlvbiBvZiB0aGUgcnVucyB0ZXN0IHRvIHRlc3QgZm9yIHJhbmRvbW5lc3Mgb2Ygb2JzZXJ2YXRpb25zIG9idGFpbmVkIGZyb20gYSBjbGluaWNhbCBzdXJ2ZXkgaW4gYW4gb3JkZXJlZCBwb3B1bGF0aW9uLiBUaGUgTWFsYXlzaWFuIEpvdXJuYWwgb2YgTWVkaWNhbCBTY2llbmNlczogTUpNUy4gMjAxOCBKdWw7MjUoNCk6MTQ2Ll9fCgoKCgojIyBTZW1pLXN0cm9uZyBmb3JtIG9mIHRoZSBlZmZpY2llbmN5CgoKCkFsbCBwdWJsaWMgKGJ1dCBub3QgaW5zaWRlKSBpbmZvcm1hdGlvbiBpcyBjYWxjdWxhdGVkIGludG8gYSBzdG9jaydzIGN1cnJlbnQgIHByaWNlLiBOZWl0aGVyIGZ1bmRhbWVudGFsIG5vciB0ZWNobmljYWwgYW5hbHlzaXMgY2FuIGJlIHVzZWQgdG8gYWNoaWV2ZSBzdXBlcmlvciBnYWlucy4KClRlc3QgRXZlbnQgU3R1ZGllczogVGhlc2Ugc3R1ZGllcyBleGFtaW5lIHRoZSBzdG9jayBwcmljZSByZWFjdGlvbiB0byBuZXcgcHVibGljIGluZm9ybWF0aW9uLCBzdWNoIGFzIGVhcm5pbmdzIGFubm91bmNlbWVudHMsIHRvIGRldGVybWluZSBob3cgcXVpY2tseSBhbmQgYWNjdXJhdGVseSBwcmljZXMgYWRqdXN0LgoKIyMgU3Ryb25nIGZvcm0gb2YgdGhlIGVmZmljaWVuY3kKCkJvdGggdGhlIHB1YmxpYyBhbmQgaW5zaWRlIGluZm9ybWF0aW9uIGlzIGNhbGN1bGF0ZWQgaW50byBhIHN0b2NrIGN1cnJlbnQgcHJpY2UuCgo=