1. 程式人生 > >CTP: 平昨倉與平今倉,log輕輕告訴你.......

CTP: 平昨倉與平今倉,log輕輕告訴你.......

    CTP的相關文件告訴我們,中金所和三大商品交易所中,只有上期所區分平今倉和平昨倉。也就是說,其它交易所沒有closeToday。但,有二個方面值得我們注意:

   1、這說得是交易所層次的委託,而不是CTP層次的委託,CTP層次並沒有說,對上期所以外的委託不接受closeToday,或不存在CloseYesterday?

   2、值得注意的是CloseYesterday好象被忽略了?

   一、關於平倉委託的insert類別

   請看CTP開平的型別:
    //     TFtdcOffsetFlagType是一個開平標誌型別
    public enum EnumOffsetFlagType
    {
        Open = 48,
        Close = 49,
        ForceClose = 50,
        CloseToday = 51,
        CloseYesterday = 52,
        ForceOff = 53,
        LocalForceClose = 54,
    }

     事實上,CTP層次:

    (1)如果不是上期所,平今倉可用close或closeToday,平昨倉可用close或closeYesterday。

    (2)如果是上期所,   平今倉只可用closeToday,平昨倉可用close或closeYesterday。     但有人認為,在發往相關交易所之前,CloseToday或CloseYesterday在CTP後臺會進行相應的轉化,儘管這種說法沒被得到官方文件認同,但這種說法有實證資料支援。因此,上面的(1)(2)的確是可以用的。注意,上面的寫法,也許不是推薦的規範的寫法。

    二、關於成交回報的委託型別

     當然,我們也關心,那成交回報的流水回來的時侯,會有什麼區分麼?

    大部分情況是:CloseYesterday=> insert =>CloseYesterday;CloseToday=> insert =>CloseToday; 當然,好象也有其它的成交回報方式,而且每個交易所的成交回報資訊,還不太穩定,存在不同的時侯,返回資訊不太一致的情況。即存在:closeToday =>close或closeYesterday =>close的情況。

    一個實盤測試賬戶的LOG資料說話:

   (下面每條記錄來自於真實的交易資料!)

2015-02-10 11:13:22,330 [5] INFO  StrategyTrading.Logger  - =>TA505    Sell  inputOffset:  Open =>  tradeOffset: Open 
2015-02-10 10:00:20,906 [5] INFO  StrategyTrading.Logger  - =>rb1505   Buy   inputOffset:  CloseYesterday =>  tradeOffset: CloseYesterday 
2015-02-10 11:13:21,909 [5] INFO  StrategyTrading.Logger  - =>TA505    Sell  inputOffset:  CloseYesterday =>  tradeOffset: Close 
2015-02-10 21:59:20,021 [5] INFO  StrategyTrading.Logger  - =>ru1505    Buy   CloseYesterday   ->    CloseYesterday  
2015-02-10 21:59:20,114 [5] INFO  StrategyTrading.Logger  - =>TA505     Buy   CloseYesterday   ->    Close  
2015-02-11 01:54:26,377 [5] INFO  StrategyTrading.Logger  - => p1505    Sell  CloseYesterday   ->    Close  

   規律:

  (1)如果是上期所,CloseYesterday   ->    CloseYesterday  。其它:CloseYesterday   ->    Close  。

  (2)如果是中金所:CloseToday   ->    Close. 其它的,好象不變。(還需進行證實!)

   還有沒有其它的比如,closeYesterday=>ForceClose 我們也不妨等待一下吧。有的話,我會收集放到這裡來的。