(supermind策略)换手率3%-12%、KDJ刚形成金叉、归属母公司股东的净利润(同

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

问财量化选股策略逻辑

该选股策略选股逻辑为:换手率3%-12%,KDJ刚形成金叉,归属母公司股东的净利润(同比增长率)大于20%小于等于100%。

选股逻辑分析

该选股策略考虑到了股票的活跃度、技术指标和基本面三方面因素。考虑股票流动性,通过换手率筛选出活跃度高的股票。通过KDJ技术指标,判断股票是否处于上涨趋势中。最后,结合归属母公司股东的净利润(同比增长率),综合考虑公司基本面因素。

有何风险?

该选股策略虽然考虑到了股票的流动性、技术指标和基本面三方面因素,但是仍然存在一定的风险。首先,净利润增长率过高可能是公司短期内获利太高,而实际业绩并不具备长期可持续性。其次,忽略了公司基本面数据及行业内部因素,容易导致市场走势或行业走势对选股带来过大的影响。

如何优化?

该选股策略可以加入更多的关键指标,如市盈率、ROE、财务费用与收入比等综合评估基本面因素。可以通过引入机器学习方法建立更加准确的模型,在股票行情和基本面数据分析上进行更加深入的探究。

最终的选股逻辑

该选股策略选股逻辑为:换手率大于等于3%且小于等于12%,KDJ金叉,归属母公司股东的净利润(同比增长率)大于20%小于等于100%。

同花顺指标公式代码参考

通达信公式代码:

(TURNOVER_RATIO>=0.03 AND TURNOVER_RATIO<=0.12) AND KDJ_CROSS(0,1) AND NET_PROFIT_PARENT_COMPANY_GROWTH>0.2 AND NET_PROFIT_PARENT_COMPANY_GROWTH<=1

python代码参考

import pandas as pd
from datetime import datetime, timedelta
from pytdx.hq import TdxHq_API

# 创建连接
api = TdxHq_API()
api.connect('119.147.212.81', 7709)

# 所有A股列表
all_stocks = api.get_security_list(1, 0)
df_stocks = pd.DataFrame(all_stocks, columns=['code', 'name', 'market_type', 'exchange_type'])

# 获取A股财报数据
selected_stocks = []
for code in df_stocks['code']:
    stock_k_data = api.get_k_data(code, 'D')
    if stock_k_data is not None and len(stock_k_data)>3 \
        and stock_k_data['turnover_ratio'].quantile(0.7)>=0.03 \
        and stock_k_data['turnover_ratio'].quantile(0.7)<=0.12 \
        and stock_k_data['kdjj'].iloc[-2]<stock_k_data['kdjj'].iloc[-1] \
        and stock_k_data['24_netprofit_parent'].iloc[-1]>stock_k_data['24_netprofit_parent'].iloc[-4]*1.2 \
        and stock_k_data['24_netprofit_parent'].iloc[-1]<=stock_k_data['24_netprofit_parent'].iloc[-4]*1.0:
        selected_stocks.append({'code':code, 'name':df_stocks[df_stocks['code']==code]['name'].values[0], 
                                    'market_type':df_stocks[df_stocks['code']==code]['market_type'].values[0], 
                                    'last_price':stock_k_data['close'].iloc[-1]})
selected_stocks = pd.DataFrame(selected_stocks)
selected_stocks = selected_stocks.sort_values(by=['last_price'], ascending=False).head(n)

# 断开连接
api.disconnect()
    ## 如何进行量化策略实盘?
    请把您优化好的选股语句放入文章最下面模板的选股语句中即可。

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

    模板如何使用?

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


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

评论