WR指标简介Williams %R,简称为WR,是由Larry Williams开发的一种动量指标,用于识别过度买入或过度卖出的情况。它测量当前收盘价相对于过去一段时间内最高价和最低价的位置。WR指标的取值范围是-100到0,其中,接近-100的读数表明市场可能处于过度卖出状态,而接近0的读数则表明市场可能处于过度买入状态。WR指标的计算公式为: =×100WR=HLHC×100 其中:Hn是过去n个交易周期内的最高价Ln是过去n个交易周期内的最低价C是当前周期的收盘价如何运用WR指标进行量化交易WR指标主要用于识别潜在的买入和卖出机会。一般认为,当WR指标下跌至-80以下时,市场被认为是过度卖出,可能是一个买入信号;当WR指标上升至-20以上时,市场被认为是过度买入,可能是一个卖出信号。环境准备pythonCopy code# 安装必要的库!pip install pandas numpy matplotlib ta代码实现pythonCopy codeimport pandas as pdimport numpy as npimport matplotlib.pyplot as pltfrom ta.momentum import WilliamsRIndicator
# ]1 n$ P) q9 b# 加载数据(此处使用示例数据,实际应用中应替换为真实交易数据)# 假设data是一个DataFrame,包含'high', 'low', 'close'的列data = pd.read_csv('your_data.csv')! a9 ?* h* K8 s& p7 m
# 计算WR指标wr_window = 14wr_indicator = WilliamsRIndicator(high=data['high'], low=data['low'], close=data['close'], lbp=wr_window)data['WR'] = wr_indicator.williams_r()
% O' s" ]- e6 P2 H( i% Y0 [3 G# 生成交易信号data['signal'] = 0data.loc[data['WR'] < -80, 'signal'] = 1 # WR下跌至-80以下,买入信号data.loc[data['WR'] > -20, 'signal'] = -1 # WR上升至-20以上,卖出信号7 O( ?; [$ i/ R6 b) Y5 B
# 可视化结果plt.figure(figsize=(14, 7))plt.subplot(2, 1, 1)plt.plot(data['close'], label='Close Price')plt.title('Close Price and WR Indicator')plt.legend()
7 j8 Z- s' D. Aplt.subplot(2, 1, 2)plt.plot(data['WR'], label='WR', color='blue')plt.axhline(-20, color='red', linestyle='--', label='Overbought')plt.axhline(-80, color='green', linestyle='--', label='Oversold')plt.legend()plt.show()" [# _( p8 v9 b5 q& m% t) m
# 交易逻辑(示例)集成到赫兹量化交易软件要将WR指标的策略集成到赫兹量化交易软件中,您需要按照软件的开发文档进行操作,通常涉及以下步骤:数据接入:确保赫兹量化交易软件可以接入实时的市场数据,包括最高价、最低价和收盘价。指标计算:在软件中实现WR指标的计算逻辑,或者使用软件提供的指标库(如果有的话)。信号生成:根据计算出的WR值生成买入和卖出信号。执行策略:根据生成的交易信号自动执行买入或卖出操作,可能还包括设置止损和止盈点。策略优化和测试:在历史数据上进行回测,优化策略参数,然后在模拟环境中 |