QuantStats库之金融指标中文指南(八)
QuantStats 是一个开源的 Python 库,专门为量化交易策略的分析和开发而设计。这个库提供了一系列简单易用的函数,允许你计算各种性能指标,生成美观的图表,以及进行深度的策略分析,是量化研究常用的工具。
QuantStats 由3个主要模块组成,其中 quantstats.stats 模块用于计算各种金融指标,QuantStats库实现的金融指标非常多,因此分为若干篇来写。
本文为第八篇,继续介绍QuantStats库的金融指标函数(按字母排序):
- smart_sharpe(returns, rf=0.0, periods=252, annualize=True)
smart_sharpe函数用于计算投资组合的智能夏普比率。智能夏普比率是一种对传统夏普比率进行改进的指标,它考虑了投资回报的偏度和峰度信息。
以下是函数的定义和使用方法:
returns:这是一个数组或序列,代表你的投资组合或资产的回报率。这个数据可以是价格数据,也可以是已经计算好的回报率数据。
rf:这是一个数值,代表无风险利率。默认值为0.0。无风险利率通常用于计算超额回报,即投资回报与无风险回报之间的差值。
periods:这是一个整数,代表回报频率。对于日收益率,该值为252或365;对于月收益率,该值为12。
annualize:这是一个布尔值,用于决定是否需要对智能夏普比率进行年化处理。如果设置为True,那么函数会对智能夏普比率进行年化处理;如果设置为False,那么函数将直接返回未经年化处理的智能夏普比率。
函数的返回值是一个数值,代表投资组合的智能夏普比率。这个比率可以用来评估投资组合的风险调整后的表现,并考虑了投资回报的偏度和峰度信息。 - smart_sortino(returns, rf=0, periods=252, annualize=True)
smart_sortino函数用于计算投资组合的智能索提诺比率。智能索提诺比率是一种对传统索提诺比率进行改进的指标,它考虑了投资回报的偏度和峰度信息。
以下是函数的定义和使用方法:
returns:这是一个数组或序列,代表你的投资组合或资产的回报率。这个数据可以是价格数据,也可以是已经计算好的回报率数据。
rf:这是一个数值,代表无风险利率。默认值为0.0。无风险利率通常用于计算超额回报,即投资回报与无风险回报之间的差值。
periods:这是一个整数,代表回报频率。对于日收益率,该值为252或365;对于月收益率,该值为12。
annualize:这是一个布尔值,用于决定是否需要对智能索提诺比率进行年化处理。如果设置为True,那么函数会对智能索提诺比率进行年化处理;如果设置为False,那么函数将直接返回未经年化处理的智能索提诺比率。
函数的返回值是一个数值,代表投资组合的智能索提诺比率。这个比率可以用来评估投资组合的风险调整后的表现,且考虑了投资回报的偏度和峰度信息。 - skew(returns, prepare_returns=True)
skew函数用于计算回报的偏度。偏度是一个衡量概率分布的不对称性的统计指标。在金融投资中,偏度可以帮助我们了解投资回报的分布情况,特别是其是否倾向于产生极端的正回报(正偏)或负回报(负偏)。
以下是函数的定义和使用方法:
returns:这是一个数组或序列,代表你的投资组合或资产的回报率。这个数据可以是价格数据,也可以是已经计算好的回报率数据。
prepare_returns:这是一个布尔值,用于决定是否需要对回报率数据进行预处理。预处理包括将回报率数据转换为适合计算的格式,例如将价格数据转换为回报率数据。如果设置为True,那么函数会进行预处理;如果设置为False,那么函数将直接使用输入的回报率数据。
函数的返回值是一个数值,代表投资回报的偏度。这个偏度可以用来评估投资回报的分布情况。 - tail_ratio(returns, cutoff=0.95, prepare_returns=True)
tail_ratio函数用于计算投资回报的尾部比率。尾部比率是一个衡量投资回报分布的极端情况的指标,它的值是右尾部(例如95%分位点)和左尾部(例如5%分位点)的回报率之比。
以下是函数的定义和使用方法:
returns:这是一个数组或序列,代表你的投资组合或资产的回报率。这个数据可以是价格数据,也可以是已经计算好的回报率数据。
cutoff:这是一个数值,代表尾部的切割点。默认值为0.95,即95%分位点。这个值可以根据需要调整,以反映投资回报分布的不同部分。
prepare_returns:这是一个布尔值,用于决定是否需要对回报率数据进行预处理。预处理包括将回报率数据转换为适合计算的格式,例如将价格数据转换为回报率数据。如果设置为True,那么函数会进行预处理;如果设置为False,那么函数将直接使用输入的回报率数据。
函数的返回值是一个数值,代表投资回报的尾部比率。这个比率可以用来评估投资回报的分布情况,特别是其在极端情况下的表现。 - drawdown_details(drawdown)
drawdown_details函数用于计算投资回撤的详细数据,包括开始日期、结束日期、最低点日期、回撤期间、最大回撤以及99%回撤期间的最大回撤。
以下是函数的定义和使用方法:
drawdown:这是一个数组或序列,代表你的投资组合或资产的回撤序列。你可以使用to_drawdown_series函数从回报率序列生成回撤序列。
函数的返回值是一个DataFrame,包含以下列:
start:每个回撤期开始的日期。
end:每个回撤期结束的日期。
valley:每个回撤期最低点的日期。
days:每个回撤期的持续时间,通常以天数表示。
Max Drawdown:每个回撤期的最大回撤。
99% Max Drawdown:在99%回撤期间的最大回撤。
这个函数是投资分析和风险管理中的一个重要工具,可以帮助投资者和资产管理者更准确地评估投资组合的回撤情况,特别是在熊市或经济衰退期间,可以清晰地显示投资组合的损失情况和风险。 - to_drawdown_series(returns)
to_drawdown_series函数用于将投资回报序列转换为回撤序列。在投资分析中,回撤是指投资组合从最高点下跌到最低点的过程,通常用来衡量投资风险。
以下是函数的定义和使用方法:
returns:这是一个数组或序列,代表你的投资组合或资产的回报率。这个数据可以是价格数据,也可以是已经计算好的回报率数据。
函数的返回值是一个序列,代表投资组合的回撤序列。这个序列的每一个值都表示从最高点到该点的投资回撤。 - treynor_ratio(returns, benchmark, periods=252.0, rf=0.0)
treynor_ratio函数用于计算特雷诺比率。特雷诺比率是一个风险调整性能指标,用于评估投资组合每单位系统性风险所获得的超额回报。它的计算公式为:(投资组合回报率 – 无风险利率) / 投资组合的β系数。其中,β系数衡量的是投资组合与市场的协动性,即系统性风险。
以下是函数的定义和使用方法:
returns:这是一个Series或DataFrame,代表你的投资组合或资产的回报率。这个数据可以是价格数据,也可以是已经计算好的回报率数据。
benchmark:这是一个字符串、Series或DataFrame,代表用于比较β系数的基准。通常,这个基准可以是一种广泛接受的市场指数,如沪深300指数。
periods:这是一个数值,代表回报频率。对于日收益率,该值为252或365;对于月收益率,该值为12。
rf:这是一个数值,代表无风险利率。默认值为0.0。无风险利率通常用于计算超额回报,即投资回报与无风险回报之间的差值。
函数的返回值是一个数值,代表投资组合的特雷诺比率。这个比率可以用来评估投资组合的风险调整后的表现。 - ulcer_index(returns)
ulcer_index函数用于计算溃疡指数(Ulcer Index)。溃疡指数是一种评估投资下行风险的指标,特别关注投资组合的回撤情况。溃疡指数的计算公式为:将每次回撤的平方和的平均值开平方。
以下是函数的定义和使用方法:
returns:这是一个数组或序列,代表你的投资组合或资产的回报率。这个数据可以是价格数据,也可以是已经计算好的回报率数据。
函数的返回值是一个数值,代表投资组合的溃疡指数。这个指数可以用来评估投资组合的下行风险,特别是在熊市或经济衰退期间,可以清晰地显示投资组合的损失情况和风险。
(未完待续)
发布者:爱吃肉的小猫,转载请注明出处:https://www.95sca.cn/archives/46473
站内所有文章皆来自网络转载或读者投稿,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!