【金融数据分析】构建上下通道线——基于python实现

背景

在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()

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

仰望星空€

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值