问财量化选股策略逻辑
选股逻辑为:振幅大于1、流通市值大于100亿元、剔除昨日涨停。该选股策略主要考虑了个股波动性和规模因素,同时排除了热点股票,防止市场情绪的误判。
选股逻辑分析
该选股逻辑主要考虑了个股的波动性和规模因素,通过筛选振幅大于1、流通市值大于100亿元的标的股,挖掘出符合这两个条件的标的股。同时,剔除昨日涨停的股票,可以避免轻易追高参与热点股票,防止市场情绪的误判。
有何风险?
该选股逻辑在剔除昨日涨停时可能会过于保守,忽略短期利好的情况。同时,在选股中没有考虑到股票的基本面因素,忽略了股票的长期价值。
如何优化?
在该选股逻辑的基础上,可以引入股票的基本面因素,例如PE、PB、ROE等指标,综合考虑股票的价值和长期趋势。同时,在剔除昨日涨停的条件下,可以引入其他技术指标,例如KDJ、MACD等指标,综合判断股票的买卖时机,避免错过市场热点行情。
最终的选股逻辑
选股逻辑为:振幅大于1、流通市值大于100亿元、剔除昨日涨停。该选股策略主要考虑了个股波动性和规模因素,同时排除了热点股票,防止市场情绪的误判。
同花顺指标公式代码参考
CIRC_MARKET_CAP >= 100 AND FZ_RANGE > 1 AND FZT_TYPENAME NOT 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().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亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
