2017年11月20日 星期一

PATS 來源加入新品種

PATS 系統中的商品唯一鍵值如下三個成員

ExchangeName : 交易所代碼 (Ex. CME_CBT)
ContractName : 合約名稱 (Ex. MINI BEAN)
ContractDate : 合約日期(Ex. FEB18 or FEB18JUN18 or FEB16 123 C)

注意!!!
若來源不是以上的模式 (尤其是 ContractDate),以下可以不用看了


請問, 我有一個 PATS 來源 ExchangeName:CME_CBT , ContractName:MINI BEAN 的品種, 要加入現有的 CBOT / XK , 在  PATS 處理單元, 要如何做?

1. 確認 mdcmd / Tables / Exchange 已建立交易所資訊
    (注意!!!!! 大小寫是有差別的, 而且 TCode 是對外服務的代碼, 在 MDC 中, 全依 Exchange.Abbr, 完全不要理會 TCode 拜託拜託)

2. 確認 mdcmd / Tables / TradeSession 已建立一個預設的交易所時段
    (Exch=新交易所, Abbr=  空白的, 就表示交易所的預設)

3. 確認 mdcmd / Tables / CommodityRoot 已建立 "品種" 資訊
    (鍵值為 Exch, Abbr, Category , 所以期選會分二筆建立)

4. 確認 mdcmd / Tables / SourceDetail 中, 建立對應表, 欄位如下填入
    Source = PATS    (全大寫!!!)
    OrgExch = CME_CBT    (PATS 來源)
    OrgCommRoot = MINI BEAN   (來源大小寫空白都要對)
    Exch = CBOT    (MDC 的交易所, 請不要不要不要寫到 TCode 的CBT)
    CommRootAbbr = XK   (MDC 的 CommodityRoot)
    Multiplier = 1   (請自定義)
    StrikeMultiplier = 1    (目前設 Future, 所以完全無用)
    Category = Future    (期貨合約)

4.1 追加一個 PATS 的 Spread 的奇葩代碼, 他多半會是 ContractName 串接一個 "(空白)SP", 所以我們要如 3. 的設定, 但 OrgCommRoot 設為 "MINI BEAN SP", 其他相同, 來耦合回 XK

5. 確定此 PATS 程式的 Config, 有設定我們的交易所
    開啟 cfg/mdcsd-xxxx.conf, 在此區段中找交易所 (若無請補一筆, 可多筆)
    [MDCS]
    Exch=CBOT  (注意!!!!  是 Exchange.Abbr 不是 TCode)

設定完畢重啟此PATS處理程序, 應該就會被 dsPATS.dll 找到處理關聯, 進而建立商品, 並處理行情

6. 確認商品建立, 請去 mdcmd / Tables / Commodity 中, 是否出現商品資訊, 若有就設定完成, 若否!! 可能是設定有錯誤, 或是來源根本沒有 (來源可以在 log 中 grep Pats 代碼來確認)

2017年11月13日 星期一

mdcsd DataSource 共用 與 緊急單元置換

MDC (Market Data Center) 的 mdcsd
是一個可以外掛上手元件的行情處理單元

外掛單元命名為 dsXXXX, 目前已存在的外掛如下:
dsIDC    - Interactive Data Corporation 來源
dsPATS   - patsystems
dsTAIFEX   - TAIFEX Multicast Protocol
dsTWSE    - TWSE Multicast Protocol

其中 dsIDC 因為具有共通通訊, 以及共用欄位等
因此最容易發生共用元件

例如:
mdcsd-sgx / mdcsd-hkex / mdcsd-hkfe / mdcsd-foreign
在 config 中, 都描述了, 來自 dsIDC
MDCS.DS=dsIDC
但因為來源 IDC SrcId 不同, 會有不同的對應 PROC 單元
DS.IDC=SrcId[,SrcId]@ID:PWD@IP:Port
DS.Proc=EXCH,DepthLevel,Market,L1SrcId,L2SrcId


【緊急換版】
如果我們今天發生了一個需要緊急換一個修補版本時
我們會將 dsIDC.so 取一個別名
例如我們想換 SGX , 就將要換的 dsIDC.so 更名為 dsIDC_SGX.so
並放入 mdc/bin目錄中,此時目錄中會有 dsIDC / dsIDC_SGX 二個掛件
然後我們去修改 mdcsd-sgx.conf 中的  MDCS.DS=dsIDC_SGX
並於管理界面重啟 mdcsd-sgx 即可
※當然, 下次換版時, 請記得改回來 dsIDC 回到統一版本

tspubtm 壓測工具

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