问财量化选股策略逻辑
选股逻辑为:在换手率3%-12%、K小于20的前提下,选股当天的收盘价为近两日最高点。
选股逻辑分析
该选股策略主要考虑股票的流动性(换手率)和股票的技术面(KDJ指标),并将选股标准进一步加强,选择当天收盘价为近两日最高点的股票作为买入信号。
此选股策略相较于之前的策略,更加关注股票的技术面,通过选取当天为近两日最高点的股票进行买入,可以更好地把握股票的短期趋势。
有何风险?
这种策略忽略了股票的基本面、市场环境、行业发展趋势等多种因素,存在单一指标选股风险,同时,近两日最高点也可能受到市场情绪影响而产生噪音。
如何优化?
可以在选择股票时,综合考虑公司财务状况、行业发展趋势、基本面分析、技术指标等因素,制定综合而完善的选股策略。同时,可以结合市场情绪等多种因素,对选股标准进行修正并保持灵活性。
最终的选股逻辑
在换手率3%-12%、K小于20的前提下,选取当天收盘价为近两日最高点的股票作为买入信号。同时,需结合公司财务状况、行业发展趋势、基本面分析和技术指标等因素进行多角度综合分析,制定综合而完善的选股策略。
同花顺指标公式代码参考
选股条件:SETPRICETYPE(1); VOLUME>0; (K<20) AND (NOT INDUSTRYCODE='932' OR INDUSTRYCODE='914'); MAX(C,2) == C;
选股结果:fml('SETPRICETYPE(1); VOLUME>0; (K<20) AND (NOT INDUSTRYCODE='932' OR INDUSTRYCODE='914'); MAX(C,2) == C;','desc', 'market_cap', 100)
Python代码参考
import tushare as ts
import pandas as pd
# 筛选好股票函数
def select_good_stocks(day):
# 换手率3%-12%
basic_info = ts.get_stock_basics()
good_stocks = basic_info[(basic_info['turnoverratio'] >= 3) & (basic_info['turnoverratio'] <= 12)]
# K小于20,非科创板,当天收盘价为两日最高点
good_stocks['两日最高点'] = good_stocks.index.map(lambda x: max(ts.get_k_data(x, ktype='D').iloc[-2:]['close']))
good_stocks = good_stocks[good_stocks['两日最高点'] == good_stocks['c']]
good_stocks.drop(['两日最高点'], axis=1, inplace=True)
for stock in good_stocks.index.tolist():
# 判断是否为科创板股票
industry_code = basic_info.loc[stock, 'industry_code']
if industry_code == '932' or industry_code == '914':
good_stocks.drop([stock], inplace=True)
continue
# 判断K值是否小于20
df1 = ts.get_k_data(stock, ktype='D')
if df1.iloc[-1]['K'] >= 20:
good_stocks.drop([stock], inplace=True)
continue
return good_stocks
day = '2021-09-01'
good_stocks = select_good_stocks(day)
print(good_stocks.head(20))
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


