R中的组合蒙特卡罗模拟

时间:2019-01-07 14:53:47

标签: r montecarlo

蒙特卡洛模拟的目的是估算保险公司的损失分布。

我正在使用频率严重性模型

S = sum_ {i = 1} ^ {N} X_ {i}

其中N是随机数量的丢失事件,X_ {i}是丢失严重性。

我得到2个excel文件(一个大文件,一个减少损耗文件)-可以说我适合最佳分布,例如:

大型索赔:索赔频率通过泊松分布Poi(200)建模,严重性通过对数正态分布lognormal(a,b)建模。

传统索赔:索赔频率通过泊松分布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。

希望您能帮助我。

提前谢谢

0 个答案:

没有答案