Appearance
交易函数
order-买卖标的
python
order(security,amount,style=None,side='long',close_today=False,account)参数
security: 标的代码,支持股票/期货/场内基金/可转债
amount: 交易数量(股),正数表示买入,负数表示卖出
style: OrderStyle 对象,MarketOrderStyle(limit_price)/LimitOrderStyle(limit_price),市价/限价.默认是 MarketOrderStyle(0).
side: 'long'/'short',操作多单还是空单.默认为多单,股票、ETF 暂不支持开空单
close_today: 平今/平昨字段,期货专用.不管 close_today 是 True 还是 False,此函数只会产生一个订单,区别在于平仓时的手续费计算,平昨仓使用 close_commission 对应手续费率,平今仓使用 close_today_commission 手续费率.
- close_today=True,只平今仓,今仓不足的时候,订单将会被废单.
- close_today=False,优先平昨仓,昨仓不足部分平今仓
account: int,指定第几个账户,1 是第一个,2 是第二个...按顺序.
- 回测时,只有一个账户,这个参数无效.仿真和实盘时,和界面上添加的账户顺序对应.
- 注意: 如果策略里设置的账户数多于界面上添加的账户数,默认使用超出范围的账户会直接报错.如果想修改,参考设置函数 set_option().
返回
- 成功: str,order_id
- 失败: None
order_target-买卖标的使最终标的的数量达到指定的数量
python
order_target(security,amount,style=None,side='long',close_today=False,account)注意使用此接口下单时若指定的标的有未完成的订单,则先前未完成的订单将会被取消
参数
security: 标的代码,支持股票/期货/场内基金/可转债
amount: 期望的最终数量
style: OrderStyle 对象,MarketOrderStyle(limit_price)/LimitOrderStyle(limit_price),市价/限价.默认是 MarketOrderStyle(0)
side: 'long'/'short',操作多单还是空单.默认为多单,股票、ETF 暂不支持开空单.
close_today: 平今/平昨字段,期货专用.不管 close_today 是 True 还是 False,此函数只会产生一个订单,区别在于平仓时的手续费计算,平昨仓使用 close_commission 对应手续费率,平今仓使用 close_today_commission 手续费率.
- close_today=True,只平今仓,今仓不足的时候,订单将会被废单.
- close_today=False,优先平昨仓,昨仓不足部分平今仓
account: int,指定第几个账户,1 是第一个,2 是第二个...按顺序.
- 回测时,只有一个账户,这个参数无效.仿真和实盘时,和界面上添加的账户顺序对应.
- 注意: 如果策略里设置的账户数多于界面上添加的账户数,默认使用超出范围的账户会直接报错.如果想修改,参考设置函数 set_option().
返回
- 成功: str,order_id
- 失败: None
order_target_value-调整标的仓位到指定价值
python
order_target_value(security,value,style=None,side='long',close_today=False,account)注意使用此接口下单时若指定的标的有未完成的订单,则先前未完成的订单将会被取消
参数
security: 标的代码,支持股票/期货/场内基金/可转债
value: 期望的标的最终价值,value=最新价 * 手数 * 保证金率(股票为 1) * 乘数(股票为 100)
style: OrderStyle 对象,MarketOrderStyle(limit_price)/LimitOrderStyle(limit_price),市价/限价.默认是 MarketOrderStyle(0)
side: 'long'/'short',操作多单还是空单.默认为多单,股票、ETF 暂不支持开空单.
close_today: 平今/平昨字段,期货专用.不管 close_today 是 True 还是 False,此函数只会产生一个订单,区别在于平仓时的手续费计算,平昨仓使用 close_commission 对应手续费率,平今仓使用 close_today_commission 手续费率.
- close_today=True,只平今仓,今仓不足的时候,订单将会被废单.
- close_today=False,优先平昨仓,昨仓不足部分平今仓
account: int,指定第几个账户,1 是第一个,2 是第二个...按顺序.
- 回测时,只有一个账户,这个参数无效.仿真和实盘时,和界面上添加的账户顺序对应.
- 注意: 如果策略里设置的账户数多于界面上添加的账户数,默认使用超出范围的账户会直接报错.如果想修改,参考设置函数 set_option().
返回
- 成功: str,order_id
- 失败: None
order_value-买卖价值为指定价值的标的
python
order_value(security,value,style=None,side='long',close_today=False,account)参数
security: 标的代码,支持股票/期货/场内基金/可转债
value: 股票价值,value=最新价 * 手数 * 保证金率(股票为 1) * 乘数(股票为 100)
style: OrderStyle 对象,MarketOrderStyle(limit_price)/LimitOrderStyle(limit_price),市价/限价.默认是 MarketOrderStyle(0)
side: 'long'/'short',操作多单还是空单.默认为多单,股票、ETF 暂不支持开空单.
close_today: 平今/平昨字段,期货专用.不管 close_today 是 True 还是 False,此函数只会产生一个订单,区别在于平仓时的手续费计算,平昨仓使用 close_commission 对应手续费率,平今仓使用 close_today_commission 手续费率.
- close_today=True,只平今仓,今仓不足的时候,订单将会被废单.
- close_today=False,优先平昨仓,昨仓不足部分平今仓
account: int,指定第几个账户,1 是第一个,2 是第二个...按顺序.
- 回测时,只有一个账户,这个参数无效.仿真和实盘时,和界面上添加的账户顺序对应.
- 注意: 如果策略里设置的账户数多于界面上添加的账户数,默认使用超出范围的账户会直接报错.如果想修改,参考设置函数 set_option().
返回
- 成功: str,order_id
- 失败: None
get_open_orders-获取当天的所有未完成的委托详情
python
get_open_orders()get_orders-获取委托详情
获取指定订单对象/当天的所有订单委托详情
python
get_orders(order_id=None)参数
- order_id: 订单编号,由下单函数返回.不传参数时,返回当天所有委托订单
返回
返回一个[Order]对象或一个 dict, key 是 order_id, value 是[Order]对象
示例
python
a = order_target_value(stock, cash)
print(get_orders()[a])
# UserOrder({'order_id': ZLT-0000000--sz300418,'status': filled,'add_time': 2023-02-20 09: 30: 00,'security': sz300418,'amount': 36200,'filled': 36200,'side': long,'action': open,'price': 23.2200,'commission': 252.1691,'style': MarketOrderStyle: _limit_price=0.0])get_trades-获取当天成交详情
python
get_trades()返回
返回一个 dict, key 是 trade_id, value 是[Trade]对象
cancel_order-撤单
python
cancel_order(order)参数
- order: [Order]对象或者 order_id
inout_cash-账户转入或转出资金
python
inout_cash(cash)账户转入或转出资金,当日的出入金从当日开始记入成本,用于计算收益,即当日结束计算收益时的本金是包含当日出入金金额的(暂不支持)
参数
- cash: 可正可负,正为入金,负为出金.
基金交易
order_etf-etf 实物申赎
python
order_etf(etf_code, amount,trade_type,cash_list,stock_list,account)仅仿真/实盘中可使用
参数
etf_code: etf 代码,str
amount: 申购数量,int
trade_type: 'esg' 申购,'ehh'赎回
cash_list: 仅申购使用,需要现金替代的金额列表,list[str]
stock_list: 仅申购使用,需要现金替代的代码列表,list[str]
account: int,指定第几个账户,1 是第一个,2 是第二个...按顺序.
- 回测时,只有一个账户,这个参数无效.仿真和实盘时,和界面上添加的账户顺序对应.
- 注意: 如果策略里设置的账户数多于界面上添加的账户数,默认使用超出范围的账户会直接报错.如果想修改,参考设置函数 set_option().
返回
- 成功: str,order_id
- 失败: None
事件通知
on_position_warning-当仓位到达指定位置时触发
当仓位到达指定位置时触发(默认 70%)
python
on_position_warning(context,msg)参数
- context: 上下文对象
- msg: 当前仓位,百分比
on_order-当订单撮合成功后触发
python
on_order(context,msg)参数
- context: 上下文对象
- msg: 当前成交的订单信息