fMonteCarlo function

Monte Carlo Simulations.

Monte Carlo Simulations.

Function to estimate the total losses via the Monte Carlo simulations.

fMonteCarlo(ELT, s, t = 1, theta = 0, cap = Inf, nsim = 10000, verbose = FALSE)

Arguments

  • ELT: Data frame containing two numeric columns. The column Loss contains the expected losses from each single occurrence of event. The column Rate contains the arrival rates of a single occurrence of event.
  • s: Scalar or numeric vector containing the total losses of interest.
  • t: Scalar representing the time period of interest. The default value is t = 1.
  • theta: Scalar containing information about the variance of the Gamma distribution: sd[X]=xsd[X] = x * theta. The default value is theta = 0: the loss associated to an event is considered as a constant.
  • cap: Scalar representing the financial cap on losses for a single event, i.e. the maximum possible loss caused by a single event. The default value is cap = Inf.
  • nsim: Integer representing the number of Monte Carlo simulations. The default value is nsim = 10e3.
  • verbose: Logical, if TRUE returns 95% CB and raw sample. The default is verbose = FALSE.

Returns

If verbose = FALSE the function returns a numeric matrix, containing in the first column the pre-specified losses s, and the estimated exceedance probabilities in the second column. If verbose = TRUE the function returns a numeric matrix containing four columns. The first column contains the losses s, the second column contains the estimated exceedance probabilities, the other columns contain the 95% confidence bands. The attributes of this matrix are a vector simS containing the simulated losses.

Examples

data(UShurricane) # Compress the table to millions of dollars USh.m <- compressELT(ELT(UShurricane), digits = -6) EPC.MonteCarlo <- fMonteCarlo(USh.m, s = 1:40, verbose = TRUE) EPC.MonteCarlo par(mfrow = c(1, 2)) plot(EPC.MonteCarlo[, 1:2], type = "l", ylim = c(0, 1)) matlines(EPC.MonteCarlo[, -2], ylim = c(0, 1), lty = 2, col = 1) # Assuming the losses follow a Gamma with E[X] = x, and Var[X] = 2 * x and cap = 5m EPC.MonteCarlo.Gamma <- fMonteCarlo(USh.m, s = 1:40, theta = 2, cap = 5, verbose = TRUE) EPC.MonteCarlo.Gamma plot(EPC.MonteCarlo.Gamma[, 1:2], type = "l", ylim = c(0, 1)) matlines(EPC.MonteCarlo.Gamma[, -2], ylim = c(0,1), lty = 2, col = 1) # Compare the two results: par(mfrow = c(1, 1)) plot(EPC.MonteCarlo[, 1:2], type = "l", main = "Exceedance Probability Curve", ylim = c(0, 1)) lines(EPC.MonteCarlo.Gamma[, 1:2], col = 2, lty = 2) legend("topright", c("Dirac Delta", expression(paste("Gamma(", alpha[i] == 1 / theta^2, ", ", beta[i] ==1 / (x[i] * theta^2), ")", " cap =", 5))), lwd = 2, lty = 1:2, col = 1:2)