使用动荡指数衡量金融市场风险[附代码实现]

动荡指数(Turbulence Index)是一种用于衡量金融市场风险的指标。它可以帮助投资组合管理者及时发现市场的压力周期,通常表现为波动率增加和资产相关性破裂(资产相关性破裂指的是,在市场环境变得不稳定时,原本具有相关性的资产之间的关系变得松散或消失)。动荡指数最初由Kritzman和Li提出,并建立在Mahalanobis距离的基础上。其计算方法包括对资产收益率序列进行协方差矩阵估计,然后使用该矩阵计算马哈拉诺比斯距离。最终,将这些距离进行归一化处理,得到动荡指数。


动荡指数的值越高,表示市场风险越大。投资组合管理者可以利用该指数来调整持仓,以减少市场风险。此外,动荡指数还可以用于评估不同投资组合的市场敞口,并根据市场环境的变化来调整组合。动荡指数可以帮助投资组合管理者及时识别市场风险,并采取相应措施来保护投资组合的价值。在金融危机开始时,金融市场承受压力时,动荡指数通常会飙升,如欧洲债务危机、2011年8月股市下跌、COVID-19大流行以及俄乌战争等事件都可以使得动荡指数快速升高并维持数周。

动荡指数的计算方式
图片
图片
动荡指数的直观解释
动荡指数量化了给定资产组合中不寻常行为的程度。其背后的想法是,当资产回报、波动率和相关性与历史规律有所不同时,这些差异更可能是由于重大市场事件而非随机噪声引起的。Marc Kritzman认为动荡指数是一种统计异常性的度量,同时考虑了回报的大小和它们相互作用的影响。

动荡指数的数学性质
动荡指数继承了平方马氏距离(squared Mahalanobis distance)的数学特性。例如:
特性1:对于椭圆分布的资产回报,包括多元正态分布、t分布和柯西分布,动荡指数是适当的多元距离测度。
特性2:动荡指数不受资产回报的仿射变换影响。
如下图所示,实证研究表面在金融市场压力明显的时期(如1987年黑色星期一、海湾战争或全球金融危机)该指数往往会激增,并且在初始激增后,该指数往往会持续升高数周。
图片
动荡指数计算的代码实现:

# 参考:https://github.com/AI4Finance-Foundation/FinRL-Trading
def calcualte_turbulence(df):
    """calculate turbulence index based on dow 30"""
    # can add other market assets
    
    df_price_pivot=df.pivot(index='date', columns='symbol', values='close')
    unique_date = df.date.unique()
    # start after a year
    start = 252
    turbulence_index = [0]*start

    count=0
    for i in range(start,len(unique_date)):
        current_price = df_price_pivot[df_price_pivot.index == unique_date[i]]
        hist_price = df_price_pivot[[n in unique_date[0:i] for n in df_price_pivot.index ]]
        cov_temp = hist_price.cov()
        current_temp=(current_price - np.mean(hist_price,axis=0))
        turbulence_temp = current_temp.values.dot(np.linalg.inv(cov_temp)).dot(current_temp.values.T)
        turbulence_index.append(turbulence_temp)
    
    turbulence_index = pd.DataFrame({'date':df_price_pivot.index,
                                     'turbulence':turbulence_index})
    return turbulence_index

动荡指数的有效性验证
下面展示了使用以下 7 种全球资产类别的(每周)回报数据计算全球金融市场的动荡指数。资产类别包括美国股票,非美国股票,美国债券,非美国债券,美国房地产,非美国房地产和商品。

下图展示了从2009 年 4 月至 2022 年 3 月期间的动荡指数。在金融市场承受压力时,动荡指数通常会飙升,如欧洲债务危机、2011年8月股市下跌、COVID-19大流行以及俄乌战争等事件。在开始上涨后,动荡指数通常会保持高位几周。
图片

使用动荡指数优化策略
在计算获得动荡指数后,下一步是研究如何将其整合到现有的投资策略种。动荡指数升高期往往与低于平均资产回报率的时期相对应,可以通过在动荡指数激增时减少风险来增强投资组合风险收益配置。

针对美国市场进行了如下的策略测试:

  • 策略1 :买入并持有
  • 策略2 :在每周结束时,比较全球金融市场的动荡指数与它的历史水平,并确定相对于历史水平有多高。然后根据这个比例分配投资组合中的现金和美国股票。

下面是两种策略的回测结果,可以看到策略2在风险管理方面非常有效,年化夏普比从1提高到了2.2,最大回撤从32%下降到了6%。
图片
图片
虽然使用动荡指数策略在市场动荡期间表现良好,但在极端牛市(如COVID-19危机后的剧烈复苏)中,它可能无法跟上市场的涨势。但是在市场动荡时,经常发生价格下跌或波动加剧的情况,这可能会对投资组合的价值造成重大损失。如果使用动荡指数,就可以通过减少股票敞口并增加现金等其他资产的敞口来降低投资组合的风险,从而保护投资组合免受市场动荡的影响。

发布者:股市刺客,转载请注明出处:https://www.95sca.cn/archives/110965
站内所有文章皆来自网络转载或读者投稿,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!

(0)
股市刺客的头像股市刺客
上一篇 2天前
下一篇 2天前

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注