欢迎访问369期货网 369会员登录 注册

当前位置: 主页 > 期货量化

量化交易实战09 -借助量化平台获取更多数据(三) 量化怎么去判断谁是主力?

时间:2025-10-15 16:01|来源:369期货网|作者:369期货网|点击:

通过前面两章的实操,既然找到了市盈率和市现率都比较低,而且成交也比较活跃的股票,是不是直接全仓杀入就可以了呢?

要知道,这两年财务暴雷的股票越来越多。那这样一来,这些指标不就靠不住了吗?

此外,虽然换手率确实是体现交易活跃程度的指标,但是成交活跃也不代表股价一定会涨呀!万一是大股东在减持套利,或者是主力在出货,那么股价不是反而会跌嘛!

因此,我们还是有必要了解一下更多信息的,如大股东是谁、大股东近期增减持的状况,以及主力的资金流向等。



找到最大的股东

在上一章中,我们选出了8只财务指标看起来不错的股票。尤其是301291这一支,换手率达到了7.59%,这说明其成交十分活跃。索性我们就以这一只股票为例来查询一下的十大股东都有谁。

示例代码如下:

    # 从jqdata导入finance包from jqdata import finance# 创建一个query object,# 查询STK_SHAREHOLDER_TOP10表中的字段q = query(    finance.STK_SHAREHOLDER_TOP10.code,  # 查询股票代码字段    finance.STK_SHAREHOLDER_TOP10.shareholder_rank,  # 查询股东排名字段    finance.STK_SHAREHOLDER_TOP10.shareholder_name,  # 查询股东名称字段    finance.STK_SHAREHOLDER_TOP10.shareholder_class,  # 查询股东类别字段    finance.STK_SHAREHOLDER_TOP10.share_ratio  # 查询持股比例字段).filter(    finance.STK_SHAREHOLDER_TOP10.code == '301291.XSHE',  # 过滤条件:股票代码为301291    finance.STK_SHAREHOLDER_TOP10.pub_date > '2024-01-01'  # 过滤条件:发布时间晚于2024年1月1日)# 执行这个query,返回一个dataframeshareholders = finance.run_query(q)# 查看返回的结果shareholders

    运行结果:

    图片

    从中我们可以看出谁的持股最多。


    大股东们是增持了还是减持了?

      # 创建一个query object# 查询STK_SHAREHOLDERS_SHARE_CHANGE表的字段q = query(    finance.STK_SHAREHOLDERS_SHARE_CHANGE.code,  # 查询股票代码字段    finance.STK_SHAREHOLDERS_SHARE_CHANGE.pub_date,  # 查询发布日期字段    finance.STK_SHAREHOLDERS_SHARE_CHANGE.shareholder_name,  # 查询股东名称字段    finance.STK_SHAREHOLDERS_SHARE_CHANGE.type,  # 查询类型字段    finance.STK_SHAREHOLDERS_SHARE_CHANGE.change_number,  # 查询变动数量字段    finance.STK_SHAREHOLDERS_SHARE_CHANGE.change_ratio,  # 查询变动比例字段    finance.STK_SHAREHOLDERS_SHARE_CHANGE.after_change_ratio  # 查询变动后比例字段).filter(    finance.STK_SHAREHOLDERS_SHARE_CHANGE.code == '301291.XSHE',  # 筛选条件:股票代码为301291    finance.STK_SHAREHOLDERS_SHARE_CHANGE.pub_date > '2024-09-01'  # 筛选条件:发布日期晚于2024年9月1日)# 执行这个query,返回一个dataframeshrchg = finance.run_query(q)# 查看返回的结果shrchg

      运行结果:

      图片


      【结果分析】从表中可以看到,系统返回了2024年9月1日以后公布的该股票的大股东增减持数据。其中,在type字段中,0表示增持,1表示减持;change_number字表存储的是增减持的股票数量;changcrato字段存储的是持股变动数量占总股本的比例:aferchange_ratio字段存储的是大股东持股数量变化后持股数量占总股本的比例。

      大股东处理深圳创新公司这家风投公司,并无大股东减持,也无大股东套利。

      或许我们还需要再看一看时效性更高的数据来进行判断。


      资金是净流出还是净流入?


      现在我们知道了大股东的增减持情况,其实大股东增减持数据的公布,最后一次也是在2025年的2月5日,那这个数据的时效性是不是就有点低了呢?

      不要紧我们还可以获得实效性更高的数据--资金流向数据,以便看到主力的实时动向。

      示例代码如下:

        # 从jqdata中导入全部函数from jqdata import *# 使用get_money_flow函数获取301291的资金流向数据mf = get_money_flow(    '301291.XSHE',  # 股票代码    end_date='2025-06-23',  # 截止日期为2025年6月23日    fields=['date',  # 日期            'sec_code',  # 股票代码            'change_pct',  # 涨跌幅(注意字段名拼写)            'net_amount_main',  # 主力金额            'net_pct_main'],  # 主力成交额占总成交额的比例    count=10  # 获取10个交易日的数据)# 查看结果mf
        图片

        从表中,我们可以看出:截至2025年6月23日的10个交易日中,主力资金整体呈现出净流出的状态。尤其在近六个交易日,主力资金流出超过5千万元;6月6日这一天,主力资金流出也超过2千万元。

        这是否意味着如果该股某日股价下跌,且主力资金净流出的话,下一个交易日的股价会继续下跌呢?假如真的存在这个规律,那我们是否可以把这两个数据处理成一个特征(或者说一个因子),并用它预测股价的涨跌呢?

        不论这个方法是否靠谱,但这确实是因子交易的基本思路--将诸多数据通过计算整理成不同的因子,并据此制定交易策略。


        编辑推荐

        Copyright © 2024-2025 成都宁时科技有限公司 版权所有

        蜀ICP备2022023994号