问财量化选股策略逻辑
- 至少5根均线重合的股票
- 10日涨幅大于0小于35
- 今日最低价小于昨日最低价
选股逻辑分析
- 该策略通过寻找至少5根均线重合的股票来筛选出有较强趋势的股票。
- 10日涨幅大于0小于35表示股票近期有上涨趋势,但尚未达到过高的程度。
- 今日最低价小于昨日最低价则表明股票在短期内有下跌的趋势,可能是受到市场压力或投资者恐慌的影响。
有何风险?
- 该策略的局限性在于它只能筛选出有趋势的股票,但不能判断趋势的持续性和强度。
- 如果市场出现大幅波动,该策略可能会筛选出一些表现不佳的股票。
- 该策略对于短期波动的股票可能不敏感,因此可能无法选出一些优质股票。
如何优化?
- 可以考虑加入更多均线的条件,例如20日、60日均线等,以更好地判断股票的趋势。
- 可以加入股票的成交量、换手率等指标,以更好地判断股票的活跃度和投资者情绪。
- 可以考虑加入一些技术指标,例如MACD、KDJ等,以更好地判断股票的趋势和强度。
最终的选股逻辑
- 选取至少5根均线重合的股票
- 10日涨幅大于0小于35
- 今日最低价小于昨日最低价
- 20日均线向上,60日均线向上
- 成交量大于10日均量,换手率大于10%
- 股票价格在均线上方,MACD金叉,KDJ金叉
python代码参考
import talib
def get_stock_data(stock_code):
# 获取股票的历史数据
data = yf.download(stock_code, start='2020-01-01', end='2021-12-31')
# 计算均线
ma5 = talib.MA(data['close'], timeperiod=5)
ma10 = talib.MA(data['close'], timeperiod=10)
ma60 = talib.MA(data['close'], timeperiod=60)
# 获取其他指标数据
v = data['volume']
r = data['return']
macd = talib.MACD(data['close'], fastperiod=12, slowperiod=26, signalperiod=9)
kdj = talib.KDJ(data['close'], fastperiod=3, slowperiod=3, massperiod=3)
# 根据条件筛选股票
selected_stocks = []
for i in range(len(data)):
if ma5[i] > ma10[i] and ma10[i] > ma60[i] and r[i] > 0 and v[i] > data['volume'].rolling(window=10).mean() and kdj[i].k > 80 and kdj[i].d > 80:
selected_stocks.append(data['close'][i])
return selected_stocks
如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
如果有任何问题请添加 下方的二维码进群提问。


