(supermind)振幅大于1、大单净量排行、剔除昨日涨停_

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

问财量化选股策略逻辑

选股逻辑为:振幅大于1,大单净量排行,剔除昨日涨停。该选股策略主要基于技术面来选股,利用振幅、大单净量和涨停板等指标来筛选符合条件的个股,以便于找到潜在的牛股,同时避免跟风抢涨停等风险。

选股逻辑分析

该选股逻辑同样以技术指标为基础,利用振幅、大单净量和涨停板等指标来选股。当振幅大于1时表明该股票波动较大,大单净量排行可以反映市场活跃程度,剔除昨日涨停可以避免跟风抢涨停的风险。符合这些条件的个股有可能存在大涨的潜力。选股逻辑相对简单,便于初学者使用。

有何风险?

该选股方法同样存在一定风险,可能会因为市场行情不符合预期、出现暴跌等因素导致投资收益下滑。此外,该选股方法也未考虑公司基本面因素,导致选股结果可能存在较大的风险。而且单纯的以涨停板为选股条件,有可能会使投资者跟风买入,形成过度集中持仓的风险,需要注意风险控制和仓位管理。

如何优化?

优化方法可以考虑增加公司基本面指标和其他技术指标,如市净率和相对强弱指标、均线系统、KDJ指标等,以提高选股的精度和稳定性。同时,可以结合市场趋势,根据市场行情进行动态调整和优化。加入风险控制和仓位管理等策略,避免过度交易和投入过大的风险。

最终的选股逻辑

选股条件为:振幅大于1,大单净量排行,剔除昨日涨停。需要加入公司基本面指标和其他技术指标来提高选股的精度和稳定性,并根据市场变化和个人需求进行动态调整和优化。同时,加入风险控制和仓位管理等策略,避免过度交易和投入过大的风险。

同花顺指标公式代码参考

SELECTED = REF(CLOSE, 1) < REF(HIGH, 2) AND REF(CLOSE, 1) < REF(MA(CLOSE, 30), 1) AND MASSINDEX() < 27 AND ABS((HIGH - LOW) / CLOSE) * 100 >= 2 AND NOT UP_LIMIT_YESTERDAY() AND VOL_RATIO() >= 2

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']

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

        if len(tech_data) > 22:
            # 计算技术指标
            wrt = talib.WILLR(tech_data['high'].values, tech_data['low'].values, tech_data['close'].values, timeperiod=14)
            ma30 = tech_data['close'].rolling(window=30).mean()
            mid = talib.MIDPRICE(tech_data['high'].values, tech_data['low'].values, timeperiod=14)
            ibs = talib.MASS(tech_data['high'].values, tech_data['low'].values, timeperiod1=9, timeperiod2=25)
            amplitude = (tech_data.iloc[-1]['high'] - tech_data.iloc[-1]['low']) / tech_data.iloc[-1]['close'] * 100

            # 判断是否符合条件
            cond1 = tech_data.iloc[-2]['close'] < tech_data.iloc[-3]['high'] and tech_data.iloc[-2]['close'] < tech_data.iloc[-30:]['close'].mean()
            cond2 = wrt[-1] <= -80
            cond3 = tech_data.iloc[-1]['close'] > mid[-1] and tech_data.iloc[-1]['close'] < mid[-2]
            cond4 = abs(amplitude) >= 2
            cond5 = not has_uplimit_yesterday(code, pro)
            cond6 = tech_data.iloc[-1]['vol'] / tech_data.iloc[-22:-2]['vol'].mean() >= 2

            if cond1 and cond2 and cond3 and cond4 and cond5 and cond6:
                selected_stocks.append(info)

            if len(selected_stocks) >= length:
                break

    return selected_stocks


def has_uplimit_yesterday(code, pro):
    df = pro.namechange(ts_code=code)
    date = df.loc[df['change_type'] == 'S', 'start_date'].values
    if len(date) > 0:
        yesterday_data = pro.query('daily', ts_code=code, start_date=date[0], end_date=date[0], fields='')


        if yesterday_data.iloc[-1]['pre_close'] == yesterday_data.iloc[-1]['high']:
            return True

    return False

致辞

本次问答为问财量化选股策略逻辑的第四十篇,该选股策略主要基于技术面来选股,利用振幅、大单净量和剔除昨日涨停等指标来筛选符合条件的个股,以便于找到潜在的牛股,同时避免跟风抢涨停等风险。需要加入公司基本面指标和其他技术指标来提高选股的精度和稳定性,并根据市场变化和个人需求进行动态调整和优化。同时,加强风险控制和仓位管理等策略,控制持仓集中度和投资风险。

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

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

    模板如何使用?

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


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

评论