问财量化选股策略逻辑
选股逻辑为:在换手率3%到12%的范围内,选择连续七天下跌且KDJ指标刚形成金叉的股票。
选股逻辑分析
该选股逻辑不仅考虑了价格、换手率和技术指标等因素,还加入了KDJ技术指标,选择处于下跌市场中,并且出现了买入信号的标的。KDJ指标是一种技术分析中常用的指标之一,能够精确描绘市场的走向和买卖方向,为股票投资提供了很好的参考。
有何风险?
该选股逻辑基于KDJ指标的金叉形成来选择标的,存在着“滞后性”,即形成金叉时已经处于上涨趋势的股票,容易在选股后出现大幅下跌而导致亏损。
如何优化?
可以在KDJ指标的基础上加入其他技术指标的组合,如MACD指标、相对强弱指标(RSI)、移动平均线等指标,以提高选股策略的准确度,同时,可以考虑引入基本面数据,如市盈率、市净率等指标作为进一步筛选标准,提高选股的精度和可靠性。
最终的选股逻辑
选择在换手率3%-12%的范围内,连续七天下跌且KDJ指标刚形成金叉的股票作为投资标的。在技术指标上,可以加入MACD指标、相对强弱指标(RSI)等指标作为判断标准。在基本面上,可以考虑添加市盈率、市净率等指标作为进一步筛选标准。
同花顺指标公式代码参考
以下是通达信选股公式:
选股公式:
选股条件:TURNOVERRATE > 3 AND TURNOVERRATE < 12 AND SUM(IF(CLOSE < REF(CLOSE, 1), 1, 0), 7) = 7 AND CROSS(KDJ(9,3,3)的K值,KDJ(9,3,3)的D值) > 0
注:CLOSE为股票价格,TURNOVERRATE为换手率,其他指标名称同上,均需根据实际情况进行相应修改。该选股公式将KDJ指标的金叉形成作为判断标准,符合条件的股票将被筛选出来。
python代码参考
import pandas as pd
import talib
def select_stock(data: pd.DataFrame) -> List[str]:
selected_stocks = []
for code, df in data.groupby(level=0):
if (df['turnoverratio'].iloc[-1] > 3 and df['turnoverratio'].iloc[-1] < 12 and \
(df['close'].rolling(window=7).apply(lambda x: (x[:-1] > x[-1]).all())).iloc[-1] and \
(talib.CROSSOVER(df['kdjk'], df['kdjd']))):
selected_stocks.append(code)
return selected_stocks
同样需要注意数据源指标名称的相应修改。最终的选股策略可以根据实际情况和市场变化进行微调和调整。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
