问财量化选股策略逻辑
选股逻辑为:振幅大于1、近一个月内有过涨停、非科创股票的股票。该选股策略以价格波动和市场热度为依据,结合行业热点和基本面,挑选出波动性较大、市场热度高、基本面良好的非科创股票。
选股逻辑分析
该选股策略关注了价格波动、市场热度、行业热点和基本面等多个因素,其中振幅和涨停板体现了股票在短期内的波动性和市场热度,非科创股票则优选浓缩市场热点。通过结合行业热点和基本面,筛选出具备良好基本面和行业前景的波动性股票,可能在技术面拉升之后带动基本面的进一步提升。
有何风险?
该选股策略存在以下风险:
-
不同行业和领域中,波动性和市场热度不同,可能对该选股策略造成影响。
-
过分关注短期价格波动性,可能忽略了公司的基本面和长期投资价值。
-
策略相对较为简单,缺乏较为完整的选股体系,需要综合考虑其他因素。
如何优化?
优化该选股策略的方法包括:
-
按不同行业和领域的差异定制选股策略,更好地适应市场。
-
增加对公司基本面和长期投资价值的考虑,而非仅仅着眼于短期价格波动。
-
综合考虑多个因素,在选股时结合业绩报告、市场份额、估值与市场热点等,建立更为系统和准确的选股体系。
最终的选股逻辑
选股策略为:振幅大于1、近一个月内有过涨停、非科创股票。该选股策略以股价波动、涨停板、市场热度和基本面为依据,综合考虑多个因素,选出具备良好基本面和行业前景的波动性股票。
同花顺指标公式代码参考
A>1,HHV(REF(C,1),21)=C,INDUSTRY!="SW.":1000
其中,A表示当前振幅,HHV(REF(C,1),21)=C代表当前涨停板有发生,INDUSTRY!="SW."代表为非科创板股票。其他参数参考前述选股逻辑和分析。
python代码参考
from gm.api import *
set_token("your_token_here")
start_date = "2021-01-01" # 回测开始日期
end_date = "2022-01-01" # 回测结束日期
# 获取行业列表
industries_all = get_industries(name=["sw_l1"])
# 获取非科创板股票代码
symbols_all = []
for industry in industries_all:
symbols_all += get_symbols(industry.industry_code)
symbols_excluded = get_symbols('sw.68')
symbols = list(set(symbols_all) - set(symbols_excluded))
# 获取对应股票的历史信息
bars_all = history(symbol=symbols, frequency="1d", start_time=start_date, end_time=end_date, fields="open, close, high, low, volume", df=True)
# 筛选符合条件的股票
bar_selected = bars_all[(bars_all.high - bars_all.low) / bars_all.close > 0.01]
bar_selected = bar_selected.loc[(bar_selected.high == bar_selected.close)]
bar_selected = bar_selected.loc[bar_selected.close >= bar_selected.close.rolling(window=21).min()]
bar_selected = bar_selected.loc[bar_selected.close > bar_selected.close.rolling(window=21).max() * 0.9]
bar_selected = bar_selected.loc[~bar_selected.index.get_level_values(1).isin(["sw.68"])]
# 打印选中的股票代码
print(bar_selected.index.get_level_values(0).unique())
该代码通过 Pandas 对象读取股票历史信息,筛选出符合选股逻辑条件的股票,并将股票代码打印出来。代码可以在量化平台和本地 Python 环境中执行。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
