DMI动向指标策略–量化实战(附Python代码)

量化交易结合了先进的数学模型和计算机技术,通过自动化的交易策略来实现投资决策。动向指标(Directional Movement Indicator, DMI),由威尔斯·威尔德(Welles Wilder)提出,是一种趋势强度的量化工具,帮助交易者识别市场趋势的强度、持续性以及可能的转折点。

一、动向指标DMI简介

动向指标DMI由四条线组成:+DI(正向指标线)、-DI(反向指标线)、ADX(平均动向指数)和DI线的平均值。+DI上升表示多头趋势增强,-DI上升表示空头趋势增强,ADX用于衡量趋势的强度。

  • 交易信号的生成

  • 当+DI线上穿-DI线,且ADX值上升时,视为买入信号。

  • 当-DI线上穿+DI线,且ADX值下降时,视为卖出信号。

二、构建基于DMI的交易策略

  1. 确定计算周期,计算+DI、-DI和ADX。
  2. 设定交易信号的生成规则。
  3. 根据DMI指标生成买入和卖出信号。
三、DMI动向指标策略量化实战
图片
import pandas as pdimport numpy as npimport matplotlib.pyplot as plt
def calculate_dmi(df, period=14):    df['HH'] = df['High'].rolling(window=period).max()    df['LL'] = df['Low'].rolling(window=period).min()    df['+DM'] = np.where((df['High'] - df['High'].shift(1)) > (df['Low'].shift(1) - df['Low']),                           (df['High'] - df['High'].shift(1)), 0)    df['-DM'] = np.where((df['Low'] - df['Low'].shift(1)) < (df['High'].shift(1) - df['High']),                           -(df['Low'] - df['Low'].shift(1)), 0)    df['+DI'] = (df['+DM'].rolling(window=period).sum()) / (df['HH'] - df['LL']).rolling(window=period).sum()    df['-DI'] = (df['-DM'].rolling(window=period).sum()) / (df['HH'] - df['LL']).rolling(window=period).sum()    df['DX'] = (abs(df['+DI'] - df['-DI']) / (df['+DI'] + df['-DI'])) * 100    df['ADX'] = df['DX'].rolling(window=period).mean()
    df['Buy_Signal'] = np.where((df['+DI'] > df['-DI']) & (df['ADX'] > 25), 1, 0)    df['Sell_Signal'] = np.where((df['-DI'] > df['+DI']) & (df['ADX'] < 50), -1, 0)
    return df['Buy_Signal'], df['Sell_Signal']
# 假设df是包含股票价格的DataFramebuy_signal, sell_signal = calculate_dmi(df)
# 绘制交易信号plt.figure(figsize=(14, 7))plt.plot(df['Close'], label='Close Price', alpha=0.5)plt.plot(df[buy_signal == 1].index, df['Close'][buy_signal == 1], '^', markersize=10, color='green', label='Buy Signal')plt.plot(df[sell_signal == -1].index, df['Close'][sell_signal == -1], 'v', markersize=10, color='red', label='Sell Signal')plt.legend()plt.show()
  • 策略回测

策略回测是量化交易中验证交易策略有效性的重要步骤。通过历史数据模拟交易,可以评估策略的收益、风险和稳定性。

四、结语

量化交易作为一种高效的交易方式,正逐渐成为金融市场的主流。动向指标DMI作为一种趋势强度的量化工具,在量化交易策略中扮演着重要角色。本文通过实战应用展示了DMI指标在交易策略构建和执行中的价值,同时也强调了策略回测的重要性。需注意,以上内容和代码仅为示例,实际应用中需要根据具体情况进行调整和优化。量化交易涉及复杂的数学模型和编程技能,建议交易者在充分学习和测试后,再将策略应用于实际交易中。

发布者:股市刺客,转载请注明出处:https://www.95sca.cn/archives/106025
站内所有文章皆来自网络转载或读者投稿,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!

(0)
股市刺客的头像股市刺客
上一篇 5天前
下一篇 5天前

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注