天天看點

基于B/S架構、可替代付費商業軟體的一站式量化交易平台

作者:GitHub精選
基于B/S架構、可替代付費商業軟體的一站式量化交易平台

這是一個面向程式員的量化交易軟體,用于期貨、股票、外彙、炒币等多種交易場景,實作自動交易。已對接了CTP接口(國内期貨)、老虎證券接口(美股港股)。

它的設計初衷是為了解決商業付費軟體擴充性不強、以及對入門級投資者而言費用門檻過高的問題。對于入門級的量化投資者而言,動辄每年過萬元的軟體使用成本,把本來就不多的投資盈餘消耗掉,甚至是加重了入門級選手的成本負擔,導緻辛苦了一年下來發現沒有盈利的可能。作者也是過來人之一,深知量化入門的痛點。

功能特性

  • 一站式平台,可适配對接不同的交易所
  • 靈活多變的自動化政策架構,能實作複雜的個性化交易邏輯,如多合約價差交易,算法高頻交易,CTA交易,期權期貨混合交易等等
  • 支援多賬戶交易,能實作跨市套利等複雜邏輯
  • 直覺易了解的API程式設計接口,并且提供了多種政策的編寫範例,隻需要掌握最基本的JAVA程式設計知識便可以上手編寫自己的交易政策
  • 支援高精度曆史行情回放,便于操盤手進行回放訓練,或用于驗證政策模組
  • 自然易操作的自動化模組管理,輕松掌握與管理自動化政策的運作狀态
  • 可實作完全自主的風控手段
  • 私有化部署,確定政策安全

程式架構

  • B/S架構
  • northstar項目為服務端(包含了web網頁監控端)
  • 互動協定HTTP + websocket
  • 資料庫、緩存為Redis(曆史行情資料主要依賴資料服務,本地僅儲存少量賬戶配置資訊)
  • 前端采用node14 + vue2.x
  • 服務端采用java17(擁抱新技術) + springboot2

業務場景分析

基于B/S架構、可替代付費商業軟體的一站式量化交易平台

架構方案說明

基于B/S架構、可替代付費商業軟體的一站式量化交易平台

UI界面

使用者UI界面是量化交易軟體的監控台。由于程式化政策是自動化運作的,監控台隻是提供一個可以監控程式與政策運作狀态的可視化界面。

監控台是否打開,并不影響程式化政策的運作。

登陸頁

  • LOGO後面的小字型是程式的版本号
  • 預設的使用者名/密碼:admin / 123456
基于B/S架構、可替代付費商業軟體的一站式量化交易平台

行情管理

行情管理界面是用于管理行情網關,目前可用的網關類型有以下幾種:

  • CTP: 是國内期貨CTP網關,對接的是實盤資料,主要用于實際交易
  • SIM: 是本地随機行情網關,随機生成模拟資料,主要用于程式試運作
  • PLAYBACK: 是曆史行情回放網關,對接的是實盤的曆史行情資料,主要用于政策回測
  • TIGER: 是老虎證券行情網關,主要用于接收外盤股票行情
基于B/S架構、可替代付費商業軟體的一站式量化交易平台
  1. 網關類型,表示目前網關的類型。其中PLAYBACK 行情網關可以有多個,其他行情網關隻能有一個
  2. 連接配接狀态,表示目前網關的連線狀态
  3. 行情回報,表示目前網關是否有接收到新行情資料。以 CTP 為例,停盤時段行情回報為 -;開盤時段行情回報為 活躍
  4. 操作區,用于網關的增删改查、連線與斷開

賬戶管理

賬戶管理界面是用于管理交易賬戶,目前可用的賬戶類型有以下幾種:

  • CTP: 是國内期貨CTP賬戶,對接的是實盤賬戶,主要用于實際交易
  • SIM: 是本地實作的模拟賬戶,對交易操作進行模拟撮合,主要用于驗證交易政策與驗證程式
  • TIGER: 是老虎證券交易網關,主要用于外盤股票交易
基于B/S架構、可替代付費商業軟體的一站式量化交易平台

模組管理

模組管理界面是用于管理程式化交易模組。

所謂模組,就是一個程式化政策運作單元。它定義了采用哪個 程式化政策 在哪個 交易賬戶 上交易哪個 合約。

基于B/S架構、可替代付費商業軟體的一站式量化交易平台

手工期貨交易

手工期貨交易界面是用于對行情資料、模拟賬戶、交易接口進行手工驗證的界面,同時也可以作為人工應急幹預的手段。

基于B/S架構、可替代付費商業軟體的一站式量化交易平台

日志跟蹤

日志跟蹤界面是為了友善使用者檢視服務日志而設,它實際上是讀取伺服器的日志檔案内容。 日志跟蹤界面設定了兩種模式:

  • 系統日志模式:系統日志指除政策模組外的系統日志;在Tabs标簽頁直接點選,則進入該模式
  • 模組日志模式:指以模組名為辨別的日志檔案;在模組管理頁的模組中點選【日志跟蹤】,則進入該模式
基于B/S架構、可替代付費商業軟體的一站式量化交易平台

郵件通知設定

在任意頁面點選右上角的【郵件通知設定】,可以設定相關的事件訂閱,并以郵件的方式發送通知。以便于在不打開監控台的情況下收到事件推送。

基于B/S架構、可替代付費商業軟體的一站式量化交易平台

快速開始

  • 環境要求

硬體最低配置

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

繼續閱讀