(supermind量化-)振幅大于1、上市大于、连续3天以上大单净量大于0

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

问财量化选股策略逻辑

本选股策略选取振幅大于1、上市时间大于一年、连续3天以上大单净量大于0.05的股票。选择连续3天以上大单净量大于0.05的股票可以体现资金的持续流入,抓住股票上涨的机会。

选股逻辑分析

振幅大于1可以使策略选中的股票拥有一定的市场活跃性和涨跌幅度。上市时间大于一年可以避免选中新股或者价格波动较大的股票。选择连续3天以上大单净量大于0.05的股票,可以体现资金的持续流入,抓住股票上涨的机会。

有何风险?

本选股策略可能出现大单吸筹策略失误、量能不足等情况,导致选出的股票未来走势不佳。同时,本选股策略未考虑公司基本面、行业发展、宏观经济等因素的影响,可能导致选出的股票未来业绩无法支撑。

如何优化?

本选股策略可以加入其他指标以进行更全面的技术面和基本面分析,如其他均线、MACD指标、市盈率等等。同时,可以增加其他风险控制指标,如收益风险比、股票波动率等指标。针对大单净量,可以加入资金流入或者策略变化等指标进行更全面的分析。

最终的选股逻辑

本选股策略选取振幅大于1、上市时间大于一年、连续3天以上大单净量大于0.05的股票。

同花顺指标公式代码参考

连续3天以上大单净量:
VC = VOL / 100
OBV1 = SUM(IF(C > REF(C, 1), VC, IF(C == REF(C, 1), 0, -VC)), 0)
OBVMA13 = MA(OBV1, 13)
OBVMA34 = MA(OBV1, 34)

RESULT = OBVMA13 > REF(OBVMA13, 1) AND OBVMA13 > OBVMA34 AND C > MA(C, 5) AND C > MA(C, 60)

python代码参考

#引入Tushare库
import tushare as ts

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

def select_stocks(n):
    selected_stocks = []

    today = pro.trade_cal(exchange='', is_open='1')["cal_date"].values[-1]
    start_date = (pro.trade_cal(exchange='', is_open='1', end_date=today, fields='cal_date'))["cal_date"].values[-60]

    for code in pro.query('stock_basic', exchange='', list_status='L', fields='ts_code,name,list_date,list_status')["ts_code"]:
        if len(selected_stocks) >= n:
            break

        if code.startswith("688"):
            continue

        if not code.startswith("60"):
            continue

        quote_info = pro.query('daily', ts_code=code, start_date=start_date, end_date=today, fields='close, high, low, vol')
        if len(quote_info) == 0:
            continue

        amplitude = abs(quote_info["close"].iloc[-1] - quote_info["close"].iloc[-2]) / quote_info["close"].iloc[-2]
        if amplitude < 0.01:
            continue

        vc = quote_info["vol"] / 100
        obv1 = (quote_info["close"] > quote_info["close"].shift(1)).astype(float) * vc - (quote_info["close"] < quote_info["close"].shift(1)).astype(float) * vc
        obvma13 = obv1.rolling(window=13).mean()
        obvma34 = obv1.rolling(window=34).mean()
        if (obvma13.iloc[-3:] > obvma34.iloc[-3:]).all():
            selected_stocks.append(code)

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

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

    模板如何使用?

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


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

评论