關於畢設的思路

preData.py

 

例子1:bid和ask成對檔的情況下,要校驗的字符串爲:bid:ask:bid:ask:...


"data": [{
        "instrument_id": "BTC-USDT",
        "asks": [["3366.8", "9", 10],[ "3368","8",3]],
        "bids": [
            ["3366.1", "7", 0],[ "3366","6",3 ]
        ],
        "timestamp": "2018-12-04T09:38:36.300Z",
        "checksum": -1881014294
    }]

該例子對應的checksum字符串爲:3366.1:7:3366.8:9:3366:6:3368:8

例子2:bid和ask不成對檔的情況 ,要校驗的字符串爲:bid:ask:ask:ask:...

"data": [{
        "instrument_id": "BTC-USDT",
        "asks": [["3366.8", "9", 10],[ "3368","8",3],[ "3372","8",3 ]],
        "bids": [
            ["3366.1", "7", 0]
        ],
        "timestamp": "2018-12-04T09:38:36.300Z",
        "checksum": 831078360
    }]

此例子對應的checksum String 將會是 3366.1:7:3366.8:9:3368:8:3372:8

depth 頻道用戶收到推送數據爲:

首次Example Response


{
    "table": "spot/depth",
    "action": "partial",
    "data": [{
        "instrument_id": "ETH-USDT",
        "asks": [
            ["8.8", "96.99999966", 1],
            ["9", "39", 3],
            ["9.5", "100", 1],
            ["12", "12", 1],
            ["95", "0.42973686", 3],
            ["11111", "1003.99999795", 1]
        ],
        "bids": [
            ["5", "7", 4],
            ["3", "5", 3],
            ["2.5", "100", 2],
            ["1.5", "100", 1],
            ["1.1", "100", 1],
            ["1", "1004.9998", 1]
        ],
        "timestamp": "2018-12-18T07:27:13.655Z",
        "checksum": 468410539
    }]
}

增量:

{
    "table": "spot/depth",
    "action": "update",
    "data": [{
        "instrument_id": "BTC-USDT",
        "asks": [],
        "bids": [
            ["3983", "789", 0]
        ],
        "timestamp": "2018-12-04T09:38:36.300Z",
        "checksum": -1200119424
    }]
}
#trade 
{'table': 'spot/trade', 'data': [{'side': 'sell', 'trade_id': '38994605', 'price': '6225.5', 'size': '0.08', 'instrument_id': 'BTC-USDT', 'timestamp': '2020-03-23T14:03:17.042Z'}]}

#deep
 {'table': 'spot/depth', 'action': 'update/sell', 'data': [{'instrument_id': 'BTC-USDT', 'asks': [['6225.7', '0.15653571', '3'], ['6225.8', '0.08', '1'], ['6226.2', '0.02980727', '1'], ['6226.3', '0.12709411', '4'], ['6226.4', '0.20279634', '3'], ['6226.5', '0.03080703', '2'], ['6226.6', '0', '0'], ['6226.7', '0', '0'], ['6226.8', '2', '1'], ['6226.9', '0', '0'], ['6227.1', '0.80187679', '1'], ['6227.2', '0', '0']]}


#spot/depth爲400深度頻道名
首次Example Response
{
    "table":"spot/depth",
    "action":"partial",
    "data":[
        {
            "instrument_id":"ETH-USDT",
            "asks":[
                [
                    "162.5",
                    "14.29884",
                    2
                ],
                [
                    "162.51",
                    "2.084362",
                    1
                ],
               ...

                [
                    "168.51",
                    "7.760755",
                    2
                ],
                [
                    "168.57",
                    "0.02",
                    1
                ]
            ],
            "bids":[
                [
                    "162.49",
                    "1.556106",
                    3
                ],
                [
                    "162.47",
                    "0.00913",
                    1
                ],
               ...

                [
                    "155.15",
                    "70",
                    1
                ],
                [
                    "155.13",
                    "3",
                    1
                ]
            ],
            "timestamp":"2019-04-16T10:17:28.507Z",
            "checksum":1141851215
        }
    ]
}

增量:
{
    "table":"spot/depth",
    "action":"update",
    "data":[
        {
            "instrument_id":"ETH-USDT",
            "asks":[
                [
                    "162.5",
                    "0",
                    0
                ],
                [
                    "162.61",
                    "1.209",
                    2
                ],
                [
                    "168.69",
                    "0.006",
                    1
                ],
                [
                    "168.73",
                    "0.002082",
                    1
                ]
            ],
            "bids":[
                [
                    "162.49",
                    "1.512544",
                    2
                ],
                [
                    "162.47",
                    "0.05333",
                    2
                ],
                [
                    "162.46",
                    "14.608508",
                    3
                ],
                [
                    "162.43",
                    "10.61874",
                    3
                ],
                [
                    "162.41",
                    "27.303906",
                    2
                ],
                [
                    "162.4",
                    "14.762929",
                    6
                ],
                [
                    "162.39",
                    "11.045909",
                    1
                ],
                [
                    "162.36",
                    "19.230907",
                    8
                ],
                [
                    "162.31",
                    "3.927598",
                    4
                ],
                [
                    "162.3",
                    "5.353085",
                    5
                ],
                [
                    "162.29",
                    "6.569261",
                    12
                ],
                [
                    "162.25",
                    "8.308575",
                    3
                ]
            ],
            "timestamp":"2019-04-16T10:17:29.045Z",
            "checksum":227291232
        }
    ]
}

#spot/trade爲交易頻道名
{
    "table": "spot/trade",
    "data": [{
        "instrument_id": "ETH-USDT",
        "price": "162.12",
        "side": "buy",
        "size": "11.085",
        "timestamp": "2019-05-06T06:51:24.389Z",
        "trade_id": "1210447366"
    }]
}


#tbdata
spot/depth

#askscurr/bidcurr
[[price,order,quant]] 即現貨 深度價格、此價格數量、此深度由幾筆訂單組成

[['6225.5', '0.02981205', '1'], ['6225.6', '0.19081205', '3'], ['6225.7', '0.43585531', '6'], ['6226.2', '0', '0'], ['6226.3', '1.991', '1'], ['6226.4', '0.07298931', '1'], ['6226.5', '0.002', '2'], ['6227.1', '0.80287679', '2'], ['6228', '0.307', '4'], ['6230', '0.001', '1'], ['6234.5', '0', '0'], ['6235.5', '0.946', '1'], ['6235.6', '0', '0'], ['6237.4', '1', '1'], ['6237.7', '1', '1'], ['6241.6', '0', '0'], ['6243.6', '0', '0'], ['6248.4', '0.06420545', '1'], ['6255.9', '0.06528076', '2'], ['6267.9', '3.33445013', '1'], ['6530.6', '0', '0'], ['6532.9', '0', '0']]

#deeplimit
[timestamp,price,?limit?]#limit部分還不是很清楚爲何是小數
['2020-03-23T14:03:17.222Z', 6225.5, 0.02981205, 0.57243615, 2.61513186, 0.08, 0, 0, 0, 0, 1.991, 0.07298931, 0.004, 0, 0, 2.0, 0, 0.01801751, 1.60575358, 0, 0, 0, 0.0555999, 0.8, 0, 0, 0, 1.228, 0.035, 0, 0, 0, 0, 7.76559972, 0, 0, 0, 0, 0, 0, 1.925058, 0.1, 0.02551, 0, 1.089, 0, 0.001, 0.001, 0, 0, 0, 0, 0.0515, 0, 0, 0.05514094, 2.602, 0, 0, 0, 0, 0.572, 0, 0, 0, 0.32895899, 0.461, 0, 0, 0.048, 0, 0.159, 0, 0, 0.005, 0, 0.393, 0.1, 0, 0, 0, 0, 0, 0, 0, 0, 0.1707, 0.3, 0, 0, 0, 0, 0, 3.51016, 0.8, 0, 0, 0, 0.33305288, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.002, 0, 0.1, 0, 0.0019996, 0, 0, 0, 0, 0.004, 0.00321273, 0, 0, 0, 0, 0.335, 0, 0.8, 0, 0.001, 0, 0, 0.50594165, 0, 0.005, 0.001, 0, 1.0, 0, 0, 0.0515, 0, 2.002, 0, 0, 0.8, 0, 0.063, 0, 0.015, 0, 0, 0.001, 0, 0.1, 0, 0, 0.11, 0, 0, 0.02551, 0, 0, 0, 0, 0, 0, 0.393

    

  • 深度行情間隔0.1s,trade不一定
  • 判斷某一時刻trade現貨交易的價格是否在深度行情的買賣價格+-10以內,如果是,那麼就把深度行情中的askvolume和bidvolume加到該時刻的deeplimit中--即將限價交易成交量(訂單數*它們買賣的數量)存起來
  • deeplimit 前100是ask,100後纔是bid
  • 成交量可以判斷波幅
  • 疑問:round處理是在幹什麼?

微服務架構

  • 把MongoDB作爲持久化存儲數據庫,Redis做緩存數據庫,通過異步消息發佈給訂閱用戶,把接收數據和處理數據分成兩個微服務,避免相互干擾

系統模塊

  • 預處理系統,預測模型,還有交易策略,還有下單優化算法,還有止損系統

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章