问财量化选股策略逻辑
选股逻辑:振幅大于1%,北京A股除外,收盘价大于昨日的最低价。
选股逻辑分析
该选股策略同样采用技术分析的方法,结合了振幅和价格趋势以寻找投资机会。选股逻辑的实现过程为:
- 首先排除北京A股,缩小股票范围;
- 振幅大于1%的股票可能存在波动性较大的机会,被纳入选股池中;
- 剔除昨日收盘价等于当日最高价的极端情况,通过考虑收盘价大于昨日最低价,筛选出有价格上涨趋势的股票。
有何风险?
该选股逻辑可能存在以下风险:
- 过强的技术分析取向会影响人们的投资决策,忽视了基本面的重要性;
- 振幅较大的股票并不都是有潜力的股票,需要进一步考虑其他因素,反之振幅小的股票并不都是风险低的股票;
- 手动更新数据计算,难以保证实时性。
如何优化?
为了改善以上风险,可以考虑以下方面:
- 综合考虑多种因素,不只是技术分析;
- 使用较为准确和及时的数据计算;
- 振幅绝对值和收盘价与昨日最低价关系不一定可行,可以进行调整。
最终的选股逻辑
经过改进后的选股逻辑如下:
- 排除北京A股,非中国大陆等区域的股票;
- 振幅大于1%的股票;
- 收盘价大于前一日的最低价。
同花顺指标公式代码参考
选股逻辑的同花顺指标公式如下:
公式1:BOARD_MAIN != '中国大陆' AND AREA != '北京';
公式2:ABS((HIGH / LOW) - 1) > 0.01;
公式3:CLOSE > REF(LOW, 1);
选股公式:公式1 AND 公式2 AND 公式3;
python代码参考
选股逻辑的python代码如下:
def tech_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)]
# 收盘价大于昨日最低价
close_price = narrow_stocks.price.groupby(level=0).agg(['last'])
low_price = narrow_stocks.low.groupby(level=0).agg(['last'])
flag = (close_price['last'] > low_price['last'].shift()).fillna(False)
# 选出满足条件的股票代码
return list(flag[flag].index)
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
