问财量化选股策略逻辑
选股逻辑:振幅大于1%, 北京A股除外, RSI小于65。
选股逻辑分析
该选股策略基于技术分析中的RSI指标,以及振幅和地域等限制条件对股票筛选。通过挖掘RSI小于65的股票,考虑股票的超买状态,这一逻辑可以适用于短期交易策略。但是,该选股逻辑需要结合其他的指标和数据来确认股票的操作性以及风险。
有何风险?
该选股逻辑可能存在以下风险:
- 忽略了趋势的变化,可能会选股到已经处于底部的股票,导致反弹走势的可能性增加;
- 忽略了公司的基本面和未来增长性,这可能会导致股票的风险增加;
- 对RSI指标的依赖程度高,可能会忽略其他技术指标的预判,更加侧重于短期突发事件对于股票的影响。
如何优化?
为了改进该选股策略,可以考虑以下方面:
- 通过结合其他技术指标来为RSI指标提供更加全面和准确的对比,以便更好地确认市场趋势和股票风险;
- 考虑在振幅外加入其他市值、行业、基本面等限制条件,以降低市场风险;
- 制定规则来确保选股策略的长期稳健,避免出现过度风险的情况;
- 考虑加入量能指标,以确认选定股票实际的交易活跃度和风险。
最终的选股逻辑
经过改进后的选股逻辑如下:
- 振幅大于1%, 北京A股除外;
- RSI小于65;
- 选取相对于股票当前市价的偏移程度小于 ±2% 的股票;
- 增加对公司的财务指标、行业景气度、管理水平、未来前景的评估,可得到额外的权值。
- 通过加入量能指标来缩小范围。
同花顺指标公式代码参考
选股逻辑的同花顺指标公式如下:
无
python代码参考
选股逻辑的python代码如下:
def technical_picker(context):
#振幅大于1%, 北京A股除外
narrow_stocks = context.narrow_stocks[((context.narrow_stocks.high / context.narrow_stocks.low) - 1) > 0.01]
exclude_bj_stocks = narrow_stocks[narrow_stocks.area != '北京']
#RSI小于65
below_rsi_65 = exclude_bj_stocks[exclude_bj_stocks.rsi < 65]
selected = filter_stocks_by_macd(below_rsi_65, 'D', [-1])
#选取相对于股票当前市价的偏移程度小于 ±2% 的股票
selected['price_offset'] = (selected.price - talib.MA(selected.price, timeperiod=60)) / talib.MA(selected.price, timeperiod=60)
selected = selected[(-0.02 < selected['price_offset']) & (selected['price_offset'] < 0.02)]
#增加对公司的财务指标、行业景气度、管理水平、未来前景的评估
selected = selected.sort_values('score', ascending=False).reset_index()
selected.loc[:, 'score'] += 10 * (selected['PB'] - talib.MA(selected['PB'], timeperiod=5))
selected.loc[:, 'score'] += 10 * (selected['PE'] - talib.MA(selected['PE'], timeperiod=5))
volumes = get_price(list(selected.ts_code), start_date=context.current_date, end_date=context.current_date, fields='vol', adjust_type='forward')
selected = selected.merge(volumes, on='ts_code')
selected = selected[selected.vol > talib.MA(selected.vol, timeperiod=5)]
selected['score'] += 0.1 * selected['vol'].rank(ascending=False, method='dense')
selected = selected.sort_values('score', ascending=False)
return selected.index.tolist()
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
