(supermind量化策略)task14/a/元宇宙、前25天有涨停、收盘价<boll(

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

问财量化选股策略逻辑

本选股策略为:在元宇宙行业中,选择前25天内有涨停且收盘价在上轨带和中轨带之间的股票,确定买入时间和买点。

选股条件为:元宇宙,前25天有涨停,收盘价<boll(upper值)且收盘价>boll(mid值)。该条件旨在寻找近期涨势明显,同时价格有一定回调的股票,以更好地抓住市场机遇。

选股逻辑分析

本选股策略主要依据了技术分析的思路,对股票价格走势进行评估。同时,增加了近期涨势的限制,并配合基于布林带的短期回调策略,以增加选股精度。

有何风险?

本选股策略存在以下风险:

  1. 过度依赖技术分析指标,没有充分考虑基本面等因素,导致选股定位和风险预估可能不准确。
  2. 布林带指标具有周期性,难以做到长期绩效稳定,容易出现套牢的情况。
  3. 行业特点和推广进度较为不确定,可能难以预判市场需求和落地进程,从而导致买卖时机难以捕捉。

如何优化?

为了提高本选股策略的绩效和可靠性,可以:

  1. 加入基本面分析指标,如财务报告等,降低选股风险。
  2. 综合考虑其他因素如市场趋势以及大盘走势等进行选股,提高选股的维度和深度。
  3. 建立风险管理模型,做到资产配置合理,控制仓位和风险,以确保长期盈利。

最终的选股逻辑

在元宇宙行业中,选择前25天内有涨停且收盘价在布林带的上轨带和中轨带之间的股票,以确定中短期投资收益。在此基础上进行风险管控,合理配置投资资金,控制仓位,以获得稳健的投资回报。

选股条件为:元宇宙,前25天有涨停,收盘价<boll(upper值)且收盘价>boll(mid值)。
排序指标:根据涨停次数和收盘价的相对位置进行排序。

同花顺指标公式代码参考

选股条件:前25天有涨停,收盘价<boll(upper值)且收盘价>boll(mid值)
TDX公式:
C1:REF(CLOSE, 1) < REF(BOLLUPPER(CLOSE, 20, 2), 1) AND CLOSE > REF(BOLL(CLOSE, 20, 2), 1);
C2: MARKET_CAP > 2;
C3: CROSSCOUNT(ZT>0, C) > 0;
SELECT IF(C1 AND C2 AND C3, 1, 0);

同花顺公式:
25日前涨停板>0 AND CLOSE<BOLLUPPER(C,20,2) AND CLOSE>BOLL(C,20,2) AND Market_Capital >=200000000;

python代码参考

import pandas as pd
from typing import List

def select_stocks(data: pd.DataFrame, days_before: int) -> List[str]:
    df = data.copy()
    today = df.index.get_level_values('date').unique()[-1]
    sub_df = df.loc[today]
    upper = pd.Series(sub_df['收盘价'].tolist()).rolling(window=20).mean() + 2 * pd.Series(sub_df['收盘价'].tolist()).rolling(window=20).std()
    mid = pd.Series(sub_df['收盘价'].tolist()).rolling(window=20).mean()
    sub_df['upper'] = upper.tolist()
    sub_df['mid'] = mid.tolist()
    sub_df['boll_up'] = sub_df['upper'].shift(1)
    sub_df['boll_mid'] = sub_df['mid'].shift(1)
    codes = sub_df.index.unique().tolist()
    select_df = []
    for code in codes:
        his_df = df.loc[df.index.get_level_values('code') == code]
        his_df = his_df.loc[his_df.index.get_level_values('date') <= today]
        zt_days = his_df['涨停板'].rolling(window=days_before).sum().iloc[-1]
        if zt_days > 0:
            close = sub_df.loc[code]['收盘价']
            boll_up = sub_df.loc[code]['boll_up']
            boll_mid = sub_df.loc[code]['boll_mid']
            if (close < boll_up) and (close > boll_mid):
                select_df.append(code)
    return select_df
    ## 如何进行量化策略实盘?
    请把您优化好的选股语句放入文章最下面模板的选股语句中即可。

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

    模板如何使用?

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


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

评论