问财量化选股策略逻辑
选股条件为:振幅大于1、连续3天以上大单净量大于0.05、RSI小于65。选出符合条件的个股进行投资。
选股逻辑分析
该选股策略同样是基于三个条件进行选股,振幅大于1说明股票波动较大,连续3天以上大单净量大于0.05说明该股票有较大的交易流动性,而RSI小于65则表示股票处于相对弱势的状态。这三个条件相互结合,能够筛选出处于调整或反弹初期的股票,具备投资机会。
有何风险?
该选股策略同样没有考虑股票的公司基本面、估值水平等因素,同时连续3天以上大单的数据容易被操纵,可能会导致一些噪声数据导致选股结果出现误差。同时,RSI是一种基于历史价格的技术指标,可能存在取值偏差的情况,有可能会对选股结果产生一定的影响。
如何优化?
可以加入其他的技术指标,例如KDJ等辅助判断,同时可以加入基本面因素和估值分析等条件,更全面地评估股票的潜力,避免因技术指标过度依赖导致的股票价值评估不准确的问题。
最终的选股逻辑
选股条件为:振幅大于1(SYNJZ('AMO',1) > 1)、连续3天以上大单净量大于0.05(ABS(BIG_NET_VOL) > 0.05 AND REF(ABS(BIG_NET_VOL),1) > 0.05 AND REF(ABS(BIG_NET_VOL),2) > 0.05)、RSI小于65(RSI(6) < 65)。选出符合条件的股票进行投资。
同花顺指标公式代码参考
振幅大于1:SYNJZ('AMO',1) > 1
;
连续3天以上大单净量大于0.05:ABS(BIG_NET_VOL) > 0.05 AND REF(ABS(BIG_NET_VOL),1) > 0.05 AND REF(ABS(BIG_NET_VOL),2) > 0.05
;
RSI小于65:RSI(6) < 65
符合全部条件的选股公式:SYNJZ('AMO',1) > 1 AND ABS(BIG_NET_VOL) > 0.05 AND REF(ABS(BIG_NET_VOL),1) > 0.05 AND REF(ABS(BIG_NET_VOL),2) > 0.05 AND RSI(6) < 65
。
python代码参考
import tushare as ts
def get_selected_stocks():
# 振幅大于1
condition1 = SYNJZ('AMO',1) > 1
# 连续3天以上大单净量大于0.05
big_net_data = ts.get_hist_data('600519', '20210901', '20211001')
condition2 = abs(big_net_data['big_net']) > 0.05 & abs(big_net_data['big_net'].shift(1)) > 0.05 & abs(big_net_data['big_net'].shift(2)) > 0.05
# RSI小于65
rsi_data = ts.get_hist_data('600519', '20210901', '20211001')
rsi_data['RSI'] = talib.RSI(rsi_data['close'].values, timeperiod=6)
condition3 = rsi_data['RSI'].iloc[-1] < 65
# 选取符合条件的股票
selected_data = stock_data[condition1 & condition2 & condition3].index.tolist()
return selected_data
result = get_selected_stocks()
print(result)
注:以上代码仅供参考,实际选股可结合具体情况进行适度修改。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
