(supermind)振幅大于1、昨天3连板、按今日竞价金额排序前5_

用户头像神盾局量子研究部
2023-08-21 发布

问财量化选股策略逻辑

选股逻辑:振幅大于1、昨天有3连板、今日竞价金额排序前5。

选股逻辑分析

该选股逻辑主要以市场活跃度和资金流向为主要参考因素。振幅大于1可以反映出市场的活跃度,昨天有3连板则可以反映出市场资金对该股票的认可度高。今日竞价金额排序前5则可以反映出市场对该股票的投资热度,可以反映出市场对该股票的预期较高。该选股逻辑较为简单,选取的股票可能存在风险,如市场突然波动等风险。

有何风险?

以下是该选股策略存在的风险:

  1. 该选股逻辑太过依赖资金流向和市场热度,忽略了公司基本面和行业趋势的影响;
  2. 该选股逻辑过于简单,可能选出的股票涨跌幅度不大,存在选股效率和精度不高的问题;
  3. 选股标准过于单一,容易产生过拟合的情况。

如何优化?

为了优化该选股逻辑,可以考虑以下优化方案:

  1. 在市场活跃度和资金流向的基础上,加入公司基本面和行业趋势指标,综合考虑选择股票,以更全面地衡量选股精度;
  2. 增加选股的标准数量,如增加技术面指标、板块轮动指标等,以更全面地衡量股票潜力;
  3. 选取相对稳健的蓝筹股、龙头企业,或者在其它选股条件相同的情况下,更加关注公司作为行业领导者的地位,以降低选股风险。

最终的选股逻辑

改进后的选股逻辑如下:

  1. 筛选振幅大于1的股票;
  2. 在1的基础上,筛选昨天有3连板的股票;
  3. 在2的基础上,按照今日竞价金额排序,选出排序前5的股票;
  4. 在3的基础上,综合考虑较好的公司基本面和行业趋势,选取业绩稳定、有一定盈利能力和相对估值较低的蓝筹股票或龙头企业。

同花顺指标公式代码参考

该选股逻辑的通达信指标公式如下:

C1 := (HIGH - LOW) > 1;
C2 := (REF(CLOSE, 1) > REF(CLOSE, 2)) AND (REF(CLOSE, 2) > REF(CLOSE, 3));
C3 := RANK(JJJ);
SELECTOR := C1 AND C2 AND (C3 <= 5);

其中JJJ为通达信中的竞价金额/10000,RANK函数可以对竞价金额进行排序。

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 数据,周期为日K线
df = pd.DataFrame(klines)

C1 = (df['high'] - df['low'] >= 1)
C2 = df.groupby('contract.symbol')['close'].apply(lambda x: (x.shift(1) > x.shift(2)) & \
                                                             (x.shift(2) > x.shift(3))).astype(int)
C3 = df.groupby('contract.symbol')['amount'].rank(method='first', ascending=False).astype(int) <= 5
selector = (C1 & C2 & C3).astype(int)
result = df[selector == 1].sort_values('amount', ascending=False).index.tolist()
    ## 如何进行量化策略实盘?
    请把您优化好的选股语句放入文章最下面模板的选股语句中即可。

    select_sentence = '市值小于100亿' #选股语句。

    模板如何使用?

    点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。


    ## 如果有任何问题请添加 下方的二维码进群提问。
    ![94c5cde12014f99e262a302741275d05.png](http://u.thsi.cn/imgsrc/pefile/94c5cde12014f99e262a302741275d05.png)
收益&风险
源码

评论