QuantStats库之金融指标中文指南(三)
QuantStats 是一个开源的 Python 库,专门为量化交易策略的分析和开发而设计。这个库提供了一系列简单易用的函数,允许你计算各种性能指标,生成美观的图表,以及进行深度的策略分析,是量化研究常用的工具。
QuantStats 由3个主要模块组成,其中 quantstats.stats 模块用于计算各种金融指标,QuantStats库实现的金融指标非常多,因此分为若干篇来写。
本文为第三篇,继续介绍QuantStats库的金融指标函数(按字母排序):
- expected_return(returns, aggregate=None, compounded=True, prepare_returns=True)
expected_return 是 QuantStats 库中的一个函数,用于计算给定期间的预期回报。这是通过计算几何持有期回报来实现的。
以下是对参数的解释:
returns:投资组合或策略的回报率序列。
aggregate:聚合的频率,如 ‘A’(年度),’M’(月度),’W’(周度),’D’(日度)。默认情况下,不进行聚合。
compounded:是否使用复利方式计算回报,默认值为 True。
prepare_returns:是否对 returns 进行预处理,将价格数据转换为回报率,并根据需要将回报率转换为超额回报。同时,它也会对正无穷、负无穷和NaN数据进行清理。
几何持有期回报是一种衡量投资回报的方法,它考虑了回报的复利效应。与算术平均回报相比,几何平均回报提供了一种更准确的衡量投资性能的方法,因为它考虑了投资回报的波动性。
expected_return 函数返回的是预期回报,这是一个预测值,表示在给定的聚合频率下预计的回报。这可以帮助投资者预测他们的投资策略在未来可能的表现。然而,需要注意的是,预期回报仅仅是一个预测,实际的回报可能会有所不同。 - expected_shortfall(returns, sigma=1, confidence=0.95)
expected_shortfall 是 QuantStats 库中的一个函数,它是 conditional_value_at_risk() 的简写。该函数用于计算预期损失(Expected Shortfall,也被称为条件价值风险,Conditional Value at Risk,CVaR)。预期损失是一个风险度量,用于量化投资的尾部风险。
以下是对参数的解释:
returns:投资组合或策略的回报率序列。
sigma:标准偏差的数量,用于计算预期损失。默认值为1。
confidence:置信水平,表示风险度量将覆盖的可能性。该值应介于0和1之间。默认值为0.95,表示95%的置信水平。
预期损失是一种风险度量,用于衡量投资在极端不利情况下可能的平均损失。它被认为比简单的价值风险(VaR)更有用,因为它考虑了尾部风险,即在极端情况下可能的损失。预期损失的值越高,表示投资的风险越大。
注意,尽管预期损失是一个有用的风险度量,但它也有一些缺点。例如,它假设损失的分布是已知的,并且在极端情况下的行为是已知的。这可能并不总是真实的情况。 - exposure(returns, prepare_returns=True)
exposure 是 QuantStats 库中的一个函数,用于计算市场敞口时间。市场敞口时间是指投资组合在市场中有投资(即回报不为0)的时间。
以下是对参数的解释:
returns:投资组合或策略的回报率序列。
prepare_returns:是否对 returns 进行预处理,将价格数据转换为回报率,并根据需要将回报率转换为超额回报。同时,它也会对正无穷、负无穷和NaN数据进行清理。
该函数返回的是一个在[0,1]范围内的数值,表示投资组合在市场中有投资的时间占总时间的比例。例如,如果返回的值为0.6,那么这意味着投资组合在60%的时间内有投资在市场中。
市场敞口时间是一个重要的度量,因为它可以帮助投资者理解他们的投资策略在市场中的活跃度。如果市场敞口时间较长,那么投资组合可能会更加受市场波动的影响。反之,如果市场敞口时间较短,那么投资组合可能会较少受市场波动的影响。这对于投资者在管理投资风险和制定投资策略时非常重要。 - gain_to_pain_ratio(returns, rf=0, resolution=’D’)
gain_to_pain_ratio 是 QuantStats 库中的一个函数,用于计算 Jack Schwager 的收益痛苦比率 (Gain to Pain Ratio, GPR)。这个比率是投资策略的收益和损失的比例,用于评估投资策略的有效性。
以下是对参数的解释:
returns:投资组合或策略的回报率序列。
rf:无风险利率。默认值为0。
resolution:计算的频率,如 ‘A’(年度),’M’(月度),’W’(周度),’D’(日度)。默认情况下,以每日为单位。
收益痛苦比率是投资策略正收益和负收益的比例。如果这个比率较高,那么表示策略的收益大于损失,这通常被认为是一个好的投资策略。反之,如果这个比率较低,那么表示策略的损失大于收益,这可能表明投资策略需要进行改进。
注意,收益痛苦比率是一个简单的度量,它不考虑投资的风险。因此,它只能作为评估投资策略性能的一个参考,而不能独立用来评估投资策略的优劣。 - greeks(returns, benchmark, periods=252.0, prepare_returns=True)
greeks 是 QuantStats 库中的一个函数,用于计算投资组合的 alpha 和 beta 值。
以下是对参数的解释:
returns:投资组合或策略的回报率序列。
benchmark:作为比较基准的回报率序列。这通常是一个市场指数的回报率序列,如 沪深300 指数。
periods:每年的交易期数。默认值为252,对应于一年的大致交易日数量。
prepare_returns:是否对 returns 进行预处理,将价格数据转换为回报率,并根据需要将回报率转换为超额回报。同时,它也会对正无穷、负无穷和NaN数据进行清理。
Alpha 和 Beta 是投资组合性能分析中的两个重要参数:
Alpha(阿尔法):表示了投资组合相对于基准的超额收益,即在考虑了市场风险后投资组合的额外收益。一个正的 Alpha 值表明投资组合的表现超过了基准,而一个负的 Alpha 值则表示投资组合的表现低于基准。
Beta(贝塔):表示了投资组合的市场风险敏感度,即投资组合的回报如何随市场回报变化。一个 Beta 值大于1表示投资组合的回报可能会比市场更加波动(更高的风险,但也可能有更高的回报),而一个 Beta 值小于1则表示投资组合的回报可能会比市场更加稳定(较低的风险,但也可能有较低的回报)。
通过计算 Alpha 和 Beta,投资者可以更好地理解他们的投资组合在市场变动下可能的表现,并据此调整他们的投资策略。 - implied_volatility(returns, periods=252, annualize=True)
implied_volatility 是 QuantStats 库中的一个函数,用于计算投资组合的隐含波动率。
以下是对参数的解释:
returns:投资组合或策略的回报率序列。
periods:每年的交易期数。默认值为252,对应于一年的大致交易日数量。
annualize:是否将隐含波动率年化。默认值为 True。
隐含波动率是一个衡量资产价格波动的度量,它反映了市场对未来价格变动的预期。隐含波动率的计算通常基于期权定价模型(如 Black-Scholes 模型),但在这个函数中,它是直接从投资组合的历史回报中计算出来的。
高隐含波动率表明市场预期资产价格的变动会较大,这可能表示存在较高的风险。低隐含波动率则表明市场预期资产价格的变动会较小,这可能表示存在较低的风险。
请注意,隐含波动率是一个预期的量,它并不保证未来的实际波动率一定会与预期的隐含波动率相符。实际的波动率可能会因市场条件的变化而变化。 - information_ratio(returns, benchmark, prepare_returns=True)
information_ratio 是 QuantStats 库中的一个函数,用于计算投资组合的信息比率(Information Ratio,IR)。
以下是对参数的解释:
returns:投资组合或策略的回报率序列。
benchmark:作为比较基准的回报率序列。这通常是一个市场指数的回报率序列,如 沪深300 指数。
prepare_returns:是否对 returns 进行预处理,将价格数据转换为回报率,并根据需要将回报率转换为超额回报。同时,它也会对正无穷、负无穷和NaN数据进行清理。
信息比率是一个衡量投资组合相对于基准的超额收益与其相对风险之间关系的指标。信息比率的计算公式为:
IR = (投资组合的年度化收益 – 基准的年度化收益) / 相对风险
其中,相对风险是指投资组合收益与基准收益之间的标准差(也叫做跟踪误差)。
信息比率的值可以帮助投资者理解他们的投资组合相对于基准的性能表现。一个高的信息比率通常表明投资组合的管理者在取得超额收益的同时,成功地控制了相对风险。反之,一个低的信息比率可能表明投资组合的管理者在追求超额收益的过程中,承担了过高的相对风险。
(未完待续)
发布者:爱吃肉的小猫,转载请注明出处:https://www.95sca.cn/archives/46412
站内所有文章皆来自网络转载或读者投稿,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!