9.4 股票量化策略的下单函数
在股票量化策略开盘时的运行函数中,用到了下单函数。下面就来真体
讲解一下各种下单函数。
9.4.1 按股数下单函数
按股数下单函数的语法格式如下:
order(security, amount, style=None, side=' long' , pindex=0)
各项参数意义如下:
参数security: 标的代码。
参数amnount :交易数量,正数表示买入,负数表示卖出。
参数style :下单类型,有两种,分别是市价单( MarketOrder )和限价单( LimitOrder )。市价单是指不论价格,接下单,直到交易全部完成。限价单是指定一个价格,买入时不能高于它,卖出时不能低于它,如果不满足,则等待满足后再交易。该参数的默认值为市价单( MarketOrder ) ,即None代表MarketOrder 。
参数side: 用来指定开多单,还是空单。其中long 代表开多单, short代表开空单。默认为long ,即开多单。需要注意的是,股票和基金暂不支持开空单。
参数pindex: 在使用set_subportfolios 创建了多个仓位肘,指定subportfolio 的序号,从0 开始。例如0 指定第一个subportfolio , 1 指定第二个subportfolio ,默认为0 。
按股数下单函数,如果创建订单成功,则返回Order 对象,失败则返回None 。按股数下单函数的实例代码如下:

9.4.2 目标股数下单函数
目标股数下单函数的语法格式如下:
order target(security, amount , style=None, side= ‘ long' ,pindex=0)
目标股数下单函数与按股数下单函数的参数几乎一样,只有第二个参数不一样。第二个参数目丑ount 表示期望的最终数量。
目标股数下单函数,如果创建订单成功,则返回Order 对象,失败则返回None 。目标股数下单函数的实例代码如下:
#卖出平安银行所有股票,即最终持有平安银行的股数为o
order_target( ‘000001.XSHE' , 0)
#买入平安银行所有股票到100 股,即最终持有平安银行的股数为100 月生
order_target( ‘ 000001 . XSHE' , 100)
9.4.3 按价值下单函数
按价值下单函数的语法格式如下:
按价值下单函数的语法格式如下:
order_value(security, value , style=None , side= ‘long' ,pindex=0)
按价值下单函数与按股数下单函数的参数几平一样,只有第二个参数不一样。第二个参数value 表示股票价值。
按价值下单函数,如果创建订单成功,则返问Order 对象,失败则返回None。按价值下单函数的实例代码如下:
#卖出价值为10000 元,的平安银行股票
order_va1ue( ‘ 000001.XSHE' , -10000)
#买入价值为10000 元的平安银行股票
order_va1ue( ‘000001 . XSHE' , 10000)
9.4.4 目标价值下单函数
目标价值下单函数的语法格式如下:
order_target_value(security , value , style=None ,side= 'long' , pindex=0)
目标价值下单函数与按股数下单函数的参数几乎一样,只有第二个参数不一样。第二个参数value 表示期望的股票最终价值。
目标价值下单函数,如果创建订单成功,则返回Order 对象,失败则返回None。目标价值下单函数的实例代码如下:
#卖出平安银行所有股票
order_target_value( ‘000001. XSHE' , 0)
#调整平安银行股票仓位到10000 元价值
order_target_value{‘ 000001.XSHE' , 10000)
9.4.5 撤单函数
撤单函数的语法格式如下:
cancel_order(order)
参数orderj 是指Order 对象或者order_id。撤单函数,如果取消委托成功,则返回Order 对象,委托不存在返回None。撤单函数的实例代码如下:

9.4.6 获取未完成订单函数
获取来完成订单函数的语法格式如下:
get_open_orders( )
该函数可以获得当天所有未完成的订单。获取未完成订单函数的实例代码如下:

9.4.7 获取订单信息函数
获取订单信息函数的语法格式如下:
get_orders(order id=None, security=None, status=None)
该函数可以获取当天的所有订单。
各项参数意义如下:
参数order_id: 订单id 。
参数security : 标的代码,可以用来查询指定标的的所有订单。
参数status : 表示订单状态,可以查询特定订单状态的所有订单。
获取订单信息函数的实例代码如下:

9.4.8 获取成交信息函数
获取成交信息函数的语法格式如下:
get_trades ( )
该函数获取当天所有的成交记录。需要注意的是,一个订单可能分多次成交。
获取成交信息函数的实例代码如下:
