程式
訂單簿數據庫結構
我目前正在將訂單簿的不到 1 秒的快照保存到我的 SQL 數據庫中。但是我很難弄清楚這個數據庫的架構
我目前正在做的是保存一個包含數據的表並將該表命名為目前紀元。如您所見,這是一種可怕的做法。
你們會建議做什麼來提高效率和減少混亂。
我目前儲存的數據只有:時間,大小,價格提前謝謝你們太棒了!
您是否考慮過通過添加附加欄位(“級別”或“深度”)和(“類型”)來儲存它,然後您可以擁有一個看起來像這樣的表;
time size price depth type xxx 100 100.03 1 bid xxx 2000 100.025 2 bid xxx 0 100.02 3 bid xxx 33 100.035 1 offer xxx 45 100.04 2 offer xxx 550 100.045 3 offer
此外,您甚至可以將下一個時間快照與上一個時間快照進行比較,並且僅在數據更改時才創建一個新條目。時間差越小,數據儲存效率就越高。例如假設下一個時間步只有兩個變化;一個新的第 3 級出價,並且由於交易或其他原因降低了第 1 級的出價,那麼您只創建 2 行;
xxx+1 250 100.02 3 bid xxx+1 23 100.035 1 offer
您始終可以使用簡單的 SQL 為給定時間戳的表建立索引;
SELECT TOP 1 * FROM table WHERE type='bid' AND level=1 AND time <= xxx+1 ORDER BY time DESC