问财量化选股策略逻辑
选股逻辑为:在换手率3%到12%范围内,KDJ(K)增长值大于0,并且三个技术指标同时金叉的个股。
选股逻辑分析
该选股逻辑在考虑个股市场表现和技术面因素的基础上,同时考虑了技术面指标的综合表现。选取三个不同的技术指标,要求同时形成金叉,说明该个股的技术面表现比较强劲,具有一定的上涨潜力。
有何风险?
该选股逻辑同样仅考虑了个股市场表现和技术面因素,无法准确预测市场情况和个股表现。同时,该逻辑侧重于短期技术面表现,对于股票基本面、长期走势等因素没有考虑。同时,选取的三个技术指标也可能存在历史数据的问题,可能会引起过度拟合。
如何优化?
加入基本面的考察,如股票市盈率、市净率等等,同时可以考虑更长期的技术面指标,如长期均线、趋势线等,提高选股策略的长期性和可靠性。同时,在选取技术面指标时,需要注意数据质量和历史数据的问题,避免模型出现过度拟合等情况,提高模型的客观性和稳定性。
最终的选股逻辑
在换手率3%到12%之间的个股中,KDJ(K)线增长值大于0,并且三个技术指标同时金叉。
同花顺指标公式代码参考
通达信选股公式:
选股条件:TURNOVERRATE>3 AND TURNOVERRATE<12 AND KDJ(9,3)>REF(KDJ(9,3),1) AND CROSS(MA(C,5),MA(C,10)) AND CROSS(MA(C,10),MA(C,20)) AND CROSS(MA(C,20),MA(C,30))
其中,TURNOVERRATE表示换手率,KDJ表示KDJ技术指标,REF表示引用前一根K线的数据,C表示股票收盘价,MA表示均线指标,CROSS表示金叉。选股条件同时要求三个技术指标同时形成金叉。
Python代码参考
import pandas as pd
from typing import List
def select_stock(data: pd.DataFrame) -> List[str]:
selected_stocks = []
for code, df in data.groupby(level=0):
if df['turnover_rate'].mean() >= 3 and df['turnover_rate'].mean() <= 12:
if df.iloc[-1]['kdj_k'] > df.iloc[-2]['kdj_k']:
if (df.iloc[-1]['close'] > df['ma5'].iloc[-1]) and (df['ma5'].iloc[-1] > df['ma10'].iloc[-1]) and (df['ma10'].iloc[-1] > df['ma20'].iloc[-1]):
selected_stocks.append(code)
return selected_stocks
该代码中选取换手率3%到12%之间的个股,根据KDJ技术指标选取KDJ(K)线增长值大于0的个股,同时考虑个股三个技术指标同时形成金叉的个股,返回符合条件的股票列表。其中,code表示个股代码,data表示记录个股交易数据的DataFrame。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
