问财量化选股策略逻辑
选股逻辑:振幅大于1,K线小于20,10日涨幅大于0小于35。
选股逻辑分析
该选股逻辑的核心在于选出价格波动较大,且处于上涨状态的标的。振幅大于1、K线小于20能够筛选出价格波动较大的标的,而10日涨幅大于0小于35则是为了选出处于上涨状态的标的。该选股逻辑依然未考虑到基本面等其他重要因素,存在一定的盲区,因此存在风险。
有何风险?
同样地,该选股逻辑仅依据了技术面进行选股,未考虑到股票基本面、行业属性等可能影响股票表现的因素,因此存在一定的盲区。同时,10日涨幅作为短期市场情绪的一种反应,对于长期投资策略的制定极其有限。
如何优化?
可以结合基本面、行业属性等因素进行综合分析,避免单一因素影响策略表现。同时,在选股时可以设置更多的筛选条件,例如市值、PEG等指标,综合考虑长期投资价值。并且,在涨幅的选取上可以考虑更长的时间范围与多个指标相结合,如RSI、MACD等。
最终的选股逻辑
改进后的选股逻辑如下:
- 振幅大于1;
- K线小于20;
- 处于上涨状态;
- 综合考虑公司基本面、行业属性、市值、PEG、RSI、MACD等综合因素。
同花顺指标公式代码参考
以下是在同花顺上实现该选股策略的指标公式代码:
C1: Amp() > 1;
C2: KDJ(9,3,3) < 20;
C3: CHANGE(CLOSE, 10) > 0 AND CHANGE(CLOSE, 10) < 35;
SELECTOR:=C1 AND C2 AND C3;
RESULT:=SELECTOR;
其中,Amp()代表股票的振幅,KDJ指标的参数可以根据需要进行调整,Change()函数是计算时间序列变化的函数。
Python代码参考
以下是Python实现该选股策略的选股逻辑:
amp = (df['high'] - df['low']) / df['close']
kdj, kdj_signal = talib.STOCH(df['high'], df['low'], df['close'], fastk_period=9, slowk_period=3, slowd_period=3)
change_10d = (df['close'] - df['close'].shift(10)) / df['close'].shift(10)
selected_stocks = amp > 1
selected_stocks &= kdj < 20
selected_stocks &= change_10d > 0
selected_stocks &= change_10d < 0.35
selected_stocks = pd.DataFrame({'code': code, 'selected': selected_stocks})
selected_stocks = selected_stocks[selected_stocks['selected']]
selected_stocks = selected_stocks.sort_values('pct_chg', ascending=False)
selected_stocks.drop('pct_chg', axis=1, inplace=True)
return selected_stocks['code'].tolist()
通过使用Python实现该选股逻辑,结合股票振幅、KDJ指标和价格涨幅进行选股。在实际运用过程中,可以根据实际情况和投资策略进行相应的优化和改进。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
