日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

【FinE】在险价值(VaR)计算

發(fā)布時間:2023/12/3 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【FinE】在险价值(VaR)计算 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

導航

  • VaR模型
  • 案例:AAPL
    • 歷史模擬法
    • 參數(shù)模型分析法
    • 非參數(shù)bootstrap
    • Monte-Carlo模擬計算
  • 參考資料

VaR模型

在險價值Value-at-risk的定義為,在一定時期Δt\Delta tΔt內(nèi),一定的置信水平1?α1-\alpha1?α下某種資產(chǎn)組合面臨的最大損失,公式為
P(Δp≤VaR)=1?αP(\Delta p\leq VaR)=1-\alpha P(ΔpVaR)=1?α
在持有組合時期Δt\Delta tΔt內(nèi),給定置信水平1?α1-\alpha1?α下,該組合的最大損失不會超過VaR,使用VaR進行風險衡量時,需要給定持有期和置信水平,巴塞爾協(xié)會規(guī)定持有期標準為10天,置信水平為99%,商業(yè)銀行可以確定各自的水平,J.P.Morgan公司在1994年年報中設置持有期為1天,置信水平為95%,VaR值為1500萬元,即J.P.Morgan公司在一天內(nèi)所持有的風險頭寸損失小于1500萬的概率為95%.

VaR的主要性質(zhì):

  • 變換不變性:VaR(X+a)=VaR(X)+a,a∈RVaR(X+a)=VaR(X)+a, a\in\mathbb{R}VaR(X+a)=VaR(X)+a,aR
  • 正齊次性:VaR(aX)=aVaR(X),a<0VaR(aX)=aVaR(X), a<0VaR(aX)=aVaR(X),a<0,資產(chǎn)的風險與持有頭寸呈反比關系
  • 協(xié)單調(diào)可加性:VaR(X1+X2)=VaR(X1)+VaR(X2)VaR(X_1+X_2)=VaR(X_1)+VaR(X_2)VaR(X1?+X2?)=VaR(X1?)+VaR(X2?)
  • 不滿足次可加性和凸性:不滿足次可加性表示資產(chǎn)組合的風險不一定小于各資產(chǎn)風險之和,這個性質(zhì)導致VaR測度存在不合理性,因為組合VaR不可以通過求各個資產(chǎn)的VaR得出。不滿足凸性表示以VaR為目標函數(shù)的規(guī)劃問題一般不是凸規(guī)劃,局部最優(yōu)解不一定是全局最優(yōu)解,由于多個局部極值的存在導致無法得到最優(yōu)資產(chǎn)組合
  • 滿足一階隨機占優(yōu)
  • VaR關于概率水平1?α1-\alpha1?α不是連續(xù)的

VaR對風險的衡量具有前瞻性,將預期損失的規(guī)模和發(fā)生的概率結合,可以了解在不同置信水平上風險的大小.
但是VaR模型是對正常市場環(huán)境中金融風險的衡量,如果整體環(huán)境出現(xiàn)了動蕩或者發(fā)生極端情況時,VaR就會失去參考價值,一般加上壓力測試(Stress Test)結合極值分析進行風險衡量,常用的極值分析方法有BMM和POT兩種,極值分析就是當風險規(guī)模超過設定閾值時進行建模,處理風險尾部.
由于金融數(shù)據(jù)的低信噪比特點,導致數(shù)據(jù)呈現(xiàn)尖峰后尾的分布,這種分布導致VaR模型無法產(chǎn)生一致性度量,針對風險度量的不一致性可以使用條件風險價值CVaR模型修正,即當資產(chǎn)組合損失超過給定的VaR值時,資產(chǎn)組合的損失期望,計算公式如下
CVaRα=E(?X∣?X≤VaRα(x))CVaR_\alpha=\mathbb{E}(-X\mid -X\leq VaR_\alpha(x)) CVaRα?=E(?X?XVaRα?(x))
其中XXX表示資產(chǎn)的損益,CVaR滿足以下性質(zhì):

  • 一致連續(xù)性
  • 次可加性,?X,Y\forall X, Y?X,Y滿足ρ(X+Y)≤ρ(X)+ρ(Y)\rho(X+Y)\leq \rho(X)+\rho(Y)ρ(X+Y)ρ(X)+ρ(Y)
  • 滿足二階隨機占優(yōu)
  • 滿足單調(diào)性,?X≤Y\forall X\leq Y?XY滿足ρ(X)≤ρ(Y)\rho(X)\leq \rho(Y)ρ(X)ρ(Y)

案例:AAPL

歷史模擬法

歷史模擬法計算AAPL公司的VaR,歷史模擬法使用市場歷史因子的變化來估計市場因子未來的變化,對市場因子的估計采用權值估計方法,根據(jù)市場因子的未來價格水平對頭寸進行重新估值,計算出頭寸的價值變化,將組合損益從小到大排序,得到損益分布,通過計算給定置信度下的分位數(shù)求出VaR. 這里計算了置信水平分別為95%和99%的VaR.

歷史模擬法python代碼

import pandas_datareader.data as web import datetime as dt import pandas as pd import numpy as np from scipy.stats import norm import matplotlib.pyplot as pltstart=dt.datetime(2012, 1, 1) end=dt.datetime(2018, 12, 31) df=web.DataReader('AAPL', 'yahoo', start, end)# 對數(shù)收益率 df['return']=np.log(df['Adj Close']/df['Adj Close'].shift(1)) # 計算收益率的分位數(shù) # 5%分位數(shù) VaR5=np.percentile(df['return'].dropna(), 5) # 1%分位數(shù) VaR1=np.percentile(df['return'].dropna(), 1)def hm_demo():grey = 0.75, 0.75, 0.75fig=plt.figure(figsize=(8, 6))plt.hist(df['return'], bins=50, alpha=0.5, color=grey)plt.plot([VaR5, VaR5], [0, 100], 'b:', linewidth=2, label='5% VaR')plt.plot([VaR1, VaR1], [0, 100], 'r:', linewidth=2, label='1% VaR')plt.xlim([-0.1, 0.1])plt.ylim([0, 250])plt.legend()# plt.savefig('hm_var.png')plt.show()hm_demo()

參數(shù)模型分析法

分析法利用證券組合的價值函數(shù)與市場因子之間的近似關系,推斷市場因子的統(tǒng)計分布,簡化VaR計算.
使用參數(shù)模型分析法需要進行數(shù)據(jù)預處理工作,在Matlab(R 2012a)中常用數(shù)據(jù)預處理函數(shù)如下

% 計算股票樣本的均值,標準差,相關性與beta % 價格轉(zhuǎn)收益率 tick_ret=tick2Ret(stockPrices, [], 'continuous') mu=mean(tick_ret) % 計算均值 std=std(tick_ret) % 計算標準差 mdd=maxdrawdown(tick_ret) % 計算最大回撤 coef=corrcoef(tick_ret) % 相關系數(shù)矩陣

tick2ret函數(shù)說明

[RetSeries, RetIntervals]=tick2ret(TickSeries, TickTimes, Method) INPUT TickSeries: 價格序列 TickTimes: 時間序列 Method: 計算方法,continuous表示對數(shù)收益率計算log(x)-log(y);simple表示簡單收益率計算(x-y)/y OUTPUT RetSeries: 收益率序列 RetIntervals: 收益率對應的時間間隔

maxdrawdown函數(shù)說明

T日組合最大回撤計算接口為 [MaxDD, MaxDDIndex]=maxdrawdown(Data, Format) INPUT Data: 組合每日總收益序列 Format: 類別有 return(默認,收益率序列),arithmetic(算術布朗運動),geometric(幾何布朗運動) OUTPUT MaxDD:最大回撤值 MaxDDIndex:最大回撤值位置

參數(shù)模型法計算VaR使用接口portvrisk,函數(shù)說明如下

ValueAtRisk=portvrisk(PortReturn, PortRisk, RiskThreshold, PortValue) INPUT PortReturn:組合收益率 PortRisk: 組合標準差 RiskThreshold:置信度閾值,默認為5% PortValue:組合資產(chǎn)價值,默認為1 OUTPUT ValueAtRisk:風險價值

參數(shù)模型法計算程序如下

pVar=portvrisk(mean(ret), std(ret), [0.01, 0.05], port_value); confidence=pVar/port_value

非參數(shù)bootstrap

對歷史數(shù)據(jù)進行有放回的采樣,計算每次采樣的VaR,然后對所有采樣結果求期望,設置采樣容量為300,進行200輪采樣的結果如下

python非參數(shù)bootstrap代碼

def bootstrap_demo():ret=df['return'].dropna()# 有放回采樣def sample(data, size):sample=np.random.choice(data, size, replace=True)VaR5=np.percentile(sample, 5)VaR1=np.percentile(sample, 1)return (VaR5, VaR1)sz, n=300, 200samples=np.array([sample(ret, sz) for _ in range(n)])VaR5, VaR1=np.mean(samples, axis=0)grey = 0.75, 0.75, 0.75fig=plt.figure(figsize=(8, 6))plt.hist(df['return'], bins=50, alpha=0.5, color=grey)plt.plot([VaR5, VaR5], [0, 100], 'b:', linewidth=2, label='5% VaR')plt.plot([VaR1, VaR1], [0, 100], 'r:', linewidth=2, label='1% VaR')plt.xlim([-0.1, 0.1])plt.ylim([0, 250])plt.legend()plt.savefig('bootstrap_var.png')plt.show()bootstrap_demo()

Monte-Carlo模擬計算

Monte-Carlo計算歐式期權價格可以見這篇博客.
Monte-Carlo模擬的基本步驟是:
1.選擇市場因子變化的隨機過程和分布,估計該過程的參數(shù)的相關參數(shù).
2.模擬市場因子的變化路徑,建立對市場因為未來的預測
3.對市場因子每個情景,利用公式計算價值和變化
4.根據(jù)組合價值變化分布模擬結果,計算給定置信度下的VaR.
設置股票價格符合幾何布朗運動,即
St+1=Stexp?((μ?σ22)Δt+σεΔt)S_{t+1}=S_t\exp((\mu-\frac{\sigma^2}{2})\Delta t+\sigma\varepsilon\sqrt{\Delta t}) St+1?=St?exp((μ?2σ2?)Δt+σεΔt?)
其中μ\muμ為收益率均值,σ2\sigma^2σ2為收益率方差,ε\varepsilonε為從Gaussian分布中抽樣出的隨機值.
計算Δt=1\Delta t=1Δt=1日的VaR值

python蒙特卡洛模擬計算代碼

def monte_carlo_demo():ret = df['return'].dropna()mu, sig = np.mean(ret), np.std(ret)def gbm(s0, T, n):dt=T/nprice=s0for _ in range(n):eps=np.random.normal()s=price*np.exp((mu-sig**2/2)*dt+sig*eps*np.sqrt(dt))price=sreturn pricesp=[]s0=1for _ in range(10000):sp.append(gbm(s0, 1, 100))sret=np.array(sp)/s0-1VaR1=np.percentile(sret, 1)VaR5=np.percentile(sret, 5)print(VaR1, VaR5)grey = 0.75, 0.75, 0.75fig=plt.figure(figsize=(8, 6))plt.hist(df['return'], bins=50, alpha=0.5, color=grey)plt.plot([VaR5, VaR5], [0, 100], 'b:', linewidth=2, label='5% VaR')plt.plot([VaR1, VaR1], [0, 100], 'r:', linewidth=2, label='1% VaR')plt.xlim([-0.1, 0.1])plt.ylim([0, 250])plt.legend()plt.savefig('monte-carlo_var.png')plt.show()monte_carlo_demo()

kkk天的VaR可以根據(jù)公式
VaRk=VaR1?kVaR_k=VaR_1*\sqrt{k} VaRk?=VaR1??k?
計算,或者令程序中gbm參數(shù)T=k進行模擬計算.

參考資料

DCC-Garch VaR 量化小白H
Copula模型估計組合VaR 量化小白H
python金融實戰(zhàn)之計算VaR
Risk Analysis in Python
量化投資以Matlab為工具 中國工信出版集團 李洋 鄭志勇

總結

以上是生活随笔為你收集整理的【FinE】在险价值(VaR)计算的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。