问财量化选股策略逻辑
选股逻辑为:在换手率3%-12%,剔除北京A股,现量大于1万手和高开的条件下,筛选股票。
选股逻辑分析
该选股策略主要侧重于技术面,使用换手率、现量和高开等技术指标来筛选股票。通过限定换手率、排除北京A股、现量大于1万手以及高开,可以选出相对活跃的股票。同时,高开又意味着市场热度较高,有较大的变现潜力。
有何风险?
该选股策略只依据技术面进行筛选,可能会忽略基本面的影响。同时,高开并不代表股票长期上涨,并且限制现量和换手率也可能导致筛出的股票数量过少。
如何优化?
-
综合考虑基本面和技术面
可以将技术分析的形态和基本面指标结合起来,以便更加全面地评估股票。 -
动态调整选股策略
可以根据市场情况和选择的股票表现实时调整选股策略,以达到更好的效果。
最终的选股逻辑
在换手率3%-12%,剔除北京A股,现量大于1万手和高开的条件下,加入其他关键指标如PE、PEG等综合考虑,筛选出成长性较好、稳定性较高的股票。
同花顺指标公式代码参考
高开指标代码:
BAR1:=(OPEN-LOW);
BAR2:=(HIGH-OPEN);
K1:IF(BAR1>BAR2,1,0);
K2:IF(BAR1BAR2,1,0);
FILTER:IF(((K10) AND (VOL>10000)) OR ((K2>0) AND (VOL>10000)),1,0);
其中,VOL为成交量的指标。
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, pe, peg_ratio, turnover_rate,vol,open,close,high,low')
for i in range(len(stocks)):
code = stocks.ts_code[i]
df2 = pro.daily(ts_code=code, start_date='20190101')
df2 = df2.sort_values(by='trade_date')
df2['VOL'] = df2['vol']/10000
df2['BAR1'] = df2['open']-df2['low']
df2['BAR2'] = df2['high'] - df2['open']
df2['HighOpen1'] = ((df2['BAR1'] > df2['BAR2']) & (df2['vol'] > 10000)).astype(int).sum()
df2['HighOpen2'] = ((df2['BAR1'] < df2['BAR2']) & (df2['vol'] > 10000)).astype(int).sum()
stocks.loc[i, 'HighOpen'] = ((df2['HighOpen1'] > 0) | (df2['HighOpen2'] > 0)).astype(int).sum()
stocks = stocks[(stocks['name'].str.contains('ST') == False)]
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['HighOpen'] > 0)]
stocks = stocks[(stocks['peg_ratio'] < 1)]
stocks = stocks[(stocks['pe'] > 0) & (stocks['pe'] < 50)]
stocks = stocks.set_index('ts_code')
return stocks
good_stocks = select_good_stocks()
print(good_stocks)
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


