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