QuantStats库之金融指标中文指南(二)
QuantStats 是一个开源的 Python 库,专门为量化交易策略的分析和开发而设计。这个库提供了一系列简单易用的函数,允许你计算各种性能指标,生成美观的图表,以及进行深度的策略分析,是量化研究常用的工具。
QuantStats 由3个主要模块组成,其中 quantstats.stats 模块用于计算各种金融指标,QuantStats库实现的金融指标非常多,因此分为若干篇来写。
本文为第二篇,继续介绍QuantStats库的金融指标函数(按字母排序):
- common_sense_ratio(returns, prepare_returns=True)
common_sense_ratio 是 QuantStats 库中的一个函数,用于计算常识比率(Common Sense Ratio)。常识比率是利润因子(Profit Factor)和尾部比率(Tail Ratio)的乘积。
以下是参数的解释:
returns:投资组合或策略的回报率序列。
prepare_returns:是否对 returns 进行预处理,将价格数据转换为回报率,并根据需要将回报率转换为超额回报。同时,它也会对正无穷、负无穷和NaN数据进行清理。
常识比率的计算方法如下:
利润因子:这是正收益总和和负收益总和的比值。这个比值越高,表明策略的盈利能力越好。
尾部比率(Tail Ratio):这是投资组合的95th百分位收益与5th百分位收益的比值。这个比值越高,表明策略在极端情况下的性能越好。
因此,常识比率综合考虑了策略的盈利能力和在极端情况下的性能,可以作为评估策略优劣的一个指标。 - comp(returns)
comp 是 QuantStats 库中的一个函数,用于计算投资的总复利回报。这个函数的主要目标是为了确定如果所有的回报都被再投资,那么总的增长会是多少。
以下是参数的解释:
returns:投资组合或策略的回报率序列。
这个函数将计算序列中所有回报的复合效果。复利是指投资回报被重新投资以产生自身的回报。
总的复利回报是投资者在评估投资策略时经常关注的一个关键指标,因为它反映了投资回报的再投资的效果。 - compare(returns, benchmark, aggregate=None, compounded=True, round_vals=None, prepare_returns=True)
compare 是 QuantStats 库中的一个函数,用于将投资的回报与基准(benchmark)进行比较。这个函数可以按日、周、月、季度或年的基础进行比较。
以下是参数的解释:
returns:投资组合或策略的回报率序列。
benchmark:基准的回报率序列。这通常是一个代表市场或某个特定指数(如 S&P 500)的回报率序列。
aggregate:聚合的频率,如 ‘A’(年度),’M’(月度),’W’(周度),’D’(日度)。默认情况下,不进行聚合。
compounded:是否使用复利方式计算回报,默认值为True。
round_vals:是否将值四舍五入到特定的小数位数。如果为 None,那么值不会被四舍五入。
prepare_returns:是否对 returns 进行预处理,将价格数据转换为回报率,并根据需要将回报率转换为超额回报。同时,它也会对正无穷、负无穷和NaN数据进行清理。
这个函数将返回一个表格,显示投资的回报和基准的回报在指定的聚合频率下的比较。这可以帮助投资者理解他们的投资策略相对于市场或特定指数的表现。
请注意,进行比较时,通常需要确保投资的回报和基准的回报在相同的时间段内。 - compsum(returns)
compsum 是 QuantStats 库中的一个函数,用于计算滚动复利回报。滚动复利回报是在指定的滚动窗口期间的复利回报。
以下是对参数的解释:
returns:投资组合或策略的回报率序列。
这个函数将返回一个新的序列,表示在每个点的滚动窗口期间的复利回报。它通过连续地将每个回报与之前的产品相乘来实现这一点。 - conditional_value_at_risk(returns, sigma=1, confidence=0.95, prepare_returns=True)
conditional_value_at_risk 是 QuantStats 库中的一个函数,用于计算条件价值风险(CVaR),也被称为预期损失(Expected Shortfall)。CVaR 是一个风险度量,量化了投资的尾部风险。
以下是对参数的解释:
returns:投资组合或策略的回报率序列。
sigma:标准偏差的数量,用于计算 CVaR。默认值为1。
confidence:置信水平,表示风险度量将覆盖的可能性。该值应介于0和1之间。默认值为0.95,表示95%的置信水平。
prepare_returns:是否对 returns 进行预处理,将价格数据转换为回报率,并根据需要将回报率转换为超额回报。同时,它也会对正无穷、负无穷和NaN数据进行清理。
CVaR 是一种风险度量,用于衡量投资在极端不利情况下可能的平均损失。它被认为比简单的价值风险(VaR)更有用,因为它考虑了尾部风险,即在极端情况下可能的损失。CVaR 值越高,表示投资的风险越大。
请注意,尽管 CVaR 是一个有用的风险度量,但它也有一些缺点。例如,它假设损失的分布是已知的,并且在极端情况下的行为是已知的。这可能并不总是真实的情况。 - consecutive_losses(returns, aggregate=None, compounded=True, prepare_returns=True)
consecutive_losses 是 QuantStats 库中的一个函数,用于计算连续亏损的最大次数。这个函数可以按日、周、月、季度或年的基础进行计算。
以下是参数的解释:
returns:投资组合或策略的回报率序列。
aggregate:聚合的频率,如 ‘A’(年度),’M’(月度),’W’(周度),’D’(日度)。默认情况下,不进行聚合。
compounded:是否使用复利方式计算回报,默认值为 True。
prepare_returns:是否需要准备回报序列,默认为 True。如果设置为 True,回报序列将被转换为百分比形式并进行了日度化处理。
这个函数将返回在指定的聚合频率下连续亏损的最大次数。这是一个有用的指标,因为它可以帮助投资者理解他们的投资策略在连续亏损方面的风险。
注意,连续亏损的次数可能会受到市场条件的影响,因此在使用这个指标时需要考虑市场的整体环境。 - consecutive_wins(returns, aggregate=None, compounded=True, prepare_returns=True)
consecutive_wins 是 QuantStats 库中的一个函数,用于计算连续盈利的最大次数。这个函数可以按日、周、月、季度或年的基础进行计算。
以下是参数的解释:
returns:投资组合或策略的回报率序列。
aggregate:聚合的频率,如 ‘A’(年度),’M’(月度),’W’(周度),’D’(日度)。默认情况下,不进行聚合。
compounded:是否使用复利方式计算回报,默认值为 True。
prepare_returns:是否对 returns 进行预处理,将价格数据转换为回报率,并根据需要将回报率转换为超额回报。同时,它也会对正无穷、负无穷和NaN数据进行清理。
这个函数将返回在指定的聚合频率下连续盈利的最大次数。这是一个有用的指标,因为它可以帮助投资者理解他们的投资策略在连续盈利方面的能力。
注意,连续盈利的次数可能会受到市场条件的影响,因此在使用这个指标时需要考虑市场的整体环境。 - cpc_index(returns, prepare_returns=True)
cpc_index 是 QuantStats 库中的一个函数,用于计算 cpc 指数。cpc 指数是一个由利润因子、胜率和胜负比组成的度量。
以下是对参数的解释:
returns:投资组合或策略的回报率序列。
prepare_returns:是否对 returns 进行预处理,将价格数据转换为回报率,并根据需要将回报率转换为超额回报。同时,它也会对正无穷、负无穷和NaN数据进行清理。
cpc 指数是一个很好的度量,因为它结合了三个重要的投资指标:利润因子(所有盈利交易的总收益除以所有亏损交易的总损失)、胜率(盈利交易的比例)和胜负比(平均盈利交易的收益除以平均亏损交易的损失)。这三个指标共同提供了对投资策略性能的全面视图。
cpc 指数的值越高,投资策略的性能就越好。请注意,这个指数假设所有的收益都被重新投资,这可能并不总是真实的情况,因为投资者可能会选择在某些时候取出一部分收益。 - cvar(returns, sigma=1, confidence=0.95, prepare_returns=True)
cvar 是 QuantStats 库中的一个函数,它是 conditional_value_at_risk() 的简写。该函数用于计算条件价值风险(CVaR),也被称为预期损失(Expected Shortfall)。CVaR 是一个风险度量,量化了投资的尾部风险。
以下是对参数的解释:
returns:投资组合或策略的回报率序列。
sigma:标准偏差的数量,用于计算 CVaR。默认值为1。
confidence:置信水平,表示风险度量将覆盖的可能性。该值应介于0和1之间。默认值为0.95,表示95%的置信水平。
prepare_returns:是否对 returns 进行预处理,将价格数据转换为回报率,并根据需要将回报率转换为超额回报。同时,它也会对正无穷、负无穷和NaN数据进行清理。
CVaR 是一种风险度量,用于衡量投资在极端不利情况下可能的平均损失。它被认为比简单的价值风险(VaR)更有用,因为它考虑了尾部风险,即在极端情况下可能的损失。CVaR 值越高,表示投资的风险越大。
注意,尽管 CVaR 是一个有用的风险度量,但它也有一些缺点。例如,它假设损失的分布是已知的,并且在极端情况下的行为是已知的。这可能并不总是真实的情况。
(未完待续)
发布者:爱吃肉的小猫,转载请注明出处:https://www.95sca.cn/archives/46400
站内所有文章皆来自网络转载或读者投稿,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!