黄金股票与黄金指数的关系研究

研究方法

选取典型黄金股票与黄金指数进行相关度分析。

 

研究对象

黄金股票取山东黄金 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。

Python pip安装扩展包

问题:安装Python后,打开Python解释器,运行 pip install tushare 报错如下

pip install tushare
^
SyntaxError: invalid syntax

 

解决:Windows系统内,pip应当在命令行界面运行。

cmd打开命令行界面,

C:\users\yourname>D:\   #切换到D盘

C:\users\yourname>cd D:\Program Files\Python\Scripts #切换到pip所在目录

C:\users\yourname>pip install tushare #安装tushare

 

添加pip路径到Windows环境变量

C:\users\yourname>set PATH = %PATH%;D:\ProgramData\Anaconda2  #新增环境变量
C:\users\yourname>pip install tushare #安装扩展包

 

成功安装tushare金融数据扩展包~

 

下载安装扩展包,管理员身份运行命令行,执行:python setup.py install

 

Python集成环境Anaconda,集成pip安装包,无运行时的字符冲突问题。共享百度网盘地址