问财量化选股策略逻辑
选股逻辑:振幅大于1、昨天连续3日涨停、(昨日换手率×(今日竞价成交量/昨日成交量))>0.5且<2。
选股逻辑分析
该选股逻辑主要考虑了股票的市场活跃度和持续上涨的趋势,将振幅大于1和昨天连续3日涨停作为基础条件,以确保市场活跃的高热度个股。同时引入换手率和竞价成交量的概念,加以计算判断,找出成交水平和市场热度适中的标的,以稳健的方式获取更好的收益。
有何风险?
以下是该选股策略存在的风险:
- 忽略公司的基本面和长期投资价值;
- 仅仅从短期数据和现象出发,无法反映企业具体的内外部环境变化;
- 时间较长的强势股难以被筛选出来,如龙头股和周期股等。
如何优化?
为了优化该选股逻辑,可以考虑以下优化方案:
- 结合市场情况和板块走势,科学选股,如强势股、板块龙头等等;
- 基于公司的基本面、估值、盈利预期等因素更全面地分析股票价值,对于一些主厨变脸、行业变化的股票,持有周期要灵活调整;
- 区分短期和长期的投资需求,合理配置资产,分散风险,以稳健为先。
最终的选股逻辑
改进后的选股逻辑如下:
- 振幅大于1;
- 连续3日上涨;
- (昨日换手率×(今日竞价成交量/昨日成交量))>0.5且<2;
- 结合市场情况和板块走势,全面分析公司的基本面和估值。
同花顺指标公式代码参考
该选股逻辑的通达信指标公式如下:
暂无
python代码参考
import pandas as pd
from tqsdk import TqApi, TqAuth
api = TqApi(auth=TqAuth("YOUR_ACCOUNT", "YOUR_PASSWORD"))
klines = api.get_kline_serial("SHFE.rb2101", 24 * 60 * 60, data_length=300) # 获取 df 数据, 周线为周期
df = pd.DataFrame(klines)
C1 = (df['high'] - df['low'] >= 1)
C2 = df.groupby('contract.symbol')['close'].apply(lambda x: (x.shift(1) == x.max()) & \
(x.shift(2) == x.max()) & \
(x.shift(3) == x.max())).astype(int)
C3 = ((df['turnover_rate'].shift(1) * df['presettle'] / df['settlement'].shift(1) > 0.5) & \
(df['turnover_rate'].shift(1) * df['presettle'] / df['settlement'].shift(1) < 2)).astype(int)
selector = (C1 & C2 & C3).astype(int)
result = df[selector == 1].index.tolist()
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
