開發和維護了一個很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_trade
、rider_data
、lancer_backtest
、saber_analysis
、berserker_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
內的etc
和db
文件夾拷貝到執行目錄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前端項目,應用了react
和material-ui
框架,對於前端來說是非常熟悉的。
cd caster_vision
npm install
npm run build
使用
參看各子項目文檔
- archer_trade
- rider_data
- lancer_backtest
- saber_analysis
- berserker_operation
- assassin_tool
- caster_vision
支持是知識分享的動力,有問題可掃碼哦