选股逻辑
选取振幅大于1、MACD零轴以上、昨日竞价换手率大于0.26的股票。
选股逻辑分析
该选股逻辑在技术面加上了资金面的考量。振幅大于1的股票有较高的波动性,可能在短期内产生较高的收益。MACD零轴以上代表着多头力量强大,具有上涨的潜力。昨日竞价换手率大于0.26可能代表着昨日市场上有大量资金进出,可能意味着市场对该股有比较大的关注度。
有何风险?
该选股策略存在流动性不足,股票容易出现大幅震荡的风险。有些股票可能具备短期较高的波动性,但长期表现较差,忽略了股票的基本面因素。
如何优化?
可以加入其他指标或者改变选择条件,比如加入日均成交量、股票市值等指标作为选股条件,或者将竞价换手率改为区间换手率等资金面指标。同时,可以设定止盈、止损指标,降低风险。
最终的选股逻辑
选取振幅大于1、MACD零轴以上、RSI14大于50、昨日竞价换手率大于0.26的股票。
同花顺指标公式代码参考
- 振幅:ABS((HIGH-LOW)/REF(CLOSE,1)*100)>1
- MACD零轴以上:CROSS(MACD(12,26,9),0)>0
- RSI14大于50:RSI(CLOSE,14)>50
- 昨日竞价换手率大于0.26:REF(JJHY,1)>0.26
选取股票代码:
- SELECTED: VAR1 AND VAR2 AND VAR3 AND VAR4;
python代码参考
import tushare as ts
import talib
def get_filter():
# 获取MACD指标
df = ts.get_k_data('sh', ktype='D', autype='qfq')
macd = talib.MACD(df['close'], fastperiod=12, slowperiod=26, signalperiod=9)
# 获取振幅大于1
mask1 = abs(df['high'] - df['low']) / df['open'] > 0.01
# 获取MACD零轴以上
mask2 = macd[2] > 0
# 获取RSI14大于50
rsi = talib.RSI(df['close'], timeperiod=14)
mask3 = rsi > 50
# 获取昨日竞价换手率大于0.26
jjhy = ts.get_h_data('sh', start='2020-01-01', end='2021-08-31')['turnover'][1:]
mask4 = jjhy > 0.26
# 综合mask并返回
mask = [code for code in mask1.index.values if (code in mask2.index.values) and (code in mask3.index.values) and (code in mask4.index.values)]
return mask
如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。