在上一篇文章中,我討論了開發交易軟體的最佳實踐,例如使用事件、資料儲存或單獨的配置。這次,讓我們深入探討戰略部分,特別是如何從架構的角度有效地組織它。
最簡單的方法是假設系統的這部分接收輸入資料(例如價格變化)並產生事件(訊號)。所有邏輯都可以封裝在該模組內。這是一個例子:
def run(self, event): signal = self.calc_rsi(event) if signal != 'FLAT': self.create_event(event, signal)
在此範例中,我們計算 RSI 並根據它產生「買入」或「賣出」等事件。這是一個基本的說明,但概念很清楚。此訊號可能包括所需的買入/賣出價格。當然,真正的交易演算法更複雜,但您已經知道了!
將所有餘額或未平倉頭寸資料收集在一個地方是有益的。這樣,您就可以知道自己持有的美元或比特幣總金額。這些知識對於在系統產生訊號時確定訂單大小至關重要。
def run(self, event): # Calculate USD values # Calculate targets # Check targets # Generate orders
此偽代碼概述了以下步驟:
您取得所有餘額資料、訊號,驗證倉位是否與所需的一致,如果不一致則產生訂單。
此模組與投資組合模組密切相關。有時,風險管理邏輯可以直接在其中實施,特別是當您管理少量資金並且剛開始時。對於大公司來說,這可能是最複雜的系統元素,每個公司都定義了其精確的演算法。以下是一些可以在風險管理中解決的任務:
您在市場上的時間越長,交易演算法的這一部分就變得越重要。
在獲得所有價格和餘額數據、產生訊號、計算最佳投資組合規模並考慮所有可能的風險後,沒有理由不向交易所發送訂單。這可能看起來是最簡單的部分,除非您要跨多個交易所實現訂單路由。通常,您會正確格式化訂單並將其發送到您交易的交易所。
我們討論了四個模組的功能,每個模組在 90% 的交易演算法中都有用。建立您的程式碼,選擇一個好的架構,維護和更新您的交易系統將變得不那麼痛苦。
完整的程式碼將作為 aspis.finance 的開源交易演算法提供。它將包括一些簡單的交易策略,但關鍵功能是能夠透過 Aspis 智能合約創建儲存、吸引投資者資金並確保透明的利潤分享。您可以製定您的策略,將其連接到 Aspis,您的演算法將在 DEX 上進行交易,投資者和管理者(您)將透過智慧合約賺取利潤。敬請關注!
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3