├── README.md ├── 金银比套利做法.pdf ├── XAGUSD1.29.csv ├── XAUUSD1.29.csv ├── 12月金银比套利具体交易时间表 -.csv └── 金银比套利分析.py /README.md: -------------------------------------------------------------------------------- 1 | # gold-xau-value 2 | 利用黄金白银真正的价差差套利 3 | -------------------------------------------------------------------------------- /金银比套利做法.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/30ge30ge/gold-xau-value/HEAD/金银比套利做法.pdf -------------------------------------------------------------------------------- /XAGUSD1.29.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/30ge30ge/gold-xau-value/HEAD/XAGUSD1.29.csv -------------------------------------------------------------------------------- /XAUUSD1.29.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/30ge30ge/gold-xau-value/HEAD/XAUUSD1.29.csv -------------------------------------------------------------------------------- /12月金银比套利具体交易时间表 -.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/30ge30ge/gold-xau-value/HEAD/12月金银比套利具体交易时间表 -.csv -------------------------------------------------------------------------------- /金银比套利分析.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | """ 3 | Created on Fri Jan 25 09:04:35 2019 4 | 5 | @author: Administrator 6 | """ 7 | 8 | import pandas as pd 9 | import numpy as np 10 | import matplotlib.pyplot as plt 11 | import mpl_finance as mpf 12 | import datetime 13 | from matplotlib.pylab import date2num 14 | import talib 15 | import statsmodels.api as sm 16 | plt.rcParams['font.sans-serif'] = ['SimHei'] 17 | plt.rcParams['axes.unicode_minus']=False 18 | df = pd.read_csv("F:/数据分析/MT4/XAGUSD1.29.csv",engine='python',sep=",") 19 | df["时间"]=df["TIME"]+" "+df["time"] 20 | df=df[["时间","收盘价"]] 21 | Df=pd.read_csv("F:/数据分析/MT4/XAUUSD1.29.csv",engine='python',sep=",") 22 | Df["时间"]=Df["TIME"]+" "+Df["time"] 23 | Df=Df[["时间","收盘价"]] 24 | df_new=pd.merge(df,Df,on="时间") 25 | df_new.rename(columns={"收盘价_x":"xagusd", "收盘价_y":"xauusd"}, inplace = True) 26 | df_new["时间"]=pd.to_datetime(df_new["时间"]) 27 | df_new.set_index("时间", inplace=True) 28 | df_new["50xagusd"]=df_new["xagusd"]*50 29 | df_new["价差"]=df_new["xauusd"]-df_new["50xagusd"] 30 | print(df_new) 31 | 32 | A=df_new["2019-01-25":"2019-01-25"] 33 | B=df_new["2019-01-27":] 34 | C=df_new["2019-01-01":"2019-01-28"] 35 | print(A) 36 | 37 | spread=A["价差"].tolist() 38 | avg=np.mean(spread) 39 | print("价差均值为:",avg) 40 | up=avg+np.std(spread) 41 | print("上轨为",up) 42 | down=avg-np.std(spread) 43 | print("下轨为",down) 44 | print("价差最大数:",np.max(spread)) 45 | print("价差中位数:",np.median(spread)) 46 | print("价差最小数:",np.min(spread)) 47 | print("标准差为:",np.std(spread)) 48 | 49 | fig,ax=plt.subplots(figsize=(16,8)) 50 | plt.title("价差走势图") 51 | plt.plot(C["价差"]) 52 | plt.xticks(rotation=75) 53 | avg_5 = talib.EMA(C["价差"], timeperiod=24) 54 | plt.plot(avg_5,color="r") 55 | plt.ylabel("价差值") 56 | plt.show() 57 | print(avg_5) 58 | #以下为做空XAG做多XAU 59 | close_down=down+2.3 60 | df_short=B.loc[lambda B: B.价差 close_down, :] 62 | print("多XAU,空XAG") 63 | print(df_short.head(5)) 64 | print("平仓点位") 65 | print(df_long.head(1)) 66 | E=df_short.head(5).append(df_long.head(1)) 67 | print(E) 68 | 69 | #以下为做空XAU,做多XAG 70 | CLOSE=up-2.3 71 | XAU_short=B.loc[lambda B: B.价差 >up, :] 72 | XAU_CLOSE=B.loc[lambda B: B.价差