选股逻辑
选取振幅大于1、MACD零轴以上、2021年营收/2018年营收大于1.1的股票。
选股逻辑分析
选股逻辑主要在于关注股票的技术指标和财务状况。通过振幅大于1和MACD零轴以上的条件筛选出技术面较强的股票,同时通过营收比较的方式评估股票的业绩增长情况,筛选出营收增长较好的股票。
有何风险?
过于依赖营收数据,也没有考虑股票所处行业趋势及基本面等因素,存在选出低业绩增长行业的可能,同时营收增长数据可能被公司通过各种手段进行优化。
如何优化?
除了财务状况和技术面指标外,可以加入股票的基本面和行业趋势其它因素,以综合的方式来制定选股策略。
最终的选股逻辑
选取振幅大于1、MACD零轴以上、2021年营收/2018年营收大于1.1的股票。
同花顺指标公式代码参考
- 振幅:ABS((HIGH-LOW)/REF(CLOSE,1)*100)>1
- MACD零轴以上:CROSS(MACD(12,26,9),0)>0
- 营收比较:(LYYS-YYYS)/LYYS>0.1
- LYYS:上年营收,取通达信财务数据LYYS
- YYYS:本年营收,取通达信财务数据YYYS
选取股票代码:
- SELECTED: VAR1 AND VAR2 AND VAR3;
python代码参考
import tushare as ts
import talib
def get_filter():
# 获取MACD指标
df = ts.get_stock_basics()
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
# 获取营收比较
mask3 = (df['nprg']/100 + 1) / (df['nprg'].shift(3)/100 + 1) > 1.1
# 综合mask并排序
mask = [code for code in mask1.index.values if (code in mask2.index.values) and (code in mask3.index.values)]
mask = sorted(mask, key=lambda x: df.loc[x, 'turnover'], reverse=True)
return mask
如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。