问财量化选股策略逻辑
- 至少5根均线重合的股票
- 昨天换手率>8%
- 500日内至少2次涨停
选股逻辑分析
这个策略的逻辑是基于技术分析和市场行为来筛选股票。首先,它要求至少5根均线重合,这表明股票价格在不同时间段内的趋势比较稳定,不容易出现大幅波动。其次,昨天换手率要求大于8%,这表明股票的交易活跃度较高,市场关注度较高。最后,要求股票在500日内至少出现2次涨停,这表明股票的价格在短期内有较强的上涨动力。
有何风险?
这个策略的逻辑基于技术分析和市场行为,因此可能会受到市场情绪和投资者行为的影响。此外,由于策略要求股票价格在短期内有较强的上涨动力,因此可能会面临一定的市场风险。
如何优化?
为了优化这个策略,可以考虑以下几点:
- 选择更多的均线作为参考,以更好地反映股票的趋势和稳定性。
- 考虑加入其他市场指标,如市盈率、市净率等,以更好地评估股票的价值和风险。
- 考虑加入其他市场行为指标,如成交量、换手率等,以更好地反映股票的交易活跃度和市场关注度。
最终的选股逻辑
- 股票价格至少有5根均线重合
- 昨天换手率大于8%
- 500日内至少出现2次涨停
- 选择更多的均线作为参考
- 考虑加入其他市场指标,如市盈率、市净率等
- 考虑加入其他市场行为指标,如成交量、换手率等
python代码参考
import talib
def get_stock_data(symbol):
# 获取股票数据
data = yf.download(symbol, start='2021-01-01', end='2021-12-31')
# 计算均线
ma5 = talib.MA(data['Close'], timeperiod=5)
ma10 = talib.MA(data['Close'], timeperiod=10)
ma20 = talib.MA(data['Close'], timeperiod=20)
ma50 = talib.MA(data['Close'], timeperiod=50)
ma200 = talib.MA(data['Close'], timeperiod=200)
# 计算换手率
data['TR'] = data['Volume'] / data['Close'] * 100
# 计算昨天换手率
data['yesterday_TR'] = data['TR'].shift(1)
data['yesterday_TR'] = data['yesterday_TR'].fillna(0)
data['yesterday_TR'] = data['yesterday_TR'] * data['Close'].shift(1)
data['yesterday_TR'] = data['yesterday_TR'] / data['Close']
# 计算是否出现至少2次涨停
data['has_stocks'] = data['Close'].diff() > 0
data['has_stocks'] = data['has_stocks'].shift(1)
data['has_stocks'] = data['has_stocks'] * data['Close'].shift(1)
data['has_stocks'] = data['has_stocks'] / data['Close']
data['has_stocks'] = data['has_stocks'].cumsum()
data['has_stocks'] = data['has_stocks'] >= 2
# 合并多个指标
data = pd.merge(data, ma5, left_on='Date', right_on='Close')
data = pd.merge(data, ma10, left_on='Date', right_on='Close')
data = pd.merge(data, ma20, left_on='Date', right_on='Close')
data = pd.merge(data, ma50, left_on='Date', right_on='Close')
data = pd.merge(data, ma200, left_on='Date', right_on='Close')
data = pd.merge(data, data['TR'], left_on='Date', right_on='TR')
data = pd.merge(data, data['yesterday_TR'], left_on='Date', right_on='yesterday_TR')
data = pd.merge(data, data['has_stocks'], left_on='Date', right_on='has_stocks')
# 返回合并后的数据
return data
如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
如果有任何问题请添加 下方的二维码进群提问。


