跳到主内容
研究主线因子策略、对冲与尾部风险 · 第37–42讲6/6 · 配套练习模块导览 →
练习

第42讲:风险价值和条件风险价值 (VaR and CVaR) · 练习

计算指数的历史 VaR,比较股债组合 CVaR,再改变置信水平并核对单位、符号和尾部样本。

← 返回本讲讲义
完成状态保存在当前浏览器,可随时取消。

1. 标普500指数VaR计算#

使用yfinance获取标普500指数(代码^GSPC)2018-2023年历史数据,采用历史模拟法计算其95%置信水平的日度VaR(假设投资组合价值为100万美元)。请给出完整的数据获取代码和收益率计算过程。

数据依赖示例:

code
import yfinance as yf
# 获取5年历史数据
sp500 = yf.download('^GSPC', start='2018-01-01', end='2023-01-01')['Close']
# 计算日收益率
returns = sp500.pct_change().dropna()

2. 股债组合CVaR对比分析#

构建两个投资组合:

  • 组合A:等权重的苹果(AAPL)、微软(MSFT)、亚马逊(AMZN)

  • 组合B:70%权重股票(AAPL、MSFT、AMZN各占23.33%)+ 30%债券(TLT)

使用yfinance获取2017-2022年历史数据,分别计算两个组合在99%置信水平下的CVaR。请提供完整的资产数据获取代码和组合权重设置方法。

数据依赖提示:

code
# 股票与债券数据获取
assets = ['AAPL', 'MSFT', 'AMZN', 'TLT']
data = yf.download(assets, start='2017-01-01', end='2022-01-01')['Close']

3. 置信水平对风险指标的影响机制#

对NASDAQ指数(^IXIC)2020-2023年数据进行以下分析:

  1. 分别计算95%和99%置信水平的VaR、CVaR

  2. 比较两个置信水平下(CVaR - VaR)的差值变化

  3. 解释为何提高置信水平会导致VaR和CVaR变化幅度不同

数据依赖要求:

code
# 获取NASDAQ指数数据
nasdaq = yf.download('^IXIC', start='2020-01-01', end='2023-01-01')['Close']
# 计算对数收益率
import numpy as np
returns = np.log(nasdaq/nasdaq.shift(1)).dropna()

完成练习后,自评一次

建议先独立作答,再展开参考答案进行核对。

模块收束 · 0/6 已完成

把知识收束成可复核的研究产物

完成后应该能够

  • 能够完成因子从定义到风险约束的研究闭环
  • 能够区分因子收益、市场暴露和偶然回测收益

交付物

  • 一份可复核的因子 tearsheet 与风险归因

本模块已有 0/6 个主要学习单元完成。 本模块没有待复习项。