2017年12月14日 星期四

PATS 處理結算價邏輯

PATSAPI 有一個 SettlementUpdate callback (以下簡稱 event)

event 中的資訊, 會有以下主要欄位
日期(Date)
時間(Time)
價格(Price)
種類(SettlementType)    以下簡稱 ST

我們訂閱後, PATS會先刷來各種 ST 的價格 (我們視為 Init)
之後 PATS 會依結算等, 再送來各 ST 的價格 (我們視為 Realtime)

以下是原始 PATS 定義的 ST (SettlementType)
0 = ptStlLegacyPrice
7 = ptStlCurPrice
21 = ptStlLimitUp
22 = ptStlLimitDown
23 = ptStlExecDiff
24 = ptStlYDSPPrice
25 = ptStlNewPrice
26 = ptStlRFQiPrice
27 = ptStlRFQtPrice
28 = ptStlIndicative

MDC dsPATS 的結算處理如下:

event 發生
 若是 Init
  我們會將 ST=24 的價格, 放入 "昨日結算價"  Basic.PreSettlementPrice
 若為 Realtime
  我們會將 ST=7,25 的價格, 視為 "結算價"  Basic.SettlementPrice
  但因 PATS 處理方式很亂七八糟,會亂送來
  (例如都跨交易日了,都轉到昨結了,還是會在盤中送來結算...等)
  所以我們要將 Date / Time 的值拿來判斷,若值沒變動
  我就視為亂送的資料,不予處理。



tspubtm 壓測工具

tspubtm 壓測工具的測試模型, 如下: tspubtm(send)  ---tcp-->  MDC ---tcp-->  tspubtm(recv)  ※ tspubtm(send) /  tspubtm(recv) 須為同設備       為了更精確的計算時差...