问财量化选股策略逻辑
选股逻辑:振幅大于1,北京A股除外,前日实际换手率在3%至28%之间。
选股逻辑分析
该选股策略同样采用技术分析和市场情绪分析相结合来进行选股,具体逻辑为:
- 排除北京A股,缩小股票范围;
- 振幅大于1的股票可能存在波动性较大的机会,被纳入选股池中;
- 实际换手率在3%至28%之间,说明股票流动性较好,更容易买入和卖出。
有何风险?
该选股逻辑可能存在以下风险:
- 过强的技术分析和市场情绪分析取向会影响人们的投资决策,忽视了基本面的重要性;
- 实际换手率只是一个参考指标,不一定能真正反映市场情况;
- 振幅较大的股票不一定是值得投资的,需要进一步考虑基本面。
如何优化?
为了改善以上风险,可以考虑以下方面:
- 综合考虑多种因素,不只是技术分析和市场情绪分析;
- 引入更多的指标,例如市盈率、市净率、PEG等基本面指标;
- 考虑换手率的历史变化趋势,更好地把握市场情况。
最终的选股逻辑
经过改进后的选股逻辑如下:
- 排除北京A股,非中国大陆等区域的股票;
- 振幅大于1的股票;
- 前日实际换手率在3%至28%之间,结合其他基本面指标;
- 考虑不同走势的股票,灵活调整机构动向指标的参考期数。
同花顺指标公式代码参考
选股逻辑的同花顺指标公式如下:
公式1:BOARD_MAIN != '中国大陆' AND AREA != '北京';
公式2:ABS((HIGH / LOW) - 1) > 0.01;
公式3:IF(BARSLAST() == 1, VOL/(AMOUNT/100), IF(BARSLAST() == 2, VOL/(REF(AMOUNT/100, 1)), VOL/(REF(AMOUNT/100, 2))))
公式4:IF ((公式3 > 0.03) AND (公式3 < 0.28), 1, 0)
选股公式:公式1 AND 公式2 AND 公式4;
说明:公式3为实际换手率指标,其中VOL为成交量,AMOUNT为成交额,REF为引用函数。
python代码参考
选股逻辑的python代码如下:
def sentiment_picker(context):
# 非北京A股和非中国大陆
exc_stocks = context.exc_stocks[(context.exc_stocks.board_main != '中国大陆') & (context.exc_stocks.area != '北京')]
# 振幅大于1%
narrow_stocks = exc_stocks[(((exc_stocks.high / exc_stocks.low) - 1) > 0.01)]
# 查找前日实际换手率在3%~28%之间的股票,结合其他基本面指标
amount = narrow_stocks.amount
vol = narrow_stocks.vol
actual_turnover = np.where(narrow_stocks.barslast == 1, vol / (amount / 100), np.where(narrow_stocks.barslast == 2, vol / (ta.REF(amount / 100, 1)), vol / (ta.REF(amount / 100, 2))))
choose_stocks = narrow_stocks[(actual_turnover > 0.03) & (actual_turnover < 0.28) & (narrow_stocks.pe_ttm > 0) & (narrow_stocks.pb > 0)]
# 选出满足条件的股票代码
return list(choose_stocks.index)
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
![94c5cde12014f99e262a302741275d05.png](http://u.thsi.cn/imgsrc/pefile/94c5cde12014f99e262a302741275d05.png)