问财量化选股策略逻辑
本选股策略结合振幅、Boll线和近25日内的涨幅:振幅大于1,收盘价<boll(upper值)且收盘价>boll(mid值),近25个交易日有单日涨幅大于等于百分之10。将选股逻辑作为第一个段落放入标题为 ## 问财量化选股策略逻辑 的段落中。
选股逻辑分析
该选股策略同样也结合了市场波动性、技术面和个股相对走势等因素:振幅大于1可以体现出市场波动性较大,有一定的上涨空间;收盘价低于Boll线的上轨且高于中轨,可以反映出该股相对于均线走势有一定的上涨空间;近25个交易日内有较长涨幅对筛选股票能够筛选出相比于大盘表现更好,增长潜力更强的股票。
有何风险?
该选股策略可能存在以下风险:
- 只关注单纯的股票价格,而未考虑涨跌原因,有时会出现“形式主义”操作。
- 近25个交易日内有个别日期涨幅较大,容易受到市场噪音的影响,对正常的股票走势未必具有指导性或实际意义。
如何优化?
为了降低风险并提高该策略的选股准确性,我们可以从以下几个方面进行优化:
- 加入更多复杂的技术指标,如RSI、DMI、MACD,来更好地分析股票近期趋势和走势方向,展现出相对强势的股票。
- 适时更换选股策略中每个选择句子占比,和其他相关条件占比,通过筑底突破、业绩变化等基本面因素测评股票潜力等因素,减少股票单纯价值高低来判断的情况,更转移选股依赖于市场“主观”条件。
- 细化选股的条件,选择具体多样的可以控制收益风险或扩大收益空间的驱动因素等。适当缩小选股范围,减少股票波动性风险等。
最终的选股逻辑
综合以上分析,我们可以对选股策略进行优化:
- 振幅大于1可以体现出市场波动性较大,有一定的上涨空间。
- 股价收盘价低于Boll线的上轨且高于中轨可以反映出该股相对于均线走势有一定的上涨空间。
- 近25个交易日内有一天涨幅大于等于10%,可以筛选出股票较好的短期表现。(建议各位回归长期投资原则,所以我们更倾向于2/3为基本面因素+1/3为技术分析因素)
- 通过多方面因素的综合考虑,选股结果更具准确性和收益空间。
同花顺指标公式代码参考
以下是通达信公式参考:
C1: (HIGH - LOW) > MA(HIGH - LOW, 20)
C2: (CLOSE < BOLL(UPPER, 20, 2)) AND (CLOSE > BOLL(MID, 20, 2))
C3: COUNT(CLOSE > REF(CLOSE, 1) * 1.1, 25) >=1
C4: SELECTED := C1 AND C2 AND C3
其中, C1表示振幅需大于1,C2表示股票收盘价需低于Boll线的上轨且高于中轨,C3表示近25个交易日有一天涨幅大于等于10%,C4表示总体选股条件必须同时满足上述三个条件。
Python代码参考
import tushare as ts
def stock_selection():
rs_basic_info = ts.get_stock_basics()
selected_code = []
for code in rs_basic_info.index:
rs = ts.get_k_data(code, start='2019-01-01', end='2022-10-08')
if rs is None or len(rs) < 180:
continue
condition1 = (rs.iloc[0]['high'] - rs.iloc[0]['low']) > rs['high'].sub(rs['low']).rolling(20).mean().iloc[-1]
condition2 = rs.iloc[0]['close'] < rs['close'].rolling(20).apply(lambda x: x.mean() + 2 * x.std(ddof=0)).iloc[-1] and rs.iloc[0]['close'] > rs['close'].rolling(20).mean().iloc[-1]
condition3 = (rs['close'].pct_change() >= 0.1).rolling(25).sum().iloc[-1] >= 1
selected_code.append(code)
return selected_code
注意:以上代码仅供参考,具体需要根据实际需求和风险承受能力进行调整。需要安装tushare库。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


