library(tidyverse)
knitr::opts_chunk$set(echo = FALSE)
bench::cb_fetch()
viapply <- function(x, f, ...) vapply(x, f, integer(1), ...)
vcapply <- function(x, f, ...) vapply(x, f, character(1), ...)
first <- function(x) if (length(x)) head(x, 1L) else character(1)
df <- bench::cb_read() %>%
  filter(abbrev_commit_hash != "7c38471", viapply(benchmarks, NROW) > 0L) %>%
  filter(row_number() <= !!params$n | str_detect(vcapply(ref_names, first), "tag: v[[:digit:]\\.]+")) %>%
  unnest(benchmarks) %>%
  mutate(
    pretty_name = ifelse(
      viapply(ref_names, length) > 0L, vcapply(ref_names, first), abbrev_commit_hash),
    pretty_name = factor(pretty_name, levels = rev(unique(pretty_name))),
    name = str_replace(name, "CuadrasAuge", "Armageddon"))

Expected portfolio CDS equation

Exchangeable

df %>%
  filter(str_detect(file, "expected_pcds_equation_.*R"),
         str_detect(name, "ExtMO2FParam")) %>%
  mutate(name = str_extract(name, "([[:alpha:]]+)(?=ExtMO2FParam)")) %>%
  ggplot(aes(x = pretty_name, y = p50, group = name)) +
    geom_ribbon(aes(ymin = p25, ymax = p75), alpha = 1/2) +
    geom_line() +
    coord_flip() +
    scale_x_discrete(name = NULL) +
    bench:::scale_y_bench_time(name = NULL, base = NULL) +
    facet_grid(name ~ file, scales = "free_y")
df %>%
  mutate(name = str_replace(name, "GaussianMO", "Gaussian")) %>%
  filter(str_detect(file, "expected_pcds_equation_.*R"),
         str_detect(name, "ExtGaussian2FParam")) %>%
  ggplot(aes(x = pretty_name, y = p50, group = name)) +
    geom_ribbon(aes(ymin = p25, ymax = p75), alpha = 1/2) +
    geom_line() +
    coord_flip() +
    scale_x_discrete(name = NULL) +
    bench:::scale_y_bench_time(name = NULL, base = NULL) +
    facet_grid(name ~ file, scales = "free_y")
df %>%
  filter(str_detect(file, "expected_pcds_equation_.*R"),
         str_detect(name, "ExtArch2FParam")) %>%
  mutate(name = str_extract(name, "([[:alpha:]]+)(?=ExtArch2FParam)")) %>%
  ggplot(aes(x = pretty_name, y = p50, group = name)) +
    geom_ribbon(aes(ymin = p25, ymax = p75), alpha = 1/2) +
    geom_line() +
    coord_flip() +
    scale_x_discrete(name = NULL) +
    bench:::scale_y_bench_time(name = NULL, base = NULL) +
    facet_grid(name ~ file, scales = "free_y")

H2-Exchangeable

df %>%
  filter(str_detect(file, "expected_pcds_equation_.*R"),
         str_detect(name, "H2ExtMO3FParam")) %>%
  mutate(name = str_extract(name, "([[:alpha:]]+)(?=H2ExtMO3FParam)")) %>%
  ggplot(aes(x = pretty_name, y = p50, group = name)) +
    geom_ribbon(aes(ymin = p25, ymax = p75), alpha = 1/2) +
    geom_line() +
    coord_flip() +
    scale_x_discrete(name = NULL) +
    bench:::scale_y_bench_time(name = NULL, base = NULL) +
    facet_grid(name ~ file, scales = "free_y")
df %>%
  mutate(name = str_replace(name, "GaussianMO", "Gaussian")) %>%
  filter(str_detect(file, "expected_pcds_equation_.*R"),
         str_detect(name, "H2ExtGaussian3FParam")) %>%
  ggplot(aes(x = pretty_name, y = p50, group = name)) +
    geom_ribbon(aes(ymin = p25, ymax = p75), alpha = 1/2) +
    geom_line() +
    coord_flip() +
    scale_x_discrete(name = NULL) +
    bench:::scale_y_bench_time(name = NULL, base = NULL) +
    facet_grid(name ~ file, scales = "free_y")
df %>%
  filter(str_detect(file, "expected_pcds_equation_.*R"),
         str_detect(name, "H2ExtArch3FParam")) %>%
  mutate(name = str_extract(name, "([[:alpha:]]+)(?=H2ExtArch3FParam)")) %>%
  ggplot(aes(x = pretty_name, y = p50, group = name)) +
    geom_ribbon(aes(ymin = p25, ymax = p75), alpha = 1/2) +
    geom_line() +
    coord_flip() +
    scale_x_discrete(name = NULL) +
    bench:::scale_y_bench_time(name = NULL, base = NULL) +
    facet_grid(name ~ file, scales = "free_y")

Expected CDO tranche equation

Exchangeable

df %>%
  filter(str_detect(file, "expected_cdo_equation_.*R"),
         str_detect(name, "ExtMO2FParam")) %>%
  mutate(name = str_extract(name, "([[:alpha:]]+)(?=ExtMO2FParam)")) %>%
  ggplot(aes(x = pretty_name, y = p50, group = name)) +
    geom_ribbon(aes(ymin = p25, ymax = p75), alpha = 1/2) +
    geom_line() +
    coord_flip() +
    scale_x_discrete(name = NULL) +
    bench:::scale_y_bench_time(name = NULL, base = NULL) +
    facet_grid(name ~ file, scales = "free_y")
df %>%
  mutate(name = str_replace(name, "GaussianMO", "Gaussian")) %>%
  filter(str_detect(file, "expected_cdo_equation_.*R"),
         str_detect(name, "ExtGaussian2FParam")) %>%
  ggplot(aes(x = pretty_name, y = p50, group = name)) +
    geom_ribbon(aes(ymin = p25, ymax = p75), alpha = 1/2) +
    geom_line() +
    coord_flip() +
    scale_x_discrete(name = NULL) +
    bench:::scale_y_bench_time(name = NULL, base = NULL) +
    facet_grid(name ~ file, scales = "free_y")
df %>%
  filter(str_detect(file, "expected_cdo_equation_.*R"),
         str_detect(name, "ExtArch2FParam")) %>%
  mutate(name = str_extract(name, "([[:alpha:]]+)(?=ExtArch2FParam)")) %>%
  ggplot(aes(x = pretty_name, y = p50, group = name)) +
    geom_ribbon(aes(ymin = p25, ymax = p75), alpha = 1/2) +
    geom_line() +
    coord_flip() +
    scale_x_discrete(name = NULL) +
    bench:::scale_y_bench_time(name = NULL, base = NULL) +
    facet_grid(name ~ file, scales = "free_y")

H2-Exchangeable

df %>%
  filter(str_detect(file, "expected_cdo_equation_.*R"),
         str_detect(name, "H2ExtMO3FParam")) %>%
  mutate(name = str_extract(name, "([[:alpha:]]+)(?=H2ExtMO3FParam)")) %>%
  ggplot(aes(x = pretty_name, y = p50, group = name)) +
    geom_ribbon(aes(ymin = p25, ymax = p75), alpha = 1/2) +
    geom_line() +
    coord_flip() +
    scale_x_discrete(name = NULL) +
    bench:::scale_y_bench_time(name = NULL, base = NULL) +
    facet_grid(name ~ file, scales = "free_y")
df %>%
  mutate(name = str_replace(name, "GaussianMO", "Gaussian")) %>%
  filter(str_detect(file, "expected_cdo_equation_.*R"),
         str_detect(name, "H2ExtGaussian3FParam")) %>%
  ggplot(aes(x = pretty_name, y = p50, group = name)) +
    geom_ribbon(aes(ymin = p25, ymax = p75), alpha = 1/2) +
    geom_line() +
    coord_flip() +
    scale_x_discrete(name = NULL) +
    bench:::scale_y_bench_time(name = NULL, base = NULL) +
    facet_grid(name ~ file, scales = "free_y")
df %>%
  filter(str_detect(file, "expected_cdo_equation_.*R"),
         str_detect(name, "H2ExtArch3FParam")) %>%
  mutate(name = str_extract(name, "([[:alpha:]]+)(?=H2ExtArch3FParam)")) %>%
  ggplot(aes(x = pretty_name, y = p50, group = name)) +
    geom_ribbon(aes(ymin = p25, ymax = p75), alpha = 1/2) +
    geom_line() +
    coord_flip() +
    scale_x_discrete(name = NULL) +
    bench:::scale_y_bench_time(name = NULL, base = NULL) +
    facet_grid(name ~ file, scales = "free_y")


hsloot/cvalr documentation built on Sept. 24, 2022, 9:25 a.m.