(supermind)振幅大于1、换手率_2%且_9%、30日平均线向上_

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

问财量化选股策略逻辑

选股逻辑为:振幅大于1,换手率>2%且<9%,30日平均线向上。该选股策略主要以技术面指标为主,即振幅、换手率和均线,以筛选出符合标准的股票。

选股逻辑分析

该选股逻辑以技术面指标为主,通过振幅和换手率来判断股票的走势和市场认可度,同时加入30日平均线的判断,以判断股票的长期走势,筛选出符合条件的标的。

有何风险?

该选股策略仍然以技术面指标为主,而且主要是中短期的技术面指标,同时均线的判断依据可能存在滞后性,可能会错过一些股票的上涨机会。同时,行情波动加剧时,本策略可能会出现较大的回撤。

如何优化?

为减少筛选出来的标的中的误判,可以加入更加完备的技术面指标,如成交量、资金流向、RSI等指标,以充分判断股票的走势情况。同时可以增加均线近期的斜率和夹角等指标作为判断依据,以辅助确认股票走势。

最终的选股逻辑

选股条件为:振幅大于1,换手率>2%且<9%,30日平均线向上,并加入其它技术面和基本面因素的综合判断以及风险管理策略。

同花顺指标公式代码参考

选股条件为:振幅大于1,换手率>2%且<9%,30日平均线向上。

C1: ABS((HIGH/LOW-1)*100)>=1;//振幅大于1
C2: TURNOVER>2 AND TURNOVER<9;//换手率大于2%小于9%
C3: MA(CLOSE,30)>REF(MA(CLOSE,30),1);//30日均线向上

SYMBOL: C1 AND C2 AND C3;

Python代码参考

import pandas as pd
import tushare as ts

def select_stocks(length):
    ts.set_token('your token')
    pro = ts.pro_api()

    # 获取股票数据
    stock_data = pro.stock_basic(list_status='L', exchange='SSE', fields='ts_code,symbol,name,industry,list_date')
    current_date = '20220308'

    # 筛选符合条件的股票
    selected_stocks = []
    for index, row in stock_data.iterrows():
        code = row['ts_code']
        info = {}
        info['code'] = code
        info['name'] = row['name']

        # 排除科创板股票
        industry = row['industry']
        if industry.startswith('688'):
            continue

        # 获取技术数据
        tech_data = pro.daily(ts_code=code, start_date='20190101', end_date=current_date, fields='high,low,close,vol')

        if tech_data.empty or tech_data['low'].shift(1).dropna().reset_index(drop=True).rename('last_low') > tech_data.iloc[1:, 3].reset_index(drop=True):
            continue

        # 获取其它技术指标
        if tech_data.iloc[-1]['high'] - tech_data.iloc[-1]['low'] <= 0 or tech_data.iloc[-1]['vol'] / pro.stock_basic(ts_code=code).iloc[0]['total_share'] <= 0.02 or tech_data.iloc[-1]['vol'] / pro.stock_basic(ts_code=code).iloc[0]['total_share'] >= 0.09:
            continue

        # 判断30日均线向上
        ma_30 = tech_data['close'].rolling(window=30).mean()
        if ma_30.isnull().values.any():
            continue

        if ma_30.iloc[-1] < ma_30.iloc[-2]:
            continue

        selected_stocks.append(info)

        if len(selected_stocks) >= length:
            break

    return selected_stocks

致辞

本次问答为问财量化选股策略逻辑的第六十九篇,该选股策略主要以技术面指标为主,加入30日均线的判断条件,以筛选出符合标准的股票。在实际选股中,需要充分考虑市场环境、行情风险、基本面等多个因素,建立稳健的选股体系,以获得更稳定的投资收益。

    ## 如何进行量化策略实盘?
    请把您优化好的选股语句放入文章最下面模板的选股语句中即可。

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

    模板如何使用?

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


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

评论

需要帮助?

试试AI小助手吧