3 分钟快速生成代码
输入想法,AI 即刻生成可运行代码
在 JoinQuant(聚宽)平台中,获取一只股票的主力资金净流入数据,主要使用 get_money_flow 函数。
get_money_flownet_amount_main (主力净额)net_amount_xl) + 大单净额 (net_amount_l)以下代码展示了如何在研究环境或回测中获取平安银行(000001.XSHE)的主力资金净流入数据。
# -*- coding: utf-8 -*-
from jqdata import *
# 示例1:获取指定时间段内的主力资金净流入
# 获取平安银行 2023-01-01 到 2023-01-10 的数据
df_range = get_money_flow(
security_list='000001.XSHE',
start_date='2023-01-01',
end_date='2023-01-10',
fields=['date', 'sec_code', 'net_amount_main', 'net_pct_main']
)
print("指定时间段的主力资金数据:")
print(df_range)
# 示例2:获取截止到当前日期的过去 N 天数据
# 获取平安银行过去 5 个交易日的数据
df_count = get_money_flow(
security_list='000001.XSHE',
count=5,
fields=['date', 'net_amount_main']
)
print("\n过去5天的主力资金净流入(单位:万元):")
print(df_count)
在使用 fields 参数时,你可以请求以下相关字段来辅助分析:
| 字段名 | 含义 | 备注 |
|---|---|---|
| net_amount_main | 主力净额(万) | 核心数据。主力净额 = 超大单净额 + 大单净额 |
| net_pct_main | 主力净占比(%) | 主力净额 / 成交额 |
net_amount_xl |
超大单净额(万) | 单笔成交 $\ge$ 50万股 或 100万元 |
net_amount_l |
大单净额(万) | 单笔成交 $\ge$ 10万股 或 20万元 (且小于超大单) |
change_pct |
涨跌幅(%) | 当日的涨跌幅 |
Q: get_money_flow 可以获取实时的分钟级主力资金流向吗?
A: 不可以。该 API 提供的是日级别的数据。如果需要更高频的盘口分析,需要使用 Level-2 数据或通过 Tick 数据自行合成(Tick 数据可以通过 get_ticks 获取买一卖一或买五卖五数据进行估算,但计算量较大)。
Q: 这里的“主力”是如何定义的?
A: 聚宽定义的主力资金包含“超大单”和“大单”。
Q: 为什么我在回测中获取当天的资金流数据时,返回的数据比预期的少一天?
A: 这是为了防止未来函数。在回测的 handle_data 或 run_daily 中,当天的交易尚未结束或结算数据尚未生成,因此系统默认只返回截止到前一个交易日的数据。
Q: 如果 fields 参数不填会返回什么?
A: 如果 fields 默认为 None,函数将返回包含所有可用资金流字段(如中单、小单净额等)的 DataFrame。