ASI振动升降指标策略–量化实战(附Python代码)

振动升降指标(Accumulation Swing Index, ASI),由 Welles Wilder 开发,是一种动量指标,用于衡量价格动量的变化,尤其适用于震荡市场。与简单依赖收盘价的指标不同,ASI 考虑了整个价格波动范围,提供了更为全面的市场视角。

一、振动升降指标ASI简介

ASI 指标的计算较为复杂,涉及多个步骤,主要包括以下几个部分:
  1. 真实范围(TR):真实范围是当前交易日的最高价、最低价与前一交易日收盘价之间的最大价差。
  2. 动量(M):动量是当前周期的收盘价与上一个周期的ASI值之间的差值。
  3. 动量因子(MF):动量因子是动量与真实范围的比值。
  4. 短期简单移动平均(SMA):对动量因子进行短期简单移动平均处理。

ASI指标的计算公式拆解

图片

二、交易信号的生成

  • 买入信号:当ASI指标上升突破其短期移动平均线时,视为买入信号。
  • 卖出信号:当ASI指标下降跌破其短期移动平均线时,视为卖出信号。
三、ASI振动升降指标策略量化实战
import pandas as pdimport numpy as np
def calculate_tr(df):    df['TR'] = np.maximum(df['High'] - df['Low'],                           np.maximum(df['High'] - df['Close'].shift(1),                                     df['Low'] - df['Close'].shift(1)))
def calculate_m(df, asii):    df['M'] = df['Close'] - asii
def calculate_mf(df):    df['MF'] = df['M'] / df['TR']
def calculate_asi(df, period=14):    calculate_tr(df)    df['SMA_MF'] = df['MF'].rolling(window=period).mean()    df['ASI'] = df['Close']  # 初始化ASI    for i in range(1, len(df)):        df['ASI'].iloc[i] = df['ASI'].iloc[i-1] + (df['MF'].iloc[i] * df['TR'].iloc[i] * 26 / period)
    return df['ASI']
# 假设df是包含股票最高价、最低价和收盘价的DataFramedf['ASI'] = calculate_asi(df)
# 生成交易信号df['Signal'] = 0df['Signal'][df['ASI'] > df['ASI'].shift(1)] = 1  # 买入信号df['Signal'][df['ASI'] < df['ASI'].shift(1)] = -1  # 卖出信号
# 绘制ASI指标和交易信号import matplotlib.pyplot as plt
plt.figure(figsize=(14, 7))plt.plot(df['Close'], label='Close Price', alpha=0.5)plt.plot(df['ASI'], label='ASI', linestyle='--')plt.plot(df[df['Signal'] == 1].index, df['Close'][df['Signal'] == 1], '^', markersize=10, color='green', label='Buy Signal')plt.plot(df[df['Signal'] == -1].index, df['Close'][df['Signal'] == -1], 'v', markersize=10, color='red', label='Sell Signal')plt.legend()plt.show()
  • 策略回测

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

四、结语

振动升降指标ASI为量化交易者提供了一种在震荡市场中识别交易机会的有效工具。本文通过实战应用展示了ASI指标的计算、交易信号生成和策略回测的全过程,为交易者提供了一种系统的量化交易策略开发和评估方法。需注意,以上内容和代码仅为示例,实际应用中需要根据具体情况进行调整和优化。量化交易涉及复杂的数学模型和编程技能,建议交易者在充分学习和测试后,再将策略应用于实际交易中。

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

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

相关推荐

发表回复

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