问财量化选股策略逻辑
选股逻辑:振幅大于1,底部抬高,深证主板中市盈率0-29.01,市净率0-3.11的股票。
选股逻辑分析
该选股逻辑除了振幅大于1和底部抬高的要求外,还增加了市盈率和市净率的筛选条件,筛选出具有一定价值投资潜力的股票。同时,该选股逻辑针对深证主板进行筛选,避免了创业板和中小板的高风险。
有何风险?
该选股逻辑所筛选的股票数量可能较少,可能会对投资效果产生影响。此外,仅依据市盈率和市净率来筛选股票,有些股票可能存在市场的错估,不具有真正的价值投资潜力。
如何优化?
在筛选股票时,除了市盈率和市净率以外,还要考虑企业的经营能力、发展前景和行业竞争等因素,以减少风险,提高收益。同时,在选股策略中增加一定的灵活性,避免过度拘泥于单一的指标体系。
最终的选股逻辑
基于以上分析,完善的选股逻辑如下:
1、振幅大于1;
2、底部抬高;
3、深证主板中市盈率0-29.01,市净率0-3.11;
4、其他指标符合要求;
5、优化选股策略。
同花顺指标公式代码参考
以下是同花顺实现该选股策略的指标公式代码:
C1 = AMP() > 1;
C2 = BOTTOM(HIGH, C1) > BOTTOM(HIGH, C1 + 1);
C3 = INDUSTRY('SZSE').PE.include(0, 29.01);
C4 = INDUSTRY('SZSE').PB.include(0, 3.11);
SELECTOR = C1 AND C2 AND C3 AND C4;
RESULT = SELECTOR;
Python代码参考
以下是Python实现该选股策略的部分代码:
# 筛选符合条件的股票
selected_stocks = []
for stock in stocks:
# 获取该股票的数据
df = get_fundamentals(query(valuation.pe_ratio, valuation.pb_ratio).filter(valuation.code==stock), date=date)
# 振幅大于1
condition1 = df['high'].std() > 1
# 底部抬高
condition2 = df['low'].tail(3).iloc[0] > df['low'].tail(3).iloc[1] > df['low'].tail(3).iloc[2]
# 市盈率符合要求
condition3 = 0 < df['pe_ratio'][0] < 29.01
# 市净率符合要求
condition4 = 0 < df['pb_ratio'][0] < 3.11
# 选取符合条件的股票,加入结果列表中
if condition1 and condition2 and condition3 and condition4:
selected_stocks.append(stock)
return selected_stocks
以上代码仅供参考,具体实现还需要根据自身需求进行调整。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
