当前位置: 首页 > news >正文

MATLAB计算投资组合的cVaR和VaR

计算条件风险价值 (Conditional Value-at-Risk, cVaR) 是一种衡量投资组合风险的方法,它关注的是损失分布的尾部风险。

MATLAB代码如下:

clc;close all;clear all;warning off;%清除变量
rand('seed', 100);
randn('seed', 100);
format long g;% 随机产生数据(例如,投资组合的日收益率)
nSamples = 1000; % 设置样本数量
returns = normrnd(0, 0.01, [nSamples, 1]); % 正态分布的随机收益率% 定义置信水平
confidenceLevel = 0.95; % 95%的置信水平% 对收益率进行排序
[sortedReturns, sortIndices] = sort(returns);% 计算VaR(Value-at-Risk)
VaRIndex = round(confidenceLevel * nSamples);
VaR = sortedReturns(VaRIndex);% 计算cVaR
% cVaR是损失超过VaR的期望值
cVaRIndexStart = VaRIndex + 1;
cVaR = mean(sortedReturns(cVaRIndexStart:end));% 输出结果
fprintf('VaR at %d%% confidence level is: %.4f\n', round(confidenceLevel*100), VaR);
fprintf('cVaR at %d%% confidence level is: %.4f\n', round(confidenceLevel*100), cVaR);% 数据可视化
figure;
histogram(returns, 'Normalization', 'pdf', 'BinMethod', 'auto');
hold on;
% 绘制VaR和cVaR线
xlimits = xlim;
plot([VaR, VaR], ylim, 'r--', 'LineWidth', 2);
% text(VaR, ylim(2)*0.7, sprintf('VaR: %.4f', VaR), 'Color', 'r');% cVaR是一个期望值,所以我们用一个点来表示它在直方图上的位置
plot(cVaR, 0, 'bo', 'MarkerSize', 10, 'MarkerFaceColor', 'b');
% text(cVaR, ylim(2)*0.6, sprintf('cVaR: %.4f', cVaR), 'Color', 'b');% 设置图表标题和坐标轴标签
title('投资组合收益率分布与VaR、cVaR');
xlabel('收益率');
ylabel('概率密度');% 释放hold状态
hold off;

程序结果如下:

http://www.lryc.cn/news/335375.html

相关文章:

  • YOLOv7全网独家改进: 卷积魔改 | 变形条状卷积,魔改DCNv3二次创新
  • 使用vue3搭建一个CRM(客户关系管理)系统
  • Linux虚拟内存简介
  • 合并单元格的excel文件转换成json数据格式
  • 云平台和云原生
  • ES6 => 箭头函数
  • vue将html生成pdf并分页
  • 数字社会下的智慧公厕:构筑智慧城市的重要组成部分
  • 比较好玩的车子 高尔夫6
  • 智过网:非安全专业能否报考注安?哪些专业可以报考?
  • 基于Whisper语音识别的实时视频字幕生成 (一): 流式显示视频帧和音频帧
  • STM32+ESP8266水墨屏天气时钟:文字取模和图片取模教程
  • 华为机试题
  • 【VUE】Vue3+Element Plus动态间距处理
  • 华为 2024 届校园招聘-硬件通⽤/单板开发——第一套(部分题目分享,完整版带答案,共十套)
  • 自己整理的ICT云计算题库四
  • 5.消息队列
  • 基于强化学习的对抗意图识别
  • vue canvas绘制信令图,动态显示标题、宽度、高度
  • 无影云电脑不能连接到本机的调试串口的解决方案
  • gpt科普1 GPT与搜索引擎的对比
  • Element-plus使用中遇到的问题
  • 如何使用Arduino IDE对STM32F103C8T6进行编程
  • 【迅为iMX6Q】开发板 Linux version 6.6.3 SD卡 启动
  • C语言每日一题(66)三数之和
  • vue3-element-admin实现同一个菜单多标签
  • 第三十六节 Java 网络编程
  • DRF的认证、权限、限流、序列化、反序列化
  • 解决:Cannot read properties of undefined (reading ‘validate‘)问题
  • 关于IP地址发展历程的详细探讨