Tick設計與清盤

張貼日期:Jan 10, 2011 9:18:35 AM

一般來說清盤是清掉開高低收等報價欄位,備份昨日相關資料作為今日的參考(例如昨收,昨量)

平台上針對市場或商品會提供交易日的欄位,當市場交易日變更即可進行市場全商品清盤,

如果是商品本身的交易日的欄位變更,則處理單一商品的清盤

Tick的設計可分為有量與無量兩種,一般TIck指的是有量的成交明細,

因此只要攔截到商品總量異動,就依據當時報價狀態取所需的對應資訊紀錄一筆Tick,

設計上可以簡化為即時的Append紀錄,規劃時以交易日作為紀錄分隔,

以檔案系統的方式來說每一個交易日儲存於不同的路徑下,因此不須要有(Tick)清盤的動作,

無量的設計更為簡單,針對有興趣的欄位發生異動時便作與上述成交明細的類似處理即可

API CallBack模式範例 設計成交明細作說明,

當商品異動時,Callback ItemProcessFunction 只須針對總量的Tag,

透過API抓取目前值(fnDbfTCdll_GetCurrTagValue)與更新前之值(fnDbfTCdll_GetPrevTagValue)判斷是否相異,

如果是則透過交易日的Tag取得交易日期配合Symbol產生要儲存的對應檔案名稱或DB Table,

再針對所有欲紀錄的欄位取得現值或前值或作計算,再將明細所需資料Append上去即完成

這樣以交易日為概念運行的系統,並不需要清盤,

當產生一個新的交易日時,所有對應交易日的市場資訊為'空'的狀態,

依據來源資訊提供當日的相關資料才陸續生成商品對應與資料狀態,

因此這樣的系統也沒有商品過期下市的問題,

但必須考慮的是部份欄位預設值的問題