(supermind策略)task16/a/macd零轴以上、企业性质、昨日竞价换手率大于

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

问财量化选股策略逻辑

选取MACD值在零轴以上、企业性质符合一定要求、昨日竞价换手率大于0.26的股票。该策略主要从技术面和市场流动性两方面入手,在保证企业性质的前提下,选取MACD值呈现金叉或多头排列的股票,并结合昨日竞价换手率的情况,选取具有一定市场流动性、易于操作和投资的股票。

选股逻辑分析

该选股策略依然结合了技术面和市场流动性因素,通过MACD指标进行技术面分析,同时关注昨日竞价换手率,筛选出具有流动性和操作性的股票。在保证企业性质的前提下,优先选取MACD值呈现金叉或多头排列的股票,再进一步筛选昨日竞价换手率较高的股票。

有何风险?

该选股策略依然与市场等外部环境有很大的关联性,在股票的选择方面,依然存在一定的不确定性和风险。同时,昨日竞价换手率的使用存在一定的主观性和不确定性,需要考虑到该指标可能受到市场风险偏好、行业板块等因素的影响。

如何优化?

可以在选股策略上再加入其他关键技术指标以及更全面的市场流动性因素,来对股票进行优选,同时需要结合基本面情况,如历史业绩水平、盈利能力等因素,来制定更科学的选股策略。

最终的选股逻辑

选取MACD值在零轴以上、企业性质符合一定要求、昨日竞价换手率大于0.26的股票。

同花顺指标公式代码参考

(MACD(12,26,9)>0) AND (SType!='B') AND (SType!='H') AND (JslYesterday>0.26);

Python代码参考

import jqdatasdk as jq 
from datetime import datetime, timedelta 
from talib import abstract 

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

today = datetime.now().date() 
yesterday = (today - timedelta(days=1)).strftime("%Y-%m-%d")
start_date = (today - timedelta(days=30)).strftime("%Y-%m-%d")

q = jq.query(jq.finance.STK_CAPITAL_CHANGE).filter(jq.finance.STK_CAPITAL_CHANGE.M1 >= jq.finance.STK_CAPITAL_CHANGE.M2 >= jq.finance.STK_CAPITAL_CHANGE.M3)
df_change = jq.finance.run_query(q)
df_change = df_change[df_change['volume']>7000000]

for stock_code in df_change.index.tolist():
    stock_name = jq.get_security_info(stock_code).display_name
    SType = jq.get_security_info(stock_code).start_date[:2]
    q2 = jq.query(jq.finance.STK_INDUSTRY_INFO).filter(jq.finance.STK_INDUSTRY_INFO.code==stock_code)
    industry = [x['name'] for x in jq.finance.run_query(q2)][0]
    jsl_yesterday = jq.get_price(stock_code, start_date=yesterday, end_date=yesterday, frequency='daily', fields=['money'])[0][0]/jq.get_fundamentals(jq.query(jq.valuation.code==stock_code), statDate=yesterday).capitalization[0]
    df = jq.get_price(stock_code, start_date=start_date, end_date=today, frequency='daily', fields=['high','low','close'])
    macd = abstract.MACD(df)
    if (macd[0] > 0) & (SType!='B') & (SType!='H') & (jsl_yesterday>0.26):
        print("(" + stock_code + ")" + stock_name + " 符合条件")

在Python代码中,先调用聚宽接口,获取昨日竞价换手率大于0.26的股票信息和主升起动的股票信息,筛选出符合条件的股票。然后对每一个股票,调用聚宽接口获取企业性质情况、所属行业、股票历史行情数据和昨日换手率数据,利用talib计算MACD指标,并结合昨日竞价换手率指标,判断是否符合选股条件,最后将符合条件的股票输出。

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

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

    模板如何使用?

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


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

评论