问财量化选股策略逻辑
该选股策略包含三个条件:
- 振幅大于1;
- 日线MACD大于0;
- 非科创板股票。
选股逻辑分析
该选股策略主要以价格波动和趋势为依据,同时考虑到科创板股票整体估值较高,选择不投资该板块。选股逻辑简单,易于实现和操作。
有何风险?
该选股策略有以下风险:
- 过度依赖价格波动和短期趋势,缺乏基本面的考虑,容易造成买入过高或卖出过低等失误;
- 选择排除科创板股票,可能会忽略一些有潜力的公司;
- 盲目跟从,容易造成操作风格不一致的问题。
如何优化?
为提高该选股策略的精度和准确性,建议优化方向为:
- 引入基本面因素,如市盈率、市净率、资产负债率等,全面评估行业和公司的基本面价值;
- 改进技术指标,引入其他指标辅助选股,如RSI、DMI、布林带等,全面评估股票的短期价格波动趋势;
- 根据个人情况和资产情况,选择合适的投资策略和风险管理方法。
最终的选股逻辑
综合以上分析,建议完善后的选股策略为:
- 振幅大于1;
- 日线MACD大于0;
- 非科创板股票;
- 引入基本面因素,如市盈率、市净率、资产负债率等;
- 设定更加严格的选股标准,如增加筛选条件、优化技术指标参数等,以提高选股准确率;
- 根据个人情况和资产情况,选择合适的投资策略和风险管理方法。
同花顺指标公式代码参考
// 通达信指标公式
VAR1:=(CLOSE-REF(CLOSE,1))/REF(CLOSE,1)*100;
DIF:EMA(VAR1,12);
DEA:EMA(DIF,26);
MACD:(DIF-DEA)*2,COLORSTICK;
VOL:MA(VOL,5);
UP:(HIGH+LOW+CLOSE)*VOL/3;
MD:(SMA(UP,10,1)+SMA(UP,20,1))/2;
DN:(SMA(UP,10,1)-SMA(UP,20,1))*0.75+SMA(MD,10,1);
BOLL:(UP+MD*2+DN)/4,COLORSTICK;
SALL:IF(C>=BOLL AND MACD>0 AND REF(CATEGORICAL,1)=0 AND MAPRAW(FILTER(CATEGORICAL=0,INDEX_CATEGORICAL),1)=0,1,0);
// 非科创板指标
CATEGORICAL:IF(INDEX_ID=0 OR INDEX_ID=399006 OR INDEX_ID=399005 OR INDEX_ID=1000001 OR INDEX_ID=3000006,1,0);
SALL:IF(C>=BOLL AND MACD>0 AND REF(CATEGORICAL,1)=0 AND MAPRAW(FILTER(CATEGORICAL=0,INDEX_CATEGORICAL),1)=0,1,0);
python代码参考
import talib
def get_non_cyb(tickers, start_date, end_date):
df = get_price(tickers, start_date, end_date, frequency='1d', fields=['high', 'low', 'close', 'volume', 'money', 'index'])
amplitude = (df['high'] - df['low']) / df['pre_close']
macd, signal, hist = talib.MACD(df['close'])
non_cyb = (df['index'] != '399006.XSHE') & (df['index'] != '399005.XSHE') & (df['index'] != '399001.XSHE') & (df['index'] != '000300.XSHG') & (df['index'] != '000905.XSHG')
result = df[(amplitude > 0.01) & (macd > 0) & non_cyb]
return result
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
