# \donttest{
if (requireNamespace("ggplot2", quietly = TRUE)) {
p <- ggplot2::ggplot(bitcoin, ggplot2::aes(x = date, y = price)) +
ggplot2::geom_line()
print(p)
result <- suppressWarnings(fastcpd.garch(
diff(log(bitcoin$price[600:900])), c(1, 1),
beta = "BIC", cost_adjustment = "BIC"
))
summary(result)
bitcoin$date[result@cp_set + 600]
plot(result)
cp_dates <- bitcoin[600 + result@cp_set + 1, "date"]
ggplot2::ggplot(
data = data.frame(
x = bitcoin$date[600:900], y = bitcoin$price[600:900]
),
ggplot2::aes(x = x, y = y)
) +
ggplot2::geom_line(color = "steelblue") +
ggplot2::geom_vline(
xintercept = cp_dates,
color = "red",
linetype = "dotted",
linewidth = 0.5,
alpha = 0.7
) +
ggplot2::labs(
x = "Year",
y = "Bitcoin price in USD"
) +
ggplot2::annotate(
"text",
x = cp_dates,
y = 2000,
label = as.character(cp_dates),
color = "steelblue"
) +
ggplot2::theme_bw()
}
# }
Run the code above in your browser using DataLab