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

基金行情

基金历史行情

研究:get_price(order_book_id, start_date='2013-01-04', end_date='2014-01-04', frequency='1d', fields=None, adjust_type='pre', skip_suspended=False, country='cn')
交易:get_price(order_book_id, start_date, end_date=None, frequency='1d', fields=None, adjust_type='pre', skip_suspended=False)

获取指定合约或合约列表的历史行情(包含起止日期,日线或分钟线),不能在交易过程中的'handle_bar'函数中进行调用。目前仅支持中国市场。

参数

参数类型说明
order_book_idstr OR str list合约代码,合约代码,可传入order_book_id, order_book_id list, symbol, symbol list
start_datestr, datetime.date, datetime.datetime, pandasTimestamp开始日期,默认为'2013-01-04'。交易使用时,用户必须指定
end_datestr, datetime.date, datetime.datetime, pandasTimestamp结束日期,默认为'2014-01-04'。交易使用时,默认为策略当前日期前一天
frequencystr历史数据的频率。 现在支持日/分钟级别的历史数据,默认为'1d'。使用者可自由选取不同频率,例如'5m'代表5分钟线
fieldsstr OR str list字段名称
adjust_typestr前复权处理。前复权 - pre,后复权 - post,不复权 - none,回测使用 - internal 需要注意,internal数据与回测所使用数据保持一致,仅就拆分事件对价格以及成交量进行了前复权处理,并未考虑分红派息对于股价的影响。所以在分红前后,价格会出现跳跃。
skip_suspendedbool是否跳过停牌数据。默认为False,不跳过,用停牌前数据进行补齐。True则为跳过停牌期。注意,当设置为True时,函数order_book_id只支持单个合约传入
countrystr默认是中国市场('cn'),目前仅支持中国市场

返回

参数类型说明
OpeningPx openfloat开盘价
ClosingPx closefloat收盘价
HighPx highfloat最高价
LowPx lowfloat最低价
LimitUp limit_upfloat涨停价
LimitDown limit_downfloat跌停价
TotalTurnover total_turnoverfloat总成交额
TotalVolumeTraded volumefloat总成交量
AccNetValue acc_net_valuefloat累计净值(仅限基金日线数据)
UnitNetValue unit_net_valuefloat单位净值(仅限基金日线数据)
DiscountRate discount_ratefloat折价率(仅限基金日线数据)
SettlPx settlementfloat结算价 (仅限期货日线数据)
PrevSettlPx prev_settlementfloat昨日结算价(仅限期货日线数据)
OpenInterest open_interestfloat累计持仓量(期货专用)
BasisSpread basis_spreadfloat基差点数(股指期货专用,股指期货收盘价-标的指数收盘价)
TradingDate trading_datepandasTimeStamp交易日期(仅限期货分钟线数据),对应期货夜盘的情况

范例

[In]get_price('华夏上证50ETF', '20160301', '20160306', fields='close')
[Out]
2016-03-01    1.9285
2016-03-02    2.0049
2016-03-03    2.0088
2016-03-04    2.0763
Name: close, dtype: float64
...
[In]get_price(['510050.XSHG', '000051.XSHG'], start_date='2016-03-01', end_date='2016-03-06')
[Out]
<class 'rqcommons.pandas_patch.HybridDataPanel'>
Dimensions: 11 (items) x 4 (major_axis) x 2 (minor_axis)
Items axis: open to limit_down
Major_axis axis: 2016-03-01 00:00:00 to 2016-03-04 00:00:00
Minor_axis axis: 510050.XSHG to 000051.XSHG

基金历史行情(交易专用)

history_bars(order_book_id, bar_count, frequency, fields=None, skip_suspended=True, include_now=False)

获取指定合约的历史行情,同时支持日以及分钟历史数据。不能在init中调用。

参数
参数类型注释
order_book_idstr合约代码,必填项
bar_countint获取的历史数据数量,必填项
frequencystr获取数据什么样的频率进行。'1d'或'1m'分别表示每日和每分钟,必填项。您可以指定不同的分钟频率,例如'5m'代表5分钟线
fieldsstr OR str list返回数据字段。必填项。见下方列表
skip_suspendedbool是否跳过停牌,默认True,跳过停牌
include_nowbool是否包括不完整的bar数据。默认为False,不包括。举例来说,在09:39的时候获取上一个5分钟线,默认将获取到09:31~09:35合成的5分钟线。如果设置为True,则将获取到09:36~09:39之间合成的"不完整"5分钟线
fields字段名
datetime时间戳
open开盘价
high最高价
low最低价
close收盘价
volume成交量
total_turnover成交额
datetimeint类型时间戳
open_interest持仓量(期货专用)
basis_spread期现差(股指期货专用)
settlement结算价(期货日线专用)
prev_settlement结算价(期货日线专用)
返回

ndarray ,方便直接与talib等计算库对接,效率较history返回的DataFrame更高。


基金合约信息

所有合约基础信息

研究:all_instruments(type=None, country='cn', **kwargs)
交易:all_instruments(type=None)

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

参数

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

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

合约类型说明
CSCommon Stock, 即股票
ETFExchange Traded Fund, 即交易所交易基金
LOFListed Open-Ended Fund,即上市型开放式基金
FenjiMuFenji Mu Fund, 即分级母基金
FenjiAFenji A Fund, 即分级A类基金
FenjiBFenji B Funds, 即分级B类基金
INDXIndex, 即指数
FutureFutures,即期货,包含股指、国债和商品期货

返回

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

范例

[In]all_instruments(type='ETF')
[Out]
    abbrev_symbol    exchange    listed_date    order_book_id    round_lot    status    symbol    type
0    HST    XSHG    2015-01-26    513660.XSHG    100    Active    华夏沪港通恒生ETF    ETF
1    QZNY    XSHE    2015-07-06    159945.XSHE    100    Active    广发中证全指能源ETF    ETF
2    ZQETF    XSHG    2016-08-08    512880.XSHG    100    Active    国泰中证全指证券公ETF    ETF
3    CFBE    XSHG    2016-07-18    511850.XSHG    100    Active    招商财富宝货币ETF    ETF
...
[In]all_instruments(type='ETF',date='20170412')
[Out]
    abbrev_symbol    exchange    listed_date    order_book_id    round_lot    status    symbol    type
0    500ETF    XSHG    2013-03-15    510500.XSHG    100    Active    南方中证500ETF    ETF
1    180EWETF    XSHG    2012-07-09    510420.XSHG    100    Active    景顺长城上证180等权重ETF    ETF
2    YYWS    XSHG    2014-07-25    512610.XSHG    100    Active    嘉实中证医药卫生ETF    ETF
3    QZCL    XSHE    2015-07-06    159944.XSHE    100    Active    广发中证全指原材料ETF    ETF
...

基金详细信息

研究:instruments(order_book_id, country='cn')
交易:instruments(order_book_id)

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

参数

参数类型说明
order_book_idstr OR str list合约代码或合约代码列表,可传入order_book_id, order_book_id list, symbol, symbol list。需要注意,国内股票、ETF、指数合约代码分别应当以'.XSHG'或'.XSHE'结尾,前者代表上证,后者代表深证
countrystr默认是中国市场('cn'),目前仅支持中国市场

返回

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

参数类型说明
order_book_idstr基金合约代码,基金合约的独特的标识符。以'.XSHG'或'.XSHE'结尾,前者代表上证,后者代表深证
symbolstr基金合约的简称,例如'华夏上证50ETF'
abbrev_symbolstr指数的名称缩写
round_lotint一手对应多少股,基金数据为100
listed_datestr该基金上市日期
typestr合约类型,目前支持的类型有: 'CS', 'INDX', 'LOF', 'ETF', 'FenjiMu', 'FenjiA', 'FenjiB', 'Future'
exchangestr交易所,'XSHE' - 深交所, 'XSHG' - 上交所
statusstr合约状态。'Active' - 正常上市, 'Delisted' - 终止上市, 'TemporarySuspended' - 暂停上市, 'PreIPO' - 发行配售期间, 'FailIPO' - 发行失败

Instrument对象也支持如下方法:

days_from_listed()

如果合约首次上市交易,天数为0;如果合约尚未上市或已经退市,则天数值为-1

days_to_expire()

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

范例

[In]instruments('510050.XSHG')
[Out]
Instrument(order_book_id='510050.XSHG', symbol='华夏上证50ETF', abbrev_symbol='50ETF', status='Active', round_lot=100.0, listed_date='2005-02-23', exchange='XSHG', type='ETF')
[In]instruments(['510050.XSHG', '160416.XSHE'])
[Out]
[Instrument(order_book_id='510050.XSHG', symbol='华夏上证50ETF', abbrev_symbol='50ETF', status='Active', round_lot=100.0, listed_date='2005-02-23', exchange='XSHG', type='ETF'),
 Instrument(order_book_id='160416.XSHE', symbol='华安标普全球石油指数(QDII-LOF)', abbrev_symbol='SYJJ', status='Active', round_lot=100.0, listed_date='2012-05-02', exchange='XSHE', type='LOF')]

分级基金

获取分级A基金列表(利率水平查询)

fenji.get_a_by_yield(current_yield, listing=True)

获取对应利率水平的分级A基金列表。

参数

参数类型说明
current_yieldfloat本期利率,例如5代表5%
listingbool当前分级基金是否在交易所可交易,默认为True

返回

符合当前利率水平的分级A基金的order_book_id list;如果无符合内容,则返回空列表。

范例

[In] fenji.get_a_by_yield(4)
[Out]
['150039.XSHE']

获取分级A基金列表(利率规则查询)

fenji.get_a_by_interest_rule(interest_rule))

获取对应利率规则的分级A基金列表,如果无符合内容,则返回空列表。

参数

参数类型说明
interest_rulestr利率规则,例如:'+3.5%', '+4%', '=7%', '*1.4+0.55%', '利差'等。 您也可以在研究平台使用fenji.get_all来进行查询所有的组合可能
listingbool默认为True,该分级基金是否在交易所可交易

返回

符合当前利率规则的分级A基金的order_book_id list

范例

[In] fenji.get_a_by_interest_rule("+3%")
[Out]
['502011.XSHG', '150215.XSHE', '150181.XSHE', '150269.XSHE', '150173.XSHE', '150217.XSHE', '502027.XSHG', '150255.XSHE', '150257.XSHE', '150237.XSHE', '150100.XSHE', '150177.XSHE', '502017.XSHG', '150279.XSHE', '150271.XSHE', '150051.XSHE', '150245.XSHE', '150233.XSHE', '502004.XSHG', '150200.XSHE', '150205.XSHE', '150184.XSHE', '502049.XSHG', '150207.XSHE', '150313.XSHE', '150243.XSHE', '150239.XSHE', '150273.XSHE', '150227.XSHE', '150076.XSHE', '150203.XSHE', '150209.XSHE', '150259.XSHE', '150315.XSHE', '150283.XSHE', '150241.XSHE', '150229.XSHE', '150307.XSHE', '150186.XSHE', '150231.XSHE', '502024.XSHG', '502007.XSHG', '150305.XSHE', '150018.XSHE', '150309.XSHE', '150311.XSHE', '150235.XSHE', '150143.XSHE', '150249.XSHE', '150329.XSHE', '150251.XSHE', '150169.XSHE', '150357.XSHE', '150194.XSHE', '150179.XSHE', '150164.XSHE', '150192.XSHE', '150171.XSHE', '150022.XSHE', '150275.XSHE', '150092.XSHE', '150277.XSHE']

获取所有分级基金信息

fenji.get_all(field_list)

获取当前市场上所有分级基金的信息。

参数

参数类型注释
field_liststr list希望输出的数据字段名(见下表),默认为所有字段

返回

pandas DataFrame - 分级基金各项数据

字段名注释
a_b_propotion分级A:分级B的比例
conversion_date下次定折日
creation_date创立日期
current_yield本期利率
expire_date到期日,可能为NaN - 即不存在
fenji_a_order_book_idA基代码
fenji_a_symbolA基名称
fenji_b_order_book_idB基代码
fenji_b_symbolB基名称
fenji_mu_orderbook_id母基代码
fenji_mu_symbol母基名称
interest_rule利率规则
next_yield下期利率
track_index_symbol跟踪指数

范例

[In] fenji.get_all()
[Out]
a_b_propotion    conversion_date    creation_date    current_yield    expire_date    fenji_a_order_book_id    fenji_a_symbol    fenji_b_order_book_id    fenji_b_symbol    fenji_mu_orderbook_id    fenji_mu_symbol    interest_rule    next_yield    track_index_symbol
0    7:3    2016-11-19    2014-05-22    2.5    NaN    161828    永益A    150162.XSHE    永益B    161827    银华永益    +1%    NaN    综合指数
1    1:1    2017-01-04    2015-03-17    5    NaN    150213.XSHE    成长A级    150214.XSHE    成长B级    161223    国投成长    +3.5%    5    创业成长
2    1:1    2016-12-15    2015-07-01    5.5    NaN    150335.XSHE    军工股A    150336.XSHE    军工股B    161628    融通军工    +4%    5.5    中证军工

[In] fenji.get_all(field_list = ['fenji_a_order_book_id', 'current_yield'])
[Out]
current_yield    fenji_a_order_book_id
0    2.5    161828
1    5    150213.XSHE
2    5.5    150335.XSHE

收益率曲线

研究:get_yield_curve(start_date='2013-01-04', end_date='2014-01-04', tenor=None, country='cn')
交易:get_yield_curve(date=None, tenor=None)

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

参数

参数类型说明
countrystr默认是中国市场('cn'),目前仅支持中国市场
datestr, datetime.date, datetime.datetime, pandasTimestamp查询日期,默认为策略当前日期前一天
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年

返回

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
...

正在运行中的策略 0