#------------------------------------------------------------------------ # RIESGO DE INSOLVENCIA #------------------------------------------------------------------------ # Número de días en el mes nd=30 # # Cantidad de iteraciones N=100000 # # Nivel de riesgo nr=0.05 #------------------------------------------------------------------------ # Genero las cobranzas del mes venta <- c(80,70,60,50) pventa <- c(0.1, 0.4, 0.4, 0.1) dcobro <- c(10,20,30,40) pdcobro <- c(0.4,0.3,0.2,0.1) fecha <- seq(1,30) CobrosMes <- rep(NA,N) # for (i in 1:N){ # Genero la venta diaria escenariosVenta <- sample(venta ,size = nd, replace = T, prob = pventa) # # Genero los días de cobro de la venta diaria escenariosCobro <- sample(dcobro ,size = nd, replace = T, prob = pdcobro) # # Genero las fechas de cobro de la venta diaria fechaCobro <- fecha+escenariosCobro # # Identifico si la venta diaria se cobra en el mes fechaCobro <- fechaCobro <= nd # # Calculo los cobros del mes (para N iteraciones) CobrosMes[i] <-sum(fechaCobro * escenariosVenta) } #------------------------------------------------------------------------ # Calculo los impuestos del mes (para N iteraciones) ImpuestosMes <- rnorm(N, mean=250, sd=30) #------------------------------------------------------------------------ # Calculo los salarios del mes (para N iteraciones) SalariosMes <- runif(N,500,700) #------------------------------------------------------------------------ # Calculo la caja mínima del mes (para N iteraciones) CajaMinima <- CobrosMes - ImpuestosMes - SalariosMes #------------------------------------------------------------------------ # Calculo la caja mínima para el nivel de riesgo CajaInicial<-as.numeric(quantile(CajaMinima,p=nr)) CajaInicial mean(CajaMinima); sd(CajaMinima) qnorm(nr,mean=mean(CajaMinima),sd=sd(CajaMinima),lower.tail=TRUE) hist(CajaMinima) #------------------------------------------------------------------------