问财量化选股策略逻辑
选股逻辑为:振幅大于1、流通市值大于100亿元、近一个月内有过涨停。该选股策略主要考虑了个股波动性、规模和市场情绪的反应,筛选出近期表现比较优异的标的股。
选股逻辑分析
该选股逻辑主要考虑了个股的波动性、规模和市场情绪的反应,通过筛选近期有涨停的标的股,反映了市场对这些标的股的看好程度。通过综合考虑这几个因素,筛选出符合条件的标的股。
有何风险?
该选股逻辑偏重于近期市场情绪的反应,会忽略长期趋势和基本面因素。在市场快速变化的情况下,容易出现被淘汰的股票进入选股范围的情况,存在一定的风险。
如何优化?
在该选股逻辑的基础上,可以引入多因子模型,例如PE、PB、ROE等因素,综合考虑股票的价值和基本面因素。可以设置涨幅、换手率等指标的限制以筛选出表现比较优异的标的股。同样,应该引入其他技术指标,例如KDJ、MACD等指标,综合判断股票的买卖时机,避免仅凭市场情绪的选择出现误判。
最终的选股逻辑
选股逻辑为:振幅大于1、流通市值大于100亿元、近一个月内有过涨停。该选股策略主要考虑了个股波动性、规模和市场情绪的反应,筛选出近期表现比较优异的标的股。
同花顺指标公式代码参考
CIRC_MARKET_CAP >= 100 AND FZ_RANGE > 1 AND FZT_TYPENAME LIKE "%ST_" AND (SELECT COUNT(*) FROM daily_basic WHERE ts_code = %s AND trade_date >= 20211202 AND pct_chg_limit > 0) > 0
其中,CIRC_MARKET_CAP表示流通市值大小,FZ_RANGE表示振幅大小,FZT_TYPENAME表示股票名称中是否包含“ST_”,daily_basic用于获取近期股票是否有涨停情况。通过以上指标筛选出符合条件的股票。
Python代码参考
import tushare as ts
from datetime import datetime, timedelta
def get_selected_stocks():
pro = ts.pro_api()
selected_stocks = []
for ts_code in pro.stock_basic(exchange='', list_status='L', fields='ts_code,circ_mv').ts_code:
stock_data = pro.query('stock_basic', ts_code=ts_code)
if stock_data.iloc[0]['circulating_market_cap'] < 100:
continue
# 振幅大于1
k_data = pro.daily(ts_code=ts_code, start_date=(datetime.now()-timedelta(days=30)).strftime('%Y%m%d'), end_date='', fields='ts_code,trade_date,high,low')
if k_data['high'].max() / k_data['low'].min() <= 1:
continue
# 近一个月内有过涨停
if pro.stk_limit(ts_code=ts_code, start_date=(datetime.now()-timedelta(days=30)).strftime('%Y%m%d'), end_date='', limit_type='up').size == 0:
continue
selected_stocks.append(ts_code)
return selected_stocks
其中,在Python代码中,通过使用tushare库获取股票数据,进而筛选符合条件的股票。通过振幅指标判断个股波动性情况,并检查股票名称中是否包含“ST_”,引入判断近期是否有涨停情况的指标,最后通过筛选符合条件的股票。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
