這是一個面向程式員的量化交易軟體,用于期貨、股票、外彙、炒币等多種交易場景,實作自動交易。已對接了CTP接口(國内期貨)、老虎證券接口(美股港股)。
它的設計初衷是為了解決商業付費軟體擴充性不強、以及對入門級投資者而言費用門檻過高的問題。對于入門級的量化投資者而言,動辄每年過萬元的軟體使用成本,把本來就不多的投資盈餘消耗掉,甚至是加重了入門級選手的成本負擔,導緻辛苦了一年下來發現沒有盈利的可能。作者也是過來人之一,深知量化入門的痛點。
功能特性
- 一站式平台,可适配對接不同的交易所
- 靈活多變的自動化政策架構,能實作複雜的個性化交易邏輯,如多合約價差交易,算法高頻交易,CTA交易,期權期貨混合交易等等
- 支援多賬戶交易,能實作跨市套利等複雜邏輯
- 直覺易了解的API程式設計接口,并且提供了多種政策的編寫範例,隻需要掌握最基本的JAVA程式設計知識便可以上手編寫自己的交易政策
- 支援高精度曆史行情回放,便于操盤手進行回放訓練,或用于驗證政策模組
- 自然易操作的自動化模組管理,輕松掌握與管理自動化政策的運作狀态
- 可實作完全自主的風控手段
- 私有化部署,確定政策安全
程式架構
- B/S架構
- northstar項目為服務端(包含了web網頁監控端)
- 互動協定HTTP + websocket
- 資料庫、緩存為Redis(曆史行情資料主要依賴資料服務,本地僅儲存少量賬戶配置資訊)
- 前端采用node14 + vue2.x
- 服務端采用java17(擁抱新技術) + springboot2
業務場景分析
架構方案說明
UI界面
使用者UI界面是量化交易軟體的監控台。由于程式化政策是自動化運作的,監控台隻是提供一個可以監控程式與政策運作狀态的可視化界面。
監控台是否打開,并不影響程式化政策的運作。
登陸頁
- LOGO後面的小字型是程式的版本号
- 預設的使用者名/密碼:admin / 123456
行情管理
行情管理界面是用于管理行情網關,目前可用的網關類型有以下幾種:
- CTP: 是國内期貨CTP網關,對接的是實盤資料,主要用于實際交易
- SIM: 是本地随機行情網關,随機生成模拟資料,主要用于程式試運作
- PLAYBACK: 是曆史行情回放網關,對接的是實盤的曆史行情資料,主要用于政策回測
- TIGER: 是老虎證券行情網關,主要用于接收外盤股票行情
- 網關類型,表示目前網關的類型。其中PLAYBACK 行情網關可以有多個,其他行情網關隻能有一個
- 連接配接狀态,表示目前網關的連線狀态
- 行情回報,表示目前網關是否有接收到新行情資料。以 CTP 為例,停盤時段行情回報為 -;開盤時段行情回報為 活躍
- 操作區,用于網關的增删改查、連線與斷開
賬戶管理
賬戶管理界面是用于管理交易賬戶,目前可用的賬戶類型有以下幾種:
- CTP: 是國内期貨CTP賬戶,對接的是實盤賬戶,主要用于實際交易
- SIM: 是本地實作的模拟賬戶,對交易操作進行模拟撮合,主要用于驗證交易政策與驗證程式
- TIGER: 是老虎證券交易網關,主要用于外盤股票交易
模組管理
模組管理界面是用于管理程式化交易模組。
所謂模組,就是一個程式化政策運作單元。它定義了采用哪個 程式化政策 在哪個 交易賬戶 上交易哪個 合約。
手工期貨交易
手工期貨交易界面是用于對行情資料、模拟賬戶、交易接口進行手工驗證的界面,同時也可以作為人工應急幹預的手段。
日志跟蹤
日志跟蹤界面是為了友善使用者檢視服務日志而設,它實際上是讀取伺服器的日志檔案内容。 日志跟蹤界面設定了兩種模式:
- 系統日志模式:系統日志指除政策模組外的系統日志;在Tabs标簽頁直接點選,則進入該模式
- 模組日志模式:指以模組名為辨別的日志檔案;在模組管理頁的模組中點選【日志跟蹤】,則進入該模式
郵件通知設定
在任意頁面點選右上角的【郵件通知設定】,可以設定相關的事件訂閱,并以郵件的方式發送通知。以便于在不打開監控台的情況下收到事件推送。
快速開始
- 環境要求
硬體最低配置
CPU: 2核
記憶體: 4G
磁盤: 10G
網絡: 100Mbps
軟體包依賴
JDK 17
redis 7
- 環境腳本安裝
執行對應的環境安裝腳本,自動安裝環境依賴。
Linux環境:
curl https://gitee.com/dromara/northstar/raw/master/env.sh | sh
Windows環境:
Invoke-WebRequest https://gitee.com/dromara/northstar/raw/master/env.ps1 -OutFile env.ps1; powershell -noexit ".\env.ps1"
假如執行報錯,需要把腳本下載下傳到本地後右鍵選擇powershell執行。
程式啟動:
使用 java -jar 便可以啟動程式(注意:要加上環境參數 -Denv=prod):
java -jar -Denv=prod northstar.jar
日志查詢:
可以在以下路徑找到程式運作日志:
├─ northstar-dist 程式包目錄
| ├─ logs 程式日志目錄
└─ northstar-env 環境依賴包目錄
桌面監控端下載下傳:
https://gitee.com/dromara/northstar/releases
-END-
開源協定:GPL3.0
開源位址:https://gitee.com/dromara/northstar