(supermind量化-)振幅大于1、昨日非涨停板、30日平均线向上_

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

问财量化选股策略逻辑

本选股策略选取振幅大于1、昨日非涨停板、30日平均线向上的股票。

选股逻辑分析

该选股策略基于技术面,选择振幅大于1、昨日非涨停板、30日平均线向上的股票,认为这类股票具备较好的市场活跃性和上涨潜力。

有何风险?

该选股逻辑同样忽略了公司的基本面因素,存在选中低质量公司的风险;同时,选股依据主要是基于技术面,存在短期误判的风险。

如何优化?

同样可以综合加入其它技术指标和基本面因素,结合个人风险和收益要求,设置相应的买入点和卖出点。

最终的选股逻辑

本选股策略选取振幅大于1、昨日非涨停板、30日平均线向上的股票,作为买入信号,策略持有期可以根据个人风险和收益要求灵活调整。

同花顺指标公式代码参考

本选股策略同样依赖于股票的技术指标,同花顺指标代码如下:

振幅:(HIGH-LOW)/C>0.01

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

python代码参考

# 引入Tushare库和talib库
import tushare as ts
import talib

# 连接Tushare库
pro = ts.pro_api()

def select_stocks(n):
    selected_stocks = []
    today = pro.trade_cal(exchange='', is_open='1')["cal_date"].values[-1]
    yesterday = pro.trade_cal(exchange='', is_open='1', end_date=today, count=2)["cal_date"].values[0]
    # 筛选出振幅大于1、昨日非涨停板、30日均线向上的股票
    quote = pro.stock_basic(exchange='', list_status='L', fields='ts_code, name, market, list_date')
    quote = quote[quote["market"].isin(["主板", "中小板", "创业板"])]
    for ts_code in quote["ts_code"]:
        stock_data = pro.daily(ts_code=ts_code, start_date="20000101", end_date=today)
        if len(stock_data) > 31 and stock_data["high"].max() != stock_data["low"].min() \
                and stock_data.iloc[-2]["close"] > stock_data.iloc[-2]["low"] \
                and talib.MA(stock_data["close"], timeperiod=30)[-1] > talib.MA(stock_data["close"], timeperiod=30)[-2]:
            selected_stocks.append(ts_code)
    selected_stocks = selected_stocks[:n]
    return selected_stocks
    ## 如何进行量化策略实盘?
    请把您优化好的选股语句放入文章最下面模板的选股语句中即可。

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

    模板如何使用?

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


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

评论