抛物线指标SAR策略–量化交易实战(附Python完整代码)

在量化交易中,抛物线指标SAR(Stop and Reverse)是一种简单而有效的趋势跟踪工具,由J. Welles Wilder Jr. 在其著作《New Concepts in Technical Trading Systems》中首次提出。SAR指标通过在图表上绘制一系列的点来帮助交易者识别价格趋势,并在趋势反转时发出买卖信号。今天我们将详细介绍SAR指标的计算方法,生成交易信号,并通过Python代码进行策略回测。

一、SAR指标的计算

SAR指标的计算基于以下原则:
1.初始SAR值:在趋势开始时,SAR值通常设置为价格的最高点或最低点。
2.加速因子(AF):随着价格趋势的持续,加速因子会逐渐增加,直到达到最大值。
3.极值(EP):在趋势反转时,SAR值会接近价格的极值。
SAR的计算公式如下:
����+1=����+��×(��−����)
SARn+1 = SARn + AF * (EP – SARn
其中:
����
  • SARn是当前周期的SAR值。
    ����+1
  • SARn+1是下一个周期的SAR值。
    ��
  • AF是加速因子,初始值为0.02,每周期增加0.02,直到达到0.20。
    ��
  • EP是价格的极值,如果当前趋势是上升趋势,则为价格的最低点;如果当前趋势是下降趋势,则为价格的最高点。

二、生成交易信息

在使用SAR指标生成交易信号时,我们通常会根据SAR点的位置来判断买卖时机。当价格穿越SAR点时,视为趋势反转的信号。例如,当价格从下方穿越SAR点时,视为买入信号;当价格从上方穿越SAR点时,视为卖出信号。
三、抛物线指标SAR策略量化实战
图片
import pandas as pdimport numpy as npimport pandas_datareader as pdrfrom datetime import datetime
# 计算SAR指标def calculate_sar(data, af_start=0.02, af_max=0.20): data['SAR'] = np.nan data['AF'] = af_start data['EP'] = data['High'].rolling(2).max() data['SAR'][0] = data['High'][0] for i in range(1, len(data)): if data['Close'][i] > data['SAR'][i-1]: data['SAR'][i] = data['SAR'][i-1] + data['AF'][i-1] * (data['EP'][i-1] - data['SAR'][i-1]) data['EP'][i] = data['High'][i] data['AF'][i] = min(data['AF'][i-1] + af_start, af_max) elif data['Close'][i] < data['SAR'][i-1]: data['SAR'][i] = data['SAR'][i-1] - data['AF'][i-1] * (data['SAR'][i-1] - data['EP'][i-1]) data['EP'][i] = data['Low'][i] data['AF'][i] = min(data['AF'][i-1] + af_start, af_max) else: data['SAR'][i] = data['SAR'][i-1] data['AF'][i] = data['AF'][i-1] return data
# 计算SAR指标data = calculate_sar(data)
# 生成交易信号data['Signal'] = 0data['Position'] = 0data['Position'] = data['Close'].shift(1) > data['SAR']data['Position'] = data['Position'].shift(1)
# 回测策略def backtest_strategy(data): data['Strategy_Returns'] = data['Position'].shift(1) * data['Close'].pct_change() data['Cumulative_Returns'] = (1 + data['Strategy_Returns']).cumprod() return data

四、结论

SAR指标是一种简单而有效的趋势跟踪工具,通过计算一系列的点来确定价格趋势,并在趋势反转时发出买卖信号。通过Python实现SAR指标策略并进行回测,我们可以评估策略的有效性,并根据回测结果对策略进行优化。然而,需要注意的是,任何单一指标都有其局限性,因此在实际应用中,建议结合其他技术指标和基本面分析来提高交易的成功率。此外,回测结果仅能反映历史表现,未来市场表现可能会有所不同。因此,投资者在使用SAR策略时应谨慎,并结合自己的风险承受能力进行决策。

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

(0)
股市刺客的头像股市刺客
上一篇 2024 年 7 月 30 日
下一篇 2024 年 7 月 30 日

相关推荐

发表回复

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