9.4 股票量化策略的下单函数

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 ( )

该函数获取当天所有的成交记录。需要注意的是,一个订单可能分多次成交。

获取成交信息函数的实例代码如下: