背景
在1970年,一本名为《The Traders Notebook》的小册子曾经比较世界上最著名的商品交易系统,对比发现,最成功的交易系统是理查德·唐奇安开发的四周规则。四周规则的含义是:当价格超过前四周的最高点时,开设一笔多单并了解空头头寸。当价格跌破前四周的低点时,开设一笔空单并了解多头头寸。
代码实现步骤
1.在编写代码前,需导入有关的第三方函数库。
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
2.读取文件,将标普500指数中的成分股票的各项指标数据存入dataFrame类型对象中。
BP500=pd.read_csv(r"C:\Users\15405\Desktop\problem31-1.csv")
BP500.index=BP500.iloc[:,6]#最后一列是时间列,为索引列
BP500.index=pd.to_datetime(BP500.index, format='%Y-%m-%d')
BP500.head(10)
3.提取标普500中的成分股收盘价、最高价和最低价数据,并赋予三个变量分别存储。
Close=BP500['Close']
High=BP500['High']
Low=BP500['Low']
4.设定上、下、中通道线初始值,可以认为三条通道线的初始值都为0。
upboundDC=pd.Series(0.0,index=Close.index)
downboundDC=pd.Series(0.0,index=Close.index)
midboundDC=pd.Series(0.0,index=Close.index)
5.求出唐奇安上、中、下通道数据,时间跨度假定为10天为一个周期。
for i in range(10,len(Close)) :
upboundDC[i]=max(High[(i-10):i])
downboundDC[i]=min(Low[(i-10):i])
midboundDC[i]=0.5*(upboundDC[i] + downboundDC[i])
upboundDC=upboundDC[10:]
downboundDC=downboundDC[10:]
midboundDC=midboundDC[10:]
6.根据唐奇安上、中、下通道数据,利用python中的matplotlib.pyplot函数库构建唐奇案通 道图并绘制相关图表。
plt.figure(figsize=(10,10))
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.plot(Close['2014'],label="Close" ,color='r')#红色
plt.plot(upboundDC['2014'],label="upboundDC",color='b',linestyle='dashed')#蓝色
plt.plot(midboundDC['2014'],label="midboundDC",color='k',linestyle='-.')#黑色
plt.plot(downboundDC['2014'],label="downboundDC",color='m',linestyle='dashed')#紫绿色
plt.title("2014年标普500唐奇安通道")
plt.legend()