最近我们被客户要求撰写关于风险价值(VaR)的研究报告,包括一些图形和统计输出。

如何使用Python通过蒙特卡洛模拟自动计算风险值(VaR)来管理投资组合或股票的金融风险。

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

VaR是 "风险价值 "的缩写,是许多公司和银行用来确定其公司内部金融风险水平的工具。风险值是为公司的投资而计算的,也可能是为检查银行或公司所管理的投资组合的风险水平。

视频:风险价值VaR原理与Python蒙特卡罗Monte Carlo模拟计算投资组合实例

风险价值VaR原理与Python蒙特卡罗Monte Carlo模拟计算投资组合实例

,时长10:03

相关视频:马尔可夫链蒙特卡罗方法MCMC原理与R语言实现

马尔可夫链蒙特卡罗方法MCMC原理与R语言实现

,时长08:47

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

风险值是在一定的概率水平(置信区间)下将产生的最小损失或在一定的概率水平下将实现的最大损失。

上图显示了一个公司在α%的置信水平下可能面临的最大损失。在个人层面上,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与蒙特卡洛模拟模型配合使用,也可用于通过股价预测损失和收益。这可以通过将产生的每日收益值与各自股票的最终价格相乘来实现。


Python蒙特卡罗(Monte Carlo)模拟计算投资组合的风险价值(VaR)相关推荐

  1. 使用 Engage 或 Workspace 创建 Monte Carlo 模拟的 4 个简单步骤

    20 世纪 40 年代,研究原子弹的科学家应用 Monte Carlo 模拟计算了一个裂变铀原子引起另一个裂变反应的概率,这是该模拟的首次应用,自此以来已经取得了很大进展.今天我们将介绍如何使用 Mi ...

  2. python计算和差积商_Python计算股票投资组合的风险价值(VaR)

    原文链接:http://tecdat.cn/?p=17758​tecdat.cn 什么是风险价值(VaR)? 风险价值(VaR)用于尝试量化指定时间范围内公司或投资组合中的财务风险水平.VaR提供了一 ...

  3. python 在险价值_Python计算股票投资组合的风险价值(VaR)

    在开始之前,请注意,标准VaR计算假定以下条件: 收益的正态分布 -VaR假设投资组合的收益是正态分布.对于大多数资产而言,这当然是不现实的,但允许我们使用更为简单的计算来制定基准. (可以对VaR进 ...

  4. 蒙特卡罗(Monte Carlo)方法

    蒙特卡罗(Monte Carlo)方法,也称为计算机随机模拟方法,是一种基于"随机数"的计算方法.          一 起源 这一方法源于美国在第二次世界大战进研制原子弹的&qu ...

  5. 在我方某前沿防守地域 matlab,[matlab]Monte Carlo模拟学习笔记

    理论基础:大数定理,当频数足够多时,频率可以逼近概率,从而依靠概率与$\pi$的关系,求出$\pi$ 所以,rand在Monte Carlo中是必不可少的,必须保证测试数据的随机性. 用蒙特卡洛方法进 ...

  6. 蒙特卡罗(Monte Carlo)法

    蒙特卡罗(Monte Carlo)法 又称统计实验法,是以概率论和数理统计为指导的模拟方法. 它的实质是运用一连串的随机数来模拟可能出现的随机现象,即为了求解确定的数学问题,要构造一个与原来的问题没有 ...

  7. 基于蒙特卡罗模拟的股票风险价值VaR测算

    基于蒙特卡罗模拟的股票风险价值VaR测算 前言:如果各位观看博客的想学的,可以通过Tushare金融数据注册链接注册账号,在获得相关数据集,这是本人的分享链接注册后,我可以获得50积分,谢谢各位支持. ...

  8. 蒙特卡洛模拟计算风险价值VAR之R语言实现

    一.解析VAR 当在分析方法中计算风险价值(VAR)时,我们需要假设金融工具的返回遵循一定的概率分布.最常用的是正态分布,这也是为什么我们通常称它为delta normal方法.要计算VAR,我们需要 ...

  9. 蒙特卡洛python求解派_利用蒙特卡洛(Monte Carlo)方法计算π值[ 转载]

    圆周率π是一个无理数,没有任何一个精确公式能够计算π值,π的计算只能采用近似算法. 国际公认的π值计算采用蒙特卡洛方法. 一.蒙特卡洛方法 蒙特卡洛(Monte Carlo)方法,又称随机抽样或统计试 ...

最新文章

  1. centos7 yum源_搭建内网Linux CentOS yum源,摆脱依赖包困扰
  2. C strcpy和strcat
  3. NativeScript - JS 构建跨平台的原生 APP
  4. 【jquery模仿net控件】初步GridView模型实现,及其简单应用
  5. android smart home,Android smart home system based on ATmega16
  6. 思科CISCO常用命令汇总
  7. 使用Mybatis拦截器实现数据分表
  8. Java程序员面试时,如何进行自我介绍呢?
  9. 椭圆形建筑——逸夫演艺中心
  10. 简单操作stm32f10xIO端口配置
  11. 树莓派官方显示屏亮度
  12. java 去掉图片水印文字_Java实现图片水印工具类
  13. 深度学习-核对矩阵维度
  14. ElasticSearch系列——Kibana,核心概念
  15. 锐文科技智能网卡xNIC-200/400在国产服务器测试性能报告
  16. JavaEE心得体会
  17. 8-9(CCPD车牌数据集)
  18. 正负数的二进制(转)
  19. C语言——生命小游戏
  20. Springboot毕设项目出租车管理系统qlk13java+VUE+Mybatis+Maven+Mysql+sprnig)

热门文章

  1. 我的免费空间--主机屋
  2. 实例分割之SOLO: Segmenting Objects by Locations
  3. 计算机强制关机后重启报错,蓝屏的时候电脑在想啥?这是我听到的最合理解释!...
  4. GAMIT使用中的VMF1映射函数模型下载
  5. 【附源码】计算机毕业设计JAVA重庆美食网站
  6. Web响应重定向301与302
  7. 微信中页面二次分享小图标丢失问题
  8. Alpha and Beta
  9. UG汽车配件模具设计全3D模具结构分析建模方法
  10. 图纸加密软件可以应用的领域有哪些?