蒙特卡罗模拟在金融与社会政策中的应用
1. 风险价值(VaR)的两种模拟方法
在金融领域,风险价值(VaR)是衡量投资组合风险的重要指标。我们可以运用两种方法来估算单个股票或投资组合的VaR:一种基于正态性假设,另一种基于历史收益率的排序。蒙特卡罗模拟可以将这两种方法联系起来。
以下是具体的Python代码实现:
import numpy as np
import scipy as sp
import pandas as pd
from scipy.stats import norm
# 投资组合价值
position = 1e6
# 波动率
std = 0.2
# 平均收益率
mean = 0.08
# 置信水平
confidence = 0.99
# 模拟次数
nSimulations = 50000
# 方法一
z = norm.ppf(1 - confidence)
VaR = position * (mean + z * std)
print("Holding=", position, "VaR=", round(VaR, 2), "tomorrow")
# 方法二:蒙特卡罗模拟
sp.random.seed(12345)
ret2 = sp.random.normal(mean, std, nSimulations)
ret3 = np.sort(ret2)
m = int(nSimulations * (1 - confidence))
VaR2 = position * (ret3[m])
print("Holding=", position, "VaR2=", round(VaR2, 2), "
超级会员免费看
订阅专栏 解锁全文
2278

被折叠的 条评论
为什么被折叠?



