MultiSrc多重數據整合程式
MultiSrc程式畫面請參考 2017-08-22
MultiSrc的原理跟PatsEmu/PatsRaw相同, 只是處理的資訊來源為DTS系列的輸出
目前是提供來源為PATS Tags的轉碼,可將多重來源重新整理改分配
比如多重來源的數據庫DbfId都是相同的0x0021
則可以透過交易所代碼或DBN名稱之設定重新分配使用的數據庫DbfId
數據庫的分配 (預設檔名 PATSGroup.map )
PATSGroup.map
'for Option by key as "Contract|Exchange" , the others using "Exchange" as key
'Example:
' "CME_CBT",0xA100
' "TOCOM",0xA200
' "GOLD|TOCOM",0xA201
' "XCME",0x8100
' "O_XCME",0x8101
'"HFOCX",0xCA00 'Gcbullion Test
'可設定優先資料庫作簡易歸類
'"$Spread",0x1021 '可提供價差商品一個優先資料庫
'"$Option",0x1022 '可提供選擇權商品一個優先資料庫
'"$Index",0x1023 '可提供指數現貨外匯一個優先資料庫
'"$Unknow",0x1024 '可提供未識別(無群組)商品一個優先資料庫
'可用 O_ + Exchange 針對該交易所選擇權快速分群
'"XCME",0x8100 '有設O_XCME則這裡只有期貨
'"O_XCME",0x8101 'XCME的未分群選擇權
'"XNYM",0x8200 '有設O_XNYM則這裡只有期貨
'"O_XNYM",0x8201 'XNYM的未分群選擇權
'"XCBT",0x8300 '有設O_XCBT則這裡只有期貨
'"O_XCBT",0x8301 'XCBT的未分群選擇權
'可用 "Contract|Exchange" 針對單一選擇權進行分群
'"LO|XNYM",0x8202 '交易所XNYM的LO全部選擇權
'**********************************************************************************
'MultiSource或PatsEmu-PATS-Tags有支援參數 /GroupByDBN
'如果有下參數 /GroupByDBN 的方式, 代表分群的依據為設定來源時於DataSet指定的DBN名稱
'例如 0x0021=RMDS,0x0022=MAN,0x0020=PATS
'分群的設定方式則以DBN為依據,可為
' "RMDS",0xD021
' "MAN",0xD022
' "PATS",0xD020
'如果是MultiSource的版本
'以路透為例 可以把全部的來源都設0x0021=RMDS就會全部合併在 0xD021
'假如有兩個分流,例如35307與35317分別用DataSet
' 為 0x0021=CME 與 0x0021=CME2
'同時設定有
' "CME",0xD007
' "CME2",0xD017
'則兩個分流分別被分配到數據庫 0xD007 與 0xD017
'倘若兩個分流,35307與35317都一樣用DataSet
' 同為 0x0021=CME
'則兩個分流分就合併在數據庫 0xD007
'PS: 如果不同來源有重疊的#1欄位商品全域完整名稱
'則看從哪個來源先收到而分配到對應數據庫後,其他重複者都歸到同一項目中
'也就是相同的#1欄位只會保留1個
;常見的設定(路透, 同時使用 /GroupByDBN 之參數設定)
;於來源設定檔 (預設 MultiSrc.set ) 中, 依設計規劃
;可將 35307與35317合併成同一數據庫, 35306與35316也合併
; 將下列有用到的DBN分別指派想要使用的數據庫DbfId即可
' "Index",0x6001
' "Europe",0x6002
' "China",0x6003
' "Japan",0x6004
' "NYBOT",0x6005
' "SGX",0x6006
' "CME",0x6007
' "CBOT",0x6008
' "HKF",0x6009
' "NYMEX",0x6010
' "ICEUS",0x6011
' "NYMEX2",0x6012 '來源若為合併則用不到
' "SGX2",0x6016 '來源若為合併則用不到
' "CME2",0x6017 '來源若為合併則用不到
多重數據源的設定(預設檔名 MultiSrc.set )
MultiSrc.set
#本檔案註解字元可為 # 或 ' 或 ;
;DataSet指令用來建立有什麼接收項目,收什麼資料庫內容
;設好接收項目後,預設Host來源是 127.0.0.1:SourceID 也就是連本機與SourceID內容相同的port號
;格式
; DataSet SourceID DataSetList
;DataSet命令範例:
'DataSet 35301 0x0021=Index #此項目接收來源為 127.0.0.1:35301
'DataSet 35302 0x0021=Euroue #此項目接收來源為 127.0.0.1:35302
'DataSet 35303 0x0021=China #此項目接收來源為 127.0.0.1:35303
'DataSet 36600 0x8101=CMEopt,0x8202=LO,0x8301=CBTopt #此項目接收來源為 127.0.0.1:36600
'DataSet 35600 0x8100=XCME,0x8200=XNYM,0x8300=XCBT,0x8400=XCEC #此項目接收來源為 127.0.0.1:35600
;HostSet指令用來修改指定項目之接收來源Host
;需先用DataSet指令建立好之SourceID才能透過HostSet指令作變更
;格式
; HostSet SourceID HostAddress
'HostSet 35301 192.168.1.64:30021 #變更35301的來源為 192.168.1.64:30021
;格式
; HostSet SourceID HostAddress AppUserName
'HostSet 35301 192.168.100.64:30021 GMDS01(35301) #變更35301的來源同時以指定的名稱作為上游連線之識別
;BackupSet指令用來啟動/變更指定項目之備源Host
;需先用DataSet與HostSet指令建立好之SourceID才能正確操作
;格式
; BackupSet SourceID HostAddress
'BackupSet 35301 192.168.100.117:30021 #設定35301的備源為 192.168.100.117:30021
;常見的設定(路透, 同時使用 /GroupByDBN 之參數設定)
;這裡的作法是將 35307與35317合併成同一數據庫, 35306與35316也合併
;於來源設定檔 (預設 MultiSrc.set ) 中,
; 將下列有用到的DBN分別指派想要使用的數據庫DbfId即可
'DataSet 35301 0x0021=Index
'DataSet 35302 0x0021=Europe
'DataSet 35303 0x0021=China
'DataSet 35304 0x0021=Japan
'DataSet 35305 0x0021=NYBOT
'DataSet 35306 0x0021=SGX
'DataSet 35307 0x0021=CME
'DataSet 35308 0x0021=CBOT
'DataSet 35309 0x0021=HKF
'DataSet 35310 0x0021=NYMEX
'DataSet 35311 0x0021=ICEUS
'DataSet 35312 0x0021=NYMEX
'DataSet 35316 0x0021=SGX
'DataSet 35317 0x0021=CME
MultiSrc常用參數
/App : 用來變更識別名稱
/GroupByDBN : 以DBN作為數據庫分類原則 ( DataSet 時所指定的代碼, 如 0x0021=RMDS 則DBN是 RMDS),
若無此參數則以交易所代碼為原則 (#1欄位 | 符號後的代碼 如 |XCME 則是 XCME), 可參考 GroupMap
/DTSport : 用來變更程式的服務port號
/Expiry : 於載入時濾除過期商品, 例如設 -15 代表到期日比當前已超過15天的就濾除
/Top : 改以頂源方式服務(#97 #98 #16 #17 #99 等欄位改由本地產生, 並會依據 #60 欄位之異動而執行清盤)
基本上用法都同其他PatsEmu, 可參考比較新的PatsEmu-CME參數說明
有差異的是 /Source 變成是用來指定多重來源設定檔 MultiSrc.set
以TickWriter為例:
TW_EmuSrc.exe 127.0.0.1:35300 0x6001=1,0x6002=2,0x6003=3,0x6004=4,0x6005=5,0x6006=6,0x6007=7,0x6008=8,0x6009=9,0x6010=10,0x6011=11 .\Data\
上述設定會把各數據庫資料儲存在對應的DBN路徑下
0x6001 : .\Data\日期\Tick\1\<#93各交易所代碼>\<#1商品完整代碼>.tic
0x6002 : .\Data\日期\Tick\2\<#93各交易所代碼>\<#1商品完整代碼>.tic
0x6003 : .\Data\日期\Tick\3\<#93各交易所代碼>\<#1商品完整代碼>.tic
... ... ...
0x6010 : .\Data\日期\Tick\10\交易所\商品名稱.tic
0x6011 : .\Data\日期\Tick\11\交易所\商品名稱.tic
TW_EmuSrc.exe 127.0.0.1:35300 0x6007=RMDS,0x6008=RMDS,0x6010=RMDS .\Tick\
上述設定會把據庫資料都儲存在相同的DBN路徑下
0x6001 : .\Data\日期\Tick\RMDS\<#93各交易所代碼>\<#1商品完整代碼>.tic
0x6002 : .\Data\日期\Tick\RMDS\<#93各交易所代碼>\<#1商品完整代碼>.tic
0x6003 : .\Data\日期\Tick\RMDS\<#93各交易所代碼>\<#1商品完整代碼>.tic