(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)

剔除昨日涨停:REF(CLOSE/LASTEST(CLOSE, 1), 1) < 1 AND REF(VOL/LASTEST(VOL, 1), 1) < 1

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=2).apply(lambda x: (x.iloc[-1] == max(x)) & (x.iloc[-1] == x.iloc[-2])).apply(lambda x: not x)

    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)
收益&风险
源码

评论