问财量化选股策略逻辑
选择振幅大于1、股票均价站在五日均线之上、主升起动的股票。
选股逻辑分析
振幅大于1表示股票价格较为波动,在波动中可能存在价格上涨的机会,同时股票均价站在五日均线之上也说明股价较为稳定;主升起动则说明市场整体热情高涨,行情持续上升,更有可能带动个股的持续上涨。
有何风险?
当市场主升已经过热时,个股持续上涨的动力可能会有所减弱或者没有了下一波上涨的动力,即使个股满足指标条件,仍然存在风险。此外,振幅较大的股票本身风险也较高。
如何优化?
可以加入其他风险控制策略并综合运用不同指标来筛选出更具可靠性的股票,例如可以结合KDJ指标、RSI指标、MACD指标等来判断个股短期和长期的走势及其趋势,做到更加全面的分析和研判。
最终的选股逻辑
选取振幅大于1、股票均价站在五日均线之上、主升起动的股票。
同花顺指标公式代码参考
// 挑选振幅大于1的股票
amplitude = (HIGH - LOW) / REF(CLOSE,1)
amplitude_bool = amplitude >= 1
// 挑选股票均价站在5日均线之上的股票
ma5 = MA(CLOSE, 5)
price_over_ma5 = CLOSE > ma5
// 挑选主升起动的股票
bs = (HIGH + LOW) / 2
bs_fx = IF(bs > REF(bs, 1), 1, -1)
chariot = ((bs_fx >= 1 AND REF(bs_fx,1) < 0) OR (bs_fx > 0 AND REF(bs_fx,1) > 0))
chariot_bool = chariot == 1
// 综合条件挑选出合适的股票
result = amplitude_bool AND price_over_ma5 AND chariot_bool
// 输出筛选结果
result
python代码参考
import tushare as ts
# 挑选振幅大于1的股票
today_data = ts.get_today_all()
amplitude = (today_data['high'] - today_data['low']) / today_data['pre_close']
amplitude_bool = amplitude >= 0.01
# 挑选股票均价站在5日均线之上的股票
hist_data = ts.get_hist_data('600519')
ma5 = hist_data['close'].rolling(window=5).mean()
price_over_ma5 = hist_data['close'].iloc[-1] > ma5.iloc[-1]
# 挑选主升起动的股票
hist_data = ts.get_hist_data('600519')
bs = (hist_data['high'] + hist_data['low']) / 2
bs_fx = np.where(bs > bs.shift(1), 1, -1)
chariot = ((bs_fx >= 1) & (bs_fx.shift(1) < 0)) | ((bs_fx > 0) & (bs_fx.shift(1) > 0))
chariot_bool = chariot.iloc[-1]
# 综合条件挑选出合适的股票
final_result = today_data[amplitude_bool & price_over_ma5]
final_result = final_result.merge(chariot_bool, on='code')
# 输出筛选结果
print(final_result)
注:以上代码仅供参考,具体实现还需要根据实际情况进行适度修改。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
