WR指标是一种技术指标,用于评估市场的超买超卖状态。其计算公式为:$WR_n=\\frac{\\sum_{i=n}^{0}(\\max(H_i-C_{i-1},0))}{\\sum_{i=n}^{0}(\\max(C_{i-1}-L_i,0))}\\times100$,其中 $n$ 表示 WR 的周期,一般为 14 天。
下穿 50 线可以理解为 WR 值从上升趋势转为下降趋势,即 $WR_{t-1} > 50$ 且 $WR_t \\leq 50$。可以使用以下 Python 代码实现选股:
pythonCopy code
import akshare as ak
import pandas as pd
# 获取股票代码和名称
stock_zh_a_spot = ak.stock_zh_a_spot()
code_name_map = stock_zh_a_spot[['代码', '名称']].set_index('代码').to_dict()['名称']
stock_zh_a_daily_hfq = ak.stock_zh_a_daily_hfq('sh600000')
df = stock_zh_a_daily_hfq[['日期', '开盘', '最高', '最低', '收盘']]
# 计算 WR 指标
n = 14
df['highest_close'] = df['最高'].shift(1).rolling(window=n).max()
df['lowest_close'] = df['最低'].shift(1).rolling(window=n).min()
df['highest_high'] = df['最高']
df['lowest_low'] = df['最低']
df['wr'] = 100 * ((df['highest_high'] - df['lowest_close']) / (df['highest_high'] - df['lowest_low']))
df['wr_signal'] = df['wr'].rolling(window=2).apply(lambda x: (x[0] > 50) and (x[1] <= 50))
# 筛选出 WR 下穿 50 线的股票
df_filtered = df[df['wr_signal'] == True]
df_filtered['名称'] = df_filtered.index.map(code_name_map.get)
print(df_filtered[['日期', '名称', 'wr']])
以上代码中以上海浦东发展银行(代码:sh600000)为例,计算出其 WR 值并筛选出 WR 下穿 50 线的日期。可以根据需要修改股票代码和 WR 计算周期 $n$,以及修改输出的股票数据字段。
是一个指标,WR1是快线 WR2是慢线 当快线击向上击穿慢线时 股票涨的几率大 反之就相反。
但不是绝对的~
希望可以采纳吧
WR名叫威廉指标,是个震荡型的指标,可用来做超卖和超买的判断。
两根线一根是快线,一根是慢线,大多数软件的默认参数是10和6,表示近10个周期和近6个周期的行情走势。这两个都是短期内的,一般我会把一个改成大一点,可显示是长期趋势。具体参数改成多少要看是哪只个股,因为每只个股的节奏都不一样。这样说吧,周期短的线用来判断短期趋势,周期长的线,用来判断长期趋势。