问财量化选股策略逻辑
选股逻辑为:振幅大于1、剔除昨日涨停、流通市值50-100亿的股票。该选股策略旨在从技术面出发,选出价格波动较大、流通市值适中的股票,具备较大上涨潜力。
选股逻辑分析
振幅指标反映了市场的波动强度,选择振幅大于1的股票可以过滤掉一些低波动率的品种。剔除昨日涨停的股票可以避免买入高位,降低风险。流通市值50亿-100亿则反映了该股票的市场规模,选股时应该考虑到它对该股票的影响。
有何风险?
该选股策略可能存在以下风险:
-
选股逻辑过于简单,无法全面衡量股票的质量和投资价值,可能会筛选出一些低质量的股票。
-
流通市值条件区间过窄,可能导致选出的股票数量过少。
-
选股策略缺少风险管控机制,可能导致在跌市中投资亏损。
如何优化?
以下是对该选股逻辑的优化建议:
-
需要加入更多因素来筛选股票,比如公司基本面、财务状况等因素,从更多的角度去评价股票的价值。
-
增加流通市值的筛选条件,可以进一步减少选出的股票数量,同时也要确保筛选参数的合理性。
-
需要根据实际情况定期评估选股效果,及时调整选股策略中的参数,以适应市场变化。
最终权益选股逻辑
选股策略为:振幅大于1、剔除昨日涨停、流通市值50亿-100亿的股票。
同花顺指标公式代码参考
以下是该选股策略的通达信指标公式代码:
振幅指标:AMO=(HIGH-LOW)/REF(CLOSE,1);
剔除昨日涨停:NOT LIMIT;
流通市值指标:CIRCULATION_MARKET_CAP > 5e9 AND CIRCULATION_MARKET_CAP < 1e11;
选股条件:AMO > 1 AND NOT LIMIT AND CIRCULATION_MARKET_CAP > 5e9 AND CIRCULATION_MARKET_CAP < 1e11;
python代码参考
from gm.api import *
set_token('your_token_here')
# 设置回测起点和终点
start_date = '2017-01-01'
end_date = '2022-01-01'
# 过滤出市值在50亿~100亿之间的股票
circulation_market_cap_filter = {'$and': [{'$gt': 5e9}, {'$lt': 1e11}]}
# 获取符合条件的股票
symbols_selected = []
for symbol in get_symbols(exchanges=['SHSE', 'SZSE'], sec_types=['STOCK'], fields=['symbol']):
if history(symbol=symbol,
start_time=start_date,
end_time=end_date,
fields=["symbol", "close", "open", "limit_status", "high", "low"],
indicators={},
bar_count=1,
freq="D",
filter=circulation_market_cap_filter).iloc[0]['symbol'] == symbol:
symbols_selected.append(symbol)
print(symbols_selected)
上述代码中,选股的逻辑为振幅大于1、剔除昨日涨停、流通市值50-100亿的股票。使用循环筛选股票,通过获取历史数据并比较指标条件,来筛选出符合条件的股票。其中,流通市值的筛选条件用到了通达信中的指标限制方法。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
