Zugegeben - der Score von GoogleTrends ist schwer zu verstehen. Und mehr als Entwicklungen ablesen kann man auch nicht, oder? Dass der Score auch zur Aktienanalyse taugt, zeige ich hier!
Einige werden sich daran erinnern, wie vor ein paar Jahren das Phänomen Pokemon Go durch die Decke ging und damit auch der Aktienkurs von Nintendo. Auf dem Schaubild für GoogleTrends (weltweit) zum Suchbegriff "Pokemon Go" kombiniert mit dem Aktienkurs sehen wir wie a) die Linie des GoogleTrend-Scores noch vor dem Aktienkurs hochgeht und b) die signifikante positive Korrelation beider Zeitreihen.
Wir können im weiteren Verlauf aber auch sehen, dass dieser Zusammenhang zur Trendkurve für "Pokemon Go" eher ein einmaliger Effekt war - auch wenn es weiterhin eine signifikante Korrelation zwischen beiden Reihen gibt. Hier der weitere Verlauf:
Schauen wir uns den Verlauf des Trend-Scores für "Nintendo" - also die Firma selbst - an, so können wir feststellen, dass auch hier ein Zusammenhang besteht. Es scheint so, als würden die Peaks im Interesse größere Bewegungen im Aktienverlauf vorwegnehmen:
Der Scatterplot zeigt, dass das Muster anschaulicher:
Dieser "simple" Versuch zeigt, dass wir einen Mehrwert aus GoogleTrends für die Aktienanalyse ziehen können - quod erat demonstrandum. Mit diesem positiven Zwischenergebnis können wir nun weitere Firmen von Interesse analysieren. Hier können wir auch die Informationen zu jener verwandten Suchanfrage und zu jenem verwandten Thema mit dem jeweils höchsten Wachstum an Anfragen hinzunehmen. Dass die verwandte Anfrage jeweils zu Corona ist, scheint angesichts der aktuellen Lage nicht verwunderlich.
Amazon
Wir können sehen, dass ein positiver Zusammenhang zwischen dem Trendscore und dem Aktienkurs besteht. Der negative Zusammenhang zum Thema "Amazon Fresh" ist nicht signifikant.
![]() |
![]() |
![]() |
![]() |
Die negative Korrelation wäre auch ohne das Jahr 2020 gegeben (mit -0.29 zu p<0.001). Die signifikanten und negativen Korrelationen lassen darauf schließen, dass die gefundenen Informationen den Aktienkurs negativ beeinflussten; dies scheint angesichts der Automobil-Themen der letzten Jahre plausibel.
Die positive Korelation zwischen Trendscore und Aktienkurs lässt sich auch am Schaubild ablesen. Dass "Lufthansa" das verwandte Thema mit dem größten Wachstum an Suchanfragen ist, wird an Corona und dem Interesse an den wirtschaftlichen Folgen liegen.
![]() |
![]() |
![]() |
![]() |
Ohne das Jahr 2020 wäre die Korrelation positiver mit 0.24 zu p<0.001. Dass die Lufthansa von Corona hart getroffen ist, lässt sich auch von den Trends der verwandten Suchanfragen/-themen ablesen.
![]() |
![]() |
![]() |
![]() |
Notiz: das hier verwendet Package gtrendsR funktioniert aktuell nicht mehr vollumfänglich, da es wohl Änderungen in der API gab. Hoffentlich ist das bald gelöst.
Und hier noch der Code in RStudio
library(quantmod) #for loading stock data
library(grid)
library(ggplot2)
library(gtrendsR) # for GoogleTrends
library(dplyr)
library(gridExtra)
library(stringr)
library(Hmisc)
library(ISOweek)
# Kapitel 1 - Nintendo
# PLOT 1: Beispiel mit Pokemon Go und Nintendo - Close-Up
start_date = "2016-04-01"
end_date = "2016-08-31"
# 1a) Popularität von Pokemon Go über die Zeit
time_trend <- gtrends("Pokemon Go", gprop='web', time=paste0(start_date," ",end_date), onlyInterest = TRUE) %>%
.$interest_over_time %>%
select(date, hits) %>%
mutate(date = as.Date(date)) %>%
mutate_at("hits", ~ifelse(. == "<1", 0.5, .)) %>% # Ersetzen mit 0.5
mutate_at("hits", ~as.numeric(.))
# 1b) Aktiendaten
getSymbols("NTDOY",src="yahoo")
stock.xts <- NTDOY[paste(start_date, end_date, sep = "/")]
stock <- data.frame(date=index(stock.xts), coredata(stock.xts))
# 1c) gemeinsamer Datensatz
joined_data <- left_join(time_trend, stock, by=c("date")) %>%
mutate_at("hits", ~as.numeric(.)) %>%
filter(complete.cases(.))
# 1d) Plotting
Korr <- cor.test(joined_data$NTDOY.Close, joined_data$hits, use="complete.obs") # Korrelation
ylim.primary <- c(0, 100)
ylim.secondary <- c(0, ceiling(max(joined_data$NTDOY.Close)))
b <- diff(ylim.primary)/diff(ylim.secondary)
a <- b*(ylim.primary[1] - ylim.secondary[1])
ggplot(joined_data, aes(x = date, y = hits)) +
geom_line(color="#3399FF", size=0.7) +
geom_line(aes(y = a + NTDOY.Close*b), color = "#404040", size=0.7) +
geom_area(aes(y = a + NTDOY.Close*b), fill = "#404040", alpha=0.05)+
scale_y_continuous("Trends-Score", sec.axis = sec_axis(~ (. - a)/b, name = "Aktien-Kurs")) +
theme_classic()+
theme(axis.line.y.right = element_line(color = "#404040"),
axis.ticks.y.right = element_line(color = "#404040"),
axis.text.y.right = element_text(color = "#404040"),
axis.title.y.right = element_text(color = "#404040")) +
theme(axis.line.y.left = element_line(color = "#0080FF"),
axis.ticks.y.left = element_line(color = "#0080FF"),
axis.text.y.left = element_text(color = "#0080FF"),
axis.title.y.left = element_text(color = "#0080FF")) +
labs(
title = paste("Pokemon Go und die Nintendo Aktie"),
subtitle = paste("Korrelation:", round(Korr$estimate,4), " & p-Value:", format.pval(Korr$p.value, digits = 4, nsmall = 3, eps = 0.001)),
caption = "Plot1 - tägliche Werte")
# PLOT 2: Beispiel mit Pokemon Go und Nintendo
start_date = "2016-04-01"
end_date = "2020-04-30"
# 2a) Popularität von Pokemon Go über die Zeit
time_trend <- gtrends("Pokemon Go", gprop='web', time=paste0(start_date," ",end_date), onlyInterest = TRUE) %>%
.$interest_over_time %>%
select(date, hits) %>%
mutate(date = as.Date(date)) %>%
mutate_at("hits", ~ifelse(. == "<1", 0.5, .)) %>% # Ersetzen mit 0.5
mutate_at("hits", ~as.numeric(.)) %>%
group_by(week = ISOweek(date)) %>% #wöchentl. Durchschnitt
summarise(hits = mean(hits)) %>%
mutate("weekdate" = ISOweek2date(paste(.$week, 1, sep="-")))
# 2b) Aktiendaten
getSymbols("NTDOY",src="yahoo")
stock.xts <- NTDOY[paste(start_date, end_date, sep = "/")]
nintendo <- data.frame(date=index(stock.xts), coredata(stock.xts)) %>% #Ändern zu Dataframe
group_by(week = ISOweek(date)) %>% #wöchentliche Daten
summarise(NTDOY.Close = mean(NTDOY.Close)) %>%
mutate("weekdate" = ISOweek2date(paste(.$week, 1, sep="-")))
# 2c) gemeinsamer Datensatz
joined_data <- left_join(time_trend, nintendo, by=c("weekdate","week")) %>%
mutate_at("hits", ~as.numeric(.)) %>%
filter(complete.cases(.))
# 2d) Plotting
Korr <- cor.test(joined_data$NTDOY.Close, joined_data$hits, use="complete.obs") # Korrelation
ylim.primary <- c(0, 100)
ylim.secondary <- c(0, ceiling(max(joined_data$NTDOY.Close)))
b <- diff(ylim.primary)/diff(ylim.secondary)
a <- b*(ylim.primary[1] - ylim.secondary[1])
ggplot(joined_data, aes(x = weekdate, y = hits)) +
geom_line(color="#3399FF", size=0.7) +
geom_line(aes(y = a + NTDOY.Close*b), color = "#404040", size=0.7) +
geom_area(aes(y = a + NTDOY.Close*b), fill = "#404040", alpha=0.05)+
scale_y_continuous("Trends-Score", sec.axis = sec_axis(~ (. - a)/b, name = "Aktien-Kurs")) +
theme_classic()+
theme(axis.line.y.right = element_line(color = "#404040"),
axis.ticks.y.right = element_line(color = "#404040"),
axis.text.y.right = element_text(color = "#404040"),
axis.title.y.right = element_text(color = "#404040")) +
theme(axis.line.y.left = element_line(color = "#0080FF"),
axis.ticks.y.left = element_line(color = "#0080FF"),
axis.text.y.left = element_text(color = "#0080FF"),
axis.title.y.left = element_text(color = "#0080FF")) +
labs(
title = paste("Pokemon Go und die Nintendo Aktie"),
subtitle = paste("Korrelation:", round(Korr$estimate,4), " & p-Value:", format.pval(Korr$p.value, digits = 4, nsmall = 3, eps = 0.001)),
caption = "Plot2 - wöchentliche Werte")
# PLOT 3: Das Interesse an der Firma
start_date = "2016-04-01"
end_date = "2020-04-30"
# 3a) Popularität von Pokemon Go über die Zeit
time_trend <- gtrends("Nintendo", gprop='web', time=paste0(start_date," ",end_date), onlyInterest = TRUE) %>%
.$interest_over_time %>%
select(date, hits) %>%
mutate(date = as.Date(date)) %>%
mutate_at("hits", ~ifelse(. == "<1", 0.5, .)) %>% # Ersetzen mit 0.5
mutate_at("hits", ~as.numeric(.)) %>%
group_by(week = ISOweek(date)) %>% #wöchentl. Durchschnitt
summarise(hits = mean(hits)) %>%
mutate("weekdate" = ISOweek2date(paste(.$week, 1, sep="-")))
# 3b) Aktiendaten
getSymbols("NTDOY",src="yahoo") #Nintendo
stock.xts <- NTDOY[paste(start_date, end_date, sep = "/")]
nintendo <- data.frame(date=index(stock.xts), coredata(stock.xts)) %>% #Ändern zu Dataframe
group_by(week = ISOweek(date)) %>% #wöchentliche Daten
summarise(NTDOY.Close = mean(NTDOY.Close)) %>%
mutate("weekdate" = ISOweek2date(paste(.$week, 1, sep="-")))
# 3c) gemeinsamer Datensatz
joined_data <- left_join(time_trend, nintendo, by=c("weekdate","week")) %>%
mutate_at("hits", ~as.numeric(.)) %>%
filter(complete.cases(.))
# 3d) Plotting
Korr <- cor.test(joined_data$NTDOY.Close, joined_data$hits, use="complete.obs") # Korrelation
ylim.primary <- c(0, 100)
ylim.secondary <- c(0, ceiling(max(joined_data$NTDOY.Close)))
b <- diff(ylim.primary)/diff(ylim.secondary)
a <- b*(ylim.primary[1] - ylim.secondary[1])
ggplot(joined_data, aes(x = weekdate, y = hits)) +
geom_line(color="#3399FF", size=0.7) +
geom_line(aes(y = a + NTDOY.Close*b), color = "#404040", size=0.7) +
geom_area(aes(y = a + NTDOY.Close*b), fill = "#404040", alpha=0.05)+
scale_y_continuous("Trends-Score", sec.axis = sec_axis(~ (. - a)/b, name = "Aktien-Kurs")) +
theme_classic()+
theme(axis.line.y.right = element_line(color = "#404040"),
axis.ticks.y.right = element_line(color = "#404040"),
axis.text.y.right = element_text(color = "#404040"),
axis.title.y.right = element_text(color = "#404040")) +
theme(axis.line.y.left = element_line(color = "#0080FF"),
axis.ticks.y.left = element_line(color = "#0080FF"),
axis.text.y.left = element_text(color = "#0080FF"),
axis.title.y.left = element_text(color = "#0080FF")) +
labs(
title = paste("Google Trends und Aktienkurs zu 'Nintendo'"),
subtitle = paste("Korrelation:", round(Korr$estimate,4), " & p-Value:", format.pval(Korr$p.value, digits = 4, nsmall = 3, eps = 0.001)),
caption = "Plot3 - wöchentliche Werte")
# PLOT 4: Scatterplot
ggplot(joined_data, aes(x = hits, y = NTDOY.Close)) +
geom_point(color="#0080FF") +
geom_smooth(color = "#404040") +
labs(
x = "Trendscore", y="Aktienkurs",
title = paste("Beziehung zw. Google Trends und Aktienkurs zu 'Nintendo'"),
caption = "Plot4 - wöchentliche Werte")
#Kapitel 2 - Amazon
# PLOT 5: Trend & Aktie zu Amazon
start_date = "2016-04-01"
end_date = "2020-04-30"
# 5a) Popularität von Pokemon Go über die Zeit
time_trend <- gtrends("Amazon", gprop='web', time=paste0(start_date," ",end_date), onlyInterest = TRUE) %>%
.$interest_over_time %>%
select(date, hits) %>%
mutate(date = as.Date(date)) %>%
mutate_at("hits", ~ifelse(. == "<1", 0.5, .)) %>% # Ersetzen mit 0.5
mutate_at("hits", ~as.numeric(.)) %>%
group_by(week = ISOweek(date)) %>% #wöchentl. Durchschnitt
summarise(hits = mean(hits)) %>%
mutate("weekdate" = ISOweek2date(paste(.$week, 1, sep="-")))
# 5b) Aktiendaten
getSymbols("AMZN",src="yahoo")
stock.xts <- AMZN[paste(start_date, end_date, sep = "/")]
stock <- data.frame(date=index(stock.xts), coredata(stock.xts)) %>% #Ändern zu Dataframe
group_by(week = ISOweek(date)) %>% #wöchentliche Daten
summarise(AMZN.Close = mean(AMZN.Close)) %>%
mutate("weekdate" = ISOweek2date(paste(.$week, 1, sep="-")))
# 5c) gemeinsamer Datensatz
joined_data <- left_join(time_trend, stock, by=c("weekdate","week")) %>%
mutate_at("hits", ~as.numeric(.)) %>%
filter(complete.cases(.))
# 5d) Plotting
Korr <- cor.test(joined_data$AMZN.Close, joined_data$hits, use="complete.obs") # Korrelation
ylim.primary <- c(0, 100)
ylim.secondary <- c(0, ceiling(max(joined_data$AMZN.Close)))
b <- diff(ylim.primary)/diff(ylim.secondary)
a <- b*(ylim.primary[1] - ylim.secondary[1])
ggplot(joined_data, aes(x = weekdate, y = hits)) +
geom_line(color="#3399FF", size=0.7) +
geom_line(aes(y = a + AMZN.Close*b), color = "#404040", size=0.7) +
geom_area(aes(y = a + AMZN.Close*b), fill = "#404040", alpha=0.05)+
scale_y_continuous("Trends-Score", sec.axis = sec_axis(~ (. - a)/b, name = "Aktien-Kurs")) +
theme_classic()+
theme(axis.line.y.right = element_line(color = "#404040"),
axis.ticks.y.right = element_line(color = "#404040"),
axis.text.y.right = element_text(color = "#404040"),
axis.title.y.right = element_text(color = "#404040")) +
theme(axis.line.y.left = element_line(color = "#0080FF"),
axis.ticks.y.left = element_line(color = "#0080FF"),
axis.text.y.left = element_text(color = "#0080FF"),
axis.title.y.left = element_text(color = "#0080FF")) +
labs(
title = paste("Trend & Aktie zu Amazon"),
subtitle = paste("Korrelation:", round(Korr$estimate,4), " & p-Value:", format.pval(Korr$p.value, digits = 4, nsmall = 3, eps = 0.001)),
caption = "Plot5 - wöchentliche Werte")
# PLOT 6: Scatterplot
ggplot(joined_data, aes(x = hits, y = AMZN.Close)) +
geom_point(color="#0080FF") +
geom_smooth(color = "#404040") +
labs(
x = "Trendscore", y="Aktienkurs",
title = paste("Beziehung zw. Google Trends und Aktienkurs zu 'Amazon'"),
caption = "Plot6 - wöchentliche Werte")
# PLOT 7: Zusammenhang zur verwandten Anfrage mit höchstem Wachstum
start_date="2020-01-01"
end_date = as.character(Sys.Date())
# 7a) Rising verwandte Suchanfragen
trend <- gtrends("Amazon", gprop='web', time=paste0(start_date," ",end_date)) %>%
.$related_queries %>%
filter(related_queries == "rising")
keyword = trend[1,3]
# 7b) Popularität der verwandten Anfrage
time_trend <- gtrends(keyword=paste(keyword), gprop='web', time=paste0(start_date," ",end_date)) %>%
.$interest_over_time %>%
select(date, hits) %>%
mutate(date = as.Date(date)) %>%
mutate_at("hits", ~ifelse(. == "<1", 0.5, .)) %>% # Ersetzen mit 0.5
mutate_at("hits", ~as.numeric(.)) #%>%
group_by(week = ISOweek(date)) %>% #wöchentl. Durchschnitt
summarise(hits = mean(hits))
# 7c) Aktiendaten
getSymbols("AMZN",src="yahoo")
stock.xts <- AMZN[paste(start_date, end_date, sep = "/")]
stock <- data.frame(date=index(stock.xts), coredata(stock.xts))
# 7d) gemeinsamer Datensatz
joined_data <- left_join(time_trend, stock, by="date") %>%
mutate_at("hits", ~as.numeric(.)) %>%
filter(complete.cases(.))
# 7d) Plotting
Korr <- cor.test(joined_data$AMZN.Close, joined_data$hits, use="complete.obs") # Korrelation
ylim.primary <- c(0, 100)
ylim.secondary <- c(0, ceiling(max(joined_data$AMZN.Close)))
b <- diff(ylim.primary)/diff(ylim.secondary)
a <- b*(ylim.primary[1] - ylim.secondary[1])
ggplot(joined_data, aes(x = date, y = hits)) +
geom_line(color="#3399FF", size=0.7) +
geom_line(aes(y = a + AMZN.Close*b), color = "#404040", size=0.7) +
geom_area(aes(y = a + AMZN.Close*b), fill = "#404040", alpha=0.05)+
scale_y_continuous("Trends-Score", sec.axis = sec_axis(~ (. - a)/b, name = "Aktien-Kurs")) +
theme_classic()+
theme(axis.line.y.right = element_line(color = "#404040"),
axis.ticks.y.right = element_line(color = "#404040"),
axis.text.y.right = element_text(color = "#404040"),
axis.title.y.right = element_text(color = "#404040")) +
theme(axis.line.y.left = element_line(color = "#0080FF"),
axis.ticks.y.left = element_line(color = "#0080FF"),
axis.text.y.left = element_text(color = "#0080FF"),
axis.title.y.left = element_text(color = "#0080FF")) +
labs(
title = paste("Trend der meistgewachsenen verwandten Anfrage zu '", keyword, "' & Aktie zu Amazon"),
subtitle = paste("Korrelation:", round(Korr$estimate,4), " & p-Value:", format.pval(Korr$p.value, digits = 4, nsmall = 3, eps = 0.001)),
caption = "Plot7 - tägliche Werte")
# PLOT 8: Zusammenhang zum verwandten Thema mit höchstem Wachstum
start_date="2020-01-01"
end_date = as.character(Sys.Date())
# 8a) Rising verwandte Suchanfragen
trend <- gtrends("Amazon", gprop='web', time=paste0(start_date," ",end_date)) %>%
.$related_topics %>%
filter(related_topics == "rising")
keyword = trend[1,3]
# 8b) Popularität der verwandten Anfrage
time_trend <- gtrends(keyword=paste(keyword), gprop='web', time=paste0(start_date," ",end_date)) %>%
.$interest_over_time %>%
select(date, hits) %>%
mutate(date = as.Date(date)) %>%
mutate_at("hits", ~ifelse(. == "<1", 0.5, .)) %>% # Ersetzen mit 0.5
mutate_at("hits", ~as.numeric(.)) #%>%
# 8c) Aktiendaten
getSymbols("AMZN",src="yahoo")
stock.xts <- AMZN[paste(start_date, end_date, sep = "/")]
stock <- data.frame(date=index(stock.xts), coredata(stock.xts))
# 8d) gemeinsamer Datensatz
joined_data <- left_join(time_trend, stock, by="date") %>%
mutate_at("hits", ~as.numeric(.)) %>%
filter(complete.cases(.))
# 8d) Plotting
Korr <- cor.test(joined_data$AMZN.Close, joined_data$hits, use="complete.obs") # Korrelation
ylim.primary <- c(0, 100)
ylim.secondary <- c(0, ceiling(max(joined_data$AMZN.Close)))
b <- diff(ylim.primary)/diff(ylim.secondary)
a <- b*(ylim.primary[1] - ylim.secondary[1])
ggplot(joined_data, aes(x = date, y = hits)) +
geom_line(color="#3399FF", size=0.7) +
geom_line(aes(y = a + AMZN.Close*b), color = "#404040", size=0.7) +
geom_area(aes(y = a + AMZN.Close*b), fill = "#404040", alpha=0.05)+
scale_y_continuous("Trends-Score", sec.axis = sec_axis(~ (. - a)/b, name = "Aktien-Kurs")) +
theme_classic()+
theme(axis.line.y.right = element_line(color = "#404040"),
axis.ticks.y.right = element_line(color = "#404040"),
axis.text.y.right = element_text(color = "#404040"),
axis.title.y.right = element_text(color = "#404040")) +
theme(axis.line.y.left = element_line(color = "#0080FF"),
axis.ticks.y.left = element_line(color = "#0080FF"),
axis.text.y.left = element_text(color = "#0080FF"),
axis.title.y.left = element_text(color = "#0080FF")) +
labs(
title = paste("Im Trend liegendes verwandten Themas '", keyword, "' & Aktie zu Amazon"),
subtitle = paste("Korrelation:", round(Korr$estimate,4), " & p-Value:", format.pval(Korr$p.value, digits = 4, nsmall = 3, eps = 0.001)),
caption = "Plot8 - tägliche Werte")
#Kapitel 3 - Daimler
# PLOT 9: Trend & Aktie zu Daimler
start_date = "2016-04-01"
end_date = "2020-04-30"
# 9a) Popularität von Daimler über die Zeit
time_trend <- gtrends("Daimler", gprop='web', time=paste0(start_date," ",end_date), onlyInterest = TRUE) %>%
.$interest_over_time %>%
select(date, hits) %>%
mutate(date = as.Date(date)) %>%
mutate_at("hits", ~ifelse(. == "<1", 0.5, .)) %>% # Ersetzen mit 0.5
mutate_at("hits", ~as.numeric(.)) %>%
group_by(week = ISOweek(date)) %>% #wöchentl. Durchschnitt
summarise(hits = mean(hits)) %>%
mutate("weekdate" = ISOweek2date(paste(.$week, 1, sep="-")))
# 9b) Aktiendaten
getSymbols("DAI.DE",src="yahoo")
stock.xts <- DAI.DE[paste(start_date, end_date, sep = "/")]
stock <- data.frame(date=index(stock.xts), coredata(stock.xts)) %>% #Ändern zu Dataframe
group_by(week = ISOweek(date)) %>% #wöchentliche Daten
summarise(DAI.DE.Close = mean(DAI.DE.Close)) %>%
mutate("weekdate" = ISOweek2date(paste(.$week, 1, sep="-")))
# 9c) gemeinsamer Datensatz
joined_data <- left_join(time_trend, stock, by=c("weekdate","week")) %>%
mutate_at("hits", ~as.numeric(.)) %>%
filter(complete.cases(.))
# 9d) Plotting
Korr <- cor.test(joined_data$DAI.DE.Close, joined_data$hits, use="complete.obs") # Korrelation
ylim.primary <- c(0, 100)
ylim.secondary <- c(0, ceiling(max(joined_data$DAI.DE.Close)))
b <- diff(ylim.primary)/diff(ylim.secondary)
a <- b*(ylim.primary[1] - ylim.secondary[1])
ggplot(joined_data, aes(x = weekdate, y = hits)) +
geom_line(color="#3399FF", size=0.7) +
geom_line(aes(y = a + DAI.DE.Close*b), color = "#404040", size=0.7) +
geom_area(aes(y = a + DAI.DE.Close*b), fill = "#404040", alpha=0.05)+
scale_y_continuous("Trends-Score", sec.axis = sec_axis(~ (. - a)/b, name = "Aktien-Kurs")) +
theme_classic()+
theme(axis.line.y.right = element_line(color = "#404040"),
axis.ticks.y.right = element_line(color = "#404040"),
axis.text.y.right = element_text(color = "#404040"),
axis.title.y.right = element_text(color = "#404040")) +
theme(axis.line.y.left = element_line(color = "#0080FF"),
axis.ticks.y.left = element_line(color = "#0080FF"),
axis.text.y.left = element_text(color = "#0080FF"),
axis.title.y.left = element_text(color = "#0080FF")) +
labs(
title = paste("Trend & Aktie zu Daimler"),
subtitle = paste("Korrelation:", round(Korr$estimate,4), " & p-Value:", format.pval(Korr$p.value, digits = 4, nsmall = 3, eps = 0.001)),
caption = "Plot9 - wöchentliche Werte")
# Plot 10: Scatterplot
ggplot(joined_data, aes(x = hits, y = DAI.DE.Close)) +
geom_point(color="#0080FF") +
geom_smooth(color = "#404040") +
labs(
x = "Trendscore", y="Aktienkurs",
title = paste("Beziehung zw. Google Trends und Aktienkurs zu 'Daimler'"),
caption = "Plot10 - wöchentliche Werte")
# Plot 11: Zusammenhang zur verwandten Anfrage mit höchstem Wachstum
start_date="2020-01-01"
end_date = as.character(Sys.Date())
# 11a) Rising verwandte Suchanfragen
trend <- gtrends("Daimler", gprop='web', time=paste0(start_date," ",end_date)) %>%
.$related_queries %>%
filter(related_queries == "rising")
keyword = trend[1,3]
# 11b) Popularität der verwandten Anfrage
time_trend <- gtrends(keyword=paste(keyword), gprop='web', time=paste0(start_date," ",end_date)) %>%
.$interest_over_time %>%
select(date, hits) %>%
mutate(date = as.Date(date)) %>%
mutate_at("hits", ~ifelse(. == "<1", 0.5, .)) %>% # Ersetzen mit 0.5
mutate_at("hits", ~as.numeric(.))
# 11c) Aktiendaten
getSymbols("DAI.DE",src="yahoo") #Nintendo
stock.xts <- DAI.DE[paste(start_date, end_date, sep = "/")]
stock <- data.frame(date=index(stock.xts), coredata(stock.xts))
# 11d) gemeinsamer Datensatz
joined_data <- left_join(time_trend, stock, by="date") %>%
mutate_at("hits", ~as.numeric(.)) %>%
filter(complete.cases(.))
# 11d) Plotting
Korr <- cor.test(joined_data$DAI.DE.Close, joined_data$hits, use="complete.obs") # Korrelation
ylim.primary <- c(0, 100)
ylim.secondary <- c(0, ceiling(max(joined_data$DAI.DE.Close)))
b <- diff(ylim.primary)/diff(ylim.secondary)
a <- b*(ylim.primary[1] - ylim.secondary[1])
ggplot(joined_data, aes(x = date, y = hits)) +
geom_line(color="#3399FF", size=0.7) +
geom_line(aes(y = a + DAI.DE.Close*b), color = "#404040", size=0.7) +
geom_area(aes(y = a + DAI.DE.Close*b), fill = "#404040", alpha=0.05)+
scale_y_continuous("Trends-Score", sec.axis = sec_axis(~ (. - a)/b, name = "Aktien-Kurs")) +
theme_classic()+
theme(axis.line.y.right = element_line(color = "#404040"),
axis.ticks.y.right = element_line(color = "#404040"),
axis.text.y.right = element_text(color = "#404040"),
axis.title.y.right = element_text(color = "#404040")) +
theme(axis.line.y.left = element_line(color = "#0080FF"),
axis.ticks.y.left = element_line(color = "#0080FF"),
axis.text.y.left = element_text(color = "#0080FF"),
axis.title.y.left = element_text(color = "#0080FF")) +
labs(
title = paste("Trend der meistgewachsenen verwandten Anfrage zu '", keyword, "' & Aktie zu Daimler"),
subtitle = paste("Korrelation:", round(Korr$estimate,4), " & p-Value:", format.pval(Korr$p.value, digits = 4, nsmall = 3, eps = 0.001)),
caption = "Plot11 - tägliche Werte")
# Plot 12: Zusammenhang zum verwandten Thema mit höchstem Wachstum
start_date="2020-01-01"
end_date = as.character(Sys.Date())
# 12a) Rising verwandte Suchanfragen
trend <- gtrends("Daimler", gprop='web', time=paste0(start_date," ",end_date)) %>%
.$related_topics %>%
filter(related_topics == "rising")
keyword = trend[1,3]
# 12b) Popularität der verwandten Anfrage
time_trend <- gtrends(keyword=paste(keyword), gprop='web', time=paste0(start_date," ",end_date)) %>%
.$interest_over_time %>%
select(date, hits) %>%
mutate(date = as.Date(date)) %>%
mutate_at("hits", ~ifelse(. == "<1", 0.5, .)) %>% # Ersetzen mit 0.5
mutate_at("hits", ~as.numeric(.)) #%>%
# 12c) Aktiendaten
getSymbols("DAI.DE",src="yahoo") #Nintendo
stock.xts <- DAI.DE[paste(start_date, end_date, sep = "/")]
stock <- data.frame(date=index(stock.xts), coredata(stock.xts))
# 12d) gemeinsamer Datensatz
joined_data <- left_join(time_trend, stock, by="date") %>%
mutate_at("hits", ~as.numeric(.)) %>%
filter(complete.cases(.))
# 12d) Plotting
Korr <- cor.test(joined_data$DAI.DE.Close, joined_data$hits, use="complete.obs") # Korrelation
ylim.primary <- c(0, 100)
ylim.secondary <- c(0, ceiling(max(joined_data$DAI.DE.Close)))
b <- diff(ylim.primary)/diff(ylim.secondary)
a <- b*(ylim.primary[1] - ylim.secondary[1])
ggplot(joined_data, aes(x = date, y = hits)) +
geom_line(color="#3399FF", size=0.7) +
geom_line(aes(y = a + DAI.DE.Close*b), color = "#404040", size=0.7) +
geom_area(aes(y = a + DAI.DE.Close*b), fill = "#404040", alpha=0.05)+
scale_y_continuous("Trends-Score", sec.axis = sec_axis(~ (. - a)/b, name = "Aktien-Kurs")) +
theme_classic()+
theme(axis.line.y.right = element_line(color = "#404040"),
axis.ticks.y.right = element_line(color = "#404040"),
axis.text.y.right = element_text(color = "#404040"),
axis.title.y.right = element_text(color = "#404040")) +
theme(axis.line.y.left = element_line(color = "#0080FF"),
axis.ticks.y.left = element_line(color = "#0080FF"),
axis.text.y.left = element_text(color = "#0080FF"),
axis.title.y.left = element_text(color = "#0080FF")) +
labs(
title = paste("Im Trend liegendes verwandten Themas '", keyword, "' & Aktie zu Daimler"),
subtitle = paste("Korrelation:", round(Korr$estimate,4), " & p-Value:", format.pval(Korr$p.value, digits = 4, nsmall = 3, eps = 0.001)),
caption = "Plot12 - tägliche Werte")
#Kapitel 3 - Siemens
# PLOT 13: Trend & Aktie zu Amazon
start_date = "2016-04-01"
end_date = "2020-04-30"
# 13a) Popularität von Daimler über die Zeit
time_trend <- gtrends("Siemens", gprop='web', time=paste0(start_date," ",end_date), onlyInterest = TRUE) %>%
.$interest_over_time %>%
select(date, hits) %>%
mutate(date = as.Date(date)) %>%
mutate_at("hits", ~ifelse(. == "<1", 0.5, .)) %>% # Ersetzen mit 0.5
mutate_at("hits", ~as.numeric(.)) %>%
group_by(week = ISOweek(date)) %>% #wöchentl. Durchschnitt
summarise(hits = mean(hits)) %>%
mutate("weekdate" = ISOweek2date(paste(.$week, 1, sep="-")))
# 13b) Aktiendaten
getSymbols("SIE.DE",src="yahoo")
stock.xts <- SIE.DE[paste(start_date, end_date, sep = "/")]
stock <- data.frame(date=index(stock.xts), coredata(stock.xts)) %>% #Ändern zu Dataframe
group_by(week = ISOweek(date)) %>% #wöchentliche Daten
summarise(SIE.DE.Close = mean(SIE.DE.Close)) %>%
mutate("weekdate" = ISOweek2date(paste(.$week, 1, sep="-")))
# 13c) gemeinsamer Datensatz
joined_data <- left_join(time_trend, stock, by=c("weekdate","week")) %>%
mutate_at("hits", ~as.numeric(.)) %>%
filter(complete.cases(.))
# 13d) Plotting
Korr <- cor.test(joined_data$SIE.DE.Close, joined_data$hits, use="complete.obs") # Korrelation
ylim.primary <- c(0, 100)
ylim.secondary <- c(0, ceiling(max(joined_data$SIE.DE.Close)))
b <- diff(ylim.primary)/diff(ylim.secondary)
a <- b*(ylim.primary[1] - ylim.secondary[1])
ggplot(joined_data, aes(x = weekdate, y = hits)) +
geom_line(color="#3399FF", size=0.7) +
geom_line(aes(y = a + SIE.DE.Close*b), color = "#404040", size=0.7) +
geom_area(aes(y = a + SIE.DE.Close*b), fill = "#404040", alpha=0.05)+
scale_y_continuous("Trends-Score", sec.axis = sec_axis(~ (. - a)/b, name = "Aktien-Kurs")) +
theme_classic()+
theme(axis.line.y.right = element_line(color = "#404040"),
axis.ticks.y.right = element_line(color = "#404040"),
axis.text.y.right = element_text(color = "#404040"),
axis.title.y.right = element_text(color = "#404040")) +
theme(axis.line.y.left = element_line(color = "#0080FF"),
axis.ticks.y.left = element_line(color = "#0080FF"),
axis.text.y.left = element_text(color = "#0080FF"),
axis.title.y.left = element_text(color = "#0080FF")) +
labs(
title = paste("Trend & Aktie zu Siemens"),
subtitle = paste("Korrelation:", round(Korr$estimate,4), " & p-Value:", format.pval(Korr$p.value, digits = 4, nsmall = 3, eps = 0.001)),
caption = "Plot13 - wöchentliche Werte")
# Plot 14: Scatterplot
ggplot(joined_data, aes(x = hits, y = SIE.DE.Close)) +
geom_point(color="#0080FF") +
geom_smooth(color = "#404040") +
labs(
x = "Trendscore", y="Aktienkurs",
title = paste("Beziehung zw. Google Trends und Aktienkurs zu 'Siemens'"),
caption = "Plot14 - wöchentliche Werte")
# Plot 15: Zusammenhang zur verwandten Anfrage mit höchstem Wachstum
start_date="2020-01-01"
end_date = as.character(Sys.Date())
# 15a) Rising verwandte Suchanfragen
trend <- gtrends("Siemens", gprop='web', time=paste0(start_date," ",end_date)) %>%
.$related_queries %>%
filter(related_queries == "rising")
keyword = trend[1,3]
# 15b) Popularität der verwandten Anfrage
time_trend <- gtrends(keyword=paste(keyword), gprop='web', time=paste0(start_date," ",end_date)) %>%
.$interest_over_time %>%
select(date, hits) %>%
mutate(date = as.Date(date)) %>%
mutate_at("hits", ~ifelse(. == "<1", 0.5, .)) %>% # Ersetzen mit 0.5
mutate_at("hits", ~as.numeric(.))
# 15c) Aktiendaten
getSymbols("SIE.DE",src="yahoo") #Nintendo
stock.xts <- SIE.DE[paste(start_date, end_date, sep = "/")]
stock <- data.frame(date=index(stock.xts), coredata(stock.xts))
# 15d) gemeinsamer Datensatz
joined_data <- left_join(time_trend, stock, by="date") %>%
mutate_at("hits", ~as.numeric(.)) %>%
filter(complete.cases(.))
# 15e) Plotting
Korr <- cor.test(joined_data$SIE.DE.Close, joined_data$hits, use="complete.obs") # Korrelation
ylim.primary <- c(0, 100)
ylim.secondary <- c(0, ceiling(max(joined_data$SIE.DE.Close)))
b <- diff(ylim.primary)/diff(ylim.secondary)
a <- b*(ylim.primary[1] - ylim.secondary[1])
ggplot(joined_data, aes(x = date, y = hits)) +
geom_line(color="#3399FF", size=0.7) +
geom_line(aes(y = a + SIE.DE.Close*b), color = "#404040", size=0.7) +
geom_area(aes(y = a + SIE.DE.Close*b), fill = "#404040", alpha=0.05)+
scale_y_continuous("Trends-Score", sec.axis = sec_axis(~ (. - a)/b, name = "Aktien-Kurs")) +
theme_classic()+
theme(axis.line.y.right = element_line(color = "#404040"),
axis.ticks.y.right = element_line(color = "#404040"),
axis.text.y.right = element_text(color = "#404040"),
axis.title.y.right = element_text(color = "#404040")) +
theme(axis.line.y.left = element_line(color = "#0080FF"),
axis.ticks.y.left = element_line(color = "#0080FF"),
axis.text.y.left = element_text(color = "#0080FF"),
axis.title.y.left = element_text(color = "#0080FF")) +
labs(
title = paste("Trend der meistgewachsenen verwandten Anfrage zu '", keyword, "' & Aktie zu Siemens"),
subtitle = paste("Korrelation:", round(Korr$estimate,4), " & p-Value:", format.pval(Korr$p.value, digits = 4, nsmall = 3, eps = 0.001)),
caption = "Plot15 - tägliche Werte")
# Plot 16: Zusammenhang zum verwandten Thema mit höchstem Wachstum
start_date="2020-01-01"
end_date = as.character(Sys.Date())
# 16a) Rising verwandte Suchanfragen
trend <- gtrends("Siemens", gprop='web', time=paste0(start_date," ",end_date)) %>%
.$related_topics %>%
filter(related_topics == "rising")
keyword = trend[1,3]
# 16b) Popularität der verwandten Anfrage
time_trend <- gtrends(keyword=paste(keyword), gprop='web', time=paste0(start_date," ",end_date)) %>%
.$interest_over_time %>%
select(date, hits) %>%
mutate(date = as.Date(date)) %>%
mutate_at("hits", ~ifelse(. == "<1", 0.5, .)) %>% # Ersetzen mit 0.5
mutate_at("hits", ~as.numeric(.)) #%>%
# 16c) Aktiendaten
getSymbols("SIE.DE",src="yahoo") #Nintendo
stock.xts <- SIE.DE[paste(start_date, end_date, sep = "/")]
stock <- data.frame(date=index(stock.xts), coredata(stock.xts))
# 16d) gemeinsamer Datensatz
joined_data <- left_join(time_trend, stock, by="date") %>%
mutate_at("hits", ~as.numeric(.)) %>%
filter(complete.cases(.))
# 16e) Plotting
Korr <- cor.test(joined_data$SIE.DE.Close, joined_data$hits, use="complete.obs") # Korrelation
ylim.primary <- c(0, 100)
ylim.secondary <- c(0, ceiling(max(joined_data$SIE.DE.Close)))
b <- diff(ylim.primary)/diff(ylim.secondary)
a <- b*(ylim.primary[1] - ylim.secondary[1])
ggplot(joined_data, aes(x = date, y = hits)) +
geom_line(color="#3399FF", size=0.7) +
geom_line(aes(y = a + SIE.DE.Close*b), color = "#404040", size=0.7) +
geom_area(aes(y = a + SIE.DE.Close*b), fill = "#404040", alpha=0.05)+
scale_y_continuous("Trends-Score", sec.axis = sec_axis(~ (. - a)/b, name = "Aktien-Kurs")) +
theme_classic()+
theme(axis.line.y.right = element_line(color = "#404040"),
axis.ticks.y.right = element_line(color = "#404040"),
axis.text.y.right = element_text(color = "#404040"),
axis.title.y.right = element_text(color = "#404040")) +
theme(axis.line.y.left = element_line(color = "#0080FF"),
axis.ticks.y.left = element_line(color = "#0080FF"),
axis.text.y.left = element_text(color = "#0080FF"),
axis.title.y.left = element_text(color = "#0080FF")) +
labs(
title = paste("Im Trend liegendes verwandten Themas '", keyword, "' & Aktie zu Siemens"),
subtitle = paste("Korrelation:", round(Korr$estimate,4), " & p-Value:", format.pval(Korr$p.value, digits = 4, nsmall = 3, eps = 0.001)),
caption = "Plot16 - tägliche Werte")
#Kapitel 4 - Lufthansa
# PLOT 17: Trend & Aktie zu Amazon
start_date = "2016-04-01"
end_date = "2020-01-01"
# 17a) Popularität von Daimler über die Zeit
time_trend <- gtrends("Lufthansa", gprop='web', time=paste0(start_date," ",end_date), onlyInterest = TRUE) %>%
.$interest_over_time %>%
select(date, hits) %>%
mutate(date = as.Date(date)) %>%
mutate_at("hits", ~ifelse(. == "<1", 0.5, .)) %>% # Ersetzen mit 0.5
mutate_at("hits", ~as.numeric(.)) %>%
group_by(week = ISOweek(date)) %>% #wöchentl. Durchschnitt
summarise(hits = mean(hits)) %>%
mutate("weekdate" = ISOweek2date(paste(.$week, 1, sep="-")))
# 17b) Aktiendaten
getSymbols("LHA.DE",src="yahoo")
stock.xts <- LHA.DE[paste(start_date, end_date, sep = "/")]
stock <- data.frame(date=index(stock.xts), coredata(stock.xts)) %>% #Ändern zu Dataframe
group_by(week = ISOweek(date)) %>% #wöchentliche Daten
summarise(LHA.DE.Close = mean(LHA.DE.Close)) %>%
mutate("weekdate" = ISOweek2date(paste(.$week, 1, sep="-")))
# 17c) gemeinsamer Datensatz
joined_data <- left_join(time_trend, stock, by=c("weekdate","week")) %>%
mutate_at("hits", ~as.numeric(.)) %>%
filter(complete.cases(.))
# 17d) Plotting
Korr <- cor.test(joined_data$LHA.DE.Close, joined_data$hits, use="complete.obs") # Korrelation
ylim.primary <- c(0, 100)
ylim.secondary <- c(0, ceiling(max(joined_data$LHA.DE.Close)))
b <- diff(ylim.primary)/diff(ylim.secondary)
a <- b*(ylim.primary[1] - ylim.secondary[1])
ggplot(joined_data, aes(x = weekdate, y = hits)) +
geom_line(color="#3399FF", size=0.7) +
geom_line(aes(y = a + LHA.DE.Close*b), color = "#404040", size=0.7) +
geom_area(aes(y = a + LHA.DE.Close*b), fill = "#404040", alpha=0.05)+
scale_y_continuous("Trends-Score", sec.axis = sec_axis(~ (. - a)/b, name = "Aktien-Kurs")) +
theme_classic()+
theme(axis.line.y.right = element_line(color = "#404040"),
axis.ticks.y.right = element_line(color = "#404040"),
axis.text.y.right = element_text(color = "#404040"),
axis.title.y.right = element_text(color = "#404040")) +
theme(axis.line.y.left = element_line(color = "#0080FF"),
axis.ticks.y.left = element_line(color = "#0080FF"),
axis.text.y.left = element_text(color = "#0080FF"),
axis.title.y.left = element_text(color = "#0080FF")) +
labs(
title = paste("Trend & Aktie zu Lufthansa"),
subtitle = paste("Korrelation:", round(Korr$estimate,4), " & p-Value:", format.pval(Korr$p.value, digits = 4, nsmall = 3, eps = 0.001)),
caption = "Plot17 - wöchentliche Werte")
# Plot 18: Scatterplot
ggplot(joined_data, aes(x = hits, y = LHA.DE.Close)) +
geom_point(color="#0080FF") +
geom_smooth(color = "#404040") +
labs(
x = "Trendscore", y="Aktienkurs",
title = paste("Beziehung zw. Google Trends und Aktienkurs zu 'Lufthansa'"),
caption = "Plot18 - wöchentliche Werte")
# Plot 19: Zusammenhang zur verwandten Anfrage mit höchstem Wachstum
start_date="2020-01-01"
end_date = as.character(Sys.Date())
# 19a) Rising verwandte Suchanfragen
trend <- gtrends("Lufthansa", gprop='web', time=paste0(start_date," ",end_date)) %>%
.$related_queries %>%
filter(related_queries == "rising")
keyword = trend[1,3]
# 19b) Popularität der verwandten Anfrage
time_trend <- gtrends(keyword=paste(keyword), gprop='web', time=paste0(start_date," ",end_date)) %>%
.$interest_over_time %>%
select(date, hits) %>%
mutate(date = as.Date(date)) %>%
mutate_at("hits", ~ifelse(. == "<1", 0.5, .)) %>% # Ersetzen mit 0.5
mutate_at("hits", ~as.numeric(.))
# 19c) Aktiendaten
getSymbols("LHA.DE",src="yahoo") #Nintendo
stock.xts <- LHA.DE[paste(start_date, end_date, sep = "/")]
stock <- data.frame(date=index(stock.xts), coredata(stock.xts))
# 19d) gemeinsamer Datensatz
joined_data <- left_join(time_trend, stock, by="date") %>%
mutate_at("hits", ~as.numeric(.)) %>%
filter(complete.cases(.))
# 19e) Plotting
Korr <- cor.test(joined_data$LHA.DE.Close, joined_data$hits, use="complete.obs") # Korrelation
ylim.primary <- c(0, 100)
ylim.secondary <- c(0, ceiling(max(joined_data$LHA.DE.Close)))
b <- diff(ylim.primary)/diff(ylim.secondary)
a <- b*(ylim.primary[1] - ylim.secondary[1])
ggplot(joined_data, aes(x = date, y = hits)) +
geom_line(color="#3399FF", size=0.7) +
geom_line(aes(y = a + LHA.DE.Close*b), color = "#404040", size=0.7) +
geom_area(aes(y = a + LHA.DE.Close*b), fill = "#404040", alpha=0.05)+
scale_y_continuous("Trends-Score", sec.axis = sec_axis(~ (. - a)/b, name = "Aktien-Kurs")) +
theme_classic()+
theme(axis.line.y.right = element_line(color = "#404040"),
axis.ticks.y.right = element_line(color = "#404040"),
axis.text.y.right = element_text(color = "#404040"),
axis.title.y.right = element_text(color = "#404040")) +
theme(axis.line.y.left = element_line(color = "#0080FF"),
axis.ticks.y.left = element_line(color = "#0080FF"),
axis.text.y.left = element_text(color = "#0080FF"),
axis.title.y.left = element_text(color = "#0080FF")) +
labs(
title = paste("Trend der meistgewachsenen verwandten Anfrage zu '", keyword, "' & Aktie zu Lufthansa"),
subtitle = paste("Korrelation:", round(Korr$estimate,4), " & p-Value:", format.pval(Korr$p.value, digits = 4, nsmall = 3, eps = 0.001)),
caption = "Plot19 - tägliche Werte")
# Plot 20: Zusammenhang zum verwandten Thema mit höchstem Wachstum
start_date="2020-01-01"
end_date = as.character(Sys.Date())
# 20a) Rising verwandte Suchanfragen
trend <- gtrends("Lufthansa", gprop='web', time=paste0(start_date," ",end_date)) %>%
.$related_topics %>%
filter(related_topics == "rising")
keyword = trend[1,3]
# 20b) Popularität der verwandten Anfrage
time_trend <- gtrends(keyword=paste(keyword), gprop='web', time=paste0(start_date," ",end_date)) %>%
.$interest_over_time %>%
select(date, hits) %>%
mutate(date = as.Date(date)) %>%
mutate_at("hits", ~ifelse(. == "<1", 0.5, .)) %>% # Ersetzen mit 0.5
mutate_at("hits", ~as.numeric(.)) #%>%
# 20c) Aktiendaten
getSymbols("LHA.DE",src="yahoo") #Nintendo
stock.xts <- LHA.DE[paste(start_date, end_date, sep = "/")]
stock <- data.frame(date=index(stock.xts), coredata(stock.xts))
# 20d) gemeinsamer Datensatz
joined_data <- left_join(time_trend, stock, by="date") %>%
mutate_at("hits", ~as.numeric(.)) %>%
filter(complete.cases(.))
# 20e) Plotting
Korr <- cor.test(joined_data$LHA.DE.Close, joined_data$hits, use="complete.obs") # Korrelation
ylim.primary <- c(0, 100)
ylim.secondary <- c(0, ceiling(max(joined_data$LHA.DE.Close)))
b <- diff(ylim.primary)/diff(ylim.secondary)
a <- b*(ylim.primary[1] - ylim.secondary[1])
ggplot(joined_data, aes(x = date, y = hits)) +
geom_line(color="#3399FF", size=0.7) +
geom_line(aes(y = a + LHA.DE.Close*b), color = "#404040", size=0.7) +
geom_area(aes(y = a + LHA.DE.Close*b), fill = "#404040", alpha=0.05)+
scale_y_continuous("Trends-Score", sec.axis = sec_axis(~ (. - a)/b, name = "Aktien-Kurs")) +
theme_classic()+
theme(axis.line.y.right = element_line(color = "#404040"),
axis.ticks.y.right = element_line(color = "#404040"),
axis.text.y.right = element_text(color = "#404040"),
axis.title.y.right = element_text(color = "#404040")) +
theme(axis.line.y.left = element_line(color = "#0080FF"),
axis.ticks.y.left = element_line(color = "#0080FF"),
axis.text.y.left = element_text(color = "#0080FF"),
axis.title.y.left = element_text(color = "#0080FF")) +
labs(
title = paste("Im Trend liegendes verwandten Themas '", keyword, "' & Aktie zu Lufthansa"),
subtitle = paste("Korrelation:", round(Korr$estimate,4), " & p-Value:", format.pval(Korr$p.value, digits = 4, nsmall = 3, eps = 0.001)),
caption = "Plot20 - tägliche Werte")
Foto von Francesco Ungaro von Pexels