contact@digquant.com.cn
400-1860-552
官方群:463071731
10年26个行业指数回报率、波动率、相关性简要分析
本文来源于:量化投资训练营微信公众号

我们打算看看行业板块(由于数据缺损原因,没有严格按照一级行业数据选择)回报率分布情况,所以选择了直方图这种形式。


直方图绘制可以直接点击工作区的矩阵数据,然后绘图,也可以点击用:

s=randn(20,1)

histfit(s)

这样简单的命令(仅示意),实现绘图,并带曲线描述分布状态。




如图,这是大部分板块的收益回报分布,可以看到,首先其不成正态分布,其次,主要回报率集中在10年5倍左右的区间,大家需要考虑自己是否这10年也取得了超过此值的收益率,但是有很多人,这10年其实跑不赢指数,很多基金经理都跑不赢,更别说一般投资者了。


波动性分布就变得简单了,我们采用matlab箱体图绘制,示意代码如下:


  x(:,1)=normrnd(0.44,0.01,1,10);

  x(:,3)=0.45+0.001*rand(1,10);

  x(:,2)=0.45+0.001*rand(1,10);

  boxplot(x)

  set(gca,'Ylim',[0.34 0.5]);



我们之前的文章中介绍过箱线图(Boxplot),也称箱须图(Box-whisker Plot),它是利用数据中的五个统计量:最小值、第一四分位数、中位数、第三四分位数与最大值来描述数据的一种方法。可以看到波动意味着机会(收益),当然也意味着风险。


相关性分析也是数据分析中重要一环。不同板块之间的相关性,有什么用途?其核心的用途在于,可以构建不同资产组成的,彼此相关性较低(甚至为负)的投资组合,一定程度上规避行业兴衰波动风险,让自己的投资组合在牺牲一定收益的情况下,换取稳定的回报,这种低回报,比赚大钱更重要。


其matlab示意函数为:

  

  x     = randn(30,4);     % 随机生成一个30行,4列的数据

  coeff = corr(x , 'type' , 'Pearson');  % corr是计算函数

  disp(coeff)                  % 显示皮尔森相关系数



比如我们可以看到:计算机和石油化工,钢铁,采掘的相关性较低。再比如说,医疗器械和通信运营相关性低。如果你的择时能力优秀,可以在不同相关性的资产上,进行连续性操作。


同时我们深刻地意识到,不可能行情总是盘整,或者总是趋势,他们一定是互相交替的。所以相关性低的资产,能够在盘整和趋势间形成有效衔接,此时你的模型有可能在一种资产上小幅度遭受盘整亏损,另一种资产上迎接更大的利润,对冲小部分收益的同时,对冲了更大的风险,形成更好的资金曲线。


描述数据时,均值和标准差也是重要一个环节,示意函数是:


  A = [1+rand(1,20)' 10+rand(1,20)' rand(1,20)'];   % 原始数据3列,rand是生成随机数

  mn = mean(A);  % 求均值
  sd = std(A);       % 求标准差


我们描述这26个板块数据大致如下情况。可以看到,由于波动范围限制(牛市和熊市,市场整体一致性较强),其均值和方差的正相关性还是比较强的。


这种描述方式,对于时间序列数据是最恰当的吗?我觉得并不是,因为投资是一种追求回报的行为,所以下一讲,我们会引入板块净值时间序列的Sharpe、Alpha、Beta、MaxDrawdown,也就会夏普比率、阿尔法收益、贝塔收益、最大回撤,进行各版块数据投资价值粗略分析。