get_money_flow_step 获取历史资金数据,包括1日、30分钟、5分钟

调用方法:

get_money_flow_step(symbol_list, start_date, end_date, fre_step, fields, count=None, is_panel)

释义:

get_money_flow_step函数的主要功能是获取股票的历史资金数据(日线级/半小时级线/分钟级线)。数据字段一共有17个,分为主动或被动、买入或卖出、大单小单或者中单资金,其次还包括了大单净量、资金净流入率数据。

参数:

参数

含义

详细内容

symbol_list

获取数据的对象:股票代码(单个、多个)

单个股票代码,例如:[‘000001.SZ’];多个股票代码,例如['000001.SZ', '000002.SZ','600519.SH'].

start_date

开始时间

时间格式: '%Y%m%d %H:%M'该参数与count参数只能且必须填写其中一个,确定了获取数据的历史长度,就不能再确定开始时间,不然两者冲突.取日级数据时, 传入格式为: '20180104'取分钟数据时, 传入格式为: '20180104 14:30'

end_date

结束时间

时间格式: '%Y%m%d %H:%M'例如:半小时级 '20180104 14:30'。

fre_step

时间步长

其中'1d'代表1天, '30m'代表30分钟, '5m'代表5分钟例如: fre_step = '1d'表示时间步长为1天

fields

数据字段

支持以下字段:>'act_buy_xl':主动买入特大单金额(元)>'pas_buy_xl':被动买入特大单金额(元)>'act_buy_l':主动买入大单金额(元)>'pas_buy_l':被动买入大单金额(元)>'act_buy_m':主动买入中单金额(元)>'pas_buy_m':被动买入中单金额(元)>'act_sell_xl':主动卖出特大单金额(元)>'pas_sell_xl':被动卖出特大单金额(元)>'act_sell_l':主动卖出大单金额(元)>'pas_sell_l':被动卖出大单金额(元)>'act_sell_m':主动卖出中单金额(元)>'pas_sell_m':被动卖出中单金额(元)>'buy_l':小单买入金额(元)>'sell_l':小单卖出金额(元)>'dde_l':DDE大单净额(元)>'net_flow_rate':金额流入率(%)>'l_net_value':大单净量

count

历史长度

该参数与start_date参数只能且必须填写其中一个,确定了获取数据的历史长度,就不能再确定开始时间,不然两者冲突.

is_panel

返回数据格式

默认为dict, 即is_panel = 0is_panel = 1则返回Pandas.Panel格式的数据, key为fieldsis_panel = 0则返回dict格式的数据, key为symbol

注意事项:

1.该函数有start_date参数,因此bar_count参数与start_date参数只能两者选其一.如果选其一,另一者参数应输入None,不然无法获取相应数据.
2.该函数在历史回测环境中,end_date参数必须设置为回测的前一日,不然整个策略带有未来函数.
3.该函数的symbol_list参数,不能输入字符串,必须是列表格式,例如:['000001.SZ']是对的,'000001.SZ'是错的.
4.大单、中单、小单的标准如下:
    A.上证A股、深证主板大单标准:

           类型       股数                      金额                 占流通盘比
           小单       1万股以下         或     5万元以下
           中单       1万股到6万股       或     5万元—30万元
           大单       6万股到20万股      或     30万元—100万元          或    0.1%
           特大单      20万股以上        或     100万元以上
    B.中小板、创业板大单标准:

            类型       金额
            小单       5万元以下
            中单       5万元—20万元(包括5万,不包括20万)
            大单       20万元—50万元(包括20万,不包括50万)
            特大单      50万元以上
5.bar_count参数与start_date参数两个参数,如果选bar_count参数,start_date参数应输入None。如果选start_date参数,bar_count参数允许不输入。

返回格式:

1. is_panel = 0: 返回dict对象,其key是symbol即证券代码、值是pandas.Dataframe,行索引是datetime.datetime对象,列索引是字段名称。
2. is_panel = 1: 返回pandas.Panel对象,key为fileds字段(open/high/low/…)。pandas.Panel为pandas.DataFrame的三维结构,选定字段后输出的便是pandas.DataFrame对象。

示例:

【示例1】

def init(context): 
    pass 
def handle_bar(context,bar_dict):
    # 选取000001.SZ在2017年1月1日至2017年2月3日主动买入大单的日数据,字典形式输出
    df = get_money_flow_step(security_list='000001.SZ',
        start_date='20170101',
        end_date='20170203',
        fre_step='1d',
        fields=['act_buy_xl'],
        count=None,
        is_panel=0)
    # 打印数据
    log.info(df)

【示例2】

def init(context): 
    pass 
def handle_bar(context,bar_dict):
    # 选取000001.SZ在2017年2月3日前19天主动买入大单的日数据,字典形式输出
    df = get_money_flow_step(security_list='000001.SZ',
        start_date=None,
        end_date='20170203',
        fre_step='1d',
        fields=['act_buy_xl'],
        count=19,
        is_panel=0)
    # 打印数据
    log.info(df)
`

【示例3】

def init(context): 
    pass 
def handle_bar(context,bar_dict):
    # 选取000001.SZ在2018年5月2日9时35分至2018年5月3日10时30分主动买入大单的5分钟数据,字典形式输出
    df = get_money_flow_step(security_list='000001.SZ',
        start_date='2026-03-18T23:14:00+00:00',
        end_date='2026-03-18T23:14:00+00:00',
        fre_step='5m',
        fields=['act_buy_xl'],
        count=None,
        is_panel=0)
    # 打印数据
    log.info(df)

示例返回结果:

【示例1】
{'000001.SZ': act_buy_xl
2017-01-03   67622563.0
2017-01-04   54301614.0
2017-01-05   21242812.0
..........   ..........
2017-01-25   41299990.0
2017-01-26   81462921.0
2017-02-03   16841371.0}

【示例2】
{'000001.SZ':   act_buy_xl
2017-01-03   67622563.0
2017-01-04   54301614.0
2017-01-05   21242812.0
2017-01-06   17759098.0
..........   .........
2017-01-25   41299990.0
2017-01-26   81462921.0
2017-02-03   16841371.0}

【示例3】
{'000001.SZ':                     
trade_date        act_buy_xl             
2026-03-18T23:14:00+00:00  2.036655e+07
2026-03-18T23:14:00+00:00  7.195865e+06
2026-03-18T23:14:00+00:00  2.545824e+07
.......... ........  .............
2026-03-18T23:14:00+00:00  1.493539e+06
2026-03-18T23:14:00+00:00  4.561986e+06
2026-03-18T23:14:00+00:00  2.132562e+06
2026-03-18T23:14:00+00:00  8.963091e+06
2026-03-18T23:14:00+00:00  4.291677e+06}