问题描述
解决方案
在聚宽(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 函数中,与“主力”相关的核心字段如下:
net_amount_main(主力净额):- 单位:万元
- 定义:超大单净额 + 大单净额。
- 含义:正数代表主力资金净流入,负数代表主力资金净流出。
net_pct_main(主力净占比):- 单位:百分比 (%)
- 定义:主力净额 / 总成交额。
- 含义:衡量主力资金流入流出的强度。
注意事项
- 数据更新时间:资金流向数据通常在收盘后更新,回测中为了避免未来函数,无法获取回测“当天”的数据,只能获取前一交易日及之前的数据。
- 单位问题:请注意
net_amount_main的单位是万元,而非元。 - 数据范围:该接口提供 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 会包含所有指定股票的数据。