# Load necessary libraries
library(ggplot2)

# Define the GPD CDF function
gpd_cdf <- function(x, scale, shape) {
  if (shape == 0) {
    return(1 - exp(-x / scale))
  } else {
    return(1 - (1 + shape * x / scale)^(-1 / shape))
  }
}

# Create a sequence of x values
x_values <- seq(0, 5, by = 0.1)

# Different xi (shape) values for plotting
xi_values <- c(0.75, 0.85, 0.95)

# Plot the CDF for each xi value
plot_data <- data.frame(x = rep(x_values, length(xi_values)), 
                       xi = rep(xi_values, each = length(x_values)), 
                       CDF = unlist(lapply(xi_values, function(xi) sapply(x_values, gpd_cdf, scale = 1, shape = xi))))

ggplot(plot_data, aes(x = x, y = CDF, color = factor(xi))) +
  geom_line() +
  labs(title = "CDF of Generalized Pareto Distribution", 
       x = "x", y = "CDF", 
       color = "Shape Parameter (xi)") +
  theme_minimal()

LS0tCnRpdGxlOiAiQUNUVS00NTcgKE1hc3QgNzI0KSBSaXNrIFRoZW9yeSIKYXV0aG9yOiAiUHJvZi4gTWVsaW5hIE1haWxob3QiCmRhdGU6ICIyMDI1LTAzLTAzIgpvdXRwdXQ6CiAgaHRtbF9ub3RlYm9vazogZGVmYXVsdAogIHBkZl9kb2N1bWVudDogZGVmYXVsdAotLS0KCgoKYGBge3J9CiMgTG9hZCBuZWNlc3NhcnkgbGlicmFyaWVzCmxpYnJhcnkoZ2dwbG90MikKCiMgRGVmaW5lIHRoZSBHUEQgQ0RGIGZ1bmN0aW9uCmdwZF9jZGYgPC0gZnVuY3Rpb24oeCwgc2NhbGUsIHNoYXBlKSB7CiAgaWYgKHNoYXBlID09IDApIHsKICAgIHJldHVybigxIC0gZXhwKC14IC8gc2NhbGUpKQogIH0gZWxzZSB7CiAgICByZXR1cm4oMSAtICgxICsgc2hhcGUgKiB4IC8gc2NhbGUpXigtMSAvIHNoYXBlKSkKICB9Cn0KCiMgQ3JlYXRlIGEgc2VxdWVuY2Ugb2YgeCB2YWx1ZXMKeF92YWx1ZXMgPC0gc2VxKDAsIDUsIGJ5ID0gMC4xKQoKIyBEaWZmZXJlbnQgeGkgKHNoYXBlKSB2YWx1ZXMgZm9yIHBsb3R0aW5nCnhpX3ZhbHVlcyA8LSBjKDAuNzUsIDAuODUsIDAuOTUpCgojIFBsb3QgdGhlIENERiBmb3IgZWFjaCB4aSB2YWx1ZQpwbG90X2RhdGEgPC0gZGF0YS5mcmFtZSh4ID0gcmVwKHhfdmFsdWVzLCBsZW5ndGgoeGlfdmFsdWVzKSksIAogICAgICAgICAgICAgICAgICAgICAgIHhpID0gcmVwKHhpX3ZhbHVlcywgZWFjaCA9IGxlbmd0aCh4X3ZhbHVlcykpLCAKICAgICAgICAgICAgICAgICAgICAgICBDREYgPSB1bmxpc3QobGFwcGx5KHhpX3ZhbHVlcywgZnVuY3Rpb24oeGkpIHNhcHBseSh4X3ZhbHVlcywgZ3BkX2NkZiwgc2NhbGUgPSAxLCBzaGFwZSA9IHhpKSkpKQoKZ2dwbG90KHBsb3RfZGF0YSwgYWVzKHggPSB4LCB5ID0gQ0RGLCBjb2xvciA9IGZhY3Rvcih4aSkpKSArCiAgZ2VvbV9saW5lKCkgKwogIGxhYnModGl0bGUgPSAiQ0RGIG9mIEdlbmVyYWxpemVkIFBhcmV0byBEaXN0cmlidXRpb24iLCAKICAgICAgIHggPSAieCIsIHkgPSAiQ0RGIiwgCiAgICAgICBjb2xvciA9ICJTaGFwZSBQYXJhbWV0ZXIgKHhpKSIpICsKICB0aGVtZV9taW5pbWFsKCkKCmBgYAoK