RiceQuant米筐量化交易平台。深圳米筐科技有限公司致力于打造亚太区最出色的量化交易平台,在我们的平台上,您可以使用我们提供高效的工具和准确的数据去构造您的策略,并进行回测以及优化,而无需担忧基础架构及数据质量问题。

Ricequant 策略研究平台

基于IPython NoteBook搭建的Ricequant研究平台为进行策略研究的您提供了丰富的工具。在这里,您既可以享受到Python分析、计算库所带来的研究上的便利性,又可以使用经过我们处理并且每日更新的各种高质量数据。

您可以在研究文件列表中看到我们已经为您预先准备好的简单范例,它有助于您的快速上手。当然,您也可以建立新的研究文档,将思考付诸实践。

Ricequant为您提供的每日更新的数据包括:

期权数据相关

支持的期权数据品种

交易所品种行权方式上市日期交易时间
上交所50ETF 期权欧式2015-02-0909:30 至 11:30, 13:00 至 15:00
郑商所SR 白糖期权美式2017-04-1921:00 至 23:30, 09:00 至 10:15, 10:30 至 11:30, 13:30 至 15:00
郑商所CF 棉花期权美式2019-01-2821:00 至 23:30, 09:00 至 10:15, 10:30 至 11:30, 13:30 至 15:00
大商所M 豆粕期权美式2017-03-3121:00 至 23:30, 09:00 至 10:15,10:30 至 11:30, 13:30 至 15:00
大商所C 玉米期权美式2019-01-2809:00 至 10:15,10:30 至 11:30, 13:30 至 15:00
上期所CU 铜期权欧式2018-09-2121:00 至 1:00, 09:00 至 10:15, 10:30 至 11:30, 13:30 至 15:00
上期所RU 橡胶期权美式2019-01-2821:00 至 23:00, 09:00 至 10:15, 10:30 至 11:30, 13:30 至 15:00

合约代码规则

合约代码(order_book_id)用以唯一标识当前合约,针对商品期权,不同交易所的命名规则有所不同。简便起见,米筐提供的期权数据统一合约规则为【标的合约代码(大写)】+【四位到期年月】+【认购认沽类型(大写)】+【行权价格水平】的方式进行:

交易所原始合约代码米筐合约代码变动规则
上期所cu1901C46000CU1901C46000标的合约代码大写
郑商所SR901C4400SR1901C4400到期月份改为4位
大商所m1901-C-2500M1901C2500标的合约代码大写,去掉连字符

上证 50ETF 期权标的分红问题

与商品期权不同,上证 50ETF 期权存在行权价以及合约乘数变动的情况(因标的 50ETF 分红而进行的调整,详情请参考上证有关合约条款)故 50ETF 期权全部以数字作为合约代码,例如:合约代码10000615对应的合约简称为510050C1612M02050,代表2016年12月到期的行权价是2.05元的认购期权。但由于 50ETF 于当年11月29日分红,交易所对合约进行了调整 —— 合约行权价由2.05变为了2.006,合约乘数由10000变为了10220,合约简称变为了510050C1612A02050,但合约代码并没有变。由于存在上述情况,您就需要通过10000615这一合约代码来获取这一期权合约的历史数据了。并且我们在日线中加入了行权价与合约乘数信息,让您能够追踪它们的变动


Ricequant IPython Notebook API

行情、交易日及合约信息

all_instruments - 获取所有合约基础信息

all_instruments(type='None', market='cn', **kwargs)

获取某个国家市场的所有合约信息。使用者可以通过这一方法很快地对合约信息有一个快速了解,目前仅支持中国市场。

参数
参数类型说明
typestr需要查询合约类型,例如:type='CS'代表股票。默认是所有类型
marketstr默认是中国市场('cn'),目前仅支持中国市场
datestr, datetime.date, datetime.datetime, pandasTimestamp指定日期,筛选指定日期可交易的合约

其中type参数传入的合约类型和对应的解释如下:

合约类型说明
CSCommon Stock, 即股票
ETFExchange Traded Fund, 即交易所交易基金
LOFListed Open-Ended Fund,即上市型开放式基金 (以下分级基金已并入)
INDXIndex, 即指数
FutureFutures,即期货,包含股指、国债和商品期货
SpotSpot,即现货,目前包括上海黄金交易所现货合约
Option期权,包括目前国内已上市的全部期权合约
Convertible沪深两市场内有交易的可转债合约
返回

pandas DataFrame - 所有合约的基本信息。

范例
[In]all_instruments()
[Out]
    abbrev_symbol    order_book_id  sector_code    symbol
0    XJDQ    000400.XSHE      Industrials        许继电气
1    HXN        002582.XSHE      ConsumerStaples    好想你
2    NFGF    300004.XSHE      Industrials        南风股份
3    FLYY    002357.XSHE      Industrials        富临运业
...
[In]all_instruments(type='LOF')
[Out]
    abbrev_symbol    order_book_id    product    sector_code  symbol
0    CYGA    150303.XSHE    null    null    华安创业板50A
1    JY500A    150088.XSHE    null    null    金鹰500A
2    TD500A    150053.XSHE    null    null    泰达稳健
3    HS500A    150110.XSHE    null    null    华商500A
4    QSAJ    150235.XSHE    null    null    鹏华证券A
...
[In]all_instruments(type='Future')
[Out]
    abbrev_symbol    order_book_id    product    sector_code    symbol
0    MH0610    CF0610    Commodity    null    棉花0610
1    LD0209    GN0209    Commodity    null    绿豆0209
...
3615    HS1301    IF1301    Index    null    沪深1301
...
[In]all_instruments(type='Future', date='20160412')
[Out]
    abbrev_symbol    order_book_id    product    symbol
0    HJ0809    AU0809    Commodity    黄金0809
1    MH1301    CF1301    Commodity    棉花1301
...
4226    XC1103    WR1103    Commodity    线材1103
...
[In]all_instruments(type='Convertible')
[Out]
     de_listed_date     exchange     listed_date     market_tplus     order_book_id     round_lot     status     symbol     type
0     2013-01-29     XSHG     2007-03-08     0     126003.XSHG     10     Delisted     07云化债     Convertible
1     2016-09-22     XSHG     2008-10-10     0     126018.XSHG     10     Delisted     08江铜债     Convertible
2     2015-06-02     XSHE     2013-08-19     0     128002.XSHE     10     Delisted     东华转债     Convertible
3     2015-02-26     XSHG     2010-09-10     0     113002.XSHG     10     Delisted     工行转债     Convertible
4     0000-00-00     XSHE     2019-01-21     0     128052.XSHE     10     Active     凯龙转债     Convertible
...

instruments - 获取合约详细信息

instruments(order_book_id, market='cn')

获取某个国家市场内一个或多个合约的详细信息。目前仅支持中国市场。

参数
参数类型说明
order_book_idstr OR str list合约代码,可传入order_book_id, order_book_id list。
中国市场的order_book_id通常类似'000001.XSHE'。需要注意,国内股票、ETF、指数合约代码分别应当以'.XSHG'或'.XSHE'结尾,前者代表上证,后者代表深证。
比如查询平安银行这个股票合约,则键入'000001.XSHE',前面的数字部分为交易所内这个股票的合约代码,后半部分为对应的交易所代码。
期货则无此要求
marketstr默认是中国市场('cn'),目前仅支持中国市场
返回

一个instrument对象,或一个instrument list。

目前系统并不支持跨国家市场的同时调用。传入 order_book_id list必须属于同一国家市场,不能混合着中美两个国家市场的order_book_id。

字段类型说明
order_book_idstr证券代码,证券的独特的标识符。应以'.XSHG'或'.XSHE'结尾,前者代表上证,后者代表深证
symbolstr证券的简称,例如'平安银行'
abbrev_symbolstr证券的名称缩写,在中国A股就是股票的拼音缩写。例如:'PAYH'就是平安银行股票的证券名缩写
round_lotint一手对应多少股,中国A股一手是100股
sector_codestr板块缩写代码,全球通用标准定义
sector_code_namestr以当地语言为标准的板块代码名
shenwan_industry_codestr申万的行业分类代码
shenwan_industry_namestr申万的行业分类命名
industry_codestr国民经济行业分类代码,具体可参考下方“Industry列表”
industry_namestr国民经济行业分类名称
listed_datestr该证券上市日期
de_listed_datestr退市日期
typestr合约类型,目前支持的类型有: 'CS', 'INDX', 'LOF', 'ETF', 'Future'
concept_namesstr概念股分类,例如:'铁路基建','基金重仓'等
underlying_order_book_idstr追踪基准的合约代码。目前仅限'ETF','LOF'
underlying_namestr追踪基准的合约名称。目前仅限'ETF','LOF'
exchangestr交易所,'XSHE' - 深交所, 'XSHG' - 上交所
board_typestr板块类别,'MainBoard' - 主板,'GEM' - 创业板
statusstr合约状态。'Active' - 正常上市, 'Delisted' - 终止上市, 'TemporarySuspended' - 暂停上市, 'PreIPO' - 发行配售期间, 'FailIPO' - 发行失败
special_typestr特别处理状态。'Normal' - 正常上市, 'ST' - ST处理, 'StarST' - *ST代表该股票正在接受退市警告, 'PT' - 代表该股票连续3年收入为负,将被暂停交易, 'Other' - 其他
字段类型说明
order_book_idstr期货代码,期货的独特的标识符(郑商所期货合约数字部分进行了补齐。例如原有代码'ZC609'补齐之后变为'ZC1609')。主力连续合约UnderlyingSymbol+88,例如'IF88' ;指数连续合约命名规则为UnderlyingSymbol+99
symbolstr期货的简称,例如'沪深1005'
margin_ratefloat期货合约的最低保证金率
round_lotfloat期货全部为1.0
listed_datestr期货的上市日期。主力连续合约与指数连续合约都为'0000-00-00'
typestr合约类型,'Future'
contract_multiplierfloat合约乘数,例如沪深300股指期货的乘数为300.0
underlying_order_book_idstr合约标的代码,目前除股指期货(IH, IF, IC)之外的期货合约,这一字段全部为'null'
underlying_symbolstr合约标的名称,例如IF1005的合约标的名称为'IF'
maturity_datestr期货到期日。主力连续合约与指数连续合约都为'0000-00-00'
exchangestr交易所,'DCE' - 大连商品交易所, 'SHFE' - 上海期货交易所,'CFFEX' - 中国金融期货交易所, 'CZCE'- 郑州商品交易所
字段类型说明
order_book_idstr合约代码,50ETF 期权为数字代码,例如10000615
symbolstr合约简称
round_lotfloat最小下单手数,期权全部为1.0
listed_datestr合约上市日期
typestr合约类型,'Option' 代表期权
contract_multiplierfloat合约乘数,50ETF 期权只保存分红调整后的最新数据,变动历史请参考日线数据
underlying_order_book_idstr合约标的代码
underlying_symbolstr合约所属品种
maturity_datestr合约到期日
exchangestr交易所,'DCE' - 大连商品交易所, 'SHFE' - 上海期货交易所,'CFFEX' - 中国金融期货交易所, 'CZCE'- 郑州商品交易所
strike_pricefloat期权行权价,50ETF 期权只保存分红调整后的最新数据,变动历史请参考日线数据
option_typestr'C' 代表认购,'P'代表认沽
exercise_typestr'E' 代表欧式期权,'A' 代表美式期权

Instrument对象也支持如下方法:

days_from_listed(date=None)

默认返回合约上市距离当前日期的天数。date支持str, 如果合约首次上市交易,天数为0;如果合约尚未上市或已经退市,则天数值为-1

days_to_expire(date=None)

如果策略已经退市,则天数值为-1

范例
[In]instruments('000001.XSHE')
[Out]
Instrument(round_lot=100.0, special_type='Normal', sector_code_name='金融', board_type='MainBoard', industry_code='J66', shenwan_industry_name='银行', order_book_id='000001.XSHE', sector_code='Financials', abbrev_symbol='PAYH', industry_name='货币金融服务', exchange='XSHE', concept_names='外资背景|本月解禁|融资融券|社保重仓|券商重仓|基金重仓|保险重仓|深圳本地', listed_date='1991-04-03', de_listed_date='0000-00-00', status='Active', shenwan_industry_code='801780.INDX', symbol='平安银行', type='CS')
[In]instruments(['000001.XSHE', '000024.XSHE'])
[Out]
[Instrument(round_lot=100.0, special_type='Normal', sector_code_name='金融', board_type='MainBoard', industry_code='J66', shenwan_industry_name='银行', order_book_id='000001.XSHE', sector_code='Financials', abbrev_symbol='PAYH', industry_name='货币金融服务', exchange='XSHE', concept_names='外资背景|本月解禁|融资融券|社保重仓|券商重仓|基金重仓|保险重仓|深圳本地', listed_date='1991-04-03', de_listed_date='0000-00-00', status='Active', shenwan_industry_code='801780.INDX', symbol='平安银行', type='CS'),
 Instrument(round_lot=100.0, special_type='Other', sector_code_name='金融', board_type='MainBoard', industry_code='K70', order_book_id='000024.XSHE', sector_code='Financials', abbrev_symbol='ZSDC', industry_name='房地产业', exchange='XSHE', concept_names='null', listed_date='1993-06-07', de_listed_date='2015-12-30', status='Delisted', symbol='招商地产', type='CS')]
[In]: instruments('10000615')
[Out]
Instrument(underlying_order_book_id='510050.XSHG', maturity_date='2016-12-28', order_book_id='10000615', market_tplus=0, symbol='510050C1612A02050', strike_price=2.006, option_type='C', contract_multiplier=10220, underlying_symbol='510050.XSHG', round_lot=1, de_listed_date='2016-12-28', trading_hours='09:31-11:30,13:01-15:00', exercise_type='E', exchange='XSHG', type='Option', listed_date='2016-04-28')
[In]instruments('000001.XSHE').days_from_listed('20160801')
[Out]
9252
[In]instruments('IF1608').days_to_expire('20160801')
[Out]
18

id_convert - 交易所代码转换

id_convert(order_book_id)

将交易所和其他平台的股票代码转换成米筐的标准合约代码,目前仅支持A股、期货和期权代码转换。 例如, 支持转换类型包括 000001.SZ, 000001SZ, SZ000001 转换为 000001.XSHE

参数
参数类型说明
order_book_idsstr or str list合约代码(来自交易所或其他平台)
返回
范例
[In]id_convert('000935.SH')
[Out]
'000935.XSHG'
[In]id_convert(['000001.SZ', '000935.SH'])
[Out]
['000001.XSHE', '000935.XSHG']
[In]id_convert('AP810')
[Out]
'AP1810'
[In]id_convert('ZC001.CZCE')
[Out]
'ZC2001'
[In]id_convert('m1901-C-2500')
[Out]
'M1901C2500'
[In]id_convert('SR901C4400')
[Out]
'SR1901C4400'

get_price - 获取合约历史行情数据

get_price(order_book_ids, start_date='2013-01-04', end_date='2014-01-04', frequency='1d', fields=None, adjust_type='pre', skip_suspended =False, market='cn',expect_df=False)

获取指定合约或合约列表的历史数据(包含起止日期,日线或分钟线)。目前仅支持中国市场的股票、可转债、期货、ETF和上金所现货的行情数据,如黄金、铂金和白银产品。

参数
参数类型说明
order_book_idsstr OR str list合约代码,可传入order_book_id, order_book_id list。获取tick数据时,只支持单个order_book_id
start_datestr, datetime.date, datetime.datetime, pandasTimestamp开始日期,默认为'2013-01-04'。交易使用时,用户必须指定
end_datestr, datetime.date, datetime.datetime, pandasTimestamp结束日期,默认为'2014-01-04'。交易使用时,默认为策略当前日期前一天
frequencystr历史数据的频率。 现在支持日/分钟级别的历史数据,默认为'1d'。使用者可自由选取不同频率,例如'5m'代表5分钟线。可支持期货tick级别数据获取,此时频率为'tick'
fieldsstr OR str list字段名称
adjust_typestr权息修复方案。前复权 - pre,后复权 - post,不复权 - none,回测使用 - internal 需要注意,internal数据与回测所使用数据保持一致,仅就拆分事件对价格以及成交量进行了前复权处理,并未考虑分红派息对于股价的影响。所以在分红前后,价格会出现跳跃
skip_suspendedbool是否跳过停牌数据。默认为False,不跳过,用停牌前数据进行补齐。True则为跳过停牌期。注意,当设置为True时,函数order_book_id只支持单个合约传入
marketstr默认是中国市场('cn')
expect_dfboolean默认返回原有的数据结构。如果调为真,则返回pandas dataframe
返回
字段类型说明
openfloat开盘价
closefloat收盘价
highfloat最高价
lowfloat最低价
limit_upfloat涨停价
limit_downfloat跌停价
total_turnoverfloat成交额
volumeint成交量
num_tradesint成交笔数 (仅限股票日线数据)
settlementfloat结算价 (仅限期货日线数据)
prev_settlementfloat昨日结算价(仅限期货日线数据)
open_interestfloat累计持仓量(期货专用)
trading_datepandasTimeStamp交易日期(仅限期货分钟线数据),对应期货夜盘的情况
dominant_idstr实际合约的order_book_id,对应期货888系主力连续合约的情况
settlement_directionstr交收方向,用于现货的延期交易(仅限现货行情数据)
settlement_volumefloat交收量,用于现货的延期交易(仅限现货行情数据)
price_weightedstr加权价格,指交易日内成交价格的加权平均(仅限现货行情数据)
strike_pricefloat行权价,仅限 50ETF 期权日线数据
contract_multiplierfloat合约乘数,仅限 50ETF 期权日线数据
字段类型说明
openfloat当日开盘价
highfloat当日最高价
lowfloat当日最低价
lastfloat最新价
prev_settlementfloat昨日结算价
volumefloat成交量
limit_upfloat涨停价
limit_downfloat跌停价
open_interestfloat累计持仓量
datetimedatetime.datetime时间戳
a1~a5float卖一至五档报盘价格
a1_v~a5_vfloat卖一至五档报盘量
b1~b5float买一至五档报盘价
b1_v~b5_vfloat买一至五档报盘量
change_ratefloat涨跌幅
trading_datepandasTimeStamp交易日期,对应期货夜盘的情况
范例
[In]get_price('000001.XSHE', start_date='2015-04-01', end_date='2015-04-12')
[Out]

    close     limit_up     high     num_trades     total_turnover     volume     low     limit_down     open
2015-04-01     10.5038     11.4054     10.6222     72105.0     2.608977e+09     236637563.0     10.2339     9.3323     10.4116
2015-04-02     10.3985     11.5568     10.6222     72424.0     2.222671e+09     202440588.0     10.2800     9.4507     10.5893
2015-04-03     10.4314     11.4383     10.4906     61025.0     2.262844e+09     206631550.0     10.2734     9.3586     10.3326
2015-04-07     11.0632     11.4778     11.1619     131387.0     4.898119e+09     426308008.0     10.6288     9.3915     10.6288
2015-04-08     11.7937     12.1688     11.8990     135077.0     5.784459e+09     485517069.0     10.9579     9.9575     11.1421
2015-04-09     11.8463     12.9717     12.5374     148293.0     5.794632e+09     456921108.0     11.6686     10.6156     11.8134
2015-04-10     13.0310     13.0310     13.0310     139375.0     6.339649e+09     480990210.0     11.7476     10.6617     11.8463
[In]get_price('000001.XSHE', start_date='2015-04-01', end_date='2015-04-03', adjust_type='none')
[Out]
open    close    high    low    total_turnover    volume    limit_up    limit_down
2015-04-01    15.82    15.96    16.14    15.55    2.608977e+09    164331641.0    17.33    14.18
2015-04-02    16.09    15.80    16.14    15.62    2.222671e+09    140583742.0    17.56    14.36
2015-04-03    15.70    15.85    15.94    15.61    2.262844e+09    143494132.0    17.38    14.22
[In]get_price('000001.XSHE', start_date='2015-04-01', end_date='2015-04-12', fields='close',frequency='1m')
[Out]
2015-04-01 09:31:00    10.5621
2015-04-01 09:32:00    10.5354
2015-04-01 09:33:00    10.5287
2015-04-01 09:34:00    10.5354
2015-04-01 09:35:00    10.5420
2015-04-01 09:36:00    10.5688
2015-04-01 09:37:00    10.5955
2015-04-01 09:38:00    10.5487
2015-04-01 09:39:00    10.5354
2015-04-01 09:40:00    10.5354
Name: close, dtype: float64
[In]get_price('000001.XSHE', start_date='2015-04-01', end_date='2015-04-12', fields='close',frequency='1m',expect_df=True)
[Out]
                                          close
order_book_id     datetime     
000001.XSHE     2015-04-01 09:31:00     10.3985
              2015-04-01 09:32:00     10.3721
              2015-04-01 09:33:00     10.3655
[In]get_price('000001.XSHE', start_date='20180321', end_date='20180321', frequency='tick')
[Out]
    trading_date    open    last    high    low    prev_close    volume    total_turnover    limit_up    limit_down    ...    a2_v    a3_v    a4_v    a5_v    b1_v    b2_v    b3_v    b4_v    b5_v    change_rate
datetime                                                                                    
2018-03-21 09:15:00    2018-03-21    11.95    11.82    0.0000    0.00    11.82    0.0    0.000000e+00    13.0    10.64    ...    0.0    0.0    0.0    0.0    0.0    0.0    0.0    0.0    0.0    0.000000
2018-03-21 09:15:09    2018-03-21    11.95    11.82    0.0000    0.00    11.82    0.0    0.000000e+00    13.0    10.64    ...    0.0    0.0    0.0    0.0    31440.0    960.0    0.0    0.0    0.0    0.000000
2018-03-21 09:15:18    2018-03-21    11.95    11.82    0.0000    0.00    11.82    0.0    0.000000e+00    13.0    10.64    ...    0.0    0.0    0.0    0.0    75280.0    820.0    0.0    0.0    0.0    0.000000
2018-03-21 09:15:27    2018-03-21    11.95    11.82    0.0000    0.00    11.82    0.0    0.000000e+00    13.0    10.64    ...    0.0    0.0    0.0    0.0    75280.0    3520.0    0.0    0.0    0.0    0.000000
2018-03-21 09:15:36    2018-03-21    11.95    11.82    0.0000    0.00    11.82    0.0    0.000000e+00    13.0    10.64    ...    0.0    0.0    0.0    0.0    183780.0    33720.0    0.0    0.0    0.0    0.000000
2018-03-21 09:15:54    2018-03-21    11.95    11.82    0.0000    0.00    11.82    0.0    0.000000e+00    13.0    10.64    ...    0.0    0.0    0.0    0.0    183780.0    34720.0    0.0    0.0    0.0    0.000000
...
[In]get_price('000001.XSHE', start_date='2015-04-01', end_date='2015-04-01', frequency='15m')
[Out]
    total_turnover    close    low    open    high    volume
index                        
2015-04-01 09:45:00    348982890.0    10.6215    10.6215    10.7300    10.7843    31848628
2015-04-01 10:00:00    234445219.0    10.5808    10.5469    10.6283    10.6350    21618354
2015-04-01 10:15:00    125882985.0    10.6757    10.5808    10.5808    10.7368    11540023
2015-04-01 10:30:00    144396901.0    10.6622    10.6215    10.6757    10.7503    13190460
2015-04-01 10:45:00    169238918.0    10.7368    10.6554    10.6622    10.7775    15409772
2015-04-01 11:00:00    131464598.0    10.7232    10.6961    10.7436    10.7503    11977847
2015-04-01 11:15:00    83455348.0    10.7368    10.7164    10.7300    10.7639    7589260
...
[In]get_price(['000024.XSHE', '000001.XSHE', '000002.XSHE'], start_date='2015-04-01', end_date='2015-04-12', fields='close')
[Out]
000024.XSHE    000001.XSHE    000002.XSHE
2015-04-01    32.1251    10.8249    12.7398
2015-04-02    31.6400    10.7164    12.6191
2015-04-03    31.6400    10.7503    12.4891
2015-04-07    31.6400    11.4015    12.7398
2015-04-08    31.6400    12.1543    12.8327
2015-04-09    31.6400    12.2086    13.5941
2015-04-10    31.6400    13.4294    13.2969
[In]get_price(['000024.XSHE', '000001.XSHE', '000002.XSHE'], start_date='2015-04-01', end_date='2015-04-12')
[Out]
<class 'rqcommons.pandas_patch.HybridDataPanel'>
Dimensions: 8 (items) x 7 (major_axis) x 3 (minor_axis)
Items axis: open to limit_down
Major_axis axis: 2015-04-01 00:00:00 to 2015-04-10 00:00:00
Minor_axis axis: 000024.XSHE to 000002.XSHE
[In]get_price('A1601', start_date='2015-04-01', end_date='2015-04-12')
[Out]
               open     close      high      low     total_turnover  volume    settlement    prev_settlement  open_interest      limit_up    limit_down
2015-04-01    4188.0    4210.0    4231.0    4188.0    168002700.0              3988.0      4212           4204.0            42406.0                4372.0       4036.0
2015-04-02    4212.0    4192.0    4228.0    4192.0    191554400.0              4550.0      4209           4212.0            44986.0                4380.0       4044.0
2015-04-03    4191.0    4157.0    4191.0    4149.0    336611000.0              8092.0      4159           4209.0            47632.0                4377.0       4041.0
2015-04-07    4155.0    4122.0    4164.0    4121.0    213253200.0              5150.0      4140           4159.0            50678.0                4325.0       3993.0
2015-04-08    4102.0    4103.0    4123.0    4082.0    231593500.0              5646.0      4101           4140.0            50758.0                4305.0       3975.0
2015-04-09    4098.0    4069.0    4106.0    4062.0    217864900.0              5344.0      4076           4101.0            52028.0                4265.0       3937.0
2015-04-10    4068.0    4069.0    4105.0    4062.0    105630900.0              2592.0      4075           4076.0            52142.0                4239.0       3913.0
[In]get_price('IF1608', '20160801', '20160801', 'tick').head()
[Out]
trading_date    open    last    high     low  \
datetime                                                               
2016-08-01 09:29:00.000   2016-08-01  3174.0  3174.0  3174.0  3174.0   
2016-08-01 09:30:00.000   2016-08-01  3174.0  3174.0  3180.8  3174.0   
2016-08-01 09:30:00.500   2016-08-01  3174.0  3176.8  3180.8  3174.0   
2016-08-01 09:30:01.000   2016-08-01  3174.0  3176.6  3180.8  3174.0   
2016-08-01 09:30:01.500   2016-08-01  3174.0  3178.0  3180.8  3174.0   

                         prev_settlement  prev_close  volume  open_interest  \
datetime                                                                      
2016-08-01 09:29:00.000           3184.6      3181.8    61.0        31847.0   
2016-08-01 09:30:00.000           3184.6      3181.8    69.0        31843.0   
2016-08-01 09:30:00.500           3184.6      3181.8    73.0        31840.0   
2016-08-01 09:30:01.000           3184.6      3181.8    97.0        31839.0   
2016-08-01 09:30:01.500           3184.6      3181.8   106.0        31836.0   

                         total_turnover     ...       a2_v  a3_v  a4_v  a5_v  \
datetime                                    ...                                
2016-08-01 09:29:00.000      58084200.0     ...        0.0   0.0   0.0   0.0   
2016-08-01 09:30:00.000      65709540.0     ...        0.0   0.0   0.0   0.0   
2016-08-01 09:30:00.500      69523920.0     ...        0.0   0.0   0.0   0.0   
2016-08-01 09:30:01.000      92391300.0     ...        0.0   0.0   0.0   0.0   
2016-08-01 09:30:01.500     100971420.0     ...        0.0   0.0   0.0   0.0   

                         b1_v  b2_v  b3_v  b4_v  b5_v  change_rate  
datetime                                                            
2016-08-01 09:29:00.000   1.0   0.0   0.0   0.0   0.0    -0.003329  
2016-08-01 09:30:00.000   1.0   0.0   0.0   0.0   0.0    -0.003329  
2016-08-01 09:30:00.500   1.0   0.0   0.0   0.0   0.0    -0.002449  
2016-08-01 09:30:01.000   2.0   0.0   0.0   0.0   0.0    -0.002512  
2016-08-01 09:30:01.500   1.0   0.0   0.0   0.0   0.0    -0.002072 
[In]get_price('MAUTD.SGEX',start_date=20180826,end_date=20180831,adjust_type='none')
[Out]
             close     high     low     open     price_weighted     settlement_direction     settlement_volume     total_turnover     volume    open_interest
2018-08-27     265.43     265.80     263.75     263.86     265.20             空支付多                  8198200.0         1.497225e+09     5645600   324030 
2018-08-28     266.41     266.50     265.54     265.59     266.06             多支付空                  5195000.0         8.666955e+08     3257400   319886 
2018-08-29     265.54     266.69     264.80     266.40     265.33             多支付空                  2218000.0         1.900730e+09     7163600   358556 
2018-08-30     265.90     265.99     265.32     265.39     265.78             多支付空                  1859400.0         1.237019e+09     4654200   385470 
2018-08-31     266.29     266.46     264.98     265.51     265.78             多支付空                  1057200.0         9.939785e+08     3739800   386958 
[In] get_price('10000615', start_date='20161125', end_date='20161130', frequency='1d')
[Out]
    total_turnover    open_interest    open    close    volume    low    strike_price    contract_multiplier    high
2016-11-25    14745563.0    2711.0    0.3653    0.3904    4037.0    0.3500    2.050    10000.0    0.3904
2016-11-28    14495982.0    2377.0    0.4055    0.4062    3518.0    0.3995    2.050    10000.0    0.4261
2016-11-29    15053302.0    2016.0    0.3997    0.4333    3501.0    0.3843    2.006    10220.0    0.4510
2016-11-30    13510805.0    1934.0    0.4322    0.4171    3121.0    0.4118    2.006    10220.0    0.4409

get_ticks - 获取日内 tick 数据(试用版)

get_ticks(order_book_id)

获取当日给定合约的 level1 快照行情,无法获取历史。

参数

返回

pandas DataFrame

字段类型说明
openfloat当日开盘价
highfloat当日最高价
lowfloat当日最低价
lastfloat最新价
prev_settlementfloat昨日结算价
volumefloat成交量
limit_upfloat涨停价
limit_downfloat跌停价
open_interestfloat累计持仓量
datetimedatetime.datetime时间戳
a1~a5float卖一至五档报盘价格
a1_v~a5_vfloat卖一至五档报盘量
b1~b5float买一至五档报盘价
b1_v~b5_vfloat买一至五档报盘量
change_ratefloat涨跌幅
trading_datepandasTimeStamp交易日期,对应期货夜盘的情况
iopvfloat场内基金实时估算净值
prev_iopvfloat场内基金前估算净值
范例
[In]
get_ticks('000001.XSHE')
[Out]
open    last    high    low    iopv    prev_iopv    limit_up    limit_down    prev_close    volume    ...    a1_v    a2_v    a3_v    a4_v    a5_v    b1_v    b2_v    b3_v    b4_v    b5_v
datetime                                                                                    
2019-02-15 09:15:00    0.00    11.25    0.00    0.00    0.0    0.0    12.38    10.13    11.25    0.0    ...    0.0    0.0    0.0    0.0    0.0    0.0    0.0    0.0    0.0    0.0
2019-02-15 09:15:09    0.00    11.25    0.00    0.00    0.0    0.0    12.38    10.13    11.25    0.0    ...    85996.0    0.0    0.0    0.0    0.0    85996.0    108304.0    0.0    0.0    0.0
2019-02-15 09:15:18    0.00    11.25    0.00    0.00    0.0    0.0    12.38    10.13    11.25    0.0    ...    87296.0    0.0    0.0    0.0    0.0    87296.0    107204.0    0.0    0.0    0.0

current_minute - 获取最近的分钟线数据

current_minute(order_book_ids,skip_suspended=False,fields)

获取当日给定合约的 level1 最近合成的1分钟行情,无法获取历史。

参数
参数类型说明
order_book_idsstr or str list可输入order_book_id, order_book_id list
skip_suspendedboolean是否跳过停牌,默认不跳过
fieldslist可挑选返回的字段。默认返回所有
返回

pandas DataFrame

字段类型说明
openfloat此分钟开盘价
highfloat此分钟最高价
lowfloat此分钟最低价
closefloat此分钟收盘价
volumeinteger此分钟成交量
turnoverfloat此分钟成交额
范例
[In]
current_minute(["000001.XSHE","600000.XSHG"])
[Out]
                                        close     high     low     open         total_turnover     volume
order_book_id     datetime                         
000001.XSHE     2019-05-22 15:00:00     12.40     12.40     12.39     12.39     6502002.0     524355
600000.XSHG     2019-05-22 15:00:00     11.16     11.16     11.15     11.15     1987596.0     178100

get_price_change_rate - 获取历史涨跌幅

get_price_change_rate(id_or_symbols, start_date='20130104', end_date='20140104', expect_df=False)

获取股票或指数的历史涨跌幅(包含起止日期)。注意目前只支持股票与指数两类合约,基金、期货等目前并不支持。历史涨跌幅基于前复权价格。

参数
参数类型说明
id_or_symbolsstr or str list可输入order_book_id, order_book_id list
start_datestr, datetime.date, datetime.datetime, pandasTimestamp开始日期,默认为'2013-01-``````04'
end_datestr, datetime.date, datetime.datetime, pandasTimestamp结束日期,默认为'2014-01-04'
expect_dfboolean默认返回原有的数据结构。如果调为真,则返回pandas dataframe
返回
范例
[In]
get_price_change_rate(['000001.XSHE', '000300.XSHG'], '20150801', '20150807')
[Out]
order_book_id    000001.XSHE    000300.XSHG
date        
2015-08-03    0.037217    0.003285
2015-08-04    0.003120    0.031056
2015-08-05    -0.020995    -0.020581
2015-08-06    -0.004766    -0.009064
2015-08-07    0.006385    0.019597

current_snapshot - 获取当前行情快照

current_snapshot(order_book_ids, market='cn')

获取某一合约当前的 LEVEL1 行情快照,支持集合竞价数据获取。

参数
参数类型说明
order_book_idstr or strlist合约代码,可传入order_book_id, order_book_id list。
marketstr默认是中国市场('cn'),目前仅支持中国市场
返回

Tick 对象 或者一个 Tick list

属性类型注释
order_book_idstring合约代码
openfloat当日开盘价
highfloat当日最高价
lowfloat当日最低价
lastfloat最新价
prev_settlementfloat昨日结算价
prev_closefloat昨日收盘价
volumefloat成交量
limit_upfloat涨停价
limit_downfloat跌停价
open_interestfloat累计持仓量
datetimedatetime.datetime时间戳
askslist卖出报盘价格,asks[0] 代表盘口卖一档报盘价
ask_volslist卖出报盘数量,ask_vols[0] 代表盘口卖一档报盘数量
bidslist买入报盘价格,bids[0] 代表盘口买一档报盘价
bid_volslist买入报盘数量,bid_vols[0] 代表盘口买一档报盘数量
范例
[In] current_snapshot('RB1805')
[Out]
Tick(ask_vols: [73, 0, 0, 0, 0], asks: [3424.0, 0.0, 0.0, 0.0, 0.0], bid_vols: [10, 0, 0, 0, 0], bids: [3423.0, 0.0, 0.0, 0.0, 0.0], datetime: 2018-03-28 15:00:00.705000, high: 3470.0, last: 3424.0, low: 3383.0, open: 3447.0, open_interest: 1637770.0, order_book_id: RB1805, prev_close: 3433.0, prev_settlement: 3413.0, total_turnover: 126310034840.0, volume: 3680998.0)
[In] current_snapshot(['000001.XSHE','600000.XSHG'])
[Out]
[Tick(ask_vols: [996929, 1086300, 685600, 500100, 325900], asks: [8.79, 8.8, 8.81, 8.82, 8.83], bid_vols: [983300, 120780, 119000, 144600, 190800], bids: [8.78, 8.77, 8.76, 8.75, 8.74], datetime: 2018-07-19 10:54:21, high: 8.81, last: 8.78, low: 8.72, open: 8.75, open_interest: None, order_book_id: 000001.XSHE, prev_close: 8.7, prev_settlement: None, total_turnover: 188550260, volume: 21507948),
 Tick(ask_vols: [84200, 410071, 340300, 739430, 255444], asks: [9.59, 9.6, 9.61, 9.62, 9.63], bid_vols: [55100, 82700, 99600, 90025, 74200], bids: [9.58, 9.57, 9.56, 9.55, 9.54], datetime: 2018-07-19 10:54:20.750000, high: 9.62, last: 9.59, low: 9.53, open: 9.6, open_interest: None, order_book_id: 600000.XSHG, prev_close: 9.51, prev_settlement: None, total_turnover: 82485219.0, volume: 8606191)]

get_trading_dates - 获取交易日列表

get_trading_dates(start_date, end_date, market='cn')

获取某个国家市场的交易日列表(起止日期加入判断)。目前仅支持中国市场。

参数
参数类型说明
start_datestr, datetime.date, datetime.datetime, pandasTimestamp开始日期
end_datestr, datetime.date, datetime.datetime, pandasTimestamp结束日期
marketstr默认是中国市场('cn'),目前仅支持中国市场
返回

datetime.date list - 交易日期列表

范例
[In]
get_trading_dates(start_date='20160505', end_date='20160505')
[Out]
[datetime.date(2016, 5, 5)]

get_previous_trading_date - 获取历史某个交易日

get_previous_trading_date(date,n,market='cn')

默认获取指定日期的上一交易日。

参数
参数类型说明
datestr, datetime.date, datetime.datetime, pandasTimestamp指定日期
nintn代表往前第n个交易日。默认为1,即前一个交易日
marketstr默认是中国市场('cn'),目前仅支持中国市场
返回

datetime.date - 交易日期

范例
[In]
get_previous_trading_date('20160502',n=1)
[Out]
[datetime.date(2016, 4, 29)]

get_next_trading_date - 获取未来某个交易日

get_next_trading_date(date, n, market='cn')

默认获取指定日期的国内市场的下一交易日。

参数
参数类型说明
datestr, datetime.date, datetime.datetime, pandasTimestamp指定日期
nintn代表未来第n个交易日。默认为1,即下一个交易日
marketstr目前只支持中国市场 ('cn')。
返回

datetime.date - 交易日期

范例
[In]
get_next_trading_date(date='2016-05-01',n=1)
[Out]
[datetime.date(2016, 5, 3)]

get_trading_hours - 获取合约连续竞价时间段

get_trading_hours(order_book_id, date=None, expected_fmt='str', market='cn')

默认获取当前点国内市场合约字符串形式的连续竞价交易时间段。

参数
参数类型说明
order_book_idstr合约名称
datestr, datetime.date, datetime.datetime, pandasTimestamp指定日期。使用场景,部分合约的当前和历史的连续竞价交易时间段会有不同
expected_fmtstr可选str(返回string), 也支持time(返回datetime.time)和datetime(返回datetime.datetime)
marketstr目前只支持中国市场 ('cn')。
返回

可变动,由excected_fmt指定。

范例
[In]
get_trading_hours('000001.XSHE',expected_fmt='time')
[Out]
[[datetime.time(9, 31), datetime.time(11, 30)],
 [datetime.time(13, 1), datetime.time(15, 0)]]

get_yield_curve - 获取收益率曲线

get_yield_curve(start_date='2013-01-04', end_date='2014-01-04', tenor=None, market='cn')

获取某个国家市场在一段时间内收益率曲线水平(包含起止日期)。目前仅支持中国市场。

数据为2002年至今的中债国债收益率曲线,来源于中央国债登记结算有限责任公司。

参数
参数类型说明
start_datestr, datetime.date, datetime.datetime, pandasTimestamp开始日期,默认为'2013-01-04'
end_datestr, datetime.date, datetime.datetime, pandasTimestamp结束日期,默认为'2014-01-04'
tenorstr标准期限,'0S' - 隔夜,'1M' - 1个月,'1Y' - 1年
marketstr默认是中国市场('cn'),目前支持中国市场。
返回

pandas DataFrame - 查询时间段内无风险收益率曲线

范例
[In]
get_yield_curve(start_date='20130104', end_date='20140104')

[Out]
                0S      1M      2M      3M      6M      9M      1Y      2Y  \
2013-01-04  0.0196  0.0253  0.0288  0.0279  0.0280  0.0283  0.0292  0.0310
2013-01-05  0.0171  0.0243  0.0286  0.0275  0.0277  0.0281  0.0288  0.0305
2013-01-06  0.0160  0.0238  0.0285  0.0272  0.0273  0.0280  0.0287  0.0304

                3Y      4Y   ...        6Y      7Y      8Y      9Y     10Y  \
2013-01-04  0.0314  0.0318   ...    0.0342  0.0350  0.0353  0.0357  0.0361
2013-01-05  0.0309  0.0316   ...    0.0342  0.0350  0.0352  0.0356  0.0360
2013-01-06  0.0310  0.0315   ...    0.0340  0.0350  0.0352  0.0356  0.0360
...

股票


get_fundamentals - 查询财务数据

get_fundamentals(query, entry_date, interval=None, report_quarter=False, expect_df=False)

获取历史财务数据表格。目前支持中国市场超过400个指标,具体请参考 财务数据文档 。目前仅支持中国市场。我们特别为该函数进行了优化,读取内存的操作会极大地提升数据的获取速度。需要注意,在ricequant上查询基本面数据时,我们是以所有年报的发布日期(announcement date)为准,因为只有财报发布后才成为市场上公开可以获取的数据。比如某公司第三季度的财报于11月10号发布,那么如果从查询日期为10月5号,也就是早于发布日期,那么返回的只是第二季度的财报数据。

参数
参数类型说明
querySQLAlchemyQueryObjectSQLAlchemy的Query对象。其中可在'query'内填写需要查询的指标,'filter'内填写数据过滤条件。具体可参考 sqlalchemy's query documentation 学习使用更多的方便的查询语句。从数据科学家的观点来看,sqlalchemy的使用比sql更加简单和强大
entry_datestr, datetime.date, datetime.datetime, pandasTimestamp查询财务数据的基准开始日期
intervalstr查询财务数据的间隔。例如,填写'5y',则代表从entry_date开始(包括entry_date)回溯5年,返回数据时间以为间隔。'd' - 天,'w' - 周,'m' - 月, 'q' - 季,'y' - 年
report_quarterboolean是否显示报告期,默认为不显示。'Q1' - 一季报,'Q2' - 半年报,'Q3' - 三季报,'Q4' - 年报
expect_dfboolean默认返回原有的数据结构。如果调为真,则返回pandas dataframe
返回

pandas DataPanel - 财务数据查询结果。

范例

fundamentals是一个重要的对象,其中包括了股指指标表(eod_derivative_indicator),财务指标表(financial_indicator),利润表(income_statement),资产负债表(balance_sheet),现金流量表(cash_flow_statement)以及股票列表(stock_code)等内容。结合SQLAlchemy的查找方式,能够满足用户多种查找需求。

[In]
dp = get_fundamentals(query(fundamentals.eod_derivative_indicator.pe_ratio).filter(fundamentals.stockcode == '000001.XSHE'), '2016-08-01','4q' ,report_quarter = True)
[In]
dp.minor_xs('000001.XSHE')
[Out]
        report_quarter    pe_ratio
2016-08-01    2016-Q1     7.0768
2016-04-29    2016-Q1        6.7755
2016-01-29    2015-Q3        6.5492
2015-10-29    2015-Q3        7.3809
[In] 
dp = get_fundamentals(query(fundamentals.income_statement.revenue, fundamentals.income_statement.cost_of_goods_sold).filter(fundamentals.income_statement.stockcode.in_(['002478.XSHE', '000151.XSHE'])), '2015-01-10', '5y')

[Out]
<class 'pandas.core.panel.Panel'>
Dimensions: 2 (items) x 5 (major_axis) x 2 (minor_axis)
Items axis: revenue to cost_of_goods_sold
Major_axis axis: 2015-01-09 to 2011-01-10
Minor_axis axis: 002478.XSHE to 000151.XSHE

[In]
dp['revenue']
[Out]
            002478.XSHE        000151.XSHE
2015-01-09    2.937843e+09    1.733703e+09
2014-01-10    2.926316e+09    8.839355e+08
2013-01-10    2.616532e+09    9.488980e+08
2012-01-10    2.681016e+09    6.205934e+08
2011-01-10    2.034147e+09    4.998120e+08
[In] 
df = get_fundamentals(query(fundamentals.eod_derivative_indicator).filter(fundamentals.stockcode == '000001.XSHE'), '2016-08-01', '4q' ,report_quarter = True) #如获取eod_derivative_indicator
df.minor_xs('000001.XSHE')

[Out]
     report_quarter     peg_ratio     pcf_ratio_2     a_share_market_val     pe_ratio     pe_ratio_1     market_cap     a_share_market_val_2     dividend_yield     pcf_ratio_1     ps_ratio     pcf_ratio     pb_ratio     pe_ratio_2
2016-08-01     2016q1     -0.5897     NaN     1.59341e+11     7.0593     7.2875     1.59341e+11     1.35777e+11     1.3739     3.4679     1.5268     -87.2626     0.8312     6.5454
2016-04-29     2016q1     -0.653     NaN     1.51243e+11     6.7755     6.9171     1.51243e+11     1.24769e+11     NaN     3.2917     1.468     -82.8273     0.8063     6.2127
2016-01-29     2015q3     -0.7846     NaN     1.43087e+11     6.5441     7.2259     1.43087e+11     1.18041e+11     1.3893     1.1689     1.4879     -78.3608     0.886     6.0493
2015-10-29     2015q3     -14.3091     NaN     1.61259e+11     7.3809     8.1436     1.61259e+11     1.33032e+11     1.2328     1.3173     1.7935     6.3686     1.0262     6.8176

get_financials - 查询季度财务信息

get_financials(query, quarter, interval=None, expect_df=False)

以给定一个报告期回溯的方式获取季度基础财务数据(三大表)。financials是在查询中会使用到的重要对象,功能与上述fundamentals类似。但因为get_financials为季度财务信息查询,所以financials中支持的财务表格包括利润表(income_statement),资产负债表(balance_sheet),现金流量表(cash_flow_statement),以及财务指标(financial_indicator)。除此之外,financials中还包括了股票列表(stock_code)以及公布日期(announce_date)两个指标。

参数
参数类型说明
querySQLAlchemyQueryObjectSQLAlchemy的Query对象。其中可在'query'内填写需要查询的指标,'filter'内填写数据过滤条件
quarterstr财报回溯查询的起始报告期,例如'2015q2', '2015q4'分别代表2015年半年报以及年报。默认只获取当前报告期财务信息
intervalstr查询财务数据的间隔。例如,填写'5y',则代表从报告期开始回溯5年,每年为相同报告期数据;'3q'则代表从报告期开始向前回溯3个季度
expect_dfboolean默认返回原有的数据结构。如果调为真,则返回pandas dataframe
返回

-pandas DataPanel -pandas DataFrame -pandas Series

范例
[In]
q = query(financials.income_statement.net_profit, financials.announce_date).filter(financials.stockcode.in_(['000002.XSHE']))
[In]
get_financials(q, '2016q3', '2q')
[Out]
         net_profit announce_date
2016q3  1.12903e+10      20161028
2016q2  7.09463e+09      20160822
[In]
q = query(financials.income_statement.net_profit, financials.announce_date).filter(financials.stockcode.in_(['000002.XSHE', '601988.XSHG']))
[In]
get_financials(q, '2016q3')
[Out]
        net_profit    announce_date
601988.XSHG  1.51558e+11      20161027
000002.XSHE  1.12903e+10      20161028
[In]
q = query(financials.income_statement.net_profit).filter(financials.stockcode.in_(['000002.XSHE']))
[In]
get_financials(q, '2016q3', '3y')

[Out]
2016q3    1.12903e+10
2015q3    9.53862e+09
2014q3      7.605e+09
[In]
q = query(financials.income_statement.net_profit, financials.balance_sheet.prepayment).filter(financials.stockcode.in_(['000002.XSHE', '601988.XSHG']))
[In]
get_financials(q, '2016q3', '3y')
[Out]
<class 'pandas.core.panel.Panel'>
Dimensions: 2 (items) x 3 (major_axis) x 2 (minor_axis)
Items axis: net_profit to prepayment
Major_axis axis: 2016q3 to 2014q3
Minor_axis axis: 601988.XSHG to 000002.XSHE
[In]
q = query(financials.cash_flow_statement_TTM).filter(financials.stockcode.in_(['000002.XSHE']))  #如获取所有的TTM滚动现金流量表数据
[In]
get_financials(q, '2016q3','2q')
[Out]
     net_finance_cashflowTTM     net_invest_cashflowTTM     sale_service_render_cashTTM     net_operate_cashflowTTM     net_cashflowTTM
2016q3     1.18796e+09     -3.71679e+10     2.74212e+11     6.37149e+10     2.78431e+10
2016q2     1.12638e+10     -3.29437e+10     2.43545e+11     4.86516e+10     2.71367e+10

deprecated_fundamental_data - 查询废弃的财务报表字段

deprecated_fundamental_data(fields=None)

默认返回所有废弃的财务字段。

参数
参数类型说明
fieldsstr or list获取对应字段的数据。如果不填则全部返回。
返回

pandas DataFrame

字段类型说明
commentstr字段注释或其他备注
tablestr字段所属表格
data_pointstr废弃字段名
范例
[In]
deprecated_fundamental_data()
[Out]
     comment     table     data_point
0     折扣与折让     income_statement     sales_discount
1     存货跌价损失     income_statement     inventory_shrinkage
2     以前年度损益调整     income_statement     pnl_adjustment

get_pit_financials - 查询季度财务信息(point-in-time形式)

get_pit_financials(fields, quarter, interval=None, order_book_ids=None, if_adjusted=None, max_info_date=None, market='cn')

以给定一个报告期回溯的方式获取季度基础财务数据(三大表)和滚动基础财务数据(ttm表),即利润表(income_statement),资产负债表(balance_sheet),现金流量表(cash_flow_statement),以及财务指标(financial_indicator)。

参数
参数类型说明
fieldslist需要返回的财务字段。支持的字段仅限三大基础财报滚动财务数据中的大部分字段,具体可以参看财务数据页介绍。
quarterstr财报回溯查询的起始报告期,例如'2015q2', '2015q4'分别代表2015年半年报以及年报。默认只获取当前报告期财务信息。
intervalstr查询财务数据的间隔。例如,填写'5y',则代表从报告期开始回溯5年,每年为相同报告期数据;'3q'则代表从报告期开始向前回溯3个季度。
max_info_datestr限制返回的最新日期,在研究中使用默认为当前查询日期。
if_adjustedstr考虑获取的财务数据是否进行了调整,默认不填,返回最新数据
除去默认为空以外,如果if_adjusted=0 只给允许日期的未调整数据。1则给调整后数据
if_adjusted='ignore'则允许日期最新的数据,这一条在回测中有重要应用
if_adjusted='all'则允许日期的调整和未调整的所有记录都返回
返回

pandas DataFrame

固定字段类型说明
fieldslist需要返回的财务字段。支持的字段仅限三大基础财报滚动财务数据中的大部分字段,具体可以参看财务数据页介绍。
quarterstr财报回溯查询的起始报告期,例如'2015q2', '2015q4'分别代表2015年半年报以及年报。默认只获取当前报告期财务信息。
info_datestr限制返回的最新日期,在研究中使用默认为当前查询日期。
enterprise_typestr企业性质
is_completeinteger目前1为披露完整的报表,0为简报的披露
accounting_standardsinteger1为新会计准则(2007版之后),9为旧会计准则
if_adjustedstr是否为调整过的财报数据

注意: inf在返回的数据中意味着该公司在对应日期的报告中并没有提及此字段。NaN则表示在相应的日期该公司并没有提供此字段对应的报表。另,在返回的字段中,如果if_adjusted=0 为未调整数据。1则表示调整后数据。

范例
[In]
get_pit_financials(['operating_revenue','total_assets'],quarter='2018q2',order_book_ids='000048.XSHE')
[Out]

                              info_date     if_adjusted     accounting_standards     is_complete     enterprise_type     total_assets     operating_revenue
order_book_id     end_date                             
000048.XSHE     2018-06-30     2018-08-31     0                                  1     1               general_enterprise     4112194743.4400     1063669669.0400
              2018-06-30     2018-10-31     0                                  1     1               general_enterprise     4209492787.7000     1060486863.8900
[In]
get_pit_financials(['operating_revenue','total_assets'],quarter='2018q2',order_book_ids='000048.XSHE',if_adjusted='ignore')
[Out]
                           info_date     if_adjusted     accounting_standards     is_complete     enterprise_type     total_assets     operating_revenue
order_book_id     end_date                             
000048.XSHE     2018-06-30     2018-10-31     0                          1                     1     general_enterprise     4209492787.7000     1060486863.8900

get_factor - 获取因子

get_factor(order_book_ids,factor,start_date,end_date,universe=None,expect_df=False)

默认快速返回给定的order_book_id当日的因子。 【注意】:

参数
参数类型说明
order_book_idsstr OR str list合约代码,可传入order_book_id, order_book_id list
factorstr因子名称,可查询 get_all_factor_names() 得到所有有效因子字段
datestr指定日期,默认为该日的前一个交易日
start_datestr开始日期。注:如使用开始日期,则必填结束日期
end_datestr结束日期。注:若使用结束日期,则开始日期必填
universestr股票池,可选定某个指数的成分股,也可输入股票list,默认为None,全市场
expect_dfboolean默认返回原有的数据结构。如果调为真,则返回pandas dataframe

【注意】: 米筐提供的因子在调用时可以直接输入factor_name,如果机构内部的因子则需在factor_name前加入前缀private

米筐因子:get_factor(order_book_ids, factor_name,......)
机构因子:get_factor(order_book_ids, 'private.factor_name',......)
返回

pandas DataFrame

范例
[In]
get_factor(['000001.XSHE','000002.XSHE'],'debt_to_equity_ratio',start_date='20171229',end_date='20180106')
[Out]
            000001.XSHE     000002.XSHE
2017-12-29     13.3848         7.3097
2018-01-02     13.3848         7.3097
2018-01-03     13.3848         7.3097
2018-01-04     13.3848         7.3097
2018-01-05     13.3848         7.3097
Name: 2017-12-29 00:00:00, dtype: float64
[In]
get_factor(['000001.XSHE','000002.XSHE'],'private.asdf',start_date='20180501', end_date='20180524')
[Out]
    000001.XSHE    000002.XSHE
2018-05-02    0.8363    2.2437
2018-05-03    0.8263    2.2154
2018-05-04    0.8209    2.1813
2018-05-07    0.8309    2.2194
2018-05-08    0.8463    2.3256
2018-05-09    0.8432    2.2859
2018-05-10    0.8463    2.2754
2018-05-11    0.8463    2.2648
2018-05-14    0.8593    2.2648
2018-05-15    0.8547    2.2494
2018-05-16    0.8378    2.2073
2018-05-17    0.8317    2.1716
2018-05-18    0.8424    2.2008
2018-05-21    0.8416    2.1943
2018-05-22    0.8347    2.1659
2018-05-23    0.8186    2.1724
2018-05-24    0.8155    2.1602

current_performance - 查询财务快报数据

current_performance(order_book_id,info_date,quarter,interval,fields)

默认返回给定的order_book_id当前最近一期的快报数据。

参数
参数类型说明
order_book_idstr必填。由于快报报告日期的不规则,目前只支持单个查询,批量请考虑轮询。
info_datestryyyymmdd或者yyyy-mm-dd。如果不填(info_date和quarter都为空),则返回当前日期的最新发布的快报。如果填写,则从info_date当天或者之前最新的报告开始抓取。
quarterstrinfo_date参数优先级高于quarter。如果info_date填写了日期,则不查看quarter这个字段。 如果info_date没有填写而quarter 有填写,则财报回溯查询的起始报告期,例如'2015q2', '2015q4'分别代表2015年半年报以及年报。默认只获取当前报告期财务信息
intervalstr查询财务数据的间隔。例如,填写'5y',则代表从报告期开始回溯5年,每年为相同报告期数据;'3q'则代表从报告期开始向前回溯3个季度。不填写默认抓取一期。
fieldsstr or list抓取对应有效字段返回。默认返回所有字段。具体快报字段可参看线上财务文档。
返回

pandas DataFrame

范例
[In]
current_performance('000004.XSHE')
[Out]
      end_date     info_date     operating_revenue    gross_profit    operating_profit    total_profit    np_parent_owners    net_profit_cut    net_operate_cashflow...roe_cut_weighted_yoy    net_operate_cash_flow_per_share_yoy    net_asset_psto_opening    
0   2017-12-31     2018-04-14    1.386058e+08           NaN             8796946.37       9716431.21         8566720.65         NaN                NaN                    NaN                                NaN                               NaN

[In]
current_performance('000004.XSHE',quarter='2017q4',fields='total_profit',interval='2q')
[Out]
     end_date     info_date     total_profit
0     2017-12-31     2018-04-14     9716431.21
1     2015-12-31     2016-04-15     10808606.48
[In]
current_performance('000004.XSHE',info_date=20170331,fields='total_profit',interval='2q')
[Out]
     end_date     info_date     total_profit
0     2015-12-31     2016-04-15     10808606.48
1     2014-12-31     2015-04-16     20665807.64

performance_forecast - 查询业绩预告数据

performance_forecast(order_book_id,info_date,end_date,fields)

默认返回给定的order_book_id当前最近一期的业绩预告数据。 业绩预告主要用来调取公司对即将到来的财务季度的业绩预期的信息。有时同一个财务季度会有多条记录,分别是季度预期和累计预期(即本年至今)。

参数
参数类型说明
order_book_idstr必填。由于预告报告日期的不规则,目前只支持单个查询,批量请考虑轮询。
info_datestryyyymmdd或者yyyy-mm-dd。如果不填(info_date和end_date都为空),则返回当前日期的最新发布的业绩预告。如果填写,则从info_date当天或者之前最新的报告开始抓取。注:info_date优先级高于end_date。
end_datestryyyymmdd或者yyyy-mm-dd。对应财务预告期末日期,如'20150331'。
fieldsstr or list抓取对应有效字段返回。默认返回所有字段。具体业绩预告字段可参看线上财务文档。
返回

pandas DataFrame

范例
[In]
performance_forecast('000001.XSHE')
[Out]
    info_date     end_date     forecast_type     forecast_description     forecast_growth_rate_floor     forecast_growth_rate_ceiling     forecast_earning_floor     forecast_earning_ceiling     forecast_np_floor     forecast_np_ceiling     forecast_eps_floor     forecast_eps_ceiling     net_profit_yoy_const_forecast
0     2016-01-21     2015-12-31     预增             累计利润                 5.0                         15.0                             NaN                     NaN                         2.079206e+10         2.277225e+10             1.48                 1.62                     16.0

[In]
performance_forecast('000005.XSHE',end_date=20170331,fields=['forecast_description','forecast_earning_floor'])
[Out]

    info_date     end_date     forecast_description     forecast_earning_floor
0     2017-04-15     2017-03-31     累计利润                 NaN

sector - 获取某板块股票列表

sector(code, market='cn')

获得属于某一板块的所有股票列表。

参数
参数类型说明
codestr OR sector_code items板块名称或板块代码。例如,能源板块可填写'Energy'、'能源'或sector_code.Energy
marketstr默认是中国市场('cn'),目前仅支持中国市场。
返回

属于该板块的股票order_book_id或order_book_id list.

范例
[In]sector('Energy')
[Out]
['300023.XSHE', '000571.XSHE', '600997.XSHG', '601798.XSHG', '603568.XSHG', .....]
[In]sector(sector_code.Energy)
[Out]
['300023.XSHE', '000571.XSHE', '600997.XSHG', '601798.XSHG', '603568.XSHG', .....]
板块分类列表

目前支持的板块分类如下,其取值参考自MSCI发布的全球行业标准分类:

板块代码中文板块名称英文板块名称
Energy能源energy
Materials原材料materials
ConsumerDiscretionary非必需消费品consumer discretionary
ConsumerStaples必需消费品consumer staples
HealthCare医疗保健health care
Financials金融financials
RealEstate房地产real estate
InformationTechnology信息技术information technology
TelecommunicationServices电信服务telecommunication services
Utilities公共服务utilities
Industrials工业industrials

industry - 获取某行业股票列表

industry(code, market='cn')

获得属于某一行业的所有股票列表。

参数
参数类型说明
codestr OR industry_code items行业名称或行业代码。例如,农业可填写industry_code.A01 或 'A01'
marketstr默认是中国市场('cn'),目前仅支持中国市场
返回

属于该行业的股票order_book_id或order_book_id list.

范例
[In]
industry('A01')
[Out]
['600540.XSHG', '600371.XSHG', '600359.XSHG', '600506.XSHG',...]
[In]
industry(industry_code.A01)
[Out]
['600540.XSHG', '600371.XSHG', '600359.XSHG', '600506.XSHG',...]
行业分类列表

我们目前使用的行业分类来自于中国国家统计局的国民经济行业分类,可以使用这里的任何一个行业代码来调用行业的股票列表:

行业代码行业名称
A01农业
A02林业
A03畜牧业
A04渔业
A05农、林、牧、渔服务业
B06煤炭开采和洗选业
B07石油和天然气开采业
B08黑色金属矿采选业
B09有色金属矿采选业
B10非金属矿采选业
B11开采辅助活动
B12其他采矿业
C13农副食品加工业
C14食品制造业
C15酒、饮料和精制茶制造业
C16烟草制品业
C17纺织业
C18纺织服装、服饰业
C19皮革、毛皮、羽毛及其制品和制鞋业
C20木材加工及木、竹、藤、棕、草制品业
C21家具制造业
C22造纸及纸制品业
C23印刷和记录媒介复制业
C24文教、工美、体育和娱乐用品制造业
C25石油加工、炼焦及核燃料加工业
C26化学原料及化学制品制造业
C27医药制造业
C28化学纤维制造业
C29橡胶和塑料制品业
C30非金属矿物制品业
C31黑色金属冶炼及压延加工业
C32有色金属冶炼和压延加工业
C33金属制品业
C34通用设备制造业
C35专用设备制造业
C36汽车制造业
C37铁路、船舶、航空航天和其它运输设备制造业
C38电气机械及器材制造业
C39计算机、通信和其他电子设备制造业
C40仪器仪表制造业
C41其他制造业
C42废弃资源综合利用业
C43金属制品、机械和设备修理业
D44电力、热力生产和供应业
D45燃气生产和供应业
D46水的生产和供应业
E47房屋建筑业
E48土木工程建筑业
E49建筑安装业
E50建筑装饰和其他建筑业
F51批发业
F52零售业
G53铁路运输业
G54道路运输业
G55水上运输业
G56航空运输业
G57管道运输业
G58装卸搬运和运输代理业
G59仓储业
G60邮政业
H61住宿业
H62餐饮业
I63电信、广播电视和卫星传输服务
I64互联网和相关服务
I65软件和信息技术服务业
J66货币金融服务
J67资本市场服务
J68保险业
J69其他金融业
K70房地产业
L71租赁业
L72商务服务业
M73研究和试验发展
M74专业技术服务业
M75科技推广和应用服务业
N76水利管理业
N77生态保护和环境治理业
N78公共设施管理业
O79居民服务业
O80机动车、电子产品和日用产品修理业
O81其他服务业
P82教育
Q83卫生
Q84社会工作
R85新闻和出版业
R86广播、电视、电影和影视录音制作业
R87文化艺术业
R88体育
R89娱乐业
S90综合

concept_list - 获取概念列表

concept_list(date=None)

获得概念列表。

参数
参数类型说明
datestr指定日期((yyyy-mm-dd)),可不填,即返回当前。
返回

概念股列表。

范例
[In]
concept_list(date=20160501)
[Out]
['网红直播', '快递']

concept - 获取某概念股票列表

concept(concept_name1, concept_name2, ...,date=None)

获得属于某个或某几个概念的股票列表。

参数
参数类型说明
concept_namesstr OR multiple str概念名称。可以从概念列表中选择一个或多个概念填写
datestr指定日期((yyyy-mm-dd)),可不填,即返回当前。注:针对回测平台,date是非法参数,因为它已经考虑到了回测点日期
返回

属于该概念的股票order_book_id或order_book_id list.

范例
[In]
concept('民营医院')
[Out]
['600105.XSHG',
 '002550.XSHE',
 '002004.XSHE',
 '002424.XSHE',
 ...]

[In]
concept('民营医院',date='2017-12-01')
[Out]
['600105.XSHG',
 '002550.XSHE',
 '002004.XSHE',
 '002424.XSHE',
 ...]

[In]
concept('民营医院', '国企改革')
[Out]
['601607.XSHG',
 '600748.XSHG',
 '600630.XSHG',
 ...]

get_industry_mapping - 获取行业分类概览

get_industry_mapping(source='sws', market='cn')

通过传入机构名,获得该机构指定的行业划分概览。

参数
参数类型说明
sourcestr分类依据。sws: 申万, citics: 中信, gildata: 聚源;默认为申万行业分类
marketstr目前仅有中国市场('cn')的行业分类
返回

DataFrame

范例
[In]
get_industry_mapping()
[Out]
     index_code     index_name     second_index_code     second_index_name     third_index_code     third_index_name
0     801010.INDX     农林牧渔              801011.INDX                    林业          850131.INDX     林业
1     801010.INDX     农林牧渔              801012.INDX                    农产品加工     850151.INDX     果蔬加工
2     801010.INDX     农林牧渔              801012.INDX                    农产品加工     850152.INDX     粮油加工
3     801010.INDX     农林牧渔              801012.INDX                    农产品加工     850154.INDX     其他农产品加工
4     801010.INDX     农林牧渔              801013.INDX                    农业综合       850161.INDX     农业综合
5     801010.INDX     农林牧渔              801014.INDX                    饲料          850141.INDX     饲料
...

get_industry - 获取某行业的股票列表

get_industry(industry, source='sws', date=None, market='cn')

通过传入行业名称、行业指数代码或者行业代号,拿到指定行业的股票列表

参数
参数类型说明
industrystr可传入行业名称、行业指数代码或者行业代号
sourcestr分类依据。sws: 申万, citics: 中信, gildata: 聚源;默认为申万行业分类
datestr查询日期,默认为当前最新日期
marketstr目前仅有中国市场('cn')的行业分类
返回

list

范例
[In]
get_industry('银行')
[Out]
['000001.XSHE',
 '002142.XSHE',
 '002807.XSHE',
 '002839.XSHE',
 '002936.XSHE',
 '600000.XSHG',
 '600015.XSHG',
 '600016.XSHG',
 '600036.XSHG',
 '600908.XSHG',
 '600919.XSHG',
 '600926.XSHG',
 '601009.XSHG',
 '601128.XSHG',
 '601166.XSHG',
 '601169.XSHG',
 '601229.XSHG',
 '601288.XSHG',
 '601328.XSHG',
 '601398.XSHG',
 '601577.XSHG',
 '601818.XSHG',
 '601838.XSHG',
 '601939.XSHG',
 '601988.XSHG',
 '601997.XSHG',
 '601998.XSHG',
 '603323.XSHG']
[In]
get_industry(industry='621020',source='citics')
[Out]
['000997.XSHE',
 '002152.XSHE',
 '002177.XSHE',
 '002268.XSHE',
 '002308.XSHE',
 '002312.XSHE',
 '002376.XSHE',
 '002383.XSHE',
 '002512.XSHE',
 '002518.XSHE',
 '002546.XSHE',
 '002635.XSHE',
 '002771.XSHE',
 '002829.XSHE',
 '002835.XSHE',
 '002906.XSHE',
 '300074.XSHE',
 '300076.XSHE',
 '300078.XSHE',
 '300098.XSHE',
 '300130.XSHE',
 '300167.XSHE',
 '300177.XSHE',
 '300270.XSHE',
 '300275.XSHE',
 '300311.XSHE',
 '300449.XSHE',
 '300455.XSHE',
 '300458.XSHE',
 '300479.XSHE',
 '300743.XSHE',
 '603106.XSHG',
 '603660.XSHG',
 '603890.XSHG']

get_instrument_industry - 获取股票的指定行业分类

get_instrument_industry(order_book_ids, source='sws', level=1, date=None, market='cn')

通过order_book_id传入,拿到某个日期的该股票指定的行业分类

参数
参数类型说明
order_book_idstr or list股票合约代码
datestr查询日期,默认为当前最新日期
sourcestr分类依据。sws: 申万, citics: 中信, gildata: 聚源;默认为申万行业分类
levelinteger行业分类级别,共三级,默认返回一级分类。参数0,1,2,3依依对应,其中0返回三级分类完整情况
返回

所属合约的对应行业分类。 pandas DataFrame

范例
[In]
get_instrument_industry('000001.XSHE')
[Out]
                 first_industry_code     first_industry_name
order_book_id         
000001.XSHE     801780.INDX              银行
[In]
get_instrument_industry(['000001.XSHE','000002.XSHE'],source='citics',level=0)
[Out]

                 first_industry_code     first_industry_name     second_industry_code     second_industry_name     third_industry_code     third_industry_name
order_book_id                         
000001.XSHE     40                                      银行          4020                       股份制与城商行                         402010         股份制银行
000002.XSHE     42                                      房地产        4210                       房地产开发管理                         421010         住宅地产

get_turnover_rate - 获取历史换手率

get_turnover_rate(order_book_id, start_date, end_date, fields=None,expect_df=False)
参数
参数类型说明
order_book_idstr or str list合约代码,可输入order_book_id, order_book_id list
start_datestr, datetime.date, datetime.datetime, pandasTimestamp开始日期,用户必须指定
end_datestr, datetime.date, datetime.datetime, pandasTimestamp结束日期,用户必须指定
fieldsstr OR str list默认为所有字段。当天换手率 - today,过去一周平均换手率 - week,过去一个月平均换手率 - month,过去一年平均换手率 - year,当年平均换手率 - current_year
expect_dfboolean默认返回原有的数据结构。如果调为真,则返回pandas dataframe
返回
范例
[In]
get_turnover_rate(['000001.XSHE', '601998.XSHG'], '20160801', '20160812', 'week')

[Out]
  000001.XSHE  601998.XSHG
2016-08-01       0.4478       0.1176
2016-08-02       0.4134       0.1175
2016-08-03       0.3460       0.0972
2016-08-04       0.4938       0.0937
2016-08-05       0.5031       0.0927
2016-08-08       0.4414       0.0754
2016-08-09       0.4357       0.0746
2016-08-10       0.4377       0.0779
2016-08-11       0.3679       0.1212
2016-08-12       0.4779       0.1391

get_dividend_info - 获取股票的分红信息

get_dividend_info(order_book_id, start_date=None, end_date=None, market='cn')

获取某只股票在一段时间内的分红情况(包含起止日期)。如未指定日期,则默认所有。目前仅支持中国市场。

参数
参数类型说明
order_book_idstr or list合约代码
start_datestr, datetime.date, datetime.datetime, pandasTimestamp开始日期
end_datestr, datetime.date, datetime.datetime, pandasTimestamp结束日期
marketstr默认是中国市场('cn'),目前仅支持中国市场
返回
字段类型说明
effective_datestr常规分红对应的有效财政季度;特殊分红则对应股权登记日
dividend_typestr是否分红及具体分红形式:
transferred share代表转增股份;bonus share代表赠送股份;cash为现金;cash and share代表现金、转增股和送股都有涉及。
ex_dividend_datestr除权除息日,该天股票的价格会因为分红而进行调整
范例
[In]
get_dividend_info('000001.XSHE')

[Out]
                 dividend_type               ex_dividend_date         order_book_id
effective_date             
1990-12-31     cash and bonus share           1991-04-03                000001.XSHE
1991-12-31     cash and bonus share           1992-03-23                000001.XSHE
1992-12-31     cash and share                 1993-05-24                000001.XSHE
1993-12-31     cash and share                 1994-07-11                000001.XSHE
1994-12-31     cash and bonus share           1995-09-25                000001.XSHE
1995-12-31     bonus and transferred share     1996-05-27                000001.XSHE
1996-12-31     cash and bonus share           1997-08-25                000001.XSHE
1997-12-31     no dividend                        None                000001.XSHE
...

get_dividend - 获取股票现金分红数据

get_dividend(order_book_id, start_date=None, end_date=None, market='cn')

获取某只股票在一段时间内的现金分红情况(包含起止日期)。如未指定日期,则默认所有。目前仅支持中国市场。

参数
参数类型说明
order_book_idstr or list合约代码
start_datestr, datetime.date, datetime.datetime, pandasTimestamp开始日期
end_datestr, datetime.date, datetime.datetime, pandasTimestamp结束日期
marketstr默认是中国市场('cn'),目前仅支持中国市场
返回
字段类型说明
declaration_announcement_datestr分红宣布日,上市公司一般会提前一段时间公布未来的分红派息事件
book_closure_datestr股权登记日
dividend_cash_before_taxfloat税前分红
ex_dividend_datestr除权除息日,该天股票的价格会因为分红而进行调整
payable_datestr分红到帐日,这一天最终分红的现金会到账
round_lotfloat分红最小单位,例如:10代表每10股派发dividend_cash_before_tax单位的税前现金
范例
[In]
get_dividend('000001.XSHE', start_date='20130104', end_date='20140106')

[Out]
                              book_closure_date  dividend_cash_before_tax  \
declaration_announcement_date
2013-06-14                           2013-06-19                    0.9838

                              ex_dividend_date payable_date  round_lot
declaration_announcement_date
2013-06-14                          2013-06-20   2013-06-20       10.0

get_split - 获取股票拆分数据

get_split(order_book_id, start_date=None, end_date=None, market='cn')

获取某只股票在一段时间内的拆分情况(包含起止日期),如未指定日期,则默认所有。目前仅支持中国市场。

参数
参数类型说明
order_book_idstr or list合约代码
start_datestr, datetime.date, datetime.datetime, pandasTimestamp开始日期
end_datestr, datetime.date, datetime.datetime, pandasTimestamp结束日期
marketstr默认是中国市场('cn'),目前仅支持中国市场
返回
字段类型说明
ex_dividend_datestr除权除息日,该天股票的价格会因为拆分而进行调整
book_closure_datestr股权登记日
split_coefficient_fromfloat拆分因子(拆分前)
split_coefficient_tofloat拆分因子(拆分后)
payable_datestr股票分红到帐日
例如:每10股转增2股,则split_coefficient_from = 10, split_coefficient_to = 12.
范例
[In]
get_split('000001.XSHE', start_date='20100104', end_date='20140104')

[Out]
                 book_closure_date payable_date  split_coefficient_from  \
ex_dividend_date
2013-06-20              2013-06-19   2013-06-20                      10

                  split_coefficient_to
ex_dividend_date
2013-06-20                        16.0

get_ex_factor - 获取复权因子

get_ex_factor(order_book_id, start_date=None, end_date=None, market='cn')

获取复权因子。如未指定日期,则默认所有。

参数
参数类型说明
order_book_idstr or list合约代码
start_datestr, datetime.date, datetime.datetime, pandasTimestamp开始日期
end_datestr, datetime.date, datetime.datetime, pandasTimestamp结束日期
marketstr默认是中国市场('cn'),目前仅支持中国市场
返回

pandas dataframe - 包含了复权因子的日期和对应的各项数值

字段类型说明
ex_datestr除权除息日
ex_factorfloat复权因子,考虑了分红派息与拆分的影响,为一段时间内的股价调整乘数。
举例来说,平安银行('000001.XSHE')在2016年6月15日每10股派发现金股利人民币 1.53元(含税),并以资本公积转增股本每10股转增2股。
6月15日的收盘价为10.44元,其除权除息后的价格应当为 (10.44-1.53/10) / 1.2 = 8.5725.本期复权因子为10.44 / 8.5725 = 1.217847
ex_cum_factorfloat累计复权因子,X日所在期复权因子 = 当前最新累计复权因子 / 截至X日最新累计复权因子。
举例来说,2016年5月05日所在期复权因子 = 122.424143 / 100.525060 = 1.217847
ex_end_datestr复权因子所在期的截止日期
范例
[In]
get_ex_factor('000001.XSHE', start_date='2013-01-04', end_date='2017-01-04')

[Out]
            order_book_id  ex_factor  ex_cum_factor announcement_date  \
ex_date
2013-06-20   000001.XSHE   1.614263      68.255824        2013-06-19
2014-06-12   000001.XSHE   1.216523      83.034780        2014-06-11
2015-04-13   000001.XSHE   1.210638     100.525060        2015-04-10
2016-06-16   000001.XSHE   1.217847     122.424143        2016-06-15

           ex_end_date
ex_date
2013-06-20  2014-06-11
2014-06-12  2015-04-12
2015-04-13  2016-06-15
2016-06-16         NaT

is_suspended - 判断股票是否全天停牌

is_suspended(order_book_id, start_date=None, end_date=None, market='cn')

判断某只股票在一段时间(包含起止日期)是否全天停牌。

参数
参数类型说明
order_book_idstr合约代码。传入单只股票的order_book_id
start_datestr, datetime.date, datetime.datetime, pandasTimestamp开始日期,默认为股票上市日期
end_datestr, datetime.date, datetime.datetime, pandasTimestamp结束日期,默认为当前日期,如果股票已经退市,则为退市日期
marketstr默认是中国市场('cn'),目前仅支持中国市场
返回

pandas DataFrame 如果在查询期间内股票尚未上市,或已经退市,则函数返回None;如果开始日期早于股票上市日期,则以股票上市日期作为开始日期。

范例
[In]
is_suspended('武钢股份', start_date='20160624')
[Out]
               武钢股份
2016-06-24       False
2016-06-27        True
2016-06-28        True
2016-06-29        True
2016-06-30        True
2016-07-01        True
2016-07-04        True
2016-07-05        True
2016-07-06        True
...
2016-08-30        True
2016-08-31        True

is_st_stock - 查询股票是否为ST股

is_st_stock(order_book_id, start_date, end_date)

判断一只或多只股票在一段时间(包含起止日期)内是否为ST股。

ST股包括如下:

参数
参数类型说明
order_book_idstr or str list合约代码,可传入order_book_id, order_book_id list
start_datestr, datetime.date, datetime.datetime, pandasTimestamp开始日期
end_datestr, datetime.date, datetime.datetime, pandasTimestamp结束日期
返回

pandas DataFrame - 查询时间段内是否为ST股的查询结果

范例
[In]
is_st_stock("002336.XSHE", "20160411", "20160510")
[Out]
            002336.XSHE
2016-04-11    False
2016-04-12    False
...
2016-05-09    True
2016-05-10    True

[In]
is_st_stock(["002336.XSHE", "000001.XSHE"], "2016-04-11", "2016-05-10")
[Out]
      002336.XSHE    000001.XSHE
2016-04-11    False    False
2016-04-12    False    False
...
2016-05-09    True    False
2016-05-10    True    False

get_securities_margin - 获取融资融券信息

get_securities_margin(id_or_symbols, start_date=None, end_date=None, fields=None,expect_df=False)

获取融资融券信息。包括深证融资融券数据以及上证融资融券数据情况。既包括个股数据,也包括市场整体数据。需要注意,融资融券的开始日期为2010年3月31日;根据交易所的原始数据,上交所个股跟整个市场的输出信息列表不一致,个股没有融券余量金额跟融资融券余额两项, 而深交所个股跟整个市场的输出信息列表一致。

参数
参数类型说明
id_or_symbolsstr or str list可输入order_book_id, order_book_id list。另外,输入'XSHG'或'sh'代表整个上证整体情况;'XSHE'或'sz'代表深证整体情况
start_datestr, datetime.date, datetime.datetime, pandasTimestamp开始日期,默认为当前最近日期前一个月
end_datestr, datetime.date, datetime.datetime, pandasTimestamp结束日期,默认为当前有数据的最新日期
fieldsstr OR str list默认为所有字段。见下方列表
expect_dfboolean默认返回原有的数据结构。如果调为真,则返回pandas dataframe
fields字段名
margin_balance融资余额
buy_on_margin_value融资买入额
margin_repayment融资偿还额
short_balance融券余额
short_balance_quantity融券余量
short_sell_quantity融券卖出量
short_repayment_quantity融券偿还量
total_balance融资融券余额
返回
范例
[In]
get_securities_margin('510050.XSHG', start_date='20160801', end_date='20160805')
[Out]
margin_balance    buy_on_margin_value    short_sell_quantity    margin_repayment    short_balance_quantity    short_repayment_quantity    short_balance    total_balance
2016-08-01    7.811396e+09    50012306.0    3597600.0    41652042.0    15020600.0    1645576.0    NaN    NaN
2016-08-02    7.826381e+09    34518238.0    2375700.0    19532586.0    14154000.0    3242300.0    NaN    NaN
2016-08-03    7.733306e+09    17967333.0    4719700.0    111043009.0    16235600.0    2638100.0    NaN    NaN
2016-08-04    7.741497e+09    30259359.0    6488600.0    22068637.0    17499000.0    5225200.0    NaN    NaN
2016-08-05    7.726343e+09    25270756.0    2865863.0    40423859.0    14252363.0    6112500.0    NaN    NaN
[In]
get_securities_margin(['XSHE', 'XSHG'],start_date='20160801', end_date='20160805', fields='margin_balance')
[Out]
        XSHE        XSHG
2016-08-01    3.837627e+11    4.763557e+11
2016-08-02    3.828923e+11    4.763931e+11
2016-08-03    3.823545e+11    4.769321e+11
2016-08-04    3.833260e+11    4.776380e+11
2016-08-05    3.812751e+11    4.766928e+11
[In]
get_securities_margin(['XSHG', '601988.XSHG', '510050.XSHG'],start_date='20160801', end_date='20160805')
[Out]
<class 'pandas.core.panel.Panel'>
Dimensions: 8 (items) x 5 (major_axis) x 3 (minor_axis)
Items axis: margin_balance to total_balance
Major_axis axis: 2016-08-01 00:00:00 to 2016-08-05 00:00:00
Minor_axis axis: XSHG to 510050.XSHG
[In]
get_securities_margin('510050.XSHG', start_date='20160801', end_date='20160805', fields='margin_repayment')
[Out]
2016-08-01     41652042.0
2016-08-02     19532586.0
2016-08-03    111043009.0
2016-08-04     22068637.0
2016-08-05     40423859.0
Name: margin_repayment, dtype: float64

get_shares - 获取流通股信息

get_shares(id_or_symbols, start_date='2013-01-04', end_date='2014-01-04', fields=None, market='cn',expect_df=False)

获取某只股票在一段时间内的流通情况(包含起止日期)。

参数
参数类型说明
id_or_symbolsstr可输入order_book_id或symbol
start_datestr, datetime.date, datetime.datetime, pandasTimestamp开始日期,默认为'2013-01-04'
end_datestr, datetime.date, datetime.datetime, pandasTimestamp结束日期,默认为'2014-01-04'
fieldsstr OR str list默认为所有字段。见下方列表
marketstr默认是中国市场('cn'),目前仅支持中国市场
expect_dfboolean默认返回原有的数据结构。如果调为真,则返回pandas dataframe
返回
fields字段名
total总股本
circulation_a流通A股
management_circulation已过禁售期的高管持有的股份
non_circulation_a非流通A股合计
total_aA股总股本
范例
[In]
get_shares('000001.XSHE', start_date='20160801', end_date='20160806')
[Out]
            circulation_a  management_circulation  non_circulation_a  \
2016-08-01   1.463118e+10                     NaN       2.539231e+09   
2016-08-02   1.463118e+10                     NaN       2.539231e+09   
2016-08-03   1.463118e+10                     NaN       2.539231e+09   
2016-08-04   1.463118e+10                     NaN       2.539231e+09   
2016-08-05   1.463118e+10                     NaN       2.539231e+09   

                 total_a         total  
2016-08-01  1.717041e+10  1.717041e+10  
2016-08-02  1.717041e+10  1.717041e+10  
2016-08-03  1.717041e+10  1.717041e+10  
2016-08-04  1.717041e+10  1.717041e+10  
2016-08-05  1.717041e+10  1.717041e+10   
[In]
get_shares('000001.XSHE', start_date='20160801', end_date='20160806', fields='total')
[Out]
2016-08-01    1.717041e+10
2016-08-02    1.717041e+10
2016-08-03    1.717041e+10
2016-08-04    1.717041e+10
2016-08-05    1.717041e+10
Name: total, dtype: float64

get_stock_connect - 获取沪深股通持股信息

get_stock_connect(id_or_symbols, start_date='2017-03-17', end_date='2018-03-16', fields=None,expect_df=False)

获取A股股票在一段时间内的在香港上市交易的持股情况。

参数
参数类型说明
id_or_symbolsstr可输入order_book_id或symbol。另,
1、输入‘shanghai_connect'可返回沪股通的全部股票数据。
2、输入'shenzhen_connect'可返回深股通的全部股票数据。
3、输入'all_connect'可返回沪股通、深股通的全部股票数据。
start_datestr, datetime.date, datetime.datetime, pandasTimestamp开始日期,默认为'2017-03-17'
end_datestr, datetime.date, datetime.datetime, pandasTimestamp结束日期,默认为'2018-03-16'
fieldsstr OR str list默认为所有字段。见下方列表
expect_dfboolean默认返回原有的数据结构。如果调为真,则返回pandas dataframe
返回
fields字段名
shares_holding持股量
holding_ratio持股比例
范例
[In]
get_stock_connect('000049.XSHE',start_date='2018-05-08',end_date='2018-05-10')
[Out]

        holding_ratio     shares_holding
2018-05-08     0.09     194295.0
2018-05-09     0.07     144228.0
2018-05-10     0.06     136628.0
[In]
df = get_stock_connect('shanghai_connect',start_date='20180508',end_date='20180510')
df.major_xs('2018-05-08')
[Out]

             holding_ratio     shares_holding
600000.XSHG     0.55     156945807.0
600004.XSHG     12.55     259814825.0
600006.XSHG     0.03     774403.0
600007.XSHG     1.04     10565368.0
600008.XSHG     1.00     48246803.0
600009.XSHG     32.11     351203760.0
600010.XSHG     0.26     57902557.0
600011.XSHG     0.16     17702630.0
...

get_main_shareholder - 获取主要A股股东信息

get_main_shareholder(order_book_id, start_date=None, end_date=None, is_total=False, market='cn')

获取A股主要股东构成及持流通A股数量比例、持股性质等信息,通常为前十位。

参数
参数类型说明
order_book_idstr给出单个order_book_id。
start_datestr, datetime.date, datetime.datetime, pandasTimestamp开始日期,默认为去年当日。
end_datestr, datetime.date, datetime.datetime, pandasTimestamp结束日期,默认为查询当日。
is_totalbool默认为False, 即基于持有A股流通股。若为True则基于所有发行出的A股。
marketstr市场,默认'cn'为中国大陆市场。
返回
fields字段名
shares_holding持股量
holding_ratio持股比例
info_date公告发布日
end_date截止日期
rank排名
shareholder_name股东名称
shareholder_attr股东属性
shareholder_kind股东性质
shareholder_type股东类别
hold_percent_total占股比例(%) 当fields=‘total’时,持股数(股)/总股本*100。
hold_percent_float占流通A股比例(%),无限售流通A股/已上市流通A股(不含高管股)*100
share_pledge股权质押涉及股数(股)
share_freeze股权冻结涉及股数(股)
范例
[In]
get_main_shareholder('000001.XSHE', start_date='20180301', end_date='20180315', is_total=False)
[Out]

            end_date     rank     shareholder_name                             shareholder_attr     shareholder_kind     shareholder_type     hold_percent_total     hold_percent_float     share_pledge  share_freeze
info_date                                         
2018-03-15     2017-12-31     1         中国平安保险(集团)股份有限公司-集团本级-自有资金          企业              金融机构—保险公司          None                48.095791            48.813413                  NaN      NaN
2018-03-15     2017-12-31     2         中国平安人寿保险股份有限公司-自有资金                    企业             金融机构—保险公司          None               6.112042               6.203238                     NaN     NaN
2018-03-15     2017-12-31     3         中国证券金融股份有限公司                              企业               金融机构—证券、信托公司     None              2.854768              2.897363                    NaN        NaN
2018-03-15     2017-12-31     4         中国平安人寿保险股份有限公司-传统-普通保险产品              证券品种           保险投资组合               None                 2.269811             2.303679                  NaN     NaN
2018-03-15     2017-12-31     5         香港中央结算有限公司                                  企业              外资独资企业              None                2.124405            2.156103                  NaN     NaN
2018-03-15     2017-12-31     6         中央汇金资产管理有限责任公司                           企业                资产管理公司            None             1.259219              1.278007                   NaN     NaN
2018-03-15     2017-12-31     7         深圳中电投资股份有限公司                              企业               投资、咨询公司            None             1.083561              1.099729                   NaN       NaN
2018-03-15     2017-12-31     8         河南鸿宝集团有限公司                                  企业               一般企业                  None               0.459273                0.466125                 NaN     NaN
2018-03-15     2017-12-31     9         南方基金-农业银行-南方中证金融资产管理计划                 证券品种           基金专户理财               None                 0.336683             0.341707                 NaN      NaN
2018-03-15     2017-12-31     10         新华人寿保险股份有限公司-分红-个人分红-018L-FH002深     证券品种           保险投资组合               None                  0.311545             0.316193                 NaN      NaN

get_private_placement - 获取A股股票定向增发信息

get_private_placement(order_book_ids, start_date=None, end_date=None, progress='complete', market='cn')

获取A股股票定向增发的信息。

参数
参数类型说明
order_book_idstr给出单个order_book_id。
start_datestr, datetime.date, datetime.datetime, pandasTimestamp开始日期(公告日期)
end_datestr, datetime.date, datetime.datetime, pandasTimestamp结束日期(公告日期)
prgoressstr是否已完成定增,默认为complete。可选参数["complete", "incomplete", "all"]
marketstr市场,默认'cn'为中国大陆市场。
返回
fields字段名
initial_info_date公告发布日
csrc_approval_date证监会批准日
issue_price定增发行价
issue_type发行方式
issued_shares发行股数
listed_date上市日期
progress目前进度
范例
[In]
get_private_placement("000001.XSHE")
[Out]
                                        csrc_approval_date     issue_price     issue_type     issued_shares     listed_date     progress
order_book_id     initial_info_date                         
000001.XSHE        2009-06-13             2010-06-29                   18.26     非公开发行      3.795800e+08     2010-09-17     实施完成
                 2010-09-02             2011-06-29                   17.75     非公开发行      1.638337e+09     2011-08-05     实施完成
                 2013-09-09             2013-12-31                   11.17     非公开发行      1.323385e+09     2014-01-09     实施完成
                 2014-07-16             2015-04-25                   16.70     非公开发行      5.988024e+08     2015-05-21     实施完成

债券

bond.instruments - 获取债券合约基础信息

bond.instruments(order_book_ids)

获取债券合约基础信息,包括债券付息特征要素,发行人基本信息,发行规模,是否含权说明。支持多只债券并行查询。除此之外,支持各种功能查询,包括对含权债、浮息债基础信息查询,对债券在不同划分标准下所属类型查询,对债券的评级信息查询等。

参数
参数类型说明
order_book_idsstr OR str list债券流通场所代码,可传入order_book_id, order_book_id list。
参数
字段类型说明
value_datedatetime起息日
maturity_datedatetime到期日
par_valuefloat面值
coupon_ratefloat发行票面利率
coupon_frequencyfloat付息频率
tax_ratefloat债券利息所得税率
maturity_yearfloat债券期限(年)
currencystr货币
issuerstr发行人
issuer_typestr发行人类型
issue_pricefloat发行价格
initial_issue_sizefloat首次发行规模
total_issue_sizefloat总发行规模
with_optionstr是否为含权债
secu_marketstr交易所
coupon_methodstr债券计息方式
trade_typestr交易方式
interest_formulastr利息计算公式
bond_type1str债券一级分类
bond_type2str债券二级分类
inner_enhance_codestr债券内部信用增级方式
external_enhance_codestr债券外部信用增级方式
obligor_idstr债券主体上市公司code
obligor_typestr债券发行主体所属行业名称
redemption_methodstr债券提前还本方式
参数
[In]bond.instruments("137004.XSHG")
[Out]
    Instrument(order_book_id='137004.XSHG', symbol='2010年记账式附息(一期)国债', secu_market='NIB', trade_type='clean_price', value_date=datetime.datetime(2010, 1, 28, 0, 0), maturity_date=datetime.datetime(2012, 1, 28, 0, 0), par_value=100.0, coupon_rate=2.01, coupon_frequency=1.0, coupon_method='fixed_rate', interest_formula='ACT/ACT', compensation_rate=None, tax_rate=None, maturity_tear=2.0, currency='CNY', issuer='中华人民共和国财政部', issue_price=100.0, issuer_type='财政部', initial_issue_size=None, total_issue_size=26000000000.0, inner_enhance_mode=None, external_enhance_mode_code=None, delist_date=datetime.datetime(2012, 1, 19, 0, 0), bond_type1='国债', bond_type2=None, obligor_type=None, obligor_id=None, redemption_method=None, with_option=False)

金融、商品期货


连续合约

需要注意,由于期货合约存续的特殊性,针对每一品种的期货合约,系统中都增加了 主力连续合约以及指数连续合约两个人工合成的合约来满足使用需求。

日内不会进行主力合约的切换。主力连续合约是由该品种期货不同时期主力合约接续而成,代码以88或888结尾结尾,例如 IF88 或 IF888。前者为合约量价数据的简单拼接,未做平滑处理; 后者对价格进行了”平滑”处理,处理规则如下:以主力合约切换前一天(T-1日)新、旧两个主力合约收盘价做差, 之后将 T-1 日及以前的主力连续合约的所有价格水平整体加上或减去该价差,以”整体抬升”或”整体下降”主力合约的价格水平,成交量、持仓量均不作调整,成交额统一设置为0.


futures.get_dominant - 获取主力合约列表

futures.get_dominant(underlying_symbol, start_date=None, end_date=None,rule=0)

获取某一期货品种一段时间的主力合约列表。合约首次上市时,以当日收盘同品种持仓量最大者作为从第二个交易日开始的主力合约。当同品种其他合约持仓量在收盘后超过当前主力合约1.1倍时,从第二个交易日开始进行主力合约的切换。日内不会进行主力合约的切换。

参数
参数类型说明
underlying_symbolstr期货合约品种,例如沪深300股指期货为'IF'
start_datestr, datetime.date, datetime.datetime, pandasTimestamp开始日期,默认为期货品种最早上市日期后一交易日
end_datestr, datetime.date, datetime.datetime, pandasTimestamp结束日期,默认为当前日期
ruleint默认是rule=0,采用最大昨仓为当日主力合约,每个合约只能做一次主力合约,不会重复出现。针对股指期货,只在当月和次月选择主力合约。
当rule=1时,主力合约的选取只考虑最大昨仓这个条件。
返回

Pandas.Series - 主力合约代码列表

范例

futures.get_contracts - 获取期货可交易合约列表

futures.get_contracts(underlying_symbol, date=None)

获取某一期货品种在策略当前日期的可交易合约order_book_id列表。按照到期月份,下标从小到大排列,返回列表中第一个合约对应的就是该品种的近月合约。

参数
参数类型说明
underlying_symbolstr期货合约品种,例如沪深300股指期货为'IF'
datestr, datetime.date, datetime.datetime, pandasTimestamp查询日期,默认为当日
返回

str list - 可交易的order_book_id list

范例
[In]
futures.get_contracts('IF', '20160801')
[Out]
['IF1612', 'IF1701', 'IF1703', 'IF1706']

futures.get_member_rank - 获取期货合约持仓等排名情况

futures.get_member_rank(order_book_id, trading_date, rank_by)

获取期货某合约的会员排名数据

参数
参数类型说明
objstr可以是期货的具体合约或者品种
trading_datestr查询日期,默认为当日
rank_by排名依据,默认为volume即根据持仓量统计排名,另外可选'long'和'short',分别对应持买仓量统计和持卖仓量统计。
返回

-pandas DataFrame

字段类型说明
commodity_idstr期货品种代码或期货合约代码
member_namestr期货商名称
rankint排名
volumeint交易量或持仓量视乎参数rank_by的设定
volume_changeint交易量或持仓量较之前的变动
范例
[In]
futures.get_member_rank('CU',trading_date=20180910,rank_by='short')
[Out]
        commodity_id     member_name     rank     volume     volume_change
trading_date                     
2018-09-10     CU             五矿经易            1     29160      302
2018-09-10     CU             中信期货            2     27136      -535
2018-09-10     CU             永安期货            3     16521      753
2018-09-10     CU             海通期货            4     15994      -161
2018-09-10     CU             中粮期货            5     14572      -614
2018-09-10     CU             国泰君安            6     8852        245
2018-09-10     CU             金瑞期货            7     8668        -703
2018-09-10     CU             迈科期货            8     8320        94
2018-09-10     CU             建信期货            9     6688        -57
2018-09-10     CU             广发期货           10     5847        -34
2018-09-10     CU             华安期货           11     5451        -289
2018-09-10     CU             格林大华           12     5330        -217
2018-09-10     CU             中银国际           13     5190        487
2018-09-10     CU             铜冠金源           14     4896        139
2018-09-10     CU             兴证期货           15     4636        -459
2018-09-10     CU             方正中期           16     4587        -92
2018-09-10     CU             国投安信           17     4567        79
2018-09-10     CU             东方财富           18     4551        127
2018-09-10     CU             新湖期货           19     4269        -60
2018-09-10     CU             国贸期货           20     3396        -522

futures.get_warehouse_stocks - 获取期货仓单数据

futures.get_warehouse_stocks(underlying_symbols, start_date=None, end_date=None, market='cn')

获取期货某品种的注册仓单数据

参数
参数类型说明
order_book_idstr期货合约品种
start_datestr开始日期,用户必须指定
end_datestr结束日期,默认为策略当天日期的前一天
marketstr目前只支持中国市场 ('cn')
返回

-pandas DataFrame

字段类型说明
on_warrantint注册仓单量
exchangestr期货品种对应交易所
范例
范例
[In]
futures.get_warehouse_stocks('CU',start_date=20181201,end_date=20181205)
[Out]
                            on_warrant     exchange
date     underlying_symbol         
20181203     CU                      51587     SHFE
20181204     CU                      51738     SHFE
20181205     CU                      52966     SHFE

金融、商品期权


options.get_contracts - 筛选期权合约

options.get_contracts(underlying, option_type=None, maturity=None, strike=None, trading_date=None)
参数
参数类型说明
underlyingstr期权标的。可以填写 'M' 代表期货品种的字母;也可填写'M1901' 这种具体合约代码。必须填写,只支持单一品种或合约代码输入
option_typestr'C' 代表认购期权;'P' 代表认沽期权合约。默认返回全部类型
maturitystr OR int到期月份。例如1811代表期权18年11月到期(而不是标的期货的到期时间)。默认返回全部到期月份
strikefloat行权价。查询时向左靠档匹配(例如,当前最高行权价是1000,则输入大于1000的行权价都会向左靠档至1000)。默认返回全部行权价
trading_datestr OR int查询日期。默认返回全部数据
返回

返回符合条件的期权 order_book_id list;如果无符合条件期权则返回[] 空 list

范例

指数


index_indicator - 获取指数每日估值指标

index_indicator(order_book_id,start_date,end_date,fields)

获取指数每日估值指标。目前仅提供上证50、沪深300、中证500和中证800的市盈率和市净率。 计算逻辑:

参数
参数类型说明
order_book_idstr or str list可输入order_book_id, order_book_id list。
start_datestr, datetime.date, datetime.datetime, pandasTimestamp开始日期,默认2016-01-04
end_datestr, datetime.date, datetime.datetime, pandasTimestamp结束日期,默认2016-12-31
fieldsstr OR str list对应估值字段。默认为所有字段。
返回
范例
[In]
index_indicator(['000016.XSHG','000300.XSHG'],start_date=20170402,end_date=20170415)
[Out]
                                pb     pe_ttm
order_book_id     trade_date         
000016.XSHG     2017-04-05     1.0947     10.8063
000300.XSHG     2017-04-05     1.3808     13.7387
000016.XSHG     2017-04-06     1.0964     10.8229
000300.XSHG     2017-04-06     1.3837     13.7673
000016.XSHG     2017-04-07     1.0996     10.8572
000300.XSHG     2017-04-07     1.3876     13.8084
000016.XSHG     2017-04-10     1.0953     10.8152
000300.XSHG     2017-04-10     1.3831     13.7668
000016.XSHG     2017-04-11     1.0964     10.8254
000300.XSHG     2017-04-11     1.3881     13.8163
000016.XSHG     2017-04-12     1.0963     10.8310
000300.XSHG     2017-04-12     1.3863     13.7959
000016.XSHG     2017-04-13     1.0920     10.7911
000300.XSHG     2017-04-13     1.3856     13.7823
000016.XSHG     2017-04-14     1.0858     10.7476
000300.XSHG     2017-04-14     1.3751     13.6832

index_components - 获取指数成分股列表

index_components(order_book_id, date=None, market='cn')

获取某一指数的股票构成列表,也支持指数的历史构成查询。

参数
参数类型说明
order_book_idstr指数代码,传入order_book_id,例如'000001.XSHG'。目前所支持的指数列表可以参考指数数据表
datestr, datetime.date, datetime.datetime, pandas Timestamp查询日期,默认为最新记录日期
marketstr默认是中国市场('cn'),目前仅支持中国市场
返回

构成该指数股票的order_book_id list

范例
[In]
index_components('000001.XSHG')
[Out]
['600000.XSHG',
 '600004.XSHG',
 ...]

[In]
index_components('000001.XSHG', date='2015-01-01')
[Out]
['600613.XSHG',
 '600239.XSHG',
 ...]

index_weights - 获取指数历史权重

index_weights(order_book_id, date=None)

获取某一指数的历史构成以及权重。注意,该数据为月度更新。

参数
参数类型说明
order_book_idstr指数代码,可传入order_book_id,例如'000001.XSHG'或'沪深300'。目前所支持的指数列表可以参考指数数据表
datestr, datetime.date, datetime.datetime, pandas Timestamp查询日期,默认为最新记录日期
返回

pandas Series,每只股票在指数中的构成权重。

范例
[In]
index_weights('000016.XSHG', '20160801')
[Out]
Order_book_id
600000.XSHG    0.03750
600010.XSHG    0.00761
600016.XSHG    0.05981
600028.XSHG    0.01391
600029.XSHG    0.00822
600030.XSHG    0.03526
600036.XSHG    0.04889
600050.XSHG    0.00998
600104.XSHG    0.02122

基金


fund.instruments - 获取基金基础信息

fund.instruments(order_book_ids)
参数
参数类型注释
order_book_idstr OR str list基金代码
返回

基金instrument对象或instrument list

字段类型说明
order_book_idstr合约代码
transition_timeinteger合约代码复用次数,代码从来都属于唯一个基金,则transition_time为零
symbolstr证券的简称
issuerstr基金公司
fund_managerstr基金经理
establishement_datestr基金成立日
listed_datestr基金上市日
stop_datestr基金终止日
de_listed_datestr基金退市日
benchmarkstr业绩比较基准
latest_sizefloat最新资产规模(单位:元)
fund_typestr基金类型。债券型 - Bond, 股票型 - Stock, 混合型 - Hybrid, 货币型 - Money, 短期理财型 - ShortBond, 股票指数 - StockIndex, 债券指数 - BondIndex, 联接基金 - Related, QDII - QDII
范例
In [10]: fund.instruments('050116')
Out[10]: Instrument(transition_time=0, symbol='博时宏观C', issuer='博时基金管理有限公司', exchange='', establishment_date='2010-07-27', benchmark='100.0%×中证全债指数', round_lot=1.0, order_book_id='050116', listed_date='2010-07-27', accrued_daily=False, latest_size=57002305.04, fund_type='Bond', stop_date='0000-00-00', fund_manager='王申 王衍胜 ', de_listed_date='0000-00-00', type='PublicFund')

fund.all_instruments - 获取所有公募基金信息

fund.all_instruments(date=None)
参数
参数类型注释
datestr, datetime.date, datetime.datetime, pandasTimestamp查询日期,默认为当前日期上一交易日。过滤掉在该日期尚未上市交易的基金合约
返回

pandas DataFrame

字段类型说明
order_book_idstr合约代码
symbolstr证券的简称
issuerstr基金公司
fund_managerstr基金经理
listed_datestr发行日期
benchmarkstr业绩比较基准
latest_sizefloat最新资产规模(单位:元)
fund_typestr基金类型。债券型 - Bond, 股票型 - Stock, 混合型 - Hybrid, 货币型 - Money, 短期理财型 - ShortBond, 股票指数 - StockIndex, 债券指数 - BondIndex, 联接基金 - Related, QDII - QDII
范例
In [20]: fund.all_instruments().head()
Out[20]: 
  order_book_id        listed_date     issuer         symbol   fund_type  \
0        233001    2004-03-26  摩根士丹利华鑫基金       大摩基础行业混合      Hybrid   
1        165519    2013-08-16       信诚基金  信诚中证800医药指数分级  StockIndex   
2        004234    2017-01-19       中欧基金      中欧数据挖掘混合C      Hybrid   
3        370026    2013-02-04     上投摩根基金      上投轮动添利债券C        Bond   
4        519320    2016-05-04     浦银安盛基金   浦银安盛幸福聚利定开债A       Other   

  fund_manager   latest_size                          benchmark  
0          孙海波  1.318854e+08          沪深300指数×55%+ 中证综合债券指数×45%  
1           杨旭  2.371657e+08  95%×中证800制药与生物科技指数收益率+5%×金融同业存款利率  
2           曲径           NaN       沪深300指数收益率×60%+中债综合指数收益率×40%  
3           唐瑭  8.183768e+06                           中证综合债券指数  
4          刘大巍  3.018930e+09                 一年期定期存款利率(税后)+1.4%  

fund.get_nav - 获取基金净值信息

fund.get_nav(order_book_id, start_date=None, end_date=None, fields=None,expect_df=False)
参数
参数类型注释
order_book_idstr基金代码
start_datestr, datetime.date, datetime.datetime, pandasTimestamp查询的开始日期,默认为所有净值数据
end_datestr, datetime.date, datetime.datetime, pandasTimestamp查询的结束日期
fieldsstr OR str list查询字段,有效值见下方
expect_dfboolean默认返回原有的数据结构。如果调为真,则返回pandas dataframe
返回

pandas DataFrame

字段类型说明
unit_net_valuefloat单位净值
acc_net_valuefloat累计单位净值
adjusted_net_valuefloat复权净值
change_ratefloat涨跌幅
daily_profitfloat每万元收益(日结型货币基金专用)
weekly_yieldfloat7日年化收益率(日结型货币基金专用)
subscribe_statusstr订阅状态。开放 - Open, 暂停 - Suspended, 限制大额申赎 - Limited, 封闭期 - Close
redeem_statusstr赎回状态。开放 - Open, 暂停 - Suspended, 限制大额申赎 - Limited, 封闭期 - Close
范例
In [7]: fund.get_nav('050116', '20170401', '20170408')
Out[7]: 
            acc_net_value  unit_net_value subscribe_status redeem_status  \
2017-04-05          1.192           1.149          Limited          Open   
2017-04-06          1.192           1.149          Limited          Open   
2017-04-07          1.191           1.148          Limited          Open   

            change_rate  adjusted_net_value  
2017-04-05     0.001744            1.191662  
2017-04-06     0.000000            1.191662  
2017-04-07    -0.000870            1.190625  
In [8]: fund.get_nav('001232', '20170401', '20170408')
Out[8]: 
    subscribe_status    redeem_status    daily_profit    weekly_yield
2017-04-04    Open        Open    3.4489    0.06855
2017-04-05    Open        Open    0.9106    0.05864
2017-04-06    Open        Open    0.8536    0.05457
2017-04-07    Open        Open    1.6463    0.03641

fund.get_holdings - 获取基金持仓信息

fund.get_holdings(order_book_id, date=None)

从指定日期回溯,获取最近的基金持仓信息。

参数
参数类型注释
order_book_idstr基金代码
datestr, datetime.date, datetime.datetime, pandasTimestamp查询日期,回溯获取距离指定日期最近的持仓数据。如不指定日期,则获取所有日期的持仓数据
返回

pandas DataFrame

字段类型说明
order_book_idstr股票合约代码
weightfloat持仓百分比
datestr持仓披露日期
sharesfloat持仓股数(单位:1股,债券为NaN)
market_valuefloat持仓市值(单位:元,债券为NaN)
范例
In [10]: fund.get_holdings('050116', '20170201')
Out[10]: 
  order_book_id  weight    shares  market_value       date
0   300410.XSHE    1.74  174200.0     9405200.0 2016-12-31
1   000888.XSHE    0.00     800.0        9600.0 2016-12-31
2        160419   18.37       NaN           NaN 2016-12-31
3        160209   22.12       NaN           NaN 2016-12-31
4        160208    9.07       NaN           NaN 2016-12-31
5        150213    9.28       NaN           NaN 2016-12-31
6        140067    9.04       NaN           NaN 2016-12-31
7        132001    0.01       NaN           NaN 2016-12-31
8        128012    0.01       NaN           NaN 2016-12-31
9        110031    0.00       NaN           NaN 2016-12-31


fund.get_etf_components - 获取ETF成分股持有情况

fund.get_etf_components(order_book_id, trading_date=None, market='cn')

获取ETF成分股持有情况

参数
参数类型注释
order_book_idstr基金代码
datestr, datetime.date, datetime.datetime, pandasTimestamp查询日期,如不指定日期,则获取当天数据(注意仅交易日有效)。
返回

pandas DataFrame

范例
In [10]: fund.get_etf_components('510050.XSHG',trading_date=20190117)
Out[10]: 

    trading_date     order_book_id     stock_code     stock_amount     cash_substitute     cash_substitute_proportion     fixed_cash_substitute
0     2019-01-17     510050.XSHG       600000         5600.0                 允许                                  0.1       NaN
1     2019-01-17     510050.XSHG       600016         11900.0               允许                                  0.1       NaN
2     2019-01-17     510050.XSHG       600019         4300.0                 允许                                  0.1       NaN
3     2019-01-17     510050.XSHG       600028         5800.0                 允许                                  0.1       NaN
4     2019-01-17     510050.XSHG       600029         1600.0                 允许                               0.1       NaN
5     2019-01-17     510050.XSHG       600030         3800.0                 允许                                  0.1       NaN
6     2019-01-17     510050.XSHG       600036         4900.0                 允许                                  0.1       NaN
7     2019-01-17     510050.XSHG       600048         3400.0                 允许                                  0.1       NaN
8     2019-01-17     510050.XSHG       600050         4500.0                 允许                                  0.1       NaN
...

fund.get_split - 获取基金拆分信息

fund.get_split(order_book_id)
参数
参数类型注释
order_book_idstr基金代码
返回

pandas DataFrame

index: 除权除息日

范例
In [13]: fund.get_split('000246').head()
Out[13]: 
           split_ratio
2013-11-01  1.00499349
2013-12-02  1.00453123
2014-01-02  1.00455316
2014-02-07  1.00456182
2014-03-03  1.00452639


fund.get_dividend - 获取基金分红信息

fund.get_dividend(order_book_id)
参数
参数类型注释
order_book_idstr or list基金代码
返回

pandas DataFrame

index: 除权除息日

范例
In [11]: fund.get_dividend('050116')
Out[11]: 
           book_closure_date payable_date  dividend_before_tax
2012-01-17        2012-01-17   2012-01-19                0.002
2013-01-16        2013-01-16   2013-01-18                0.013
2015-01-14        2015-01-14   2015-01-16                0.028

fund.get_manager - 获取基金经理信息

fund.get_manager(order_book_id, expect_df=False)
参数
参数类型注释
order_book_idstr OR str list基金代码或代码列表
expect_dfboolean默认返回原有的数据结构。如果调为真,则返回pandas dataframe
返回

pandas DataFrame

范例
In [11]: fund.get_manager('161117')
Out[11]: 
  name        id  days start_date   end_date   return
0   胡剑  30159168   244 2014-07-12 2015-03-13   8.6997
1   胡剑  30159168   445 2013-04-22 2014-07-11   5.1786
2   刘琦  30127307   244 2014-07-12 2015-03-13   8.6997
3   刘琦  30127307   445 2013-04-22 2014-07-11   5.1786
4  李一硕  30062897   780 2015-03-14        NaT  14.9005
5  李一硕  30062897   244 2014-07-12 2015-03-13   8.6997
6  马喜德  30046114   306 2012-06-19 2013-04-21   7.9318
In [10]: fund.get_manager(['160224', '217019'])
Out [10]: 
<class 'pandas.core.panel.Panel'>
Dimensions: 6 (items) x 5 (major_axis) x 2 (minor_axis)
Items axis: name to return
Major_axis axis: 0 to 4
Minor_axis axis: 160224 to 217019

fund.get_asset_allocation - 获取基金资产配置

fund.get_asset_allocation(order_book_id, date=None)
参数
参数类型注释
order_book_idstr基金代码
datestr, datetime.date, datetime.datetime, pandasTimestamp查询日期,回溯获取距离指定日期最近的数据。如不指定日期,则获取所有日期的数据
返回

pandas DataFrame

index: 报告期

范例
In [11]: fund.get_asset_allocation('002425')
Out[11]: 
             stock    bond    cash           nav
2016-03-31  0.0520  0.8581  0.0918  5.506908e+07
2016-06-30  0.0656  0.9299  0.0053  6.455623e+07
2016-09-30  0.1403  0.5319  0.0119  4.035355e+08
2016-12-31  0.0637  0.4457  0.0174  8.504396e+08
2017-03-31  0.0000  0.6045  0.0345  1.365943e+08
2017-06-26  0.0000  0.4161  0.6456  7.271404e+07
2017-06-30  0.0000  0.3189  0.0028  7.058575e+07

fund.get_industry_allocation - 获取基金行业配置

fund.get_industry_allocation(order_book_id, date=None)
参数
参数类型注释
order_book_idstr基金代码
datestr, datetime.date, datetime.datetime, pandasTimestamp查询日期,回溯获取距离指定日期最近的数据。如不指定日期,则获取所有日期的数据
返回

pandas DataFrame

index: 报告期

范例
In [15]: fund.get_industry_allocation('519181', date='20170701')
Out[15]: 
                   industry  weights  market_value
2017-06-30  信息传输、软件和信息技术服务业   0.0000  7.639620e+03
2017-06-30         农、林、牧、渔业   0.0519  8.850876e+07
2017-06-30              制造业   0.5013  8.544167e+08
2017-06-30               合计   0.9027  1.538639e+09
2017-06-30              建筑业   0.1100  1.875309e+08
2017-06-30             房地产业   0.0990  1.687118e+08
2017-06-30           批发和零售业   0.0392  6.675525e+07
2017-06-30              采矿业   0.0501  8.545797e+07
2017-06-30              金融业   0.0512  8.724955e+07



fund.get_ratings - 获取基金评级信息

fund.get_ratings(order_book_id, date=None)
参数
参数类型注释
order_book_idstr基金代码
datestr, datetime.date, datetime.datetime, pandasTimestamp查询日期,回溯获取距离指定日期最近的数据。如不指定日期,则获取所有日期的数据
返回

pandas DataFrame

index: 评级日期

范例
In [16]: fund.get_ratings('202101')
Out[16]: 
             zs  sh3  sh5  jajx
2009-12-31  NaN  NaN  NaN   3.0
2010-03-31  NaN  NaN  NaN   3.0
2010-04-30  2.0  NaN  NaN   NaN
2010-06-30  NaN  3.0  4.0   1.0
2010-09-30  NaN  3.0  4.0   1.0
2010-12-31  NaN  2.0  4.0   1.0

fund.get_units_change - 获取基金份额变动信息

fund.get_ratings(order_book_id, date=None)
参数
参数类型注释
order_book_idstr基金代码
datestr, datetime.date, datetime.datetime, pandasTimestamp查询日期,回溯获取距离指定日期最近的数据。如不指定日期,则获取所有日期的数据
返回

pandas DataFrame

index: 参考日期

范例
In [17]: fund.get_units_change('001554')
Out[17]: 
            subscribe_units  redeem_units        units
2015-06-30              NaN           NaN   5000000.00
2015-09-30      71408891.69   37755554.39  38653337.30
2015-12-31      19756969.98   20692807.21  37717500.07
2016-03-31      17467356.40   16372818.76  38812037.71
2016-06-30      21264325.34   15937884.63  44138478.42
2016-09-30      37842604.31   32218403.07  49762679.66
2016-12-31      19158060.76   25157817.68  43762922.74
2017-03-31      12145314.55   18072618.82  37835618.47


fund.get_snapshot - 获取基金最新的衍生数据

fund.get_snapshot(order_book_ids, fields=None, market='cn')
参数
参数类型注释
order_book_idstr基金代码
fieldsstr or list返回字段,默认返回所有衍生字段
marketstr指定市场,目前仅有中国市场('cn')的基金衍生数据
返回

pandas DataFrame

index: order_book_id

范例
In [17]: fund.get_snapshot(['000001','001554'],fields=['information_ratio','average_size'])
Out[17]:
              latest_date     information_ratio     average_size
order_book_id             
000001          2018-12-19     0.0967                 6.848286e+09
001554          2018-07-02     -0.7828             2.343966e+07


fund.get_indicators - 获取基金的衍生数据

fund.get_indicators(order_book_ids, start_date=None, end_date=None, fields=None, market='cn')
参数
参数类型注释
order_book_idstr基金代码
start_datestr开始日期, 格式为 'YYYY-mm-dd', 默认为基金衍生数据最早有效日期
end_datestr结束日期, 格式为 'YYYY-mm-dd', 默认为查询当日
fieldsstr or list返回字段,默认返回所有衍生字段
marketstr指定市场,目前仅有中国市场('cn')的基金衍生数据
返回

pandas DataFrame

index: order_book_id

范例
In [17]: fund.get_indicators(['000001','001554'],fields=['information_ratio','average_size'],start_date='2018-05-14',end_date='2018-05-20')
Out[17]:

                                   information_ratio     average_size
order_book_id     datetime         
000001         2018-05-14                     0.0890         6.922106e+09
                2018-05-15                     0.0905         6.922106e+09
                2018-05-16                     0.0931         6.922106e+09
                2018-05-17                     0.0906         6.922106e+09
                2018-05-18                     0.0878         6.922106e+09
001554         2018-05-14                     -0.8045     2.497233e+07
                2018-05-15                     -0.8069     2.497233e+07
                2018-05-16                     -0.7983     2.497233e+07
                2018-05-17                     -0.8040     2.497233e+07
                2018-05-18                     -0.8154     2.497233e+07

宏观经济


econ.get_reserve_ratio - 获取存款准备金率

econ.get_reserve_ratio(reserve_type,start_date,end_date,date_type)
参数
参数类型说明
reserve_typestr目前有大型金融机构('major') 和 其他金融机构('other')两种分类。
默认为all,即所有类别都会返回。
start_datestr, datetime.date, datetime.datetime, pandasTimestamp开始日期,默认为去年的查询当日(基准为信息公布日)。
end_datestr, datetime.date, datetime.datetime, pandasTimestamp结束日期,默认为查询当日。
返回

pandas dataframe

字段类型说明
reserve_typestr存款准备金类别
info_datestr消息公布日期
effective_datestr存款准备金率生效日期
ratio_floorfloat存款准备金下限
ratio_ceilingfloat存款准备金上限
范例
[In]
econ.get_reserve_ratio(reserve_type='major',start_date='20170101',end_date='20181017')

[Out]

            reserve_type                     effective_date     ratio_ceiling     ratio_floor
info_date
2018-10-07     major_financial_institution     2018-10-15          15.0             15.0
2018-04-17     major_financial_institution     2018-04-25          16.0             16.0

econ.get_money_supply - 获取货币供应量

econ.get_money_supply(start_date,end_date)
参数
参数类型说明
start_datestr, datetime.date, datetime.datetime, pandasTimestamp开始日期,默认为去年的查询当日(基准为信息公布日)。
end_datestr, datetime.date, datetime.datetime, pandasTimestamp结束日期,默认为查询当日。
返回

pandas dataframe

字段类型说明
info_datestr消息公布日期
effective_datestr货币供应量生效日期
m0float市场现金流通量(百万元)
m1float狭义货币(百万元)
m2float广义货币(百万元)
m0_growth_yoyfloat市场现金流通量同比
m1_growth_yoyfloat狭义货币同比
m2_growth_yoyfloat广义货币同比
范例
[In]
econ.get_money_supply(start_date='20180801',end_date='20181017')

[Out]

               effective_date     m2          m1         m0    m2_growth_yoy  m1_growth_yoy     m0_growth_yoy
info_date                             
2018-09-21     2018-08-31     178867043.0     53832464.0     6977539.0     0.082       0.039         0.033
2018-08-16     2018-07-31     177619611.0     53662429.0     6953059.0     0.085       0.051         0.036

econ.get_factors- 获取宏观因子数据

econ.get_factors(factors, start_date, end_date)

获取宏观因子数据。

参数
参数类型说明
factorsstr宏观因子名称,点击下载
start_datedatetime起始日期
end_datedatetime截止日期
返回
参数类型说明
info_datestr因子发布的日期
start_datedatetime起始日期
end_datedatetime截止日期
valuefloat指标数据
范例
[In]econ.get_factors( start_date='20170801', end_date='20180801', factors='工业品出厂价格指数PPI_当月同比_(上年同月=100)')
[Out]
[start_date    end_date    value
factor    info_date            
工业品出厂价格指数PPI_当月同比_(上年同月=100)    
2017-08-09 09:30:00    2017-06-30    2017-07-31    105.5000
2017-09-09 09:30:00    2017-07-31    2017-08-31    106.3000
2017-10-16 09:30:00    2017-08-31    2017-09-30    106.9000
2017-11-09 09:30:00    2017-09-30    2017-10-31    106.9000
2017-12-09 09:30:00    2017-10-31    2017-11-30    105.8000
 ...]

舆情讯息


get_current_news - 获取新闻快讯

get_current_news(n, start_time, end_time,channels)

返回当前经济、金融相关的快讯。

参数
参数类型说明
nint返回新闻条目。默认为一条(以频道为基础),上限为1200条
start_timestr开始时间,格式为"yyyy-mm-dd hh:mm:ss"
end_timestr结束时间,格式为"yyyy-mm-dd hh:mm:ss"
channelsstr目前有四个频道全球经济,商品,外汇,中国A股。默认是全部('all')
返回

pandas dataframe

字段类型说明
channelstr快讯频道
datetimedatetime快讯广播时间
contentstr具体快讯内容
范例
[In]
get_current_news()

[Out]
                    datetime         content
channel         
global         2018-11-14 10:05:57     在岸人民币兑美元在数据公布后延续跌势,目前较早间高点回落约50点,报6.9529。
forex         2018-11-14 10:05:57     在岸人民币兑美元在数据公布后延续跌势,目前较早间高点回落约50点,报6.9529。
a-stock     2018-11-14 10:05:12     中国10月粗钢产量8,255万吨,创至少2014年5月以来新高,同比增长9.1%;1-10月...
commodity     2018-11-14 10:05:25     中国10月原油加工量5,278万吨,同比增长4.6%;1-10月原油加工量50,510万吨,..
[In]
get_current_news(start_time='2018-10-26 16:00:00',end_time='2018-10-26 16:05:00',channels='forex')

[Out]
                datetime         content
channel         
forex     2018-10-26 16:03:14     欧洲央行:预测人员维持2018-2020年通胀展望不变。预测人员下调2018及2019年GD...
forex     2018-10-26 16:02:24     美元/日元跌破112关口,日内跌逾0.3%。
forex     2018-10-26 16:00:57     【外管局公布2018年9月中国外汇市场交易概况数据】2018年9月,中国外汇市场(不含外币对...


RQPortal API - 获取策略回测数据(Alpha版)

rqportal模块的加入使得用户分析自己策略回测结果成为可能。目前rqportal提供的api可以获取某个策略回测的交易, 持仓和收益等回测数据。需要注意的是,该功能目前处于实验阶段,不排除未来修改接口的可能。

以下API中所需传入的run_id可以在历史回测的列表中找到,如下图: 图片描述 图片描述


rqportal.info - 获取回测基础信息

rqportal.info(run_id: int) -> dict
参数
参数类型说明
run_idint回测运行ID, 可从回测历史列表中获取
返回

Python dict

参数类型说明
titlestr回测策略名称
start_datedatetime回测开始时间
end_datedatetime回测结束时间
time_unitstrDAY - 日回测 MINUTE - 分钟回测
typestrSTOCK - 股票 FUTURE - 期货
stock_init_cashfloat股票账户初始资金
future_init_cashfloat期货账户初始资金

rqportal.risk - 获取回测风险数据

rqportal.risk(run_id: int) -> dict
参数
参数类型说明
run_idint回测运行ID, 可从回测历史列表中获取
返回

Python dict

参数类型说明
cashfloat回测期末资金
market_valuefloat回测期末总市值
alphafloatalpha值
annual_downside_riskfloat年度下跌风险
annual_volatilityfloat年度收益波动率
betafloatbeta值
information_ratiofloat信息比率
max_drawdownfloat最大回撤
portfolio_valuefloat总权益
sharpefloat夏普比率
sortinofloat索提诺比率
total_returnsfloat总收益

rqportal.portfolio - 获取每日收益数据

rqportal.portfolio(run_id: int, start_date: str='1970-01-01', end_date: str='2099-12-31') -> pd.DataFrame
参数
参数类型说明
run_idint回测运行ID, 可从回测历史列表中获取
start_datestr开始日期, 格式为 'YYYY-mm-dd', 默认从回测最早的日期开始
end_datestr结束日期, 格式为 'YYYY-mm-dd', 默认以回测最晚的日期结束
返回

pandas DataFrame - 收益 每列的定义可参考Python API文档

范例
[In]: rqportal.portfolio(2012)
[Out]:
                  daily_returns     pnl    total_returns    annualized_returns    cash    benchmark_daily_returns
2010-01-04 15:00:00    0.000000    0.00    0.000000    0.000000    100000.000000    -0.017267
2010-01-05 15:00:00    0.000000    0.00    0.000000    0.000000    100000.000000    0.007915
...
2015-11-03 15:00:00    -0.032762    -12187.12    2.598044    0.245341    467.473962    -0.002924
2015-11-04 15:00:00    0.069233    24910.28    2.847147    0.259573    467.473962    0.045671
[In]: rqportal.portfolio(2012, start_date="2011-09-10", end_date="2011-10-20")
[Out]:
                    daily_returns    pnl    total_returns    annualized_returns    cash    benchmark_daily_returns
2011-09-13 15:00:00    -0.000128    -16.014597    0.246833    0.139163    65724.616896    0.000000
2011-09-14 15:00:00    -0.000596    -74.260000    0.246090    0.138523    65724.616896    -0.006299
2011-09-15 15:00:00    -0.000294    -36.660000    0.245724    0.138088    65724.616896    -0.001430
2011-09-16 15:00:00    -0.001494    -186.120000    0.243863    0.136851    65724.616896    0.001742
2011-09-19 15:00:00    -0.007149    -889.240000    0.234970    0.131392    65724.616896    -0.019277
2011-09-20 15:00:00    0.001499    185.180000    0.236822    0.132159    65724.616896    0.003799

rqportal.positions - 获取每日持仓数据

rqportal.positions(run_id: int, start_date: str='1970-01-01', end_date: str='2099-12-31') -> pd.DataFrame
参数
参数类型说明
run_idint回测运行ID, 可从回测历史列表中获取
start_datestr开始日期, 格式为 'YYYY-mm-dd', 默认从回测最早的日期开始
end_datestr结束日期, 格式为 'YYYY-mm-dd', 默认以回测最晚的日期结束
返回

pandas DataFrame - 每日投资组合中每个证券的市场价值

范例
[In]: rqportal.positions(2012)
[Out]:
                    cash    000916.XSHE    000926.XSHE    002485.XSHE    600270.XSHG    600626.XSHG    601718.XSHG
...
2013-10-08 15:00:00    42.49148    9368.5    53664.72    1867.25    14056.25    38426.75    31464
2013-10-09 15:00:00    42.49148    9614.5    53376.20    1867.25    15470.00    40183.00    31464
...
2013-10-31 15:00:00    42.49148    8097.5    52799.16    1716.00    17485.00    37935.00    30438
2013-11-01 15:00:00    42.49148    7933.5    52943.42    1738.00    17696.25    37935.00    30552

rqportal.trades - 获取每日交易数据

rqportal.trades(run_id: int, start_date: str='1970-01-01', end_date: str='2099-12-31') -> pd.DataFrame
参数
参数类型说明
run_idint回测运行ID, 可从回测历史列表中获取
start_datestr开始日期, 格式为 'YYYY-mm-dd', 默认从回测最早的日期开始
end_datestr结束日期, 格式为 'YYYY-mm-dd', 默认以回测最晚的日期结束
返回

pandas DataFrame - 每日交易数据

参数类型说明
order_book_idstr合约代码
pricefloat成交价
quantityfloat成交量(股数),正数为买入,负数为卖出
transaction_costfloat交易产生的费用,包括佣金、印花税等加总
position_effectstrOPEN - 开仓 CLOSE - 平仓 CLOSE_TODAY - 今平
sidestrBUY - 买,SELL - 卖

Ipython运行回测的三种回测方式

Ricequant内在的策略引 - 用户可以在Ipython中直接使用该策略引擎进行策略研发。

1、使用 rqalpha_plus 进行回测

%%rqalpha_plus -s 20160301 -e 20160901 --account stock 10000 -fq 1d -p -bm 000001.XSHG
# 上述命令参数可以通过运行 %%rqalpha_plus -h 查看到

def init(context):
    # 策略初始化运行
    logger.info('init')
    context.counter = 0

def before_trading(context):
    # 每日开盘前运行
    pass

def handle_bar(context, bar_dict):
    # 每个 bar 数据运行
    context.counter += 1
    if context.counter == 1:
        order_shares('000001.XSHE', 500)

def after_trading(context):
    # 每日收盘后运行
    pass

运行上列代码之后,在研究中继续输入

In []:report.keys()
Out []:dict_keys(['portfolio', 'benchmark_portfolio', 'trades', 'stock_positions', 'stock_account', 'summary'])

2、使用 run_func 进行回测

from rqalpha_plus.api import *
#以上操作会导致当前数据获取API被覆盖,所以在运行完毕之后需要通过 from rqdatac import * 的方式恢复
from rqalpha_plus import run_func

#config 中可设置选项可以通过 %%rqalpha_plus -h 查看到
config = {
  "base": {
    "matching_type": "current_bar",
    "start_date": "2016-03-01", # 回测开始日期
    "end_date": "2016-09-01", # 回测结束日期
    "benchmark": "000001.XSHG", # 基准合约
    "frequency": '1d'# 回测频率, 分钟: '1m'
    "accounts": {
                "stock": 100000# 股票初始资金  期货:"future":100000
             }
  },
  "mod": {
    "sys_progress": {
        "enabled": True,
        "show": True,
    },
    "sys_analyser": {
        "enabled": True,
    },
    "sys_simulation": {
    "matching_type": "next_bar",
    }
  }
}

def init(context):
    context.s1 = "000001.XSHE"
    context.fired = False

def handle_bar(context, bar_dict):
    if not context.fired:
        # order_percent并且传入1代表买入该股票并且使其占有投资组合的100%
        order_percent(context.s1, 1)
        context.fired = True


results = run_func(init=init, config=config, handle_bar=handle_bar)
#如果您有自己的函数命名习惯,则可以通过以下指定函数名的方式运行回测
#results = run_func(init=init, handle_bar=handle_bar, before_trading=before_trading, after_trading=after_trading, config=config)
#下面的 import 将之前 from rqalpha_plus.api import * 的覆盖恢复
from rqdatac import *

策略框架支持的 config 主要设置项如下:

支持的 config 设置项

config = {
  'base': {
    'start_date': '2016-06-01',
    'end_date': '2016-12-01',
    # 回测频率,1d, 1m, tick
    'frequency': '1d',
    # 回测所需 bundle 数据地址,可设置为 RQPro 终端【个人设置】的【数据下载路径】
    'data_bundle_path': './bundle',
    # 策略文件地址
    'strategy_file': './strategy.py',
    # 保证金倍率。基于基础保证金水平进行调整
    'margin_multiplier': 1,
    # 运行类型。b 为回测,p 为模拟交易,r 为实盘交易
    'run_type': 'b',
    # 基准合约
    'benchmark': '000300.XSHG',
    # 期货交易佣金设置
    'future_info': {
      # 期货品种
      'SC': {
          # 平仓费率
          'close_commission_ratio': 0.00005,
          # 开仓费率
          'open_commission_ratio': 0.00005,
          # 平今费率
          'close_commission_today_ratio': 0,
          # BY_MONEY 为按照名义价值收取, BY_VOLUME 为根据成交合约张数收取
          'commission_type': 'BY_MONEY',
      },
    },
    # 账户类别及初始资金
    'accounts': {
      'stock': 1000,
      'future': 2000
    },
    # 初始仓位,为合约: 持仓数量方式,对应建仓成本为回测起始日期合约的收盘价
    'init_positions': "000001.XSHE: 100,000002.XSHE: 500",
  },
  'extra': {
    # 是否开启性能分析
    'enable_profiler': False,
    # 输出日志等级,有 verbose, info, warning, error 等选项,可以通过设置为 verbose 来查看最详细日志
    'log_level': 'info',
  },
  'mod': {
    # 模拟撮合模块
    'sys_simulation': {
        'enabled': True,
        # 是否开启信号模式。如果开启,限价单将按照指定价格成交,并且不受撮合成交量限制
        'signal': False,
        # 撮合方式。current_bar 当前 bar 收盘价成交,next_bar 下一 bar 开盘价成交,best_own 己方最优价格成交(tick 回测使用)
        # best_counterparty 对手方最优价格成交(tick 回测使用),last 最新价成交(tick 回测使用)
        'matching_type': 'current_bar',
        # 佣金倍率
        'commission_multiplier': 1,
        # 是否允许涨跌停状态下买入、卖出
        'price_limit': True,
        # 是否开启成交量限制
        'volume_limit': True,
        # 按照 bar 数据成交量的一定比例进行限制,超限部分无法在当前 bar 一次性撮合成交
        'volume_percent': 0.25,
        # 滑点模型。PriceRatioSlippage 为基于价格比例的滑点模型,TickSizeSlippage 为基于最小价格变动单位的滑点模型
        'slippage_model': 'PriceRatioSlippage',
        # 滑点值
        'slippage': 0,
    },
    # 风控模块
    'sys_risk': {
        'enabled': True, 
        # 检查可用资金是否足够
        'validate_cash': True,
        # 检查可平仓位是否足够
        'validate_position': True,
    },
    # 分析模块
    'sys_analyser': {
        'enabled': True,
        # 是否画图
        'plot': True,
        # 指定输出回测报告 csv 路径
        'report_save_path': None,
    },
    'sys_transaction_cost': {
        'enabled': True,
        # 设置最小佣金费用
        'cn_stock_min_commission': 5,
    }
  }
}

3、使用 run_code 进行回测

from rqalpha_plus import run_code

config = {
  "base": {
    "matching_type": "current_bar",
    "start_date": "2016-03-01", # 回测开始日期
    "end_date": "2016-09-01", # 回测结束日期
    "benchmark": "000001.XSHG", # 基准合约
    "frequency": '1d' # 回测频率, 分钟: '1m'
    "accounts": {
                "stock": 100000# 股票初始资金  期货:"future":100000
             }
  },
  "extra": {
    "log_level": "info",
  },
  "mod": {
    "sys_progress": {
        "enabled": True,
        "show": True,
    },
    "sys_analyser": {
        "enabled": True,
    },
    "sys_simulation": {
    "matching_type": "next_bar",
    }
  }
}


code="""    

def init(context):
    context.s1 = "000001.XSHE"
    update_universe(context.s1)
    context.fired = False

def before_trading(context):
    pass

def handle_bar(context, bar_dict):
    if not context.fired:
        # order_percent并且传入1代表买入该股票并且使其占有投资组合的100%
        order_percent(context.s1, 1)
        context.fired = True
"""

results = run_code(code, config)

[2017-06-15 14:24:59.671903] INFO: system_log: rqdatac use socket ('rqdatad-pro.ricequant.com', '16004') 图片描述

获取回测报告

运行完回测后,报告会自动存储到 report 变量中。可以直接通过 report 变量获取当次回测的结果。run_func, run_code函数本身也会返回回测结果,您可以将其保存到指定的变量中。另外 rqalpha 的 mod 的输出会自动存储在 results 变量中。

In[]:report.portfolio.head()
图片描述
In[]:report.keys()
Out[]:dict_keys(['portfolio', 'benchmark_portfolio', 'trades', 'summary', 'stock_positions', 'stock_account'])  
In[]:
import matplotlib.pyplot as plt
report.portfolio.unit_net_value.plot(legend='unit_net_value')
plt.show() 

图片描述

查看运行命令帮助

In[]:%%rqalpha_plus -h
Out[]:
Usage: ipykernel_launcher.py [OPTIONS]

  Start to run a strategy

Options:
  -h, --help                      Show this message and exit.
  -f, --strategy-file PATH
  -s, --start-date DATE
  -e, --end-date DATE
  -sc, --stock-starting-cash FLOAT
  -fc, --future-starting-cash FLOAT
  -bm, --benchmark TEXT
  -mm, --margin-multiplier FLOAT
  -st, --security [stock|future|stock_future]
  -fq, --frequency [1d|1m|tick]
  -rt, --run-type [b|p]
  --resume
  --source-code TEXT
  -l, --log-level [verbose|debug|info|error|none]
  --locale [cn|en]
  --disable-user-system-log       disable user system log
  --extra-vars TEXT               override context vars
  --enable-profiler               add line profiler to profile your strategy
  --config TEXT                   config file path
  -mc, --mod-config TEXT...       mod extra config
  -i, --init-cash FLOAT           [Deprecated]
  -k, --kind [stock|future|stock_future]
                                  [Deprecated]
  --strategy-type [stock|future|stock_future]
                                  [Deprecated]
  --report PATH                   [sys_analyser] save report
  -o, --output-file PATH          [sys_analyser] output result pickle file
  -p, --plot / --no-plot          [sys_analyser] plot result
  --plot-save TEXT                [sys_analyser] save plot to file
  --no-short-stock / --short-stock
                                  [sys_risk] enable stock shorting
  --progress                      [sys_progress]show progress bar
  --signal                        [sys_simulation]exclude match engine
  -sp, --slippage FLOAT           [sys_simulation]set slippage
  -cm, --commission-multiplier FLOAT
                                  [sys_simulation] set commission multiplier
  -me, --match-engine [current_bar|next_bar|last|best_own|best_counterparty]
                                  [Deprecated][sys_simulation] set matching
                                  type
  -mt, --matching-type [current_bar|next_bar|last|best_own|best_counterparty]
                                  [sys_simulation] set matching type
  -rdu, --rqdatad-username TEXT   [ricequant_data] rqdatad username
  -rdpw, --rqdatad-password TEXT  [ricequant_data] rqdatad password
  -rda, --rqdatad-addr TEXT       [ricequant_data] rqdatad server address
  -rdpt, --rqdatad-port TEXT      [ricequant_data] rqdatad server port
  -d, --data-bundle-path PATH     [ricequant_data] data bundle path  

参数调优

In[]:
import os
from rqalpha_plus import run_func
from rqalpha_plus.api import *


config = {
    'extra': {
        'log_level': 'error',
    },
    'base': {
        'start_date': '2015-01-01',
        'end_date': '2016-01-01',
        'benchmark': '000001.XSHE',
        'frequency': '1d',
        'accounts': {
                 'stock': 100000
             }
    },
    'mod': {
        'sys_progress': {
            'enabled': True,
            'show': True,
        },
        'sys_analyser': {
            'enabled': True,
        },
        'sys_simulation': {
        'matching_type': 'next_bar',
        }
    }
}



tasks = []
for signal in range(1, 101, 20):
    tasks.append((config, signal))

def run_bt(config, signal):
    def init(context):
        context.s1 = '000001.XSHE'
        context.counter = 0
        context.signal = signal

    def handle_bar(context, bar_dict):
        context.counter += 1
        if context.counter == context.signal:
            order_target_percent(context.s1, 0.8)

    result = run_func(config=config, init=init, handle_bar=handle_bar)
    return result, signal

results = []
for task in tasks:
    result = run_bt(*task)
    results.append({'signal': result[1],
                    'sharpe': result[0]['sys_analyser']['summary']['sharpe']}) 
[2017-06-15 18:07:58.037054] INFO: system_log: rqdatac use socket ('peasant', 16003)
/Applications/RQPro.app/Contents/rqalpha/lib/python3.5/site-packages/rqalpha/utils/risk.py:122: RuntimeWarning: invalid value encountered in double_scalars
  self._beta = cov[0][1] / cov[1][1]
图片描述 [2017-06-15 18:08:06.082980] INFO: system_log: rqdatac use socket ('peasant', 16003) 图片描述 [2017-06-15 18:08:13.514796] INFO: system_log: rqdatac use socket ('peasant', 16003) 图片描述 [2017-06-15 18:08:21.244345] INFO: system_log: rqdatac use socket ('peasant', 16003) 图片描述 [2017-06-15 18:08:28.803665] INFO: system_log: rqdatac use socket ('peasant', 16003) 图片描述
In[]:  results_df = pd.DataFrame(results)
#根据 sharpe 进行排序,并且获取对应 signal 值
print(results_df.sort_values('sharpe', ascending=False))  

Out[]:
   sharpe  signal
4   1.694      81
1   1.513      21
0   1.362       1
2   0.593      41
3   0.053      61


其他API

get_file - 读取任意文件

get_file(file_path)

读取您的私有文件(您的私有文件可以在研究模块中看到)

参数
参数类型注释
file_pathstr相对路径,相对于您的私有的在研究模块空间的根目录的路径
返回

返回文件的原始内容,不做任何decode。

范例
df = get_price('000001.XSHE')
df.to_csv('day_px.csv')
import pandas as pd
from six import StringIO
from six import BytesIO
body = get_file('day_px.csv')
data=pd.read_csv(BytesIO(body))
data

保存自己的数据到csv文件

目前我们支持您在IPython策略研究平台上产生的数据保存成csv文件。只需要使用以下简单代码即可实现保存到csv功能:

import pandas as pd
df = pd.DataFrame(xxxx)
df.to_csv('xxxx.csv')

回到IPython平台的首页,您就会看到您的刚才保存的csv数据文件了。当然,您也可以将其下载到本地保存。


支持的其他外部数据源

Tushare

Tushare是一个国内很流行的爬虫数据源。其支持的数据种类比较丰富,API设计也是围绕着pandas来进行的,因此也非常适合Ricequant的用户上手。对于一些我们目前暂时没有的数据,用户可以通过在研究平台中引入Tushare的方式来进行使用——只需要简单的import tushare as ts就可以在研究环境中使用Tushare的有关功能了:

[In]
import tushare as ts
ts.get_hist_data('600848') #一次性获取全部日k线数据

[Out]
            open    high    close    low    volume    price_change    p_change    ma5    ma10    ma20    v_ma5    v_ma10
            v_ma20  turnover
date
2016-03-15    15.24    15.51    15.42    15.12    24615.96    0.18    1.18    15.140    15.336    15.463    23929.04    40792.39    40814.65    0.84
2016-03-14    15.02    15.55    15.24    15.02    25581.68    0.50    3.39    15.206    15.234    15.473    26795.98    41294.81    41075.53    0.88
2016-03-11    14.97    14.97    14.75    14.49    25404.35    -0.26    -1.73    15.242    15.111    15.463    28010.79    42130.01    41207.64    0.87
2016-03-10    15.25    15.41    15.01    15.01    23066.78    -0.26    -1.70    15.330    15.121    15.491    36743.87    43122.33    41836.92    0.79

一些Tushare支持的数据列举如下:


目前支持的Python模块

我们现在支持多种强大的Python模块(如下表所示),需要手动引入。比如您可以输入以下代码来引入pandas模块:

import pandas as pd
df = pd.DataFrame(xxxx)

如果您有自己擅长和特别喜欢的Python模块希望我们支持, 请让我们知道

支持模块列表

模块名简介文档链接
talibTA-Lib是一个被交易员常用的技术分析库,包含了超过150+的技术指标比如MACD,RSI,Bollinger Bands等TA-Lib官网
pandas最流行的Python数据分析库pandas文档
numpynumpy是一个Python的科学计算基础库。numpy文档
scipySciPy是一个Python的数学、科学和工程计算的生态系统库。scipy文档
statsmodelsStatsmodels可以研究数据,构架统计模型和进行统计测试。功能包括:线性回归模型等statsmodels文档
bisectPython的排序模块bisect文档
cmath提供可以对复数计算的数学模块cmath文档
collections提供除了Python内嵌的容器之外的容器种类选择 - dict, list, set 和 tuplecollections文档
sklearnPython的机器学习模块(machine learning)sklearn文档
hmmlearnPython的隐马尔可夫模型(Hidden Markov Models)模块,类似scikit-learn的APIhmmlearn文档
pykalman超级简单的卡尔曼滤波(Kalman Filter), Kalman Smoother和EM模块pykalman文档
cvxoptcvxopt提供了凸优化(convex optimization)的解的python库。cvxopt文档
archarch提供了Univariate volatility模型,Bootstrapping和Multiple comparison proceduresarch文档
dateutildateutil模块提供了对标准的datetime模块的强大的拓展dateutil文档
datetimedatetime文档
functoolsfunctools文档
heapqheapq文档
pywtPyWavelets是一个Python的小波变换的库pywt文档
tensorflowTensor flow is an open source software library for machine intelligence.tensorflow文档
tushare国内流行的开源数据库,燥起来吧,各种数据。tushare网站
pybrainpybrain是一个流行的机器学习库。PyBrain is a modular Machine Learning Library for Python.pybrain文档
theanoPython library that allows you to define, optimize, and evaluate mathematical expressions involvingmulti-dimensional arraystheano文档
gensimRealize unsupervised semantic modelling from plain textgensim文档
jieba“结巴”中文分词jieba文档
pymcBayesian statistical models and fitting algorithms, including Markov chain MonteCarlo.pymc文档
tablesmanaging hierarchical datasets, efficiently and easily cope with extremely large amounts of data.pytables文档
nltk一个流行的人类语言分析库。nltk文档
kerasTheano和Tensorflow的深度学习库。keras文档
requests易用的HTTP库requests文档
bs4beautifulsoup是网页爬取数据的利器!beautifulsoupd文档
lxml处理XML和HTML的最好用的python库lxml中文文档
urllibpython自带的url处理库urllib文档
xgboost速度快效果好的boosting模型xgboost文档
mathmath文档
pytzpytz文档
queuequeue文档
randomrandom文档
rere文档
timetime文档
arrayarray文档
copycopy文档
jsonjson文档
operatoroperator文档
xmlxml文档
matplotlibmatplotlib是一个Python 2D画图库。提供了如同出版质量的画图和跨平台互动式交互环境。matplotlib文档
seaborn基于matplitlib之上的一个画图库,不过提供了高级的API,画图的效果也更棒seaborn文档
bokeh互动式画图库,可以在网页中做展示,目标是提供优美的图画展示,非常推荐!bokeh文档
toyplot可以做动画图渲染toyplot文档
vispy互动式科学计算图形化渲染vispy文档
mpl_toolkitsmatplotlib的绘图工具模块mpl_toolkits文档
plotly强大优美的图表库,支持三种不同类型的图表,包括地图,箱形图和密度图,以及更常见的产品如,条状和线形图plotly文档
fbprophet简单强大的数据预测工具包Prophet使用指南

引用自己的Python模块或库

当您看到以上我们预先支持的Python第三方库以后肯定会想是否能够引入自己的Python模块呢?当然是可以的!

  1. 首先需要在IPython研究平台创建一个文本文件,切记不是一个Notebook文件噢!只有Python文件才可以被import导入!

    图片描述
  2. 点击名字,修改为xxx.py, 比如本次例子修改为my_lib.py(一定要以.py结尾哦!):

    图片描述
  3. 文件中写入自己的代码,(需要注意,如果调用研究函数需要from rqdatac import * )然后保存:

    图片描述
图片描述
  1. 接着可以在IPython Notebook中import之前创建的my_lib.py并且调用hi函数了:图片描述

使用好这个功能可以很好地复用自己的python模块和代码。


IPython Notebook功能

使用和保存自己的数据

上传自己的数据文件

比如上传自己的csv数据文件,在IPython策略研究平台点击'upload'即可:

图片描述

接着您就可以在IPython平台上通过pandasread_csv方法方便地进行文件的读取了:

import pandas as pd
df = pd.read_csv('xxxx.csv')

代码自动补全

你可以通过 tab按键来使用自动补全功能,如下图所示:

图片描述

该功能对于财务数据的查询将会非常有用,因为财务数据有多达400+的指标。

快捷键

所有的IPython Notebook支持的快捷键如下图所示:

图片描述 图片描述 图片描述
正在运行中的策略 0