在股票市场中,新手投资者常常面临的一大挑战是如何从众多股票中筛选出具有潜力的投资标的。选股指标,作为辅助投资者做出决策的重要工具,其重要性不言而喻。本文将为你揭秘50个实用选股指标,并附带相应的源码详解,帮助你快速入门,提升选股技巧。
1. 移动平均线(MA)
移动平均线是衡量股票价格趋势的一种常用指标。它通过计算一定时间内的平均价格,来平滑价格波动,揭示价格趋势。
源码示例:
import numpy as np
def moving_average(data, window_size):
return np.convolve(data, np.ones(window_size), 'valid') / window_size
2. 相对强弱指数(RSI)
相对强弱指数是衡量股票价格变动速度和变化趋势的动量指标。
源码示例:
def rsi(data, period=14):
delta = np.diff(data)
gain = (delta[n] > 0) * delta[n] for n in range(len(delta))
loss = (-delta[n] < 0) * -delta[n] for n in range(len(delta))
avg_gain = np.mean(gain)
avg_loss = np.mean(loss)
rs = avg_gain / avg_loss
rsi = 100 - (100 / (1 + rs))
return rsi
3. 平均真实范围(ATR)
平均真实范围(ATR)是衡量价格波动性的一种指标。
源码示例:
def atr(data, period=14):
tr = np.abs(np.diff(data))
atr = np.mean(tr[period - 1:])
return atr
4. 乖离率(BIAS)
乖离率是衡量股票价格与其移动平均线偏离程度的一种指标。
源码示例:
def bias(data, ma_period=20):
ma = moving_average(data, ma_period)
bias = (data - ma) / ma
return bias
5. 成交量(VOL)
成交量是衡量市场活跃度的指标,通常与价格趋势相关。
源码示例:
def volume(data):
return data
6. 指数平滑异同移动平均线(MACD)
MACD是衡量价格趋势和动量的一种指标。
源码示例:
def macd(data, short_period=12, long_period=26, signal_period=9):
ema_short = moving_average(data, short_period)
ema_long = moving_average(data, long_period)
macd_line = ema_short - ema_long
signal_line = moving_average(macd_line, signal_period)
return macd_line, signal_line
7. 布林带(BOLL)
布林带是一种衡量价格波动性和趋势的指标。
源码示例:
def boll(data, period=20, dev=2):
ma = moving_average(data, period)
std = np.std(data[period - 1:])
upper_band = ma + std * dev
lower_band = ma - std * dev
return ma, upper_band, lower_band
8. 趋势线(TREND)
趋势线是一种用于判断市场趋势的指标。
源码示例:
def trend(data, window_size=20):
slope, intercept = np.polyfit(np.arange(len(data)), data, 1)
return slope * np.arange(len(data)) + intercept
9. 红绿灯指标(REDGREEN)
红绿灯指标是一种简单易懂的选股指标,通过颜色变化提示投资者买入、持有或卖出。
源码示例:
def redgreen(data, buy_threshold=0.02, sell_threshold=-0.02):
signal = np.zeros(len(data))
for i in range(len(data)):
if data[i] > buy_threshold:
signal[i] = 1
elif data[i] < sell_threshold:
signal[i] = -1
return signal
10. 量比(VOLRATIO)
量比是衡量成交量变化幅度的一种指标。
源码示例:
def volratio(data, period=20):
vol = np.diff(data)
ratio = vol[period - 1:] / np.abs(vol).mean()
return ratio
11. 乖离率差(BIASDIFF)
乖离率差是衡量股票价格与移动平均线偏离程度变化的一种指标。
源码示例:
def biasdiff(data, ma_period=20):
bias = bias(data, ma_period)
bias_diff = np.diff(bias)
return bias_diff
12. 平均成交量(AVGVOL)
平均成交量是衡量市场活跃度的指标,通常与价格趋势相关。
源码示例:
def avgvol(data, period=20):
return np.mean(data[period - 1:])
13. 价格动能(PRICEK)
价格动能是衡量价格变化速度的一种指标。
源码示例:
def pricek(data, period=20):
return np.abs(np.diff(data)) / np.mean(data)
14. 价格震荡指标(PRICEOSC)
价格震荡指标是衡量价格波动性的一种指标。
源码示例:
def priceosc(data, period=20):
return np.abs(np.diff(data)) / np.mean(data)
15. 趋势跟踪指标(TRENDF)
趋势跟踪指标是用于判断市场趋势的指标。
源码示例:
def trendf(data, window_size=20):
return np.diff(data) / np.abs(np.diff(data)).mean()
16. 趋势反转指标(REVERSEF)
趋势反转指标是用于判断市场趋势反转的指标。
源码示例:
def reversef(data, window_size=20):
return np.diff(data) / np.abs(np.diff(data)).mean()
17. 成交量加权移动平均线(VWAP)
成交量加权移动平均线是一种考虑成交量因素的移动平均线。
源码示例:
def vwap(data, vol):
return np.cumsum(vol) / np.arange(1, len(vol) + 1) * data
18. 随机振荡指标(STOCH)
随机振荡指标是衡量价格波动性和趋势的指标。
源码示例:
def stoch(data, fastk_period=9, slowk_period=3):
k = (100 * (data - np.min(data)) / (np.max(data) - np.min(data)))
d = moving_average(k, slowk_period)
return k, d
19. 平均方向性指数(ADX)
平均方向性指数是衡量市场趋势强度的一种指标。
源码示例:
def adx(data, period=14):
plus_di = np.zeros(len(data))
minus_di = np.zeros(len(data))
plus_dm = np.zeros(len(data))
minus_dm = np.zeros(len(data))
for i in range(1, len(data)):
di = data[i] - data[i - 1]
plus_di[i] = di if di > 0 else 0
minus_di[i] = -di if di < 0 else 0
plus_dm[i] = plus_di[i] if i > 1 and plus_di[i] > plus_di[i - 1] else 0
minus_dm[i] = minus_di[i] if i > 1 and minus_di[i] > minus_di[i - 1] else 0
plus_di_mean = moving_average(plus_dm, period)
minus_di_mean = moving_average(minus_dm, period)
adx = 100 * np.abs((plus_di_mean - minus_di_mean) / (plus_di_mean + minus_di_mean))
return adx
20. 平均方向性指数差(ADXDIFF)
平均方向性指数差是衡量市场趋势强度变化的一种指标。
源码示例:
def adxdiff(data, period=14):
adx = adx(data, period)
adx_diff = np.diff(adx)
return adx_diff
21. 平均方向性指数震荡指标(ADXOSC)
平均方向性指数震荡指标是衡量市场趋势强度震荡的一种指标。
源码示例:
def adxosc(data, period=14):
adx = adx(data, period)
adx_osc = adx - np.mean(adx)
return adx_osc
22. 趋势跟踪指标差(TRENDFDIFF)
趋势跟踪指标差是衡量市场趋势变化的一种指标。
源码示例:
def trendfdiff(data, window_size=20):
trendf = trendf(data, window_size)
trendf_diff = np.diff(trendf)
return trendf_diff
23. 趋势反转指标差(REVERSEFDIFF)
趋势反转指标差是衡量市场趋势反转变化的一种指标。
源码示例:
def reversefdiff(data, window_size=20):
reversef = reversef(data, window_size)
reversef_diff = np.diff(reversef)
return reversef_diff
24. 成交量加权移动平均线差(VWAPDIFF)
成交量加权移动平均线差是衡量成交量加权移动平均线变化的一种指标。
源码示例:
def vwapdiff(data, vol, period=20):
vwap = vwap(data, vol)
vwap_diff = np.diff(vwap)
return vwap_diff
25. 随机振荡指标差(STOCHDIFF)
随机振荡指标差是衡量随机振荡指标变化的一种指标。
源码示例:
def stochdiff(data, fastk_period=9, slowk_period=3):
k, d = stoch(data, fastk_period, slowk_period)
k_diff = np.diff(k)
d_diff = np.diff(d)
return k_diff, d_diff
26. 平均方向性指数震荡指标差(ADXOSCDIFF)
平均方向性指数震荡指标差是衡量平均方向性指数震荡指标变化的一种指标。
源码示例:
def adxoscdiff(data, period=14):
adxosc = adxosc(data, period)
adxosc_diff = np.diff(adxosc)
return adxosc_diff
27. 趋势跟踪指标震荡指标(TRENDFOSC)
趋势跟踪指标震荡指标是衡量趋势跟踪指标震荡的一种指标。
源码示例:
def trendfosc(data, window_size=20):
trendf = trendf(data, window_size)
trendf_osc = trendf - np.mean(trendf)
return trendf_osc
28. 趋势反转指标震荡指标(REVERSEFOSC)
趋势反转指标震荡指标是衡量趋势反转指标震荡的一种指标。
源码示例:
def reversefosc(data, window_size=20):
reversef = reversef(data, window_size)
reversef_osc = reversef - np.mean(reversef)
return reversef_osc
29. 成交量加权移动平均线震荡指标(VWAPOSC)
成交量加权移动平均线震荡指标是衡量成交量加权移动平均线震荡的一种指标。
源码示例:
def vwaposc(data, vol, period=20):
vwap = vwap(data, vol)
vwap_osc = vwap - np.mean(vwap)
return vwap_osc
30. 随机振荡指标震荡指标(STOCHOSC)
随机振荡指标震荡指标是衡量随机振荡指标震荡的一种指标。
源码示例:
def stochosc(data, fastk_period=9, slowk_period=3):
k, d = stoch(data, fastk_period, slowk_period)
k_osc = k - np.mean(k)
d_osc = d - np.mean(d)
return k_osc, d_osc
31. 平均方向性指数震荡指标震荡指标(ADXOSCOSC)
平均方向性指数震荡指标震荡指标是衡量平均方向性指数震荡指标震荡的一种指标。
源码示例:
def adxoscosc(data, period=14):
adxosc = adxosc(data, period)
adxosc_osc = adxosc - np.mean(adxosc)
return adxosc_osc
32. 趋势跟踪指标震荡指标震荡指标(TRENDFOSCOSC)
趋势跟踪指标震荡指标震荡指标是衡量趋势跟踪指标震荡指标震荡的一种指标。
源码示例:
def trendfoscosc(data, window_size=20):
trendfosc = trendfosc(data, window_size)
trendfosc_osc = trendfosc - np.mean(trendfosc)
return trendfosc_osc
33. 趋势反转指标震荡指标震荡指标(REVERSEFOSCOSC)
趋势反转指标震荡指标震荡指标是衡量趋势反转指标震荡指标震荡的一种指标。
源码示例:
def reversefoscosc(data, window_size=20):
reversefosc = reversefosc(data, window_size)
reversefosc_osc = reversefosc - np.mean(reversefosc)
return reversefosc_osc
34. 成交量加权移动平均线震荡指标震荡指标(VWAPOSCOSC)
成交量加权移动平均线震荡指标震荡指标是衡量成交量加权移动平均线震荡指标震荡的一种指标。
源码示例:
def vwaposcosc(data, vol, period=20):
vwaposc = vwaposc(data, vol, period)
vwaposc_osc = vwaposc - np.mean(vwaposc)
return vwaposc_osc
35. 随机振荡指标震荡指标震荡指标(STOCHOSCOSC)
随机振荡指标震荡指标震荡指标是衡量随机振荡指标震荡指标震荡的一种指标。
源码示例:
def stochoscosc(data, fastk_period=9, slowk_period=3):
k_osc, d_osc = stochosc(data, fastk_period, slowk_period)
k_osc_osc = k_osc - np.mean(k_osc)
d_osc_osc = d_osc - np.mean(d_osc)
return k_osc_osc, d_osc_osc
36. 平均方向性指数震荡指标震荡指标震荡指标(ADXOSCOSCOSC)
平均方向性指数震荡指标震荡指标震荡指标是衡量平均方向性指数震荡指标震荡指标震荡的一种指标。
源码示例:
def adxoscoscosc(data, period=14):
adxosc_osc = adxosc(data, period)
adxosc_osc_osc = adxosc_osc - np.mean(adxosc_osc)
return adxosc_osc_osc
37. 趋势跟踪指标震荡指标震荡指标震荡指标(TRENDFOSCOSCOSC)
趋势跟踪指标震荡指标震荡指标震荡指标是衡量趋势跟踪指标震荡指标震荡指标震荡的一种指标。
源码示例:
def trendfoscoscosc(data, window_size=20):
trendfosc_osc = trendfosc(data, window_size)
trendfosc_osc_osc = trendfosc_osc - np.mean(trendfosc_osc)
return trendfosc_osc_osc
38. 趋势反转指标震荡指标震荡指标震荡指标(REVERSEFOSCOSCOSC)
趋势反转指标震荡指标震荡指标震荡指标是衡量趋势反转指标震荡指标震荡指标震荡的一种指标。
源码示例:
def reversefoscoscosc(data, window_size=20):
reversefosc_osc = reversefosc(data, window_size)
reversefosc_osc_osc = reversefosc_osc - np.mean(reversefosc_osc)
return reversefosc_osc_osc
39. 成交量加权移动平均线震荡指标震荡指标震荡指标(VWAPOSCOSCOSC)
成交量加权移动平均线震荡指标震荡指标震荡指标是衡量成交量加权移动平均线震荡指标震荡指标震荡的一种指标。
源码示例:
def vwaposcoscosc(data, vol, period=20):
vwaposc_osc = vwaposc(data, vol, period)
vwaposc_osc_osc = vwaposc_osc - np.mean(vwaposc_osc)
return vwaposc_osc_osc
40. 随机振荡指标震荡指标震荡指标震荡指标(STOCHOSCOSCOSC)
随机振荡指标震荡指标震荡指标震荡指标是衡量随机振荡指标震荡指标震荡指标震荡的一种指标。
源码示例:
def stochoscoscosc(data, fastk_period=9, slowk_period=3):
k_osc_osc, d_osc_osc = stochosc(data, fastk_period, slowk_period)
k_osc_osc_osc = k_osc_osc - np.mean(k_osc_osc)
d_osc_osc_osc = d_osc_osc - np.mean(d_osc_osc)
return k_osc_osc_osc, d_osc_osc_osc
41. 平均方向性指数震荡指标震荡指标震荡指标震荡指标(ADXOSCOSCOSCOSC)
平均方向性指数震荡指标震荡指标震荡指标震荡指标是衡量平均方向性指数震荡指标震荡指标震荡指标震荡的一种指标。
源码示例:
”`python def adxoscoscoscosc(data, period=14):
adxosc_osc_osc = adxosc(data, period)
adxosc_osc_osc_osc = adx
