第10章 推断统计学
Python金融大数据分析——第10章 推断统计学 笔记1
Python金融大数据分析——第10章 推断统计学 笔记2
Python金融大数据分析——第10章 推断统计学 笔记3
10.4 风险测度
10.4.1 风险价值
风险价值(VaR)是最广泛使用的风险测度之一, 也是饱受争议的测度之一。从业人员喜欢其直观性. 但是许多人对其有限的尾部风险捕捉能力进行广泛的讨论和批评——主要是在理论依据上。从字面上讲, VaR 是一个以货币单位(如 美元、欧元、日元)表示的数字, 表示在给定时间周期中不超过某种置信度(概率)的损失(或者一个投资组合、股票头寸等)。
考虑一个当日价值为100万美元的股票头寸, 在30天( 1个月)内、 置信度为99%的情况下 VaR 为 5 万美元。 这个 VaR 数字说明, 30天内损失不超过 5 万美元的概率为99% ( 100 个案例中有 99 个)。但是, 它并不说明一旦损失超过 5万美元, 损失的规模会达到什么程度——也就是如果最大损失为10万或者50万美元时, 这种特定的“高于 VaR 的损失” 概率有多大。它所说明的只是,发生 5万美元或者更大损失的概率为 1%。我们再次假定使 Black-Scholes-Merton 设置,考虑如下的参数化和未来日期 T=30/365(即假定 30 天的一段时期)指数水平的模拟:
import numpy as np
import numpy.random as random
import matplotlib.pyplot as plt
S0 = 100
r = 0.05
sigma = 0.25
T = 30 / 365.
I = 10000
ST = S0 * np.exp((r - 0.5 * sigma ** 2) * T + sigma * np.sqrt(T) * random.standard_normal(I))
# 为了估算VaR数字,需要模拟的绝对利润和相对于近日持仓价值的亏损,并加以排序,即从最严重的亏损到最大的利润
R_gbm = np.sort(ST - S0)
plt.hist(R_gbm, bins=50)
plt.xlabel('absolute return')
plt.ylabel('frequency')
plt.grid(True)
几何布朗运动的绝对收益( 30 日)
import scipy.stats as scs
percs = [0.01, 0.1, 1., 2.5, 5., 10.]
var = scs.scoreatpercentile(R_gbm, percs)
print("%16s %16s" % ('Confidence Level', 'Value-at-Risk'