一、唐奇安通道指标简介
唐奇安通道的交易信号
-
买入信号:当价格从下通道线反弹向上穿过中通道线时。
-
卖出信号:当价格从上通道线回落向下穿过中通道线时。
二、构建基于唐奇安通道的交易策略
-
确定周期长度,计算上通道线和下通道线。
-
根据上通道线和下通道线确定中通道线。
-
根据价格与通道线的交互生成交易信号。
策略回测

import pandas as pdimport numpy as npimport matplotlib.pyplot as plt
# 假设df是包含股票价格的DataFrame,其中'High'是最高价,'Low'是最低价def calculate_donchian_channel(df, period): upper_band = df['High'].rolling(window=period).max() lower_band = df['Low'].rolling(window=period).min() middle_band = (upper_band + lower_band) / 2 return upper_band, lower_band, middle_band
# 计算唐奇安通道upper_band, lower_band, middle_band = calculate_donchian_channel(df, 20)
# 生成交易信号df['Position'] = np.where((df['Close'] > middle_band) & (df['Close'].shift(1) < lower_band), 1, 0)df['Position'] = np.where((df['Close'] < middle_band) & (df['Close'].shift(1) > upper_band), -1, df['Position'])
# 绘制唐奇安通道和交易信号plt.figure(figsize=(14, 7))plt.plot(df['Close'], label='Close Price', alpha=0.5)plt.plot(upper_band, label='Upper Band', linestyle='--')plt.plot(lower_band, label='Lower Band', linestyle='--')plt.plot(middle_band, label='Middle Band', linestyle='-')plt.plot(df[df['Position'] == 1].index, df['Close'][df['Position'] == 1], '^', markersize=10, color='green', label='Buy Signal')plt.plot(df[df['Position'] == -1].index, df['Close'][df['Position'] == -1], 'v', markersize=10, color='red', label='Sell Signal')plt.legend()plt.show()
四、结语
发布者:股市刺客,转载请注明出处:https://www.95sca.cn/archives/106026
站内所有文章皆来自网络转载或读者投稿,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!