(四十四)蒙特卡洛模拟法计算VaR

article/2025/4/2 0:48:35

思路简介

  每一次蒙特卡洛模拟,对资产组合中的每一资产按照随机过程公式模拟出下一个交易日的价格,公式中的ε可以假定服从t分布或正态分布(即资产收益率服从的分布),然后可以得到每一资产的收益率,乘以各自的权重和市值就能得到每一资产在下一个交易日的收益,全部相加就是该资产组合在下一个交易日的模拟收益。
在这里插入图片描述
  比如蒙特卡罗模拟法的抽样次数是10000次,通过重复以上的步骤可以得到组合收益的10000个不同的样本值,持有期1天、置信水平95%的投资组合风险价值就对应于样本数值中排在第500位最大损失的取值。

案例分析

  依然以(四十三)中的案例为例,计算该资产组合持有期为1天、置信水平为99%情况下的VaR,同时假定ε在模拟过程中服从正态分布或t分布。ε服从t分布时:

import numpy as np
I=10000
e1=np.random.standard_t(df=len(R),size=I)#自由度为收益率数据长度的t分布
e2=np.random.standard_normal(size=I)
S0=np.array(data.iloc[-1])#每一资产最后一个交易日的价格
Rmean=R.mean()*252#计算每一资产的μ
Rvol=R.std()*np.sqrt(252)#计算每一资产的σ
dt=1/252#时间间隔
S=np.zeros(shape=(I,len(w)))#存放10000×5个模拟价格数据
for i in range(len(w)):#代入随机过程S[:,i]=S0[i]*np.exp((Rmean[i]-0.5*Rvol[i]**2)*dt+Rvol[i]*e1*np.sqrt(dt))
#每一行∑资产收益率×相应权重市值就得到一个资产组合的收益,一共10000行
Sp=(np.dot(S/S0-1,w))*1e8
import matplotlib.pyplot as plt
from pylab import mpl
mpl.rcParams['font.sans-serif']=['SimHei']
mpl.rcParams['axes.unicode_minus']=False
plt.hist(Sp,bins=40,edgecolor='k')
plt.xlabel('模拟的投资组合日收益额')
plt.ylabel('频数')
plt.title('蒙特卡洛模拟投资组合日收益额直方图(t分布)')
plt.grid()
VaR99_1day=abs(np.percentile(Sp,1))
VaR99_1day
Out[11]: 2017308.9989261786

在这里插入图片描述
  ε服从正态分布时:

S=np.zeros(shape=(I,len(w)))
for i in range(len(w)):S[:,i]=S0[i]*np.exp((Rmean[i]-0.5*Rvol[i]**2)*dt+Rvol[i]*e2*np.sqrt(dt))
Sp2=(np.dot(S/S0-1,w))*1e8
VaR99_1day=abs(np.percentile(Sp2,1))
VaR99_1day
Out[11]: 2008156.813210965

  从结果来看,当资产收益率服从正态分布时,蒙特卡洛模拟计算的组合VaR值低于服从t分布的VaR值(大部分情况下)。


http://chatgpt.dhexx.cn/article/hogQl9hv.shtml

相关文章

基于拟蒙特卡洛模拟法的随机潮流计算matlab程序

电力系统随机潮流计算中常采用模拟法,该方法原理简单、使用方便,能够精确地模拟实际物理过程,但是简单的蒙特卡洛模拟法收敛速度很慢,要得到精确的结果需要以大量的计算时间为代价。本章在此基础上提出了基于拟蒙特卡洛模拟的随机…

【Python量化】蒙特卡洛模拟法预测股价走势

文章目录 蒙特卡罗模拟法的定义蒙特卡罗模拟法的的Python实现蒙特卡洛模拟法模拟股票收益率序列蒙特卡洛模拟法模拟股价序列蒙特卡洛模拟法绘制模拟股价序列图 此文章首发于公众号:Python for Finance 链接:https://mp.weixin.qq.com/s/43KQgH-BArop29u…

Ubuntu18.04上安装ROS的详细教程

文章目录 前言一、环境配置二、安装步骤1.添加ROS软件源2.添加密钥3.更换软件源4.安装ROS5.初始化rosdepc6.设置环境变量7.安装 rosinstall8.验证ROS是否安装成功 总结参考文献 前言 最近,学习了胡老师的《ROS入门21讲》,在Ubuntu18.04上安装ROS过程中遇…

在Ubuntu18.04中安装ROS教程

1.创建虚拟机 自定义安装,手动选择镜像文件,处理器选择1个处理器,8个核心,其他选择默认的即可。 2.换源 新装的虚拟机会提示更新(不是更新系统),建议换完源之后再更新。 左下角点开&#xff…

Ubuntu 安装 ROS 详细教程

最近需要用ROS控制一个小车底盘,然后发现不会了。。。 所以写一篇博客记录一下,以便以后查阅。 OS:Ubuntu 20.04 ROS:noetic 1. 设置Ubuntu的软件和更新 在搜索框输入software,选择软件和更新一项,勾选 ma…

Ubuntu18.04、Ubuntu20.04之ROS安装教程

目录 Ubuntu20.04之ROS(noetic)安装教程 Ubuntu18.04之ROS(melodic)安装教程 ubuntu20.04之ROS(noetic)安装教程 1、软件源(作用是比官方快) sudo sh -c . /etc/lsb-release &…

ROS安装超详细保姆级教程

1.版本选择 ROS与Ubuntu版本是有着对应关系的,其中Ubuntu1604 ROS Kinetic;Ubuntu1804 ROS Melodic; Ubuntu2004 ROS Noetic 本文以 Ubuntu2004 ros noetic 进行安装操作演示 2.安装实操 2.1 打开网站http://wiki.ros.org/noetic/Ins…

ubuntu20.04安装ROS极简教程 (noetic)

1.基础安装步骤 # 1.添加 sources.list sudo sh -c echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list # 2.添加 keys sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-ke…

ubuntu16.04 ROS安装

ros安装官方链接:cn/kinetic/Installation/Ubuntu - ROS Wiki 建议参考链接:Ubuntu16.04 安装ROS Kinetic 究级详细教程_IU知恩于心的博客-CSDN博客_ubuntu16.04安装ros 问题现象: 下列软件包有未满足的依赖关系: ros-kinetic…

详细介绍如何在ubuntu20.04中安装ROS系统,超快完成安装(最新版教程)

2020年的10月份,我整理写了一篇名为:详细介绍如何在ubuntu20.04中安装ROS系统,以及安装过程中出现的常见错误的解决方法,填坑!!!的博客,已经经过了很多小伙伴的验证,确实…

ros2安装教程

ros官网安装指导: https://docs.ros.org/en/galactic/Installation/Ubuntu-Install-Debians.html 1、确保支持UTF-8语言环境 locale # check for UTF-8sudo apt update && sudo apt install locales sudo locale-gen en_US en_US.UTF-8 sudo update-loca…

Apollo ROS安装教程

1.安装Ubuntu 14.04 2.安装ROS Indigo版本 安装可能以下出现的问题 错误信息:Unpacking ros-indigo-desktop-full (1.1.6-0trusty-20181006-135515-0800) ... Errors were encountered while processing:/var/cache/apt/archives/python-rosdistro-modules_0.7.0…

Ubuntu 安装 ROS 教程

Ubuntu 安装 ROS 一、修改为国内镜像源二、ROS 官网安装介绍(kinetic-16.04、melodic-18.04、noetic-20.04)三、ROS 安装步骤1.添加 ROS 软件源到 sources.list2.导入密钥3.更新4.安装 ROS 完整版5.初始化rosdep第一步第二步 6.配置环境变量7.安装 rosin…

Ubuntu18.04安装 ROS Melodic教程

Ubuntu对应ROS的不同版本: 我的操作系统为Ubuntu 18.04 LTS 64bit应采用ROS版本为ROS Melodic。 下面以我的版本为例: 配置Ubuntu软件仓库 打开软件中心,按照下图进行配置。 确保你的"restricted", “universe&#…

ROS安装教程详解

一、准备工作 1. 一个装有Ubuntu14.04镜像文件的U盘启动盘 2. 电脑安装EASYBCD、分区助手软件 3. 保证电脑硬盘有一个分区有足够的空间安装ROS,和Ubuntu14.04 二、制作启动盘 1.首先我们先安装软碟通,完成安装后打开软碟通,文件->打开,打开我们的iso镜像 2.然后选择…

ROS安装教程(ubuntu18.04+melodic版本)

1. ROS版本选择 ROS是一个用于编写机器人软件的灵活框架,它集成了大量的工具、库、协议,提供了类似操作系统所提供的功能,包括硬件抽象描述、底层驱动程序管理、公用功能的执行、程序间的消息传递、程序发行包管理,可以极大简化繁…

ROS 安装教程Ubuntu16.04(2022年最新)

ROS是机器人操作系统(Robot Operating System)的英文缩写,源自斯坦福的开源项目。 Ubuntu16.04只能安装ROS Lunar Loggerhead或ROS Kinetic Kame 依次完成以下四步. 第四步提示是否不验证,需输入y ,等待安装完成 sudo sh -c echo "de…

ROS安装教程(详细)

总结一下这两天安装ROS的过程。 1 配置软件库 桌面左侧栏 点search your computer,输入updates,点 Software & Updates,将main,universe,multiuniverse,restricted全都勾上,将Download from换成中科大的 http://mirrors.ust…

Ubuntu18.04对应的ROS安装步骤教程

Ubuntu18.04对应的ROS安装教程 一、ROS配置1 配置Ubuntu18.04 软件仓库2 开始安装3 测试 二、遇到的问题1 ROS无法下载问题2 sudo: rosdep: command not found3 rosdep update4 roscore 无法运行 三、不同Ubuntu系统下ROS版本安装教程1 Ubuntu 18.04 对应 ROS Melodic Morenia2…

ROS教程(一):ROS安装教程(详细图文)

ros教程:ros详细安装步骤(添加源、下载ROS及环境配置) 文章目录 前言一、版本选择二、开始安装2.1 软件中心配置2.2 添加源(注)2.3 安装2.4 配置ROS环境到系统 三、验证ROS 前言 关于ROS(Robot OS 机器人操…