小编rya*_*377的帖子

Python 相当于 Excel 的 PERCENTILE.EXC

我正在使用 Pandas 来计算一些财务风险分析,包括风险价值。简而言之,要计算风险价值 (VaR),您需要模拟投资组合价值变化的时间序列,然后计算特定的尾部百分位损失。例如,95% VaR 是该时间序列中的第 5 个百分位数。

我的时间序列位于 Pandas 数据框中,目前正在使用 pd.quantile() 函数来计算百分位数。我的问题是,VaR 的典型市场惯例是使用排除百分位(即:95% VaR 解释为:您的投资组合有 95% 的机会不会损失超过计算的数字) - 类似于 MS Excel PERECENTILE.EXC ()有效。Pandas quantile() 的工作方式类似于 Excel 的 PERCENTILE.INC() 的工作方式 - 它包含指定的百分位。我已经在几个 python 数学包以及这个论坛中搜索了一个 python 解决方案,该解决方案使用与 Excel 中的 PERCENTILE.EXC() 相同的方法,但没有成功。我希望这里有人可以提出建议?

这是示例代码。

import pandas as pd
import numpy as np

test_pd = pd.Series([15,14,18,-2,6,-78,31,21,98,-54,-2,-36,5,2,46,-72,3,-2,7,9,34])
test_np = np.array([15,14,18,-2,6,-78,31,21,98,-54,-2,-36,5,2,46,-72,3,-2,7,9,34])

print 'pandas: ' + str(test_pd.quantile(.05))
print 'numpy: '+ str(np.percentile(test_np,5))
Run Code Online (Sandbox Code Playgroud)

我正在寻找的答案是-77.4

谢谢,

瑞安

python statistics quantile pandas

8
推荐指数
1
解决办法
7694
查看次数

标签 统计

pandas ×1

python ×1

quantile ×1

statistics ×1