量化交易之下单函数和context对象

一、下单函数

聚宽设计的函数(如前文所说准确叫法是API)的用法都写在API文档里,位置在聚宽网站导航栏-帮助-API文档

 

1、order按股数下单

order(security, amount, style=None, side='long', pindex=0, close_today=False)

买卖标的。调用成功后, 您将可以调用[get_open_orders]取得所有未完成的交易, 也可以调用[cancel_order]取消交易

参数

  • security: 标的代码
  • amount: 交易数量, 正数表示买入, 负数表示卖出
  • style: 决定下的订单是市价单还是限价单,默认是None代表市价单(MarketOrder), 还有限价单(LimitOrderStyle)
  • side: 'long'/'short',操作多单还是空单。默认为多单,股票、基金暂不支持开空单。
  • pindex: 在使用set_subportfolios创建了多个仓位时,指定subportfolio 的序号, 从 0 开始, 比如 0 指定第一个 subportfolio, 1 指定第二个 subportfolio,默认为0。
  • close_today: 平今字段。
    • 对上海国际能源中心,上海期货交易所,中金所的标的:
      • close_today = True, 只平今仓
      • close_today = False, 只平昨仓
    • 对其他交易所标的:
      • close_today = True, 优先平今,超出则平昨仓
      • close_today = False, 优先平昨,超出则平今仓

返回 Order对象或者None, 如果创建订单成功, 则返回Order对象, 失败则返回None

 

2、常用的下单函数

1.order(security,amount)

含义是买卖一定数量的(单位:股)股票。security是股票代码,amount是数量,amount为负数时就是代表卖出了,需要知道的是,国内股票买入最小单位是1手即100股。

# 买入100股平安银行
order("000001.XSHE",100)

# 卖出100股平安银行
order("000001.XSHE",-100)

 

2.order_target(security,amount)

含义是通过买卖,将股票仓位调整至一定数量(单位:股)。security是股票代码,amount是数量

"""
调整平安银行的持股数量至1000股,
即,如果目前平安银行的持股数量低于1000股就买入,高于就是卖出,不高不低就不动。
"""
order_target("000001.XSHE",1000)

 

3.order_value(security,value)

含义是买卖一定价值量(单位:元)股票。security是股票代码,value是价值量。value为负数时就是代表卖出了

# 买入10000元的平安银行
# 如果当前股票市价是10元,则代表买入1000股
# 如果除不开系统会自动调整成相近的合理数量。卖出时也会。
order_value("000001.XSHE",10000)

# 卖出10000元的平安银行
# 如果当前股票市价是100元,则代表卖出100股
order_value("000001.XSHE",-10000)

 

4.order_target_value(security,value)

通过买卖,将股票仓位调整至一定价值量(单位:元)。security是股票代码,value是价值量

# 调整平安银行的持股价值量至10000元
# 即,如果目前平安银行的持股价值量(按股票市价算)低于10000元就买入,高于就是卖出,不高不低就不动。
order_target_value("000001.XSHE",10000)

 

5.cancel_order(order)  取消订单

参数:[Order]对象或者order_id

返回 Order对象或者None, 如果取消委托成功, 则返回Order对象, 委托不存在返回None

# 每个交易日结束运行
def after_trading_end(context):
    # 得到当前未完成订单
    orders = get_open_orders()
    # 循环,撤销订单
    for _order in orders.values():
        cancel_order(_order)

 

二、context对象

posted @ 2019-02-22 17:35  我用python写Bug  阅读(1161)  评论(0编辑  收藏  举报