我用熊猫来计算一些金融风险分析,包括风险价值。简言之,要计算风险价值(VaR),您需要模拟投资组合价值变化的时间序列,然后计算特定的尾部百分位损失。例如,95%VaR是该时间序列中的第5个百分位数字。在
我的时间序列在Pandas数据帧中,目前正在使用分位数()计算百分位数的函数。我的问题是,VaR的典型市场惯例是使用排除百分位(即:95%的VaR被解释为:有95%的机会你的投资组合不会失去超过计算的数字)-类似于MS Excel百分位数()有效。Pandas quantile()的工作原理类似于Excel的百分位公司()有效-它包括指定的百分比。我已经搜索了几个python数学包以及这个论坛,寻找一个使用与百分比.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))
我要找的答案是-77.4
谢谢
瑞安