问财量化选股策略逻辑
本选股策略选取振幅大于1、500日内至少2次涨停,高点为两日最高的股票。
选股逻辑分析
本选股策略主要考虑了技术面因素,选取具备较大振幅和有涨停历史,同时以高点为两日最高作为进一步筛选条件,筛选出短期内具有较强上涨动能的标的。
有何风险?
本选股策略过于依赖技术面因素,可能存在市场情绪和资金面被忽略的风险。同时,高点为两日最高的标准过于苛刻,部分潜力较大的标的可能会被排除在外。
如何优化?
在选取高点为两日最高的同时,也可以引入其他技术指标如KDJ, WR等,以全面了解股票的价值和风险情况,避免过于依赖单一指标。同时,适当放宽选取条件,加入其他合理的筛选条件,以扩大选股范围,挖掘更多潜力标的。
最终的选股逻辑
本选股策略在综合考虑技术面因素的基础上,选取具备较大振幅和有涨停历史,同时以高点为两日最高作为进一步筛选条件,筛选出具有短期内较强上涨动能的标的,同时结合多重判断,筛选出具有投资价值和成长性的标的。
同花顺指标公式代码参考:
振幅大于1:
(HIGH - LOW) / PRE_CLOSE > 0.01
500日内至少2次涨停:
SUM(HIGH / REF(LOW,1) > 1.099, 500) >= 2
高点为两日最高:
REF(HIGH, 1) > REF(HIGH, 2) AND HIGH == MAX(HIGH, 2)
排序:
SORT('资金强度', False)
python代码参考:
#引入Tushare库
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 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
#判断高点为两日最高
if daily_data['high'].shift(1) <= daily_data['high'].shift(2) or daily_data['high'] != daily_data.iloc[-2:]['high'].max():
continue
selected_stocks.append(code)
#输出选中的股票
print(selected_stocks)
本选股策略在综合考虑技术面因素的基础上,选取具备较大振幅和有涨停历史,同时以高点为两日最高作为进一步筛选条件,筛选出具有短期内较强上涨动能的标的,但依然需要注意市场情况和资金面因素的影响,并结合其他指标进行投资决策。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
