研究方法
选取典型黄金股票与黄金指数进行相关度分析。
研究对象
黄金股票取山东黄金 600547
黄金指数取博时黄金 159937 的价格,忽略ETF的跟踪误差
研究步骤
一、Tushare分别取 600547、159937自2015年1月1日至2017年3月31日的前复权价格,保存为Excel。
二、山东黄金2015年9月23至10月7日间数据缺失,博时黄金ETF同样剔除该部分数据。
三、取山东黄金 和博时黄金的 收盘价作为相关性计算数据,相关度计算公式为皮尔逊相关系数公式。源代码如下。输出相关度结果:0.9024,说明黄金ETF和山东黄金间呈现较强的正相关性。
import xlrd
from math import sqrt
data=xlrd.open_workbook('D:/data/159937.xlsx')
table=data.sheets()[0]
ncols=table.ncols
nrows=table.nrows
li1=[]
li3=[]
for i in range(0,nrows-1):
j=str(table.cell(i+1,1))
li1.append(float(j.split(':')[1]))
w=str(table.cell(i+1,3))
li3.append(float(w.split(':')[1]))
def multipl(a,b):
sumofab=0.0
for i in range(len(a)):
temp=a[i]*b[i]
sumofab+=temp
return sumofab
def corrcoef(x,y):
n=len(x)
#求和
sum1=sum(x)
sum2=sum(y)
#求乘积之和
sumofxy=multipl(x,y)
#求平方和
sumofx2 = sum([pow(i,2) for i in x])
sumofy2 = sum([pow(j,2) for j in y])
num=sumofxy-(float(sum1)*float(sum2)/n)
#计算皮尔逊相关系数
den=sqrt((sumofx2-float(sum1**2)/n)*(sumofy2-float(sum2**2)/n))
return num/den
print corrcoef(li1,li3)
Wind数据对比图,验证结论。
图中折线趋势变化可一定程度印证相关度结论。
比较博时黄金和山东黄金的收益性,15年1月1日至今博时黄金收益 15%,山东黄金收益68%。山东黄金收益强于博时黄金的原因可能有1)股票市场的群体效应,2)股票含分红,3)山东黄金的经营性因素等。
投资策略
黄金股票和黄金ETF存在较大的正相关性,且黄金股票的上涨收益远大于黄金ETF。