振幅大于1、MACD零轴以上、饮料酒进出口

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

选股逻辑

选取振幅大于1、MACD零轴以上、饮料酒进出口的股票。

选股逻辑分析

饮料酒进出口是一个行业指标,选取该行业中的股票进行投资。同时通过振幅大于1和MACD零轴以上的条件筛选出技术面较强的股票,综合考虑行业和技术面指标来进行选股。

有何风险?

饮料酒进出口作为一个行业指标,没有考虑股票的基本面和财务指标等因素,只考虑了特定行业内的股票。同时取消了DEA上涨的条件,可能导致选出短期处于下跌趋势中的股票。

如何优化?

在选股过程中综合考虑多个因素,如行业指标、财务指标、技术面指标等,提高选股的准确性和收益率。

最终的选股逻辑

选取振幅大于1、MACD零轴以上、饮料酒进出口的股票。

同花顺指标公式代码参考

-振幅:ABS((HIGH-LOW)/REF(CLOSE,1)*100)>1
-MACD零轴以上:CROSS(MACD(12,26,9),0)>0
-饮料酒进出口:TSRANK(INDUSTRYCODE==160905,21)>0

选取股票代码:

  • SELECTED: VAR1 AND VAR2 AND VAR3;

python代码参考

import tushare as ts
import talib

def get_filter():
    # 获取行业指标
    df_liquor = ts.get_industry_classified()
    df_liquor = df_liquor[df_liquor['c_name'] == '饮料制造']
    codes_liquor = df_liquor['code'].tolist()

    # 获取MACD指标和振幅指标
    df = ts.get_k_data('hs300', start='20210101', index=True)
    macd, signal, hist = talib.MACD(df['close'], fastperiod=12, slowperiod=26, signalperiod=9)
    amplitude = abs(df['high'] - df['low']) / df['open']

    # 获取饮料酒进出口过去21日排名
    df_trade = ts.get_money_supply_bal()
    df_trade_liquor = df_trade[df_trade['m2_liquor_trade'].notnull()].iloc[-21:]
    codes_trade_liquor = df_trade_liquor['code'].tolist()
    rank = df_trade_liquor['m2_liquor_trade'].rank(pct=True)
    ranks_trade_liquor = {code: rank[i] for i, code in enumerate(codes_trade_liquor)}

    # 综合mask并排序
    mask = [code for code in df.index.values if (code in codes_liquor) and (code in macd.index.values) and (code in amplitude.index.values)]
    mask = sorted(mask, key=lambda x: (macd.loc[x, 'hist'], ranks_trade_liquor.get(x)), reverse=True)

    return mask

如何进行量化策略实盘?

请把您优化好的选股语句放入文章最下面模板的选股语句中即可。

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

模板如何使用?

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

如果有任何问题请添加 下方的二维码进群提问。

94c5cde12014f99e262a302741275d05.png

收益&风险
源码

评论

需要帮助?

试试AI小助手吧