finarthur:開源C++量化金融框架(交易、數據、回測、研究分析、運維、可視化)

開發和維護了一個很fancy的FinTech項目,目前在不斷完善和優化中
github地址:https://github.com/tashaxing/finarthur

在這裏插入圖片描述

finarthur

finarthur是一個C++實現的輕量級開源量化金融框架,包括交易系統、數據系統、回測工具、研究系統、運維工具以及可視化平臺。本項目採用C++實現,保證了執行性能和可擴展性,能夠便捷地進行本地部署,並應用於金融量化交易、策略回測、投研分析、數據處理。

概覽

finarthur是項目集合,子文件夾分別對應子項目。

文件夾 名稱 用途
archer_trade 量化交易系統 策略執行、算法交易、風險控制、持倉管理
rider_data 數據服務系統 實時數據、歷史數據
lancer_backtest 策略回測工具 策略回測、生成報告
saber_analysis 投研分析系統 pnl分析、成交和滑點分析、風險分析、brinson分析
caster_vision 前端可視化平臺 綜合展示交易、數據、分析、回測的web頁面
assassin_tool 客戶端api 連接交易系統和數據系統的api
berserker_operation 運維工具 監控各系統運行狀況、日誌收集、issue處理

在這裏插入圖片描述

沒錯!這些命名來自動漫fate系列,各子項目分別對應了七個被master召喚出來servant,他們的功能跟各位servant的技能也很對應哦~

安裝

支持linux和windows(mac暫未測試)

本項目中archer_traderider_datalancer_backtestsaber_analysisberserker_operation都是C++編寫的,支持跨平臺編譯使用。
環境要求:

  • 支持C++11的編譯器
  • cmake2.8 以上

linux

測試環境:ubuntu14.04,gcc4.8

git clone https://github.com/tashaxing/finarthur
mkdir build
cd build
cmake ..
make

全部項目編譯完成,會生成二進制可執行文件到build文件裏對應子項目文件夾下,啓動時需要依賴的配置文件夾拷貝到該目錄,再啓動執行。

以archer_trade爲例:
將根目錄的finarthur/archer_trade內的etcdb文件夾拷貝到執行目錄build/archer_trade,並創建一個file目錄(如果需要重定向log,還需創建log目錄),然後在etc/archer_trade.json中配置好各項信息,最後

./archer_trade

啓動運行

windows

測試環境:win7,vs2015

1 打開cmake-gui,配置source目錄爲代碼根目錄,設置好build目錄
2 點擊configure,選vs2015 x64
3 點擊generate,生成vs2015項目sln
4 打開vs2015,編譯所有項目

啓動運行同理

需要注意的是,本項目集成了很多第三方項目,在編譯時也會聯合編譯,並且所有lib都採用靜態鏈接,避免環境變化導致編譯問題。

本項目中assassin_tool是分別用C++、python、javascript實現的api庫,需要集成到客戶端使用。

其中,python2和python3都支持,需要安裝以下依賴包:

  • zmq
  • pandas

本項目中caster_vision是javascript實現的web前端項目,應用了reactmaterial-ui框架,對於前端來說是非常熟悉的。

cd caster_vision
npm install
npm run build

使用

參看各子項目文檔

支持是知識分享的動力,有問題可掃碼哦
支持是知識分享的動力,有問題可掃碼哦

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章