问财量化选股策略逻辑
该选股策略包含三个条件:
- 振幅大于1;
- 日线MACD大于0;
- 竞价涨幅大于-2且小于5。
选股逻辑分析
该选股策略同样侧重技术指标分析,振幅大于1表示股票价格波动大,MACD大于0表示股票价格处于上涨趋势,竞价涨幅则反映了市场上对该股票的看法。这个选股逻辑着重看好股票的上涨趋势,但同时又对股票的价格变动存在一定要求,如竞价涨幅不能太高或太低等。符合这些条件的股票在短期内可能存在投资机会。
有何风险?
该选股策略可能存在以下风险:
- 仅关注了短期内的技术面因素而未考虑基本面因素;
- 竞价涨幅的选择标准可能比较武断,难以反映股票真实的市场估值;
- 对于新股可能存在竞价涨幅数据不准等情况。
如何优化?
为提高该选股策略的精度和准确性,建议优化方向为:
- 引入更多的技术指标,如其他KDJ指标变量、RSI等;
- 引入基本面因素进行综合分析,如财务指标、行业背景、管理层的业绩等;
- 调整竞价涨幅的选择标准,如结合市场对行业平均估值的情况进行评估;
- 对于新股可考虑引入其他股票的竞价涨幅情况进行判断。
最终的选股逻辑
综合以上分析,建议完善后的选股策略为:
- 振幅大于行业平均值,且大于1.2倍以上;
- 日线MACD大于0,同时综合考虑其他技术指标;
- 竞价涨幅在市场对行业平均估值的情况下,处于合理水平;
- 引入基本面因素进行综合分析;
- 综合考虑多种指标进行选股。
同花顺指标公式代码参考
// 通达信指标公式
SYMBOL:ZS000001;
SELECT:TUAIZY,IF((TUAIZF > 1) AND (MACD()>0) AND (LASTPRICE / PRECLOSE - 1 > -0.02) AND (LASTPRICE / PRECLOSE - 1 < 0.05),1,0),TUAIJC;
python代码参考
import talib
def get_stock_by_technical(ticker, start_date, end_date):
df_price = get_price(ticker, start_date=start_date, end_date=end_date, frequency='daily')
amplitude = (df_price['high'] - df_price['low']) / df_price['close'].rolling(30).mean()
macd, _, _ = talib.MACD(df_price['close'])
price_change = df_price['close'] / df_price['pre_close'] - 1
selection = (amplitude > df_price['amplitude'].mean() * 1.2) & (macd > 0) & (price_change > -0.02) & (price_change < 0.05)
return df_price[selection]
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
