问财量化选股策略逻辑
- 至少5根均线重合的股票
- 10天内涨停天数大于2
- 2021年
选股逻辑分析
- 这个策略基于均线和短期表现来筛选股票。首先,要求至少5根均线重合,这表明股票价格在不同时间段内保持稳定。其次,要求10天内涨停天数大于2,这表明股票在短期内有较强的上涨动力。最后,要求股票在2021年,这表明该策略适用于2021年的市场环境。
有何风险?
- 这个策略可能无法捕捉到长期趋势。因为该策略只考虑短期表现,可能会忽略股票的长期走势。
- 这个策略可能会过于保守。因为该策略要求至少5根均线重合,可能会错过一些短期表现较好的股票。
如何优化?
- 可以考虑增加更多的均线,以更好地捕捉股票的长期趋势。
- 可以考虑加入其他指标,如成交量和市盈率等,以更好地筛选股票。
最终的选股逻辑
- 选取至少5根均线重合的股票
- 选取10天内涨停天数大于2的股票
- 选取2021年的股票
- 在满足以上条件的股票中,选取成交量和市盈率较高的股票
python代码参考
import talib
def get_stock_data(stock_code):
# 获取股票数据
data = talib.get_data_yahoo(stock_code, start='2021-01-01', end='2021-12-31')
# 计算均线
ma5 = talib.MA(data['Adj Close'], timeperiod=5)
ma10 = talib.MA(data['Adj Close'], timeperiod=10)
ma20 = talib.MA(data['Adj Close'], timeperiod=20)
# 获取股票的涨停天数
data['streak'] = data['Adj Close'].diff().rolling(window=10).sum().cumsum()
data['streak'] = data['streak'].where(data['streak'] > 0, 0)
# 获取符合条件的股票
filtered_data = data[(data['Adj Close'].rolling(window=5).mean() > ma5) &
(data['Adj Close'].rolling(window=10).mean() > ma10) &
(data['Adj Close'].rolling(window=20).mean() > ma20) &
(data['streak'] > 2)]
# 返回符合条件的股票数据
return filtered_data
如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
如果有任何问题请添加 下方的二维码进群提问。


