用Empyrical库计算金融指标的中文指南(四)
Empyrical是一个由Quantopian开发的开源的Python库,专门用于计算常用的金融风险和性能指标。它包含了许多用于策略回测分析的工具,能够帮助投资者对投资策略的性能进行定量分析。本文详细介绍Empyrical库的用法,由于内容较多,分为五篇阐述。
本篇为第四篇,继续介绍Empyrical库的金融指标函数(按字母排序):
- roll_beta(lhs, rhs, window, out=None, **kwargs)
该函数 roll_beta 用于计算滚动窗口期间的 beta 值。
函数的参数如下:
lhs:传递给滚动 beta 的第一个数组,即 empyrical.beta 函数的 returns 参数。
rhs:传递给滚动 beta 的第二个数组,即 empyrical.beta 函数的 factor_returns 参数。
window:以数据的周期性来计算的滚动窗口大小。
out:用作输出缓冲区的数组,可选。如果不传递此参数,将会创建一个新的数组。
**kwargs:其他参数参见 empyrical.beta 函数的参数。
函数的返回值是滚动 beta(array-like 类型)。
Beta 是一个用于评估投资风险的指标,它表示的是投资收益相对于市场收益的敏感性。具体来说,beta 衡量的是当市场收益变化 1% 时,投资收益预期会变化多少。例如,如果一个投资的 beta 是 1.5,那么当市场收益增加 1% 时,投资收益预期会增加 1.5%,反之亦然。
滚动 beta 是在一个滚动窗口期间计算的 beta。这可以让投资者看到投资的风险敏感性如何随时间变化,从而更好地理解其风险状况的稳定性和可持续性。例如,如果一个投资的滚动 beta 一直大于 1 并且稳定,那么这可能表明该投资比市场更有风险,但也可能提供更高的回报。 - roll_alpha_beta(returns, factor_returns, window=10, **kwargs)
该函数 roll_alpha_beta 用于计算滚动窗口期间的 alpha 和 beta 值。
函数的参数如下:
returns:传递给滚动 alpha-beta 的投资组合或策略的收益率序列。
factor_returns:传递给滚动 alpha-beta 的基准或因子的收益率序列。
window:以数据的周期性来计算的滚动窗口大小。
**kwargs:其他参数参见 empyrical.alpha_beta 函数的参数。
函数的返回值是滚动 alpha 和 beta(分别为两个 array-like 类型的序列)。
Alpha 和 Beta 是资本资产定价模型(CAPM)中的两个关键参数,它们可以用来评估投资策略的性能:
Alpha 是投资策略或基金经理产生的超过预期的、不能由市场因素解释的收益。
Beta 是投资收益相对于市场收益的敏感性,反映了投资的系统性风险。
这个函数提供了一个方便的方法,可以在一个滚动窗口期间同时计算 alpha 和 beta,这使得投资者可以看到投资策略或基金经理的性能和风险如何随时间变化,从而更好地理解其性能和风险的稳定性和可持续性。 - roll_annual_volatility(arr, window, out=None, **kwargs)
roll_annual_volatility 函数用于计算滚动窗口期间的年度波动率。
函数的参数如下:
arr:用于计算滚动年度波动率的数组,即 empyrical.annual_volatility 函数的 returns 参数。
window:以数据的周期性来计算的滚动窗口大小。
out:用作输出缓冲区的数组,可选。如果不传递此参数,将会创建一个新的数组。
**kwargs:其他参数参见 empyrical.annual_volatility 函数的参数。
函数的返回值是滚动年度波动率(array-like 类型)。
波动率是一个用于测量价格变动的统计指标,它可以用来衡量投资的风险。年度波动率是对过去一年内价格变动的标准偏差的度量,它通常用于比较不同资产或投资策略的风险。
滚动年度波动率是在一个滚动窗口期间计算的年度波动率。这可以让投资者看到投资的风险水平如何随时间变化,从而更好地理解其风险状况的稳定性和可持续性。例如,如果一个投资的滚动年度波动率一直较高并且稳定,那么这可能表明该投资风险较高。 - roll_max_drawdown(arr, window, out=None, **kwargs)
该函数 roll_max_drawdown 用于计算滚动窗口期间的最大回撤。
函数的参数如下:
arr:用于计算滚动最大回撤的数组,即 empyrical.max_drawdown 函数的 returns 参数。
window:以数据的周期性来计算的滚动窗口大小。
out:用作输出缓冲区的数组,可选。如果不传递此参数,将会创建一个新的数组。
**kwargs:其他参数参见 empyrical.max_drawdown 函数的参数。
函数的返回值是滚动最大回撤(array-like 类型)。
最大回撤是一个用于测量价格从最高点到下一个最低点之间的最大跌幅的风险指标,它可以用来衡量投资的风险。最大回撤越大,投资的风险越高。
滚动最大回撤是在一个滚动窗口期间计算的最大回撤。这可以让投资者看到投资的风险水平如何随时间变化,从而更好地理解其风险状况的稳定性和可持续性。例如,如果一个投资的滚动最大回撤一直较大并且稳定,那么这可能表明该投资风险较高。 - roll_sharpe_ratio(arr, window, out=None, **kwargs)
该函数 roll_sharpe_ratio 用于计算滚动窗口期间的夏普比率。
函数的参数如下:
arr:用于计算滚动夏普比率的数组,即 empyrical.sharpe_ratio 函数的 returns 参数。
window:以数据的周期性来计算的滚动窗口大小。
out:用作输出缓冲区的数组,可选。如果不传递此参数,将会创建一个新的数组。
**kwargs:其他参数参见 empyrical.sharpe_ratio 函数的参数。
函数的返回值是滚动夏普比率(array-like 类型)。
夏普比率(Sharpe Ratio)是一个用于评估投资策略或基金经理的风险调整后表现的指标。它计算的是每承受一单位总风险,投资者可以得到多少的超额回报。夏普比率越高,表明策略在承受同样的风险时,产生的回报越高。
滚动夏普比率是在一个滚动窗口期间计算的夏普比率。这可以让投资者看到投资策略或基金经理的风险调整后表现如何随时间变化,从而更好地理解其性能和风险的稳定性和可持续性。例如,如果一个投资策略的滚动夏普比率一直较高并且稳定,那么这可能表明该策略的风险调整后表现较好。 - roll_sortino_ratio(arr, window, out=None, **kwargs)
该函数 roll_sortino_ratio 用于计算滚动窗口期间的索提诺比率。
函数的参数如下:
arr:用于计算滚动索提诺比率的数组,即 empyrical.sortino_ratio 函数的 returns 参数。
window:以数据的周期性来计算的滚动窗口大小。
out:用作输出缓冲区的数组,可选。如果不传递此参数,将会创建一个新的数组。
**kwargs:其他参数参见 empyrical.sortino_ratio 函数的参数。
函数的返回值是滚动索提诺比率(array-like 类型)。
索提诺比率(Sortino Ratio)是一个用于评估投资策略或基金经理的风险调整后表现的指标。它与夏普比率类似,但在计算风险的时候,索提诺比率只考虑下行风险(负回报)。因此,索提诺比率通常更能准确地反映出投资策略的风险情况,尤其是对于那些回报分布不对称的策略。
滚动索提诺比率是在一个滚动窗口期间计算的索提诺比率。这可以让投资者看到投资策略或基金经理的风险调整后表现如何随时间变化,从而更好地理解其性能和风险的稳定性和可持续性。例如,如果一个投资策略的滚动索提诺比率一直较高并且稳定,那么这可能表明该策略的风险调整后表现较好。 - roll_down_capture(returns, factor_returns, window=10, **kwargs)
该函数 roll_down_capture 用于计算滚动窗口期间的下行捕捉率。
函数的参数如下:
returns:策略的每日收益率,非累计。具体说明可参考 empyrical.stats.cum_returns 函数。
factor_returns:用于计算 beta 的因子的非累计收益率,通常为市场等基准。其形式与 returns 相同。
window:以数据的周期性来计算的滚动窗口大小。例如,当 window = 60 且周期性为日数据时,代表一个滚动的60天窗口。
**kwargs:其他参数参见 empyrical.stats.down_capture 函数的参数。
函数的返回值是滚动下行捕捉率。
下行捕捉率(Downside Capture Ratio)是一个用于评估投资策略或基金经理在市场下行时表现的指标。它计算的是当基准回报为负时,策略的平均回报与基准回报的比率。下行捕捉率越低,表明策略在下行市场中的防守能力越强。
滚动下行捕捉率是在一个滚动窗口期间计算的下行捕捉率。这可以让投资者看到投资策略或基金经理的防守能力如何随时间变化,从而更好地理解其在负面市场条件下的性能的稳定性和可持续性。 - roll_up_capture(returns, factor_returns, window=10, **kwargs)
该函数 roll_up_capture 用于计算滚动窗口期间的上行捕获率。
函数的参数如下:
returns:策略的日收益,非累计。具体细节请参考 empyrical.stats.cum_returns 函数的解释。
factor_returns:用于计算贝塔的因子的非累计回报,通常是一个基准,如市场。其格式应与 returns 相同。
window:以数据的周期性来计算的滚动窗口大小。例如,如果 window = 60,并且周期性为每日,那么代表的是一个滚动的60天窗口。
**kwargs:其他参数参见 empyrical.stats.up_capture 函数的参数。
函数的返回值是滚动上行捕捉率。
上行捕获率(Up Capture)是一个用于评估投资策略在市场上涨时的表现的指标。它计算的是当参考市场指数上涨时,策略的平均收益与市场指数的平均收益之间的比率。上行捕获率大于100%表示策略在市场上涨时的表现优于市场,而小于100%则表示策略在市场上涨时的表现劣于市场。
滚动上行捕获率就是在一个滚动窗口期间计算的上行捕获率。这可以让投资者看到投资策略在市场上涨时的表现如何随时间变化,从而更好地理解其性能和风险的稳定性和可持续性。例如,如果一个投资策略的滚动上行捕获率一直较高并且稳定,那么这可能表明该策略在市场上涨时的表现较好。
发布者:爱吃肉的小猫,转载请注明出处:https://www.95sca.cn/archives/46363
站内所有文章皆来自网络转载或读者投稿,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!