问财量化选股策略逻辑
选股逻辑为:在换手率3%到12%之间,选取KDJ(K)增长值大于0且小于100的个股,按照个股热度从大到小排序。
选股逻辑分析
该选股逻辑在基本选股逻辑的基础上加入了按个股热度排序的筛选要求,将热度排名前列的标的优先纳入选股组合。此逻辑可选出市场表现相对良好、趋势向好的标的。
有何风险?
该选股逻辑只依赖于热度排序,忽略了公司基本面等较为深入的数据,容易将短时间内表现良好但未来发展不确定的标的纳入组合中,存在较高的交易风险。
如何优化?
可以引入其他因素,如市场趋势、市场板块、基本面数据等进行综合考虑,从而减小选股中的交易风险。
最终的选股逻辑
在换手率3%到12%之间,选取KDJ(K)增长值大于0且小于100的个股,按照个股热度从大到小排序。
同花顺指标公式代码参考
选股条件:TURNOVERRATE > 3 AND TURNOVERRATE < 12 AND KDJK > REF(KDJK, 1)
排序:SORT(BD.热度值,DESC)
排序函数:SORT(A,B) 表示按照A列排序,若A列相同,则按照B列排序。DESC 表示降序,ASC 表示升序。其中,BD.热度值表示个股的热度值。
其中,TURNOVERRATE 表示换手率指标,KDJK 表示KDJ技术指标,REF 表示引用前一周期的数据。
Python代码参考
import pandas as pd
from typing import List
def select_stock(data: pd.DataFrame) -> List[str]:
selected_stocks = []
stock_data = data[data['turnover_rate'].between(3, 12)]
stock_data = stock_data[stock_data['kdj_k'].diff() > 0]
stock_data['热度值'] = # 计算个股热度值
stock_data = stock_data.sort_values('热度值', ascending=False)
selected_stocks = stock_data.index.levels[0].tolist()
return selected_stocks
选取在换手率3%到12%之间的个股,筛选出KDJ技术指标增长值大于0且小于100的个股,并按照热度值排序。其中,data表示记录个股交易数据的DataFrame,kdj_k表示KDJ技术指标,turnover_rate表示换手率指标,热度值表示个股的热度值。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


