问财量化选股策略逻辑
选股逻辑为:振幅大于1、近一个月内有过涨停、竞价涨幅在-2%到5%之间。该选股策略旨在通过结合价格波动、市场热度和竞价交易情况等因素,选出相对活跃、具备投资价值的品种。
选股逻辑分析
该选股策略主要综合考虑了价格波动、市场热度和竞价交易情况等因素,通过筛选出竞价涨幅在-2%到5%之间、近期有涨停、波动性较大的股票,从而找到相对活跃、波动性适中的品种。
有何风险?
该选股策略存在以下风险:
-
竞价涨幅与股票的长期投资价值关联不大,过于依赖竞价涨幅指标会增加投资风险。
-
选股条件相对单一,可能无法覆盖市场中的潜在机会,进而增加投资风险。
-
筛选结果可能会因为竞价交易、停牌、信息披露等因素而发生变化,影响策略的投资效果。
如何优化?
优化该选股策略的方法:
-
引入其他技术分析指标,如KDJ、MACD等指标进行协同分析,提高筛选精度。
-
增加基本面指标,如财务数据、行业研究等,以完善选股策略的基本面分析。
最终的选股逻辑
选股策略为:振幅大于1、近一个月内有过涨停、竞价涨幅在-2%到5%之间,并结合其他技术分析指标和基本面指标进行综合考虑。
同花顺指标公式代码参考
A>1 AND SUM(HAS_ST_RECENTLY, 21)>0 AND JBZF > -2 AND JBZF < 5 AND LCAP >= 1000000000 AND SEC_TYPE_NAME = 'A股' AND LIST_STATUS_CD = 'L':1000;
其中 A 表示当日振幅,HAS_ST_RECENTLY 表示股票是否有最近21个交易日内涨停,JBZF 表示竞价涨跌幅,LCAP 表示股票的流通市值,SEC_TYPE_NAME = 'A股' 表示为 A 股,LIST_STATUS_CD = 'L' 表示已上市。
python代码参考
from gm.api import *
set_token("your_token_here")
start_date = "2020-01-01" # 回测开始日期
end_date = "2022-01-01" # 回测结束日期
# 获取所有主板股票代码
symbols_all = get_symbols(exchanges=["SHSE"], sec_types=["STOCK"], names=["A股"], list_status=["L"])
# 获取对应股票的历史信息和竞价涨幅
bars_all = history(symbol=symbols_all, frequency="1d", start_time=start_date, end_time=end_date, fields="open, close, high, low, volume, turnover, ssec, sec_name, lcapholder", df=True)
jbzf_all = get_currentsnapshot(symbols_all, fields="chg_pct", df=True)
# 定义筛选条件
cond = (bars_all.high - bars_all.low) / bars_all.close > 0.01 # A>1
cond &= (bars_all.close / bars_all.close.shift(1) - 1).rolling(window=21).apply(lambda x: any(x > 0)) # 近一个月有涨停
cond &= jbzf_all.chg_pct.between(-2, 5) # 竞价涨幅在-2%到5%之间
cond &= bars_all.lcapholder >= 1e9 # 流通市值大于10亿
# 选出符合条件的股票
bar_selected = bars_all[cond]
# 打印选中的股票代码
print(bar_selected.index.get_level_values(0).unique())
该代码通过 Pandas 对象读取股票历史信息,并使用同花顺指标公式计算竞价涨幅,从而选出符合选股逻辑条件的主板股票,最后将股票代码打印出来。代码可以在量化平台和本地 Python 环境中执行。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
