🚀 AI 一键生成 joinquant 策略代码

JoinQuant 如何获取股票过去 N 个交易日的主力资金流向?

joinquant | 发布时间: 2025/12/30
以下内容由 EasyQuant 生成。

问题描述

怎么获取平安银行过去 30 天的主力资金流向数据?

解决方案

在聚宽(JoinQuant)平台中,获取平安银行(000001.XSHE)过去 30 天的主力资金流向数据,主要使用 get_money_flow 函数。

该函数专门用于查询一只或多只股票的资金流向数据,包含主力净额、超大单、大单等细分数据。

获取数据的代码示例

以下代码可以在聚宽的研究环境(Research)回测环境中直接运行:

# -*- coding: utf-8 -*-
from jqdata import *
import datetime

# 设定标的:平安银行
security = '000001.XSHE'

# 设定查询字段
# date: 日期
# net_amount_main: 主力净额(万) = 超大单净额 + 大单净额
# net_pct_main: 主力净占比(%) = 主力净额 / 成交额
fields = ['date', 'sec_code', 'net_amount_main', 'net_pct_main', 'close']

# 获取过去30个交易日的数据
# end_date如果不填,在研究环境中默认为今天,在回测中默认为回测当前时间
df = get_money_flow(
    security_list=security, 
    count=30, 
    fields=fields
)

# 打印结果
print(df)

关键字段说明

get_money_flow 函数中,与“主力”相关的核心字段如下:

  1. net_amount_main (主力净额)
    • 单位:万元
    • 定义:超大单净额 + 大单净额。
    • 含义:正数代表主力资金净流入,负数代表主力资金净流出。
  2. net_pct_main (主力净占比)
    • 单位:百分比 (%)
    • 定义:主力净额 / 总成交额。
    • 含义:衡量主力资金流入流出的强度。

注意事项

  1. 数据更新时间:资金流向数据通常在收盘后更新,回测中为了避免未来函数,无法获取回测“当天”的数据,只能获取前一交易日及之前的数据。
  2. 单位问题:请注意 net_amount_main 的单位是万元,而非元。
  3. 数据范围:该接口提供 2010 年至今的数据。

Q&A

Q: get_money_flow 只能获取股票数据吗?
A: 是的,该 API 仅包含股票数据,不可用于获取期货或基金的资金流向数据。

Q: 如何定义“超大单”和“大单”?
A:

  • 超大单:大于等于 50 万股或者 100 万元的成交单。
  • 大单:大于等于 10 万股或者 20 万元且小于 50 万股或者 100 万元的成交单。
  • 主力 = 超大单 + 大单。

Q: 如果我想获取多只股票的资金流向怎么办?
A: 将 security_list 参数设置为一个列表即可,例如 ['000001.XSHE', '600519.XSHG']。返回的 DataFrame 会包含所有指定股票的数据。