股债平衡交易策略
股债平衡策略最早源于格雷厄姆《聪明的投资者》一书,在这本书里,格雷厄姆提出了著名的股债50%:50%平衡策略,即将总资产的分为两半各50%,一半买股票,一半买债券。
当股票价格上涨导致股票资产的仓位超过目标仓位(即50%)时,卖掉多余股票部分并买入债券,反之,当股票价格下跌导致股票资产的仓位低于目标仓位(即50%)时,卖掉部分债券并买入股票。总之就是通过动态调仓使股债维持50%:50%的目标配比。
当然,股和债的配比不一定要局限于50%:50%,也可以20%:80%或者80%:20%,具体要看投资者的风险偏好,风险偏好低的投资者可以股票少一点,债券多一点,而风险偏好高的投资者可以股票多一点,债券少一点。
股债平衡策略的思想虽然简单,却历久弥新,时至今日仍然有效。市面上有不少基于股债平衡策略的产品业绩表现良好。股债平衡策略的好处是显而易见的,比如:
(1)利用相关性不高(甚至负相关)的股票和债券来构建大类资产投资组合,可在一定程度上减弱总资产的波动,降低资产回撤比例,从而降低投资风险,这样可以提高策略的收益风险比。
(2)股债平衡策略的动态再平衡,是通过“在股票上涨时卖出部分股票,在股票下跌时买入部分股票”这样的方式来实现的,在某种意义上也是实现了高抛低吸。从长期看,这种高抛低吸的操作不一定能提升收益,但一定能降低风险。
(3)因为策略的资产回撤比例较小,所以投资者在投资过程中心理压力较小,更容易坚持,另外通过高抛低吸也能增进投资的愉悦感。基础版的股债平衡策略效果虽然已经不错了,但仍然还有改进的空间,我在这方面做了一些思考和工作,准备和大家分享。(注:我们在这里讨论的股票,均为股票指数基金,不考虑个股,债券资产也一样,不考虑个券,只考虑债券基金。)
股债平衡策略的改进方向有:
(1)考虑股票的估值:估值低时股票仓位高一点,估值高时股票仓位低一点
(2)考虑股票波动率:波动率低时股票仓位高一点,波动率高时股票仓位低一点,以保持股票资产的风险暴露水平不变。
(3)考虑股票市场的趋势强弱:市场趋势强时,股票仓位高一点,反之股票仓位低一点
(4)股票资产内部轮动:在前述策略中,组合中的股票资产都是固定持有一只或多只股票指数,我们可以引入轮动策略,让股票资产动态持有时下最强的指数
(5)引入除股债之外的更多大类资产:如黄金、商品、美股等。、参考链接:https://www.zhihu.com/question/346249881/answer/825258973
import tushare as ts
import pandas as pd
import matplotlib.pyplot as plt
import seaborn
%matplotlib inline
# 定义 account 类,作用是根据每日两种资产的回报率计算账户净值,并记录净值和调仓记录
class Account():
"""
Account 类定义,模拟账户的各种行为
"""
def __init__(self, stock=0.5, bond=0.5, rebalance_ratio=0.55):
"""
类初始化函数,记录初始账户股票和债券的比例以及账户净值
初始账户净值为1
:param stock: 股票比例
:param bond: 债券比例
"""
self.stock_ratio = stock # 股票资产比例
self.bond_ratio = bond # 债券资产比例
self.balance_ratio = {
'stock': stock, 'bond':bond} # 调仓后的目标比例,此处与初始值相同
self.rebalance_threshold = rebalance_ratio # 调仓阈值
self.net_value = 1 # 初始账户净值
self.rebalance_record = {
} # 记录策略调仓记录,检查用途;
self.</