(supermind)振幅大于1、大单净量排行、三个技术指标同时金叉_

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

问财量化选股策略逻辑

选股逻辑为:振幅大于1,大单净量排行,三个技术指标同时金叉。该选股策略综合考虑了价格波动、资金流向和多个技术指标的买入信号,能够筛选出市场活跃度高、趋势向上、具有投资价值的股票,但相应也存在风险。

选股逻辑分析

该选股逻辑综合考虑了多个技术指标的买入信号,可以更准确的把握股票趋势性,筛选出有价值的股票。同时,该选股逻辑重视大单资金的流入和流出情况,具有较高的参考价值。

有何风险?

该选股逻辑只考虑了价格波动、资金流向和技术指标等部分因素,未充分考虑公司基本面、行业发展和市场整体情况等复杂因素,选股精度可能会受到影响。同时,在市场风险较大时,选出的股票也可能面临下跌风险。

如何优化?

可以加入更多的技术指标和行业因素等多个角度考量,对股票的细节和潜在机会进行更全面、更精细的分析,提高选股的精度和可靠性。同时也应重视长期投资,以更深入、更全面和更长远的视野进行投资分析。

最终的选股逻辑

选股条件为:振幅大于1,大单净量排行,三个技术指标同时金叉,并综合考虑公司基本面、行业发展和市场整体情况等多方面因素综合评估股票的价值和风险。

同花顺指标公式代码参考

MA5 = MA(CLOSE, 5);
MA10 = MA(CLOSE, 10);
MA20 = MA(CLOSE, 20);
CROSS1 = CROSS(MA5, MA10);
CROSS2 = CROSS(MA10, MA20);
CROSS3 = CROSS(MA5, MA20);
SELECT1 = (HIGH-LOW)/REF(CLOSE, 1)>0.01;
SELECT2 = GET_DRBQ(CODE, NAME, LAST, LASTVOL) >=0.8;
SELECT3 = CROSS1 AND CROSS2 AND CROSS3;
SELECT = SELECT1 AND SELECT2 AND SELECT3;

SORT_BY='换手率'
SORT_ASCEND=True

Python代码参考

import pandas as pd
import numpy as np
import tushare as ts

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

    # 获取股票数据
    stock_data = pro.daily(ts_code='000001.SZ', start_date='20220201', end_date='20220308')
    stock_list = []

    # 进行选股
    for idx, row in stock_data.iterrows():
        # 按条件筛选:振幅大于1,大单净量排行,三个技术指标同时金叉
        if not ((row['high'] - row['low']) / stock_data[stock_data.index == idx-1].iloc[0]['close'] > 0.01) or \
            get_drbd(row['ts_code'], row['name'], row['close'], row['vol']) < 0.8 or \
            not ma_cross(stock_data.loc[:idx]):
            continue

        selected_data = {}
        selected_data['ts_code'] = row['ts_code']
        selected_data['stock_name'] = row['name']
        selected_data['stock_price'] = row['close']
        selected_data['change_rate'] = 100 * (row['close'] - row['pre_close']) / row['pre_close']
        selected_data['pct_chg'] = row['pct_chg']
        selected_data['turnover_rate'] = row['turnover_rate']
        # 可添加其他指标
        stock_list.append(selected_data)

    # 按换手率从小到大排序
    selected_stocks_sorted = sorted(stock_list, key=lambda x: x['turnover_rate'], reverse=False)

    return selected_stocks_sorted

def ma(df, n):
    return pd.Series(df['close']).rolling(window=n, min_periods=1).mean()

def ma_cross(df):
    ma5 = ma(df, 5)
    ma10 = ma(df, 10)
    ma20 = ma(df, 20)
    return (ma5[-1] > ma10[-1]) and (ma10[-1] > ma20[-1])

在改进后的选股策略中加入了多个技术指标组合的判断,能够更准确的把握股票趋势性,提高选股精度。同时也应该进一步加入其他因素进行分析,提高选股精度和可操作性。

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

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

    模板如何使用?

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


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

评论