zoukankan      html  css  js  c++  java
  • 期权量化学习(4)——K线及指标

    找到操作的标的合约,我们就可以调用其历史K线,进行判断分析。

    获取基本信息 GetContractInfo (code) 返回一个字典,包含该code的所有信息。

    其中期权合约信息的key值有行权比率、名称、期权标的、合约乘数、行权价格、行权方式(int型):0为欧式1为美式;期权类型:0为股票期权,1为指数期权,2为期货期权;

    行权到期日(datetime型)、合约存续(int型,65-当日新挂牌69-存续68-当日摘牌48-未上市49-已退市)、合约调整(int型,48-近期未做调整,49-最近10个交易日内合约发生过调整。)、期权种类(int型):0为认购期权,1为认沽期权。

    期货合约信息的key值有品种代码、合约乘数、上市日期、名称、最后交易日。

    指数信息的key值有名称、基准点数、上市日期。

    info1 = GetContractInfo(g.atmopc)
        print(info1)
    

      

     #订阅日K线用来驱动onbar事件
        SubscribeBar(g.atmopc,BarType.Day)
    

      

    订阅K线数据—SubscribeBar (code,BarType),订阅品种K线数据,用来驱动OnBar事件。

    每天的行情初始化事件,系统会自动退订掉之前订阅的K线,需要重新订阅。

    K线类型

    K线更新事件OnBar (context, code, type),当有新的一根K线出现时,调用该事件。每当有新的一根K线产生时触发。根据订阅K线的频率触发。

    实时行情事件OnQuote (context, code),当有品种行情过来时,调用该事件。按天回测时,每个订阅过行情的合约每天触发会一次,在收盘时触发(一般是交易日的15:00)

    两者都需要提前使用SubscribeQuote订阅行情才能触发,需要在行情初始化事件里SubscribeQuote订阅行情。每天新的行情初始化事件触发时,系统会自动将前一天订阅的行情退订掉,所以每一天都需要重新退订。

    定时器OnTimer (context, timerid),在时间达到设置的定时时间时调用;需要配合SetTimer函数使用。

     # 在k线出现的时候,如果没持仓就买开,如果有就平仓
    def OnBar(context,code,bartype):
        posi = context.myacc.GetPositions() #获取所有持仓
        
        if len(posi) == 0:
        #下单买开,2表示最新价
            print("买开")
            QuickInsertOrder(context.myacc,g.atmopc,'buy','open',PriceType(PbPriceType.Limit,2), 10)
    elif len(posi) >0: opcode = posi[0].contract print("卖平") #下单卖平,16表示对手价 QuickInsertOrder(context.myacc,opcode,'sell','close',PriceType(PbPriceType.Limit,16), 10)
    UnsubscribeBar(g.atmopc,BarType.Day)

      

    获取所有的持仓信息—Account.GetPositions (option),返回一个list,包含符合查询条件的所有持仓对象

    快捷下单QuickInsertOrder (account,code,direction,open_or_close,price_type,volume,today_first=True),其中有等号的参数是可不填的,等号后是默认值

    PbPriceType 下单价位类型,用于下单、追单时指定价位。可以用于InsertOrder,QuickInsertOrder,等各处下单函数中价格的位置。

  • 相关阅读:
    [Swift]LeetCode239. 滑动窗口最大值 | Sliding Window Maximum
    [Swift]LeetCode238. 除自身以外数组的乘积 | Product of Array Except Self
    [Java]LeetCode237. 删除链表中的节点 | Delete Node in a Linked List
    [Swift]LeetCode236. 二叉树的最近公共祖先 | Lowest Common Ancestor of a Binary Tree
    [Swift]LeetCode235. 二叉搜索树的最近公共祖先 | Lowest Common Ancestor of a Binary Search Tree
    [Swift]LeetCode233. 数字1的个数 | Number of Digit One
    [Swift]LeetCode232. 用栈实现队列 | Implement Queue using Stacks
    [Swift]LeetCode230. 二叉搜索树中第K小的元素 | Kth Smallest Element in a BST
    [Swift]LeetCode229. 求众数 II | Majority Element II
    [Swift]LeetCode228. 汇总区间 | Summary Ranges
  • 原文地址:https://www.cnblogs.com/adam012019/p/14718552.html
Copyright © 2011-2022 走看看