乐趣区

关于算法:Python蒙特卡罗Monte-Carlo模拟计算投资组合的风险价值VaR

原文链接:http://tecdat.cn/?p=22862 

如何应用 Python 通过蒙特卡洛模仿主动计算危险值(VaR)来治理投资组合或股票的金融风险。

金融和投资组合风险管理中的 VaR?

VaR 是 “ 危险价值 “ 的缩写,是许多公司和银行用来确定其公司外部金融风险程度的工具。危险值是为公司的投资而计算的,也可能是为查看银行或公司所治理的投资组合的危险程度。

该计算能够被认为是一种统计办法。它也能够简化为以下语句  

危险值是在肯定的概率程度(置信区间)下将产生的最小损失或在肯定的概率程度下将实现的最大损失。

上图显示了一个公司在 α% 的置信水平下可能面临的最大损失。在集体层面上,VaR 能够帮忙你预测或剖析你的投资组合可能面临的最大损失。

蒙特卡洛模仿

蒙特卡洛模型是 Stanislaw Ulam 和 John Neumann 的心血结晶,他们在第二次世界大战后开发了这个模型。该模型是以摩纳哥的一个赌博城市命名的,这是因为赌博中存在机会和随机性。

蒙特卡洛模仿是一个概率模型,它应用产生的随机变量与经济因素(冀望收益率、稳定率),来预测后果。该模型常常被用来计算危险和不确定性。

咱们当初将应用蒙特卡洛模仿为咱们的资产组合生成一组预测收益,这将有助于咱们找出咱们投资的危险值。


在 Python 中计算 VaR

咱们将首先通过导入所需的库和函数

# 导入所有须要的库
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd

为了咱们我的项目的目标,我思考了过来两年的 股票。

 for i in range(len):  web.get_data(tickers\[i\] 
stocks.tail()

 

下一步,咱们将计算每个资产的组合权重。能够通过实现最大夏普比率来计算资产权重。

# 年化收益率
historical_return(stocks)
#投资组合的样本方差
sample_cov# 夏普比率
EffFro(mu, Sigma, weight_bounds=(0,1)) #正数的权重界线容许做空股票
max_sharpe() #能够应用减少指标来确保单个股票的最小零权重 

最大夏普比率的资产权重

资产权重将被用于计算投资组合的冀望收益。

#VaR 计算
rx2 = \[\]# 换为最大夏普比率的资产权重
list(sharpe.values())

当初,咱们将把投资组合的股票价格转换为累计收益,这也能够被视为本我的项目的持有期收益(HPR)。

   tick  = (tick  +1).cumprod()

# 画出所有股票的累积 /HPR 的图形
tick\[col\].plot()plt

当初,咱们将挑选出每个资产的最新 HPR,并应用.dot() 函数将收益率与计算出的资产权重相乘。

sigma = pre.std()
price=price.dot(sh_wt) #计算加权值 

在计算了投资组合的冀望收益和稳定率(冀望收益的标准差)后,咱们将设置并运行蒙特卡洛模仿。我应用的工夫是 1440(一天中的分钟数),模仿运行 20,000 次。工夫步长能够依据要求扭转。我应用了一个 95% 的置信区间。

for j in range(20000): #20000 次模仿运行 (rtn/Time,sigma/ sqrt(Time),Time)
plt(np.percentile(daily_returns,5)

1440 分钟内一天的收益范畴 | 红色 – 最小损失 | 绿色 – 最小收益

将收益率的分布图可视化,咱们能够看到以下图表

plt.hist(returns)
plt.show()

输入下限和上限的精确值,并假如咱们的投资组合价值为 1000 元,咱们将计算出应该保留的资金数额补救咱们的最低损失。

print(percentile( returns,5),percentile(returns,95)) VaR - 在 5% 的概率下,最小损失为 5.7%,同样,在 5% 的概率下,收益能够高于 15%

每天的最低损失是 1.29%,概率为 5%。

所得金额将标记着每天补救你的损失所需的金额。这个后果也能够解释为你的投资组合在 5% 的概率下将面临的最低损失。

总结

下面的办法显示了咱们如何计算投资组合的危险价值(VaR)。对于应用古代投资组合实践(MPT)计算肯定数量的投资组合,有助于坚固你对投资组合分析和优化的了解。最初,VaR 与蒙特卡洛模仿模型配合应用,也可用于通过股价预测损失和收益。这能够通过将产生的每日收益值与各自股票的最终价格相乘来实现。


最受欢迎的见解

1. R 语言基于 ARMA-GARCH-VaR 模型拟合和预测实证钻研

2. R 语言时变参数 VAR 随机模型

3. R 语言预计时变 VAR 模型工夫序列的实证钻研

4. R 语言基于 ARMA-GARCH 过程的 VAR 拟合和预测

5.GARCH(1,1),MA 以及历史模拟法的 VaR 比拟

6. R 语言用向量自回归(VAR)进行经济数据脉冲响应

7. R 语言实现向量主动回归 VAR 模型

8. R 语言随机搜寻变量抉择 SSVS 预计贝叶斯向量自回归(BVAR)模型

9. R 语言 VAR 模型的不同类型的脉冲响应剖析

退出移动版