问财量化选股策略逻辑
选股逻辑为:在换手率3%-12%,剔除北京A股, 20日均线大于120日均线的条件下,筛选股票。
选股逻辑分析
该选股策略的核心在于选取20日均线大于120日均线的股票,判断股票当前处于向上趋势。同时设置换手率的框架,有效筛选出稳定性较好的股票。
有何风险?
市场波动导致均线的变化有一定滞后性,可能导致过滤掉潜力良好的股票。同时,只选取了均线因素可能导致忽略了其他重要指标的影响。
如何优化?
-
加入其他指标
可以考虑加入其他评估指标,如市盈率、价格烈度等等,以全面评估股票的过去表现和未来业绩。 -
改变切入角度
可以考虑以行业为切入点进行筛选,以业绩、盈利能力等为主要考量。
最终的选股逻辑
在换手率3%-12%,剔除北京A股, 20日均线大于120日均线的条件下,加入其他指标,筛选出业绩良好、稳定性较高的股票。
同花顺指标公式代码参考
无
Python代码参考
import tushare as ts
def select_good_stocks():
ts.set_token('your_token')
pro = ts.pro_api()
stocks = pro.stock_basic(exchange='SZSE', list_status='L', fields='ts_code, name, industry, mktcap, turnover_rate')
df1 = pro.daily(ts_code=stocks.ts_code[0])
df1 = df1.sort_values(by='trade_date')
df1['ma20'] = df1['close'].rolling(window=20).mean().round(2)
df1['ma120'] = df1['close'].rolling(window=120).mean().round(2)
df1['ma120-20'] = df1['ma20'] - df1['ma120']
stocks = pd.merge(stocks,df1.iloc[-1], on='ts_code',how='left')
stocks = stocks[(stocks['name'].str.contains('ST') == False)]
stocks = stocks[(stocks['mktcap'] >= 200000000)]
stocks = stocks[(stocks['ts_code'].str.startswith('002') == True) | (stocks['ts_code'].str.startswith('000') == True)]
stocks = stocks[(stocks['turnover_rate'] >= 3) & (stocks['turnover_rate'] <= 12)]
stocks = stocks[(stocks['ma20'] > stocks['ma120']) & (stocks['ma120-20'] > 0)]
stocks = stocks.set_index('ts_code')
return stocks
good_stocks = select_good_stocks()
print(good_stocks)
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


