library(quantmod)
## Warning: package 'quantmod' was built under R version 3.4.4
## Loading required package: xts
## Warning: package 'xts' was built under R version 3.4.3
## Loading required package: zoo
## Warning: package 'zoo' was built under R version 3.4.3
##
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
## Loading required package: TTR
## Warning: package 'TTR' was built under R version 3.4.3
## Version 0.4-0 included new data defaults. See ?getSymbols.
library(stargazer)
## Warning: package 'stargazer' was built under R version 3.4.3
##
## Please cite as:
## Hlavac, Marek (2018). stargazer: Well-Formatted Regression and Summary Statistics Tables.
## R package version 5.2.1. https://CRAN.R-project.org/package=stargazer
library(fPortfolio)
## Warning: package 'fPortfolio' was built under R version 3.4.4
## Loading required package: timeDate
## Warning: package 'timeDate' was built under R version 3.4.3
## Loading required package: timeSeries
## Warning: package 'timeSeries' was built under R version 3.4.3
##
## Attaching package: 'timeSeries'
## The following object is masked from 'package:zoo':
##
## time<-
## Loading required package: fBasics
## Warning: package 'fBasics' was built under R version 3.4.3
##
## Attaching package: 'fBasics'
## The following object is masked from 'package:TTR':
##
## volatility
## Loading required package: fAssets
## Warning: package 'fAssets' was built under R version 3.4.4
startDate = as.Date("2001-01-01") #Specify period of time we are interested in
endDate = as.Date("2018-08-07")
getSymbols('SPY',src='yahoo',from = startDate,to = endDate)
## 'getSymbols' currently uses auto.assign=TRUE by default, but will
## use auto.assign=FALSE in 0.5-0. You will still be able to use
## 'loadSymbols' to automatically load data. getOption("getSymbols.env")
## and getOption("getSymbols.auto.assign") will still be checked for
## alternate defaults.
##
## This message is shown once per session and may be disabled by setting
## options("getSymbols.warning4.0"=FALSE). See ?getSymbols for details.
##
## WARNING: There have been significant changes to Yahoo Finance data.
## Please see the Warning section of '?getSymbols.yahoo' for details.
##
## This message is shown once per session and may be disabled by setting
## options("getSymbols.yahoo.warning"=FALSE).
## [1] "SPY"
chartSeries(SPY)

SPYrtn<-dailyReturn(SPY,type='log')
x = SPYrtn
tmp <- density(x)
hist(SPYrtn, prob = TRUE, ylim = c(0, max(tmp$y)),main = "SPY Returns Histogram")
# Plot 2: Normal curve (if prob = TRUE)
curve(dnorm(x, mean = mean(SPYrtn), sd = sd(SPYrtn)),
col = "red",
lwd = 3,
add = TRUE)

#write.table(SPYrtn, file = "SPY18-6-22.txt")
#wrtite.csv(SPYrtn, file = "C:/Users/User/Documents/R/RWorkFiles/SPYrtn18-6-22.csv")
factorx18 <- factor(cut(SPYrtn, breaks=nclass.Sturges(SPYrtn)))
#Tabulate and turn into data.frame
xout18 <- as.data.frame(table(factorx18))
#Add cumFreq and proportions
xout18 <- transform(xout18, cumFreq = cumsum(Freq), relative = prop.table(Freq))
library(stargazer)
summary(SPYrtn)
## Index daily.returns
## Min. :2001-01-02 Min. :-0.1036372
## 1st Qu.:2005-05-31 1st Qu.:-0.0046070
## Median :2009-10-20 Median : 0.0006047
## Mean :2009-10-21 Mean : 0.0001736
## 3rd Qu.:2014-03-16 3rd Qu.: 0.0055781
## Max. :2018-08-06 Max. : 0.1355773
stargazer(SPYrtn,type = "text",summary = TRUE)
##
## ================================================
## Statistic N Mean St. Dev. Min Max
## ------------------------------------------------
## daily.returns 4,426 0.0002 0.012 -0.104 0.136
## ------------------------------------------------
cv = cvarRisk(SPYrtn,1,alpha = .01)
cv
## CVaR.1%
## -0.04926435
xout18
## factorx18 Freq cumFreq relative
## 1 (-0.104,-0.0866] 2 2 0.0004518753
## 2 (-0.0866,-0.0695] 3 5 0.0006778129
## 3 (-0.0695,-0.0524] 6 11 0.0013556258
## 4 (-0.0524,-0.0353] 33 44 0.0074559422
## 5 (-0.0353,-0.0182] 201 245 0.0454134659
## 6 (-0.0182,-0.00112] 1495 1740 0.3377767736
## 7 (-0.00112,0.016] 2437 4177 0.5506100316
## 8 (0.016,0.0331] 203 4380 0.0458653412
## 9 (0.0331,0.0501] 37 4417 0.0083596927
## 10 (0.0501,0.0672] 6 4423 0.0013556258
## 11 (0.0672,0.0843] 1 4424 0.0002259376
## 12 (0.101,0.118] 1 4425 0.0002259376
## 13 (0.118,0.136] 1 4426 0.0002259376