【发布时间】:2015-09-01 21:39:19
【问题描述】:
鉴于历史每日回报,我如何计算单个股票头寸的投资组合分配,基于在 21 天内损失不超过初始投资组合价值的 10%? (有 95% 的置信度。)
基于例如的一些起始代码
import numpy as np
from scipy.stats import norm
returns = [-0.01, -0.02, -0.01, 0.04, 0.02, 0.01, -0.03]
mu = np.mean(returns)
std = np.std(returns)
valueAtRisk = norm.ppf(0.05, mu, sigma)
但是,以上仅告诉我 1 天的风险。我的问题是另一个方向;假设我不想在 21 天内损失超过 10%,我可以根据收益的分布分配什么。
我更喜欢可以直接计算的答案,但蒙特卡洛答案是可以接受的。
感谢您的帮助。
【问题讨论】:
-
这对于 CrossValidated 来说可能是一个更好的问题,但不是有一个矩阵运算可以复合 n 天的收益分布吗?
-
我想要一个 python/scipy 类型的解决方案(我不确定我是否理解纯粹基于统计的答案)。问题是
norm.ppf(0.05, mu, sigma)给出了“糟糕的一天”的概念,但考虑到正态分布,我们预计不会连续出现 21 个纯粹糟糕的日子。 -
如果我的方法可以帮助您解决问题,您能接受我的回答吗?非常感谢。
标签: python pandas statistics scipy quantitative-finance