问财量化选股策略逻辑
- 至少5根均线重合的股票
- 圆弧形
- 近25个交易日有单日涨幅大于等于百分之10
选股逻辑分析
这个策略的逻辑是基于技术分析的,主要关注股票的价格趋势和均线的走势。首先,筛选出至少5根均线重合的股票,这通常意味着股票价格在一个相对稳定的区域内波动。然后,通过观察股票价格的圆弧形走势来判断股票价格的趋势方向。最后,筛选出近25个交易日中有单日涨幅大于等于百分之10的股票,这表明股票价格短期内有较强的上涨动力。
有何风险?
这个策略的潜在风险包括以下几点:
- 均线的选取可能会影响策略的效果。如果选取的均线数量过多或过少,可能会导致策略的准确性降低。
- 圆弧形走势的判断可能存在误差。如果股票价格的走势并不是完全符合圆弧形的,那么策略的效果就会受到影响。
- 单日涨幅大于等于百分之10的股票并不一定代表股票价格未来会有较大的上涨空间。因此,这个策略的收益可能会受到限制。
如何优化?
为了优化这个策略,可以考虑以下几点:
- 选择更为合适的均线数量。可以通过实验和数据分析来确定最佳的均线数量。
- 采用更为准确的圆弧形走势判断方法。可以考虑使用更为复杂的指标来判断圆弧形走势,例如使用趋势线和KDJ指标等。
- 采用更为灵活的单日涨幅判断方法。可以考虑使用更为灵活的指标来判断单日涨幅,例如使用收盘价涨幅和开盘价涨幅等。
最终的选股逻辑
最终的选股逻辑如下:
- 筛选出至少5根均线重合的股票
- 通过观察股票价格的圆弧形走势来判断股票价格的趋势方向
- 筛选出近25个交易日中有单日涨幅大于等于百分之10的股票
python代码参考:
import talib
def get_rolling_mean(prices, n):
"""
获取n天的滚动平均值
"""
return talib.MA(prices, n)
def get_rolling_std(prices, n):
"""
获取n天的滚动标准差
"""
return talib.STDDEV(prices, n)
def get_rolling_min(prices, n):
"""
获取n天的滚动最小值
"""
return talib.MIN(prices, n)
def get_rolling_max(prices, n):
"""
获取n天的滚动最大值
"""
return talib.MAX(prices, n)
def get_rolling_count(prices, n):
"""
获取n天的滚动成交量
"""
return talib.VOL(prices, n)
def get_rolling_rsi(prices, n):
"""
获取n天的RSI指标
"""
return talib.RSI(prices, n)
def get_rollingWilliams(prices, n):
"""
获取n天的Williams指标
"""
return talib.WILLIAMS(prices, n)
def get_rolling_macd(prices, fast_length, slow_length, signal_length):
"""
获取n天的MACD指标
"""
ema fast = talib.EMA(prices, fast_length)
ema slow = talib.EMA(prices, slow_length)
macd = ema - ema
signal = talib.SMA(macd, signal_length)
return macd, signal
def get_rolling_kdj(prices, fast_length, slow_length, signal_length):
"""
获取n天的KDJ指标
"""
rsi = talib.RSI(prices, n)
k = talib.KAMA(prices, fast_length)
d = talib.DEMA(prices, slow_length)
j = talib.STDDEV(prices, signal_length)
return rsi, k, d, j
def get_rolling_rolling_mean_and_std(prices, n):
"""
获取n天的滚动平均值和标准差
"""
ma = talib.MA(prices, n)
std = talib.STDDEV(prices, n)
return ma, std
def get_rolling_rolling_min_and_max(prices, n):
"""
获取n天的滚动最小值和最大值
"""
ma = talib.MA(prices, n)
max = talib.MAX(prices, n)
min = talib.MIN(prices, n)
return ma, max, min
def get_rolling_rolling_count_and_volume(prices, n):
"""
获取n天的滚动成交量和成交量
"""
ma = talib.MA(pr
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


