zoukankan      html  css  js  c++  java
  • 量化交易之下单函数和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对象

  • 相关阅读:
    js 字符串转化成数字
    SDK编程之多线程编程
    C/C++内存泄漏及检测
    那些争议最大的编程观点(转)
    DB2日常维护——REORG TABLE命令优化数据库性能(转)
    ireport报表学习
    自定义hexo的某个主题
    mac下搭建码云gitee+hexo博客
    python日期及时间格式转换
    python获取中文首字母
  • 原文地址:https://www.cnblogs.com/Zzbj/p/10419738.html
Copyright © 2011-2022 走看看