Целью симуляции Монте-Карло является оценка распределения убытков для страховой компании.
Я использую модель частоты-серьезности, которая
S = sum_ {i = 1} ^ {N} X_ {i}
где N - случайное число событий потери, а X_ {i} - серьезность потери.
Я получаю 2 файла Excel (один для больших и один для потерь на истощение) - скажем, я подхожу для лучших дистрибутивов, например:
крупные претензии: частота претензий моделируется через распределение Пуассона Poi (200), а серьезность - через логнормальное распределение логнормальное (a, b).
претензий на истощение: частота претензий моделируется с помощью Poi-распределения Poi (5000), а серьезность - логнормального распределения lognormal (x, y).
Теперь я хотел бы провести симуляцию Монте-Карло, чтобы оценить потери в предстоящем году.
В python можно вычислить симуляцию Монте-Карло:
def loss(r, loc, sig, scale, lam):
X = []
for x in range(5000): # up to 5000 loss events considered
if(r < poisson.cdf(x, lam)): # x denotes a loss number
out = 0
else:
out = lognorm.rvs(s=sig, loc=loc, scale=scale)
X.append(out)
return np.sum(X) # = L_1 + L_2 + ... + L_n
#Monte Carlo Sim.
losses = []
for _ in range(1000):
r = np.random.random()
losses.append(loss(r, loc, sig, scale, lam))
Но это, например, только для случая потерь на истощение ... Я хотел бы объединить оба случая в одном моделировании, чтобы получить распределение полных потерь .... и, возможно, в R вместо Python.
Надеюсь, вы мне поможете.
Заранее спасибо