inquantstudio quant open api
Project description
内容
- 常量
名称 |
说明 |
Exchange |
交易所 |
Direction |
买卖方向 |
Offset |
开平标识 |
OrderStatus |
报单状态 |
OrderType |
报单类型 |
- 数据结构
名称 |
说明 |
Order |
报单 |
Trade |
成交单 |
Tick |
tick行情 |
Bar |
K线行情 |
Position |
持仓信息 |
Account |
账户信息 |
- 回调函数
名称 |
说明 |
def on_init(ctx) |
策略初始化回调 |
def on_stop(ctx) |
策略停止时回调 |
def on_tick(ctx, tick) |
tick行情回调 |
def on_bar(ctx, bar) |
K线行情回调 |
def on_order(ctx, order) |
报单回调 |
def on_trade(ctx, trade) |
成交回调 |
def on_cancel(ctx, order) |
撤单回调 |
def on_open(ctx) |
开盘前回调 |
def on_close(ctx) |
收盘后回调 |
- 方法
名称 |
说明 |
ctx.subscribe |
行情订阅 |
ctx.unsubscribe |
取消订阅 |
ctx.get_subscribelist |
获取订阅信息 |
ctx.insert_order |
发送报单 |
ctx.insert_smart_order |
发送智能报单 |
ctx.cancel_order |
发送撤单 |
ctx.get_orders |
查询当日报单 |
ctx.get_order |
查询特定报单 |
ctx.get_open_orders |
查询已发送未完全成交报单 |
ctx.get_positions |
查询持仓 |
ctx.get_position |
查询特定合约持仓 |
ctx.get_account |
查询账户信息 |
ctx.get_contract |
查询合约信息 |
ctx.get_domain_contract |
查询品种主力合约 |
ctx.get_last_ticks |
获取最近几笔tick数据 |
ctx.get_last_bars |
获取最近几笔bar数据 |
ctx.get_history_bars |
获取历史k线数据 |
ctx.get_strategy_id |
获取策略编号 |
ctx.get_datetime |
获取当前日期和时间 |
ctx.run_by_time |
定时启动函数 |
ctx.insert_func_at_time |
插入定时执行的函数 |
常量
Exchange(交易所)
符号 |
值 |
说明 |
Exchange.SHFE |
“SHFE” |
上海期货交易所 |
Exchange.CFFEX |
“CFFEX” |
中国金融交易所 |
Exchange.DCE |
“DCE” |
大连期货交易所 |
Exchange.ZCE |
“CZCE” |
郑州期货交易所 |
OrderSide(买卖方向/持仓方向)
符号 |
|
说明 |
OrderSide.Buy |
|
买入 |
OrderSide.Sell |
|
卖出 |
PosSide(买卖方向/持仓方向)
符号 |
值 |
说明 |
PosSide.Net |
0 |
净(股票) |
PosSide.Long |
1 |
多 |
PosSide.Short |
2 |
空 |
Offset(开平标识)
符号 |
值 |
说明 |
Offset.Open |
0 |
开仓 |
Offset.Close |
1 |
平仓 |
Offset.CloseToday |
2 |
平今 |
Offset.CloseYesterday |
3 |
平昨 |
OrderStatus(报单状态)
符号 |
值 |
说明 |
OrderStatus. UnKnow |
-1 |
未知 |
OrderStatus.NotSent |
0 |
未发 |
OrderStatus.Sended |
1 |
已发 |
OrderStatus.Accepted |
2 |
已报 |
OrderStatus.PartiallyFilled |
3 |
部分成交 |
OrderStatus.Cancelled |
4 |
已撤 |
OrderStatus.Filled |
5 |
全部成交 |
OrderStatus.Rejected |
6 |
已拒绝 |
OrderStatus.PendingCancel |
7 |
待撤 |
OrderType(委托类型)
符号 |
值 |
说明 |
OrderType.LMT |
0 |
限价 |
OrderType.MKT |
1 |
市价 |
数据结构
Order(报单)
字段 |
类型 |
说明 |
order_id |
str |
订单ID |
strategy_id |
str |
策略ID |
account_id |
str |
账户ID |
symbol |
str |
合约代码 |
exchange |
Exchange |
交易所 |
order_time |
datetime |
下单时间 |
order_type |
OrderType |
委托类型 |
status |
OrderStatus |
报单状态 |
offset |
Offset |
开平标识 |
side |
OrderSide |
买卖方向 |
price |
float |
委托价格 |
quantity |
int |
委托数量 |
filled |
int |
成交数量 |
note |
str |
备注,失败时包含失败信息 |
Trade(成交回报)
字段 |
类型 |
说明 |
trade_id |
str |
成交ID |
order_id |
str |
报单ID |
account_id |
str |
账户ID |
strategy_id |
str |
策略ID |
symbol |
str |
合约代码 |
exchange |
Exchange |
交易所 |
filled_time |
datetime |
成交时间 |
offset |
Offset |
开平标识 |
side |
OrderSide |
买卖方向 |
price |
float |
成交价格 |
quantity |
int |
成交数量 |
Tick(tick行情)
字段 |
类型 |
说明 |
local_time |
datetime.datetime |
时间 |
symbol |
str |
合约代码 |
exchange |
str |
交易所代码 |
last |
float |
最新价 |
open |
float |
开盘价 |
high |
float |
最高价 |
low |
float |
最低价 |
pre_close |
float |
收盘价 |
volume |
int |
成交量 |
turnover |
float |
成交金额 |
open_interest |
int |
持仓量 |
settlement |
float |
结算价 |
upper_limit |
float |
涨停价 |
lower_limit |
float |
跌停价 |
bids |
list |
买N档 |
asks |
list |
卖N档 |
bids与asks
[(float,int)...]
[(价格,挂单数量)...]
Bar(bar行情)
字段 |
类型 |
说明 |
local_time |
datetime.datetime |
时间 |
symbol |
str |
合约代码 |
exchange |
str |
交易所代码 |
open |
float |
开盘价 |
high |
float |
最高价 |
low |
float |
最低价 |
close |
float |
收盘价 |
volume |
int |
成交量 |
open_interest |
int |
持仓量 |
turnover |
float |
成交金额 |
Position(持仓信息)
字段 |
类型 |
说明 |
account_id |
str |
账号ID |
strategy_id |
str |
策略ID |
symbol |
str |
合约代码 |
exchange |
str |
交易所代码 |
side |
PosSide |
持仓方向 |
quantity |
int |
总持仓量 |
today_qty |
int |
今仓数量 |
frozen |
int |
总冻结量 |
today_avl |
int |
今仓可用 |
profit |
float |
持仓盈利 |
cost |
float |
持仓成本 |
margin |
float |
保证金 |
Account(账户信息)
字段 |
类型 |
说明 |
account_id |
str |
账户ID |
strategy_id |
str |
策略ID |
total_value |
float |
总资产 |
available |
float |
可用资金 |
fozen_cash |
float |
冻结资金 |
margin |
float |
保证金 |
market_value |
float |
市值 |
margin |
float |
保证金 |
begin_balance |
float |
期初权益 |
withdraw |
float |
可提资金 |
Contract(合约信息)
字段 |
类型 |
说明 |
symbol |
str |
合约代码 |
name |
str |
名称 |
exchange |
str |
交易所 |
lots |
int |
合约乘数 |
step |
float |
最小价差 |
expire_date |
datetime.datetime |
到期日 |
list_date |
datetime.datetime |
上市日 |
trade_times |
[] |
交易时间 |
trade_times
[(datetime.time,datetime.time)...]
[(开始时间,结束时间)...]
回调函数
on_init(ctx)
功能:策略运行前调用
输入:ctx
输出:None
on_stop(ctx)
功能:策略停止时调用
输入:ctx
输出:None
on_tick(ctx, tick)
功能:接收到tick行情时调用
输入:ctx,Tick对象
输出:None
on_bar(ctx, bar)
功能:接收到K线行情时调用
输入:ctx,Bar对象
输出:None
on_order(ctx, order)
功能:在报单时调用
输入:ctx,Order对象
输出:None
on_trade(ctx, trade)
功能:在订单成交时调用
输入:ctx,Trade对象
输出:None
on_cancel(ctx, order)
功能:在撤单时调用
输入:ctx,Order对象
输出:None
on_open(ctx)
功能:开盘前30分钟调用
输入:ctx
on_close(ctx)
功能:收盘后30分钟调用
输入:ctx
方法
ctx.subscribe(subinfo)
功能:订阅指定合约和周期
输入:
subinfo—订阅信息,包含合约代码、周期的tuple
例如:(“rb2005”,”tick”),(“j2001”,”5m”)
“tick”表示Tick行情,”5m”表示5分钟Bar行情。
输出:Boolean
False—订阅失败
True—订阅成功
ctx.unsubscribe(subinfo)
功能:取消订阅指定合约和周期
输入:同ctx.subscribe
输出:Boolean
False—取消订阅失败
True—取消订阅成功
ctx.get_subscribelist()
功能:查询已订阅的行情
输出:subinfo的列表
例如:[(“rb2005”,”tick”),(“j2001”,”5m”)]、[]
空列表表示没有成功订阅任何行情
ctx.insert_order(symbol, direction, order_type, offset, price, quantity)
功能:报单
输入:
symbol—合约代码, str
direction—买卖方向, Direction对象
order_type—报单类型, OrderType对象
offset—开平标识, Offset对象
price—委托价格, float
quantity—委托手数, int
输出:Order对象
ctx.insert_smart_order(symbol, quantity, price=None)
功能:智能报单,根据当前持仓平仓或者开仓,优先平老仓
输入:
symbol—合约代码, str
quantity—委托手数,正值表示买入,负值表示卖出, int
当前多仓,正数:开多仓
当前多仓,负数:平多仓,超过头寸数量反方向开空仓
当前空仓,正数:平空仓,超过头寸数量反方向开多仓
当前空仓,负数:开空仓
price—委托价格,None表示市价单,否则为限价单, float
输出:Order对象
ctx.cancel_order(order)
功能:撤单
输入:Order对象
输出:None
ctx.get_orders()
功能:查询当日委托
输出:Order对象列表
ctx.get_order(order_id)
功能:按照报单ID(客户端ID)获取订单信息
输入:str
输出:Order对象
ctx.get_open_orders()
功能:查询已发送且未完全成交的订单
输出:Order对象列表
ctx.get_positions()
功能:查询当前所有持仓信息
输出:仓位字典{symbol:position,...}
symbol—合约代码, str
position—Position对象
ctx.get_position(symbol)
功能:查询指定合约的持仓信息
输入:str
输出:Position对象
ctx.get_account()
功能:查询账户信息
输出:Account对象
ctx.get_contract(symbol)
功能:查询合约信息
输入:
symbol—合约代码, str
输出:Contract对象
ctx.get_dominant_contract(future)
功能:按照品种名查询
输入:
future—品种代码, str
例如:’rb’,’m’,’pp’
输出:合约代码, str
ctx.get_last_ticks(symbol, count)
功能:查询最近几笔tick行情
输入:
symbol—合约代码, str
count—tick行情数据数量, int
输出:Tick对象列表
ctx.get_last_bars(symbol, period, count)
功能:查询最近几笔k线数据
输入:
symbol—合约代码, str
period—周期信息,例如”3m”、”1d”, str
“3m”表示3分钟行情,”1d”表示日线行情
count—K线行情数据数量, int
ctx.get_history_bars(symbol, period, start_time, end_time)
功能:查询历史K线数据
输入:
symbol—合约代码, str
period—周期信息, str
start_time—开始时间, datetime.datetime
end_time—结束时间, datetime.datetime
输出:Bar对象列表
ctx.get_strategy_id()
功能:获取策略编号
输出:str
ctx.get_datetime()
功能:获取当前时间
输出:datetime.datetime
ctx.run_by_time(func, run_time)
功能:定时运行函数
输入:
func—需要执行的函数, python function
run_time—每日定时, datetime.time
ctx.insert_func_at_time(func, run_time)
功能:指定时间运行函数
输入:
func—需要执行的函数, python function
run_time—指定时间, datetime.datetime
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for iqsopenapi-0.1.6-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5656fab98738434a399d3bcdab442acb189c21b8dd3771a935227acc084f62bb |
|
MD5 | f2d340778523e3e9b3542e260b2c7b94 |
|
BLAKE2b-256 | 263466939b5b398502561cb0909dc46ad95dd3957fc5f4b00b1decc8130ee94c |