(Public) 某交易所考題:設計一組量化交易系統架構 (by Bobo Chen)

Tags
My-slides
Date
Feb 19, 2022

題目1:設計一個量化策略的程式,程式會去擷取第三方的價格資訊,做出買入賣出的決策;若你現在要做一個單機版的自動化交易你會怎麼設計你的架構。為什麼?

  • 根據定義好的交易策略進行自動化交易,稱作量化交易(Qualitative Trading); 以我個人目前對交易的認知,設計了一版量化交易系統架構,規劃有以下7種模組,依序分別說明:
  • 若有不清楚的部分,歡迎面試時來討論,如有觀念錯誤之處也歡迎不吝指正
 

量化交易系統概觀

notion image

量化交易系統 7大模組

  1. 資訊蒐集模組 (Crawler Module)
    1. 主要功能:蒐集價格資訊、市場情緒指標等資訊。
      notion image
       
  1. 交易策略模組 (Strategy Module)
    1. 💡
      交易獲利的秘訣 ⇒ 低買高賣 XDD 其實最重要的是擬定停損策略、停利策略
      主要功能:根據數據即時計算策略,並產生交易訊號
      notion image
  1. 交易模組 (Trading Module)
    1. 主要功能:根據信號執行停損/停利操作
      notion image
      • 下單至哪個交易所
        • 幣安
        • FTX
        • 其他
      • 安控機制
  1. Log Module
    1. 主要功能:任何操作皆須留下紀錄
      notion image
  1. 訊息佇列模組 (Message Module)
    1. 主要功能:Queue Jobs 非同步處理任務,並派發訊息通知
      notion image
      • Channels:Slack、Line、Telegram、Discord
  1. Auth Module
    1. 主要功能:認證、權限操作
      notion image
      • 身份驗證、權限授權、交易所 API Token 管理
  1. 回測模組 (Backtesting Module)
    1. 主要功能:回測模組就是在歷史資料中處於上帝視角,因此可以模擬出所有狀況,把各種參數都嘗試過一遍,找出最好跟最差的情況
      notion image
      • 回測之後會取得一些評估指標(evaluation metric)來幫助我們判斷這個策略的優劣。
      • 通常也會聽到有人將回測稱作覆盤。
      Rose回測績效 - Google Sheets
      notion image
其實系統要讓使用者操作,就還會有系統編號為 0. User Interface (使用者操作介面) 要考慮,不過這邊比較常見就就不特別描述。
notion image
  • 若有不清楚的部分,歡迎面試時來討論,如有觀念錯誤之處也歡迎不吝指正
 

 

題目2:承上題,如果要增加一個回測系統,測試設計的策略年化報酬率,你會如何設計。為什麼?

  • 回測是一種 offline evaluation ,也就是根據歷史資料去計算我們策略的表現。因為使用的是歷史資料,這個時候我們像是從上帝視角在看交易,因此我們可以嘗試調整不同的參數來讓獲利最大化。
  • 回測之後我們會取得一些評估指標(evaluation metric) 來幫助我們判斷這個策略的優劣。
  • 這個回測系統,可以考慮自建、串接第三方回測平台 (ex. Tradingview),或是兩者混搭。
 
自建的話,系統架構預計需要處理的部分有:
  • 需要有第三方價格資訊來源:
    • 幣安交易所
      • 但最多只到 2016年左右
    • 如果是要更早以前,可以用爬蟲去抓「非小號」資料
  • 回測所需的運算資源考慮建立在公有雲(AWS、GCP) 方便擴充

 

題目3:承上題,如果要將上述的系統從單機版變成一個公開的服務,你會怎麼設計及建構整個服務。為什麼?

  • 可能會需要先了解區分單機版和公開版的主要原因是?安裝 vs SaaS 網站服務這兩者差異嗎?
  • 還有這邊指的公開服務是指
    • 讓一般人可以透過這個系統下單嗎?像是 FinLab 台股/加密貨幣回測平台
      • 那就夠上這個服務就需要考慮到大流量的狀況
    • 或是像 Steaker 那樣,只有申購 是對外公開?但背後的交易系統是這次設計的服務。
有機會可以在面試時當面多聊一些

附錄:

量化交易系統架構圖 (全)

量化交易系統架構圖 (全)
量化交易系統架構圖 (全)

GUI Mockup (ongoing)

GUI Mockup (ongoing)
GUI Mockup (ongoing)
 

Loading Comments...