问财量化选股策略逻辑
本选股策略选取振幅大于1、500日内至少2次涨停,流通市值在50-100亿之间的股票。
选股逻辑分析
本选股策略相对于前一个选股策略增加了市值的要求,筛选出市值在50-100亿之间的个股,并继续侧重在技术面上,通过振幅、涨停这些指标来过滤标的,从而选择走势低迷、有可能反弹的股票。
有何风险?
该选股策略仍然注重技术面,可能会忽略掉一些基本面信息,从而选错个股。另外,在流通市值这个指标上,也有一定的风险,因为市值的大小不能代表一个公司的质量,只是一个市场表现的结果。
如何优化?
可以在市值的基础上,再加入一些其他的基本面指标,例如市盈率、净利润等,以更好地衡量一个公司的质量。同时,在选取技术指标方面,也可以加入一些其他的指标,例如均线、MACD等,进行多方面快速分析。
最终的选股逻辑
在振幅大、涨停次数丰富、流通市值在50-100亿之间的股票的基础上,进行选股。
同花顺指标公式代码参考:
振幅大于1:
(HIGH - LOW) / PRE_CLOSE > 0.01
500日内至少2次涨停:
SUM(HIGH / REF(LOW,1) > 1.099, 500) >= 2
流通市值50-100亿:
CIRC_MCAP >= 5e9 AND CIRC_MCAP <= 10e9
排序:
SORT('振幅×2+涨停次数+流通市值', False)
python代码参考:
import tushare as ts
selected_stocks = []
for code in ts.get_stock_basics().index:
#获取股票数据
daily_data = ts.get_hist_data(code)
if daily_data is None or daily_data['high'].count() < 20:
continue
#判断流通市值
if ts.get_stock_basics().loc[code, 'circulating_market_cap'] < 5e9 or ts.get_stock_basics().loc[code, 'circulating_market_cap'] > 10e9:
continue
#判断涨停次数
if daily_data[(daily_data['high'] / daily_data['low'].shift(1) > 1.099).rolling(500).sum() < 2].empty:
continue
#判断振幅
if (daily_data['high'] - daily_data['low']).mean() / daily_data['close'].mean() < 0.01:
continue
selected_stocks.append(code)
#输出选中的股票
print(selected_stocks)
本选股策略综合了技术面和基本面多个因子,采用复合指标选股,仅供参考。在实际操作中,需要加强对风险敞口的把控,进行风险控制,提高投资稳定性。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
