问财量化选股策略逻辑
本选股策略选取振幅大于1、昨日非涨停板、非ST股票,以及运用五部涨停战法筛选当日潜在涨停股票。
选股逻辑分析
本选股策略首先选取了振幅大于1和昨日非涨停板这两个技术指标进行选股,加上排除ST股票。此外,通过五部涨停战法筛选当日潜在涨停股票,包括前一交易日涨停个股量价扩散、前一交易日涨停次新股等方式,以捕捉市场热点股。
有何风险?
该选股策略忽略了公司基本面和财务状况等因素,只关注外部市场的技术指标和走势规律,容易在大盘短期波动或市场行情转变时捕捉不到合适的投资标的。同时,五部涨停战法筛选涨停股票的情况不一定适用于所有市场环境,如果选取不恰当,可能导致投资失败。
如何优化?
可以将五部涨停战法适当调整以适应不同的市场环境,同时可以加入其他技术指标或公司基本面等因素进行筛选以提高选股准确率。
最终的选股逻辑
本选股策略综合考虑了技术指标和市场热点股,选取振幅大于1、昨日非涨停板、非ST股票,再运用五部涨停战法筛选当日潜在涨停股票,为捕捉短期投资机会提供参考。
同花顺指标公式代码参考
暂无同花顺指标参考。
python代码参考
# 引入Tushare库
import tushare as ts
# 连接Tushare库
pro = ts.pro_api()
def select_stocks(n):
selected_stocks = []
today = pro.trade_cal(exchange='', is_open='1')["cal_date"].values[-1]
yesterday = pro.trade_cal(exchange='', is_open='1', end_date=today, count=2)["cal_date"].values[0]
# 振幅大于1、昨日非涨停板、非ST股票
quote = pro.stock_basic(exchange='', list_status='L', fields='ts_code, name, market, list_date')
quote = quote[quote["market"].isin(["主板", "中小板", "创业板"]) & (quote["name"].str.find("ST") == -1)]
for ts_code in quote["ts_code"]:
daily_data = pro.daily(ts_code=ts_code, start_date=yesterday, end_date=today)
if len(daily_data) >= 2 and daily_data.iloc[-2]["close"] > daily_data.iloc[-2]["high"] * 0.98 \
and daily_data.iloc[-2]["close"] < daily_data.iloc[-2]["high"] * 0.99 \
and daily_data.iloc[-2]["close"] > daily_data.iloc[-2]["low"] \
and daily_data.iloc[-2]["close"] > daily_data.iloc[-1]["open"] \
and len(pro.daily_basic(ts_code=ts_code, trade_date=yesterday, fields="ts_code")) > 0:
selected_stocks.append(ts_code)
# 五部涨停战法
for i in range(1, 6):
candidates = pro.limit_list(trade_date=yesterday, limit_type="U")
candidates = candidates[candidates["pct_chg"].between(9.96 + (i - 1) * 0.01, 9.96 + i * 0.01)]
candidates = candidates[candidates["ts_code"].isin(selected_stocks)]
selected_stocks = list(candidates["ts_code"])
return selected_stocks[:n]
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
