(supermind量化投资)task13/a/元宇宙、30日平均线向上、近一个月内有过涨

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

问财量化选股策略逻辑

该选股策略包含元素“元宇宙”、“30日平均线向上”和“近一个月内有过涨停”。

选股逻辑分析

该选股策略综合考虑了元宇宙、趋势均线和股票涨停情况。要求选出具备两个方面优点的股票:一是处于上升趋势,二是曾经有过表现不错的时间点。

有何风险?

  1. 取涨停有时会带来股票的大幅波动和不稳定性,如果仅仅根据涨停选出股票,会有很大的漏选和误选风险;
  2. 数据的来源问题,不同数据源数据效果可能存在差异;
  3. 市场情况变化较快,可能会导致该逻辑的持续优势不断被打破。

如何优化?

  1. 加入其他技术指标和基本面因素来筛选优良标的,选出更能代表公司长期价值的标的;
  2. 增加风控机制,设置止盈止损等风险控制策略,避免风险带来的不良后果;
  3. 考虑建立更多的补充逻辑,以应对市场不同阶段变化。

最终的选股逻辑

基于元宇宙和30日均线向上,要求近一个月内股票有一次或多次涨停。

同花顺指标公式代码参考

元宇宙:SELECTEDINDUSTRY("gnxq")

30日平均线向上:MA(CLOSE, 30) > REF(MA(CLOSE, 30), 1)

近一个月内有过涨停:COUNT(CLOSE=REF(HIGH,1)=HIGH, 20) > 0

Python代码参考

import pandas as pd
import baostock as bs

def stock_selector(df):
    # 筛选条件
    condition1 = df['concepts'].apply(lambda x: '元宇宙' in x)
    condition2 = df['close'] > pd.Series(df['close']).rolling(window=30).mean().shift(1)
    condition3 = pd.Series(df['close']).rolling(window=20).apply(lambda x: (x == max(x)) & (x == x.shift())).sum() > 0

    conditions = [condition1, condition2, condition3]
    selected = df[conditions]
    
    # 可以加入其他指标的筛选条件和综合分析
    # selected = selected[other_conditions]
    
    return selected
    ## 如何进行量化策略实盘?
    请把您优化好的选股语句放入文章最下面模板的选股语句中即可。

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

    模板如何使用?

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


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

评论