數字貨幣交易所撮合引擎開發解決方案

交易撮合引擎(Matching/Trading Engine),顧名思義是用來撮合交易的軟件,廣泛地應用在金融、證券、數字貨幣交易等領域。交易引擎負責管理數字貨幣市場中所有的開口訂單(Open Orders),並在發現匹配的訂單對(Trading Pair)時自動執行交易。

數字貨幣交易所中的核心技術就是撮合引擎的開發,那麼在數字貨幣交易中撮合引擎的原來及構成有哪些呢?下面我們來逐步介紹:數字資產系統交易平臺區塊鏈技術研發

數字貨幣交易所撮合引擎開發解決方案

交易撮合引擎

正如前面所述,交易撮合引擎是用來撮合交易的軟件,可以先把交易撮合引擎看作一個黑盒子,它有一些輸入和輸出。

例如,可能的輸入包括:

創建新的委託單(NewOrder):一個新的委託單可以作為交易撮合引擎的輸入,引擎會嘗試將其與已有的 委託單進行撮合。

取消已有的委託單(CancelOrder):用戶也可以取消一個之前輸入的委託單,如果它還沒有執行的話,即開口訂單。

當然你可以定義其他的輸入,出於簡化考慮,我們現在只定義上述兩個輸入。

交易撮合引擎的輸出是一些事件,以便及時通知其他應用處理。例如,當引擎撮合了一筆交易後,就會觸發一個TradesGenerated事件;而當取消了一個已有的委託單後,引擎就會觸發OrderCancelled。同樣,你可以根據自己的需求來定義引擎的輸出,這裡我們還是簡單點,只定義這兩個輸出事件。

交易委託賬本

交易委託賬本(Order Book)就是一個買方委託單或買方委託單的列表,通常按照價格和時間排序。

當一個新的買方(買方)委託單進入引擎後,引擎就會將嘗試其與現有的賣方(買方)委託賬本進行匹配,看是否存在執行交易的可能。如果找到了匹配的對手單,引擎就可以執行這兩個委託單了,也就是撮合成功了。

委託單

在任何交易引擎中,都可能有多種類型的委託單供用戶選擇。其中常見的類型包括:

限價委託單:限價委託單是在當前的數字貨幣交易環境中最常用的委託類型。這種委託單允許用戶指定一個價格,只有當撮合引擎找到同樣價格甚至更好價格的對手單時才執行交易。

對於一個買方委託單而言,這意味著如果你的委託價格是¥100,那麼該委託單將會 在任何不高於¥100的價格成交(買到指定的價格或者更便宜的價格);而對於一個賣方委託單而言,同樣的委託價格意味著該委託單將在任何不低於¥100的價格成交(賣出指定的價格或者更高的價格)。

市價委託單:市價委託單的撮合會完全忽略價格因素,而致力於有限完成指定數量的成交。市價委託單在交易委託賬本中有較高的優先級,在流動性充足的市場中市價單可以保證成交。

例如,當用戶委託購買2個BTC時,該委託單可以在¥900、¥1000、¥2000或任何其他價位成交,這依賴於市場中當前的敞口委託單的情況。

止損委託單:止損委託單盡在市場價格到達指定價位時才被激活,因此它的執行方式與市價委託單相反。一旦止損委託單激活,它們可以自動轉化為市價委託單或限價委託單。

這些是交易撮合引擎的原理和構造,如果希望打造一個高級的交易所,那麼還有其他一些需要了解的概念和產品知識,例如流動性、多空交易、風控管理等等,接下來我會持續更新更多的產品理解。


分享到:


相關文章: