matlab 在险价值 VaR 的计算
matlab 在险价值 VaR 的计算
VaR 模型
数据获取
历史模拟法
蒙特卡罗模拟法
参数模型法
代码和数据下载
VaR 模型
Value at Risk 在险价值,即 VaR。是指一定时期内,一定置信水平下,某种资产组合面临的最大损失。
Prob(Δp≤VaR)=1−αProb(\Delta p \le VaR) = 1 - \alphaProb(Δp≤VaR)=1−α
Δp\Delta pΔp 是该时期内投资组合市值变动。这个式子表示,在一定持有期 Δt\Delta tΔt 内,在给定的置信水平 1−α1- \alpha1−α 下,该投资组合的最大损失不会超过 VaR。
数据获取
在做 VaR 实战之前,我们得先获取实验数据。这部分可以参考我之前的文章。简单来说,就是需要个 tuhsare 账号,可以点去这里注册个https://tushare.pro/register?reg=126259账号,好像直接点击链接会提示风险,需要复制打地址栏打开,然后获取 自己的token,替换下文中的 token。代码如下:
close all
clear
clc
%% 数据准备
% 尝试用从tushare读取数据,如果因为版本问题读取数据失败
% 则用之前保存下来的数据进行计算
try
% 加载tushare包
addpath(genpath(pwd));
% 替换成你自己的token
token = '**************937459c8b611e0a97d0abf*******';
api = pro_api(token);
stockall = api.query('stock_basic');
% 读取数据参数设定
start_time = '20180101';
end_time = '';
ktype = 'D';
% 取沪深300做为市场指数
indexdata = pro_bar('000300.SH', api, start_time, end_t