【时间序列分析】S04E06金融量化分析(下篇):股债配置和再平衡策略实践

1.股债的组合配置

在上一节中,我们获取了沪深300指数和国债指数的年化收益率和年化波动率这两项指标。我们不由得会想:沪深300指数波动率太大,小心脏受不了,能不能给降低一些?国债指数收益率太低,又有些不甘心,能不能提高一些?

基于这个考虑,我们试图对二者进行取长补短,首先尝试按照资金量1:1的初始比例进行股债资产的配置,并观察资产组合的表现:

代码片段:

import pandas as pd
import matplotlib.pyplot as plt
import seaborn
seaborn.set()

def get_data_ser(index_code, begin_date, end_date, col_name):
    csv_name = index_code+'.csv'
    df = pd.read_csv(csv_name,encoding='gbk')
    df = df.reindex(index=df.index[::-1])
    df.set_index('date', inplace=True)
    date_index = pd.DatetimeIndex(df.index)

    ser = df.reindex(index=date_index)[col_name]
    select_date = pd.date_range(begin_date, end_date)
    select_ser = ser[ser.index.isin(select_date)]

    return select_ser


HS_300 = get_data_ser('399300','2004-5-13','2019-5-13','close')
HS_300 = HS_300/HS_300.iloc[0]
bond_index = get_data_ser('000012','2004-5-13','2019-5-13','close')
bond_index = bond_index/bond_index.iloc[0]

HS_with_bond = 0.5*HS_300+0.5*bond_index
df = pd.DataFrame({'HS_300':HS_300,'bond_index':bond_index,'HS_300+bond':HS_with_bond})

df.plot()
plt.show()

运行结果:
图1.股债指数1比1配置

图1.股债指数1比1配置

在图1中,绿色的曲线就是沪深300指数和国债指数做1:1配置后的组合净值曲线,很明显,组合后的收益率要高于国债指数而波动率又低于沪深300指数。

2.股债平衡策略的理论介绍

但是我们是不是止步于此了呢?不,这显然过于简单了,我们再加入一些策略,来优化我们的净值曲线,目前比较主流的一种策略叫作:股债平衡策略。

这个策略具体描述为:在初始配置时,设定一个股债的资金分配比例,常见的有5:5,8:2等等,由于股票指数和债券指数的收益率、波动率差异很大。慢慢的,随着时间的发展,二者的净值比例显然就不再等于原始设定的比例了,碰上大熊或者大牛之年,比例偏离的可能会非常大。

那么,此时就引入了平衡策略,要求每隔一年,将股和债的资金配比恢复到初始配比值,即完成一次再平衡。由于股和债的相关性很低,在某种程度上甚至形成负相关,因此,这种策略能够在一定程度上动态的对所持股债资产进行高抛低吸,能够兼顾低波动率和高收益率两个目标。

在一些文章中还介绍说,运用了股债平衡策略的资产组合,其收益率甚至可以超过单纯只配置股票指数的收益率。

3.股债平衡策略的实践

这个策略真的有这么神奇么?来动手操作一下,我们就选择5:5和8:2这两种资金配比进行试验:
代码片段:
```
def get_stock_with_bond(stock_code,stock_share,bond_code,bond_share,begin_date,end_date):

top Created with Sketch.