唐奇安通道(Donchian Channel)指标是由 Richard Donchian 提出的一个由三条线组成的通道指标,这三条线分别是过去n日的最高价、过去n日的最低价以及过去n日最高价和最低价的均值,形状看起来很像通道,所以叫这个名字。
stock_dc.py
# coding: utf-8
import os, sys
#import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
import tushare as ts
if len(sys.argv) ==2:
code = sys.argv[1]
else:
print('usage: python stock_dc.py stockcode ')
sys.exit(1)
if len(code) !=6:
print('stock code length: 6')
sys.exit(2)
# help(ts.get_k_data) 了解参数
df = ts.get_k_data(code, start='2021-01-01')
#print(df.head())
# 7日移动均线
df['ma7'] = df['close'].rolling(window=7).mean()
# 唐奇安通道(Donchian Channel)取过去20日的最高价,20日的最低价
df['up20'] = df['high'].shift(1).rolling(window=20).max()
df['down'] = df['low'].shift(1).rolling(window=20).min()
df['mid20'] = (df['up20']+df['down'])/2
#print(df.head())
# 取样 2022年以后的数据
d2 = df[ df.date >'2022-01-01']
print(d2.tail())
d2.index = pd.to_datetime(d2.date)
# 画股价走势图
d2[['close','up20','mid20','down']].plot(grid=True, title=code)
plt.legend(loc='best', shadow=True)
plt.show()
运行 python stock_dc.py 600030