Talib实现国际黄金的MACD

使用Talib的MACD技术指标分析国际黄金。

代码如下。

import xlrd
import numpy as np
import matplotlib.pyplot as plt
import talib
from math import sqrt
import datetime

data=xlrd.open_workbook('D:/data/XAUUSD1440.xlsx')
table=data.sheets()[0]
ncols=table.ncols
nrows=table.nrows
kai=[]
high=[]
di=[]
close=[]
date=[]
for i in range(0,nrows):
    j=str(table.cell(i,1))
    kai.append(float(j.split(':')[1]))
    w=str(table.cell(i,2))
    high.append(float(w.split(':')[1]))
    l=str(table.cell(i,3))
    di.append(float(w.split(':')[1]))
    g=str(table.cell(i,3))
    close.append(float(w.split(':')[1]))
    x=str(table.cell(i,0))
    y=x.split("'")[1].split('.')
    z=datetime.date(int(y[0]),int(y[1]),int(y[2]))
    date.append(z)

kai=np.array(kai)
high=np.array(high)
di=np.array(di)
close=np.array(close)

macd,signal,hist=talib.MACD(close,12,26,9)

plt.plot(date,macd,label='macd')
plt.plot(date,signal,label='signal')
plt.plot(date,hist,label='hist')
plt.show()

 

绘制图形

由银科控股观察现货市场规模

公开资料显示,2015年现货市场交易额29万亿元,年复核增长率35%,预计2016年现货市场交易额将达到40万亿元以上。

银科控股2016年财报显示全年交易额3万亿元,据此推算银科控股占据现货市场7%左右的市场份额,应该已经达到老大位置,相当于证券经纪市场里的中信证券。后续市场集中度可能会进一步提高,毕竟现在老大也没超过10%。

现货交易商盈利来源于佣金、隔夜费和点差。银科控股2016年营业收入23亿元,简单计全部营收来自佣金隔夜费和点差,那么交易者的平均交易成本是万分之七,比股票市场高很多,但现货的杠杠比股票高,总体算下来还是非常有利可图的。 Continue reading 由银科控股观察现货市场规模

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

研究方法

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

 

研究对象

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