zoukankan      html  css  js  c++  java
  • 【零基础】极星量化入门六:同步套利和先后套利

    一、前言

      套利有跨期、跨品种、跨市场,有些交易所又称“价差合约”,比如AP003和AP005,价差合约AP003-AP005的行情就是两个合约价格相减(价差)产生的价格。

      价差套利的本质就是认定两个相关合约的价格不会偏离太多,当市场发生波动导致价格差扩大或缩小就产生了套利空间,此时买入A合约卖出B合约也就锁定了风险,当市场回归正常则产生利润。

      价差合约就是跨期套利的一种,实际上不同品种间、不同市场间都有可能产生价格关联性,利用这种关联性的偏移交易就是套利。由于一买一卖风险比单边小很多,所以深受大家喜爱。

      同步套利就是当价格达到某个值后同时发送两个合约的委托,先后套利是先发送优先腿的委托,成交后再发送第二腿的委托。

      实际上同步套利与条件单差不多,都是监控价格达到某个值后发送委托,而先后套利也只是在同步套利基础上增加了一次委托和成交判断。

    二、同步套利实现

      初始化如下

      为了区分减号和负号,所以这里用add、sub、mul、div分别来表示加、减、乘、除

       由于存在两个合约,而且两个合约取的价格可能还不一样,所以在触发条件里使用A_、B_前缀来区别两个合约。

      同样的价格触发后两个合约的委托价格也不一样,所以需要分别设置两个合约的委托价格。

      整体的代码结构与条件单一致,只是条件触发后发送的两个合约的委托而不是一个合约。

    class SpreadOrder(object):

      #初始化

      def __init__()

      #发送订单

      def sendOrder(self):

      #判断是否触发

      def handle(self):

     三、先后套利

      先后套利只是对同步套利做了微小的修改,除了“未触发”、“完全触发”之外增加了“已触发第一腿”这个状态,

       代码比较简单,直接看代码吧

    四、回顾

      这里只是实现了非常简单的两个套利,还有很多工作可以做,比如加入追单、回退、浮动套利等等,以后有精力可以写写

      因为与条件单类似所以没啥可说的,建议之前写的条件单、止盈、止损可以一起看

      完整代码:

    https://share.weiyun.com/5IJCQUS

      

  • 相关阅读:
    php读取excel日期类型数据的例子
    asp.net字符串分割函数用法
    asp.net页面与页面之间传参数值
    css3中定义required,focus,valid和invalid样式
    java写入文件的几种方法小结
    php file_get_contents与curl性能比较
    Jquery库及其他库之间的$命名冲突解决办法
    [转]DOS特殊字符转义方法
    [转]删除SQL Server Management Studio中保存的帐户信息
    Jpeg2000 简介
  • 原文地址:https://www.cnblogs.com/cation/p/12484426.html
Copyright © 2011-2022 走看看