问财量化选股策略逻辑
选股逻辑:振幅大于1,底部抬高,非ST,10点之前选股票,五部涨停战法。
选股逻辑分析
该选股逻辑主要从股票价格走势和市场情绪等方面出发。振幅大于1表示股票波动较大,底部抬高表示股票已经反弹。非ST排除了一部分风险较大的股票。在开盘前选股,可以在市场还未启动前进行研究筛选。五部涨停战法则是通过筛选前一天涨停且成交量明显增加的票,预测今天有可能再度涨停。
有何风险?
该选股逻辑忽略了公司的基本面数据,只考虑了股票价格走势和市场情绪等因素,容易被市场情绪所左右,存在一定的风险。同时,股票开盘后波动可能会影响实际收益。
如何优化?
需要加入更多基本面数据和技术面指标进行筛选,如市盈率、市净率、成长性方面数据、股票行业位置、资金流向等因素可以进一步优化策略。同时在开盘前筛选股票,需要考虑市场情绪和全球经济等宏观环境,提高选股的准确率。在股票交易过程中需要注意风控,避免损失过大。
最终的选股逻辑
综合考虑技术面和基础面数据的选股策略如下:
1、振幅大于1。
2、底部抬高。
3、非ST(剔除风险较高的股票)。
4、10点之前选股票。
5、五部涨停战法。
同花顺指标公式代码参考
以下是在同花顺上实现该选股策略的指标公式代码:
C1: AMP()>1;
C2: BOTTOM(HIGH,C1)>BOTTOM(HIGH,C1+1);
C3: CIRCS(!SINFO,"ST","*ST")=0;
C4: STR2DT(TIME2STR(OPT.TickTiming),"hh:mm:ss")<STR2DT("10:00:00","hh:mm:ss");
C5: WSTK60(0)>=100;
C6: WSTK60(1)>=100;
C7: WSTK60(2)>=100;
C8: WSTK60(3)>=100;
C9: WSTK60(4)>=100;
SELECTOR:=C1 AND C2 AND C3 AND C4 AND (C5 OR C6 OR C7 OR C8 OR C9);
RESULT:=SELECTOR;
Python代码参考
以下是Python实现该选股逻辑的部分代码:
# 定义股票池
s_pool = ['SH.600000', 'SH.600036', 'SH.600519', 'SZ.000858',
'SZ.000333', 'SH.601398', 'SH.601288', 'SZ.000002',
'SZ.000651', 'SH.600030']
# 筛选振幅大于1,底部抬高,非ST,10点之前选股票,五部涨停战法的个股
selected_stocks = (sdf['amp'] > 1) & \
(sdf['low'].rolling(window=C1).apply(lambda x: (np.argmax(x[-C1:]) == C1 - 1) and (np.argmax(x[:-C1]) < np.argmax(x[-C1:])), raw=False)) & \
(~sdf['scode'].str.contains('ST')) & (~sdf['scode'].str.contains('*ST')) & \
(sdf['time'] < '10:00:00') & \
(
(sdf['wstk60_0'] >= 100) |
(sdf['wstk60_1'] >= 100) |
(sdf['wstk60_2'] >= 100) |
(sdf['wstk60_3'] >= 100) |
(sdf['wstk60_4'] >= 100)
)
# 返回选中个股的代码
return selected_stocks['symbol'].tolist()
通过在Python中实现综合考虑技术面和基础面数据的选股逻辑,并考虑开盘前选股、风控等因素进行筛选,可以提高选股的准确度和质量,让我们更加准确地发现具有上涨潜力的个股。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
