置信系数 表达了置信区间的计算_大家的资产组合合理吗?股票计算风险值VaR|历史模拟蒙特卡罗...

38c333ec40df12bb962184a1c80c5191.png

概念

资产组合的概念是指的:有资产在手的人对其持有的各种股票、债券、基金、现金及其他资产进行的合理组合。通过对资产的合理搭配,可以保证一定水平的盈利,还能把投资风险降到最低。

证券投资中,高收益往往伴随着高风险,人们期望收益越高越好,但是由于每种证券都有风险,若只考虑追求收益,资产过分集中和单一,一旦出现股票大跌,遭受损失的程度就会越大。因此,通过科学的分析和评估,将证券投资进行合理的搭配组合,就可以实现在收益最大的同时风险最小。

VaR( Value at Risk) 即风险值或在险值,是定量测度资产风险水平的一种工具。基于统计技术的度量金融市场风险值VaR(Value at Risk),已成为各种金融机构、非金融机构和监管者测量市场风险的新标准和新方法。

案例:

任选资产组合,用历史模拟法(或方差协方差法)和蒙特卡罗模拟法计算其风险值。要叙述清楚过程,比如若用蒙特卡罗模拟,需写明预设何分布,使用何种函数关系等(excel做)

历史模拟法

1.计算对数收益率

2.假设投资组合3资产平权,计算投资组合收益率

3.假设总资产1000000,计算预期损益

4.对预期损益排序并得到其百分位点,取95%,若95%在已有数据在(A)a%和(B)b%之间则:

VaR(95%)=A+(B-A)*(b-a)*(dt),dt为A,B的期数差

方差协方差法

1.重复历史模拟法的1-2

2.计算投资组合收益率的标准差s

3.VaR(95%)=1.65(假设服从正态分布)*s*1000000

蒙特卡洛模拟法

1.重复方差协方差法的1-2

2.计算投资组合收益率的均值u

3.假设期初价值P0=1000000,一年有252交易日,有年均值yu=u/t*252,ys=s*(252/t)^0.5进行蒙特卡洛模拟(对数正态分布连续复利),t为期数

P(t+1)=P(t)*e^((yu-0.5*ys^2)*dt+(ys*dt^0.5*rand)),rand为0-1的随机小数,dt为时间格点=1/252

每次模拟一期(1日损益),重复100次

4.重复历史模拟法的4,减去期初价格

数据如下:

60d981bd0e11beb194cb5ea1eccb2cd4.png
ba53b57e227e0b053516e03cbc200c21.png
634fd13c2fc5fa05252ffb5ddf30b2a4.png

结果如下:

aea7c09832b2a6ed2882b1b1347f5756.png
03936f20233f11e4875f7eb43be7cd17.png
dd6638ed8c4f2bede7bfabf22449a7e5.png
d9dac93fbfa7e31c7d02c303c7ec550e.png
6fd7274c4e589ff8ea62f3a467ea36be.png

每种方法计算出来的风险值最终值都标红了,每个公式都能在格子里面看到。

蒙特卡洛模拟法预设分布,直接用的对数服从对数正态分布,,所以收益率用的对数收益率

P(t+1)=P(t)*e^((yu-0.5*ys^2)*dt+(ys*dt^0.5*rand)),rand为0-1的随机小数,dt为时间格点=1/252,

yu和ys分别是均值和波动率,

VAR(95%)就是95%置信区间的VaR,

计算均值还有收益率的std,

然后252/t和(252/t)^0.5年化,

一般历史模拟法计算证券投资组合的VaR容易高估,方差协方差法计算证券投资组合的VaR容易低估,这个结果是历史模拟法是低估,方差协方差法式高估 ,是因为方差协方差,是假设服从一定分布还有情况下的,是基于假设原则上认为他会低估,但实际情况,高估低估是对资产实际表现而言的。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个使用蒙特卡罗模拟计算两支股票未来 `n.days` 天的收益率路径,并计算 VaR 和 ES 的 R 代码示例: ``` library(fGarch) # 模型参数 omega1 <- 0.1 alpha1 <- 0.2 beta1 <- 0.7 omega2 <- 0.05 alpha2 <- 0.3 beta2 <- 0.6 # 模拟路径的长度 n <- n.days # 初始 set.seed(123) x1 <- rnorm(1) x2 <- rnorm(1) # 模拟路径 rets1 <- numeric(n) rets2 <- numeric(n) for (i in 1:n) { # 计算波动率 sigma1 <- sqrt(omega1 + alpha1 * x1^2 + beta1 * sigma1^2) sigma2 <- sqrt(omega2 + alpha2 * x2^2 + beta2 * sigma2^2) # 模拟收益率 ret1 <- rnorm(1, mean = 0, sd = sigma1) ret2 <- rnorm(1, mean = 0, sd = sigma2) # 更新 x 和 rets x1 <- ret1 / sigma1 x2 <- ret2 / sigma2 rets1[i] <- ret1 rets2[i] <- ret2 } # 计算 VaR 和 ES alpha <- 0.05 VaR1 <- quantile(rets1, alpha) VaR2 <- quantile(rets2, alpha) ES1 <- mean(rets1[rets1 < VaR1]) ES2 <- mean(rets2[rets2 < VaR2]) ``` 在这个例子中,我们假设有两支股票,分别用 `rets1` 和 `rets2` 来表示它们的未来收益率路径。我们使用 `fGarch` 包来模拟 GARCH 模型,并设置了每支股票的模型参数 `omega1`、`alpha1`、`beta1` 和 `omega2`、`alpha2`、`beta2`。我们还设置了模拟路径的长度 `n`,并初始化了模拟路径的第一个为两个随机标准正态变量 `x1` 和 `x2`。 接下来,我们使用一个 `for` 循环来模拟未来的收益率路径,分别计算每支股票的收益率路径 `rets1` 和 `rets2`。在每个间步,我们首先使用当前 `x1` 和 `x2` 分别计算波动率 `sigma1` 和 `sigma2`。然后,我们使用 `rnorm` 函数从正态分布中随机生成两个收益率 `ret1` 和 `ret2`。最后,我们更新当前 `x1` 和 `x2`,并将这些收益率添加到收益率路径 `rets1` 和 `rets2` 中。 最后,我们使用 `quantile` 函数计算每支股票VaR ,并使用 `mean` 函数计算每支股票的 ES 。我们假设使用 5% 的置信水平计算 VaR ,并将其存储在 `VaR1` 和 `VaR2` 变量中。我们还计算了每支股票的 ES ,并将其存储在 `ES1` 和 `ES2` 变量中。 请注意,这只是一个简单的例子,您可以根据需要进行修改或扩展。在实际应用中,您可能需要使用更复杂的模型和更多的股票计算风险指标。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值