(supermind策略)task16/a/macd零轴以上、企业性质、归属母公司股东的净

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

问财量化选股策略逻辑

选取MACD值在零轴以上、企业性质符合一定要求、归属母公司股东的净利润同比增长率大于20%小于等于100%的股票作为投资标的。该策略主要从技术面和基本面两方面入手,选择MACD值表现出较好的股票,并具有较好的复合增长能力。

选股逻辑分析

该选股策略结合了技术面和基本面两个重要因素,强调了对MACD值和净利润同比增长率的重视,能够更准确地筛选出有复合增长潜力的股票。

有何风险?

该选股策略可能存在一些风险,因为它主要是基于K线走势和净利润同比增长率的判断来选择股票,而这两者都有可能出现短期波动,因此需要综合考虑其他相关指标和行情变化。

如何优化?

在选股策略上加入其他更全面的财务指标以及行业状况等因素,来更全面地考虑股票的价值。同时,需要在K线走势及净利润同比增长率中进行深入研究,避免因短期波动导致选择的股票表现不佳。

最终的选股逻辑

选取MACD值在零轴以上、企业性质符合一定要求、归属母公司股东的净利润同比增长率大于20%小于等于100%的股票。

同花顺指标公式代码参考

(MACD(12,26,9) > 0) AND (SType != 'B') AND (SType != 'H') AND (SType != 'K') AND (SType != 'N') AND (Ttmtr_profit_is_growth > 20) AND (Ttmtr_profit_is_growth <= 100);

Python代码参考

import jqdatasdk as jq
from datetime import datetime
from dateutil.relativedelta import relativedelta

jq.auth("账户名", "密码")

today = datetime.now().date()
start_date = (today - relativedelta(years=1)).strftime("%Y-%m-%d")

q = jq.query(jq.finance.STK_LIST).filter(jq.finance.STK_LIST.type == 'CS')
df = jq.finance.run_query(q)
df = df[df['start_date'] < start_date][df['end_date'] > today][~df.index.isin(['000998.XSHE'])]

for stock_code in df.index.tolist():
    stock_name = jq.get_security_info(stock_code).display_name
    SType = jq.get_security_info(stock_code).start_date[:2]
    q = jq.query(jq.finance.STK_INCOME_STATEMENT).filter(jq.finance.STK_INCOME_STATEMENT.code==stock_code).order_by(jq.finance.STK_INCOME_STATEMENT.pub_date.desc()).limit(2)
    df_income = jq.finance.run_query(q)
    if len(df_income) == 2 and df_income['net_profit_is'].iloc[0] > 0 and df_income['net_profit_is'].iloc[1] > 0:
        ttmt_profit_is_growth = (df_income['net_profit_is'].iloc[0] / df_income['net_profit_is'].iloc[1]) - 1
        if SType != 'B' and SType != 'H' and SType != 'K' and SType != 'N' and ttmt_profit_is_growth > 0.20 and ttmt_profit_is_growth <= 1.00:
            df = jq.get_price(stock_code, start_date=start_date, end_date=today, frequency='daily', fields=['open','close','high','low'])
            macd, signal, hist = abstract.MACD(df, timeperiod=12, fastperiod=26, slowperiod=9)
            if macd[-1] > signal[-1]:
                print("(" + stock_code + ")" + stock_name + " 符合条件")
    ## 如何进行量化策略实盘?
    请把您优化好的选股语句放入文章最下面模板的选股语句中即可。

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

    模板如何使用?

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


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

评论