Я скачал пару файлов .csv, и они выглядят примерно так, только намного дольше, и дата продолжается до 2020-03-13.
Date Open High Low Close Adj.Close Volume
1 2015-03-13 2064.56 2064.56 2041.17 2053.40 2053.40 3498560000
2 2015-03-16 2055.35 2081.41 2055.35 2081.19 2081.19 3295600000
3 2015-03-17 2080.59 2080.59 2065.08 2074.28 2074.28 3221840000
4 2015-03-18 2072.84 2106.85 2061.23 2099.50 2099.50 4128210000
5 2015-03-19 2098.69 2098.69 2085.56 2089.27 2089.27 3305220000
6 2015-03-20 2090.32 2113.92 2090.32 2108.10 2108.10 5554120000
Я создал фрейм данных, который выглядит следующим образом на основе данных
Date t SandP AMD
1 0 1 0.000000000 0.000000000
2 2015-03-16 2 0.013442909 0.003629768
3 2015-03-17 3 -0.003325698 0.003616640
4 2015-03-18 4 0.012085102 -0.007246409
5 2015-03-19 5 -0.004884489 -0.003642991
6 2015-03-20 6 0.008972382 0.021661497
Я пытаюсь отобразить столбцы SandP и AMD на одной и той же оси, однако я хочу, чтобы метки оси отображались каждый год (когда каждый год изменяется ). Поэтому я хотел бы только 6 тиков на оси (2015,2016,2017,2018,2019,2020).
Если это поможет, файлы .csv были загружены из данных Yahoo Finance для S & P500.
Это мой код до сих пор:
SPdata <- read.csv("^GSPC.csv")
AMDdata <- read.csv("AMD.csv")
head(SPdata)
R_t <- function(t){
S=log(SPdata[t,6])-log(SPdata[t-1,6])
return(S)
}
S_t <- function(t){
S=log(AMDdata[t,6])-log(AMDdata[t-1,6])
return(S)
}
comparedata <- data.frame(0,1,0,0)
names(comparedata)[1]<-"Date"
names(comparedata)[2]<-"t"
names(comparedata)[3]<-"SandP"
names(comparedata)[4]<-"AMD"
t<-2
while(t<1260){
comparedata <-rbind(comparedata, list(AMDdata[t,1],t,R_t(t),S_t(t)))
t=t+1
}
# install.packages("ggplot2")
library("ggplot2")
ggplot() +
geom_line(data=comparedata, aes(x=Date,y=SandP),color="red",group=1)+
geom_line(data=comparedata, aes(x=Date,y=AMD), color="blue",group=1)+
labs(x="Date",y="Returns")