VNPY 架構設計文檔
版本日志:
一. 引言
編寫目的:
該軟件概要設計說明書是“VNPY”開發中的重要文獻資料,所完成的工作是將需求說明書中的數據流圖轉化成軟件結構和數據結構,為后續進行詳細設計說明書做好鋪墊 。是開發人員進行功能設計和代碼編寫以及其他的具體實施開發工程提供必要的參考資料,在系統開發完成后期為系統的測試、驗收提供幫助。其編寫過程由項目的重要策划人完成。預期讀者是從事“VNPY”開發的相關工作人員
背景:
無
定義:
無
參考資料
無
二.總體設計
1.1 需求規定
參見 <需求說明文檔>
1.2 運行環境
操作系統:Windows7,windows10, unbutu
開發運行語言:Python 2.7
主要依賴庫:QT,Anaconda2,ta-lib
1.3 結構, 軟件層次圖

1.4 人工處理部分
通過 .json 文件配置相關賬戶參數
三.接口設計
1.外部接口
CTP/LST/飛馬/貨幣等,各外部接口說明參見接口官方網站。
2.內部接口
RCP
四.運行設計
1.運行模塊組合
2.運行控制
3.運行時間
五.系統結構設計
軟件結構設計思路:
VNPY 設計思路是數據驅動,引擎牽引,應用掛靠。 從業務出發,所有的交易都是基與行情的反應,有了行情才有信號,才有委托,才有持倉和風控。 從技術角度看,數據來源於API(CTP,LTS,火幣)等,可以說數據驅動了一切。 VNPY的引擎包括:主引擎,事件引擎,數據引擎和應用引擎。 引擎的作用有點類似電腦的主板,所有的東西都往上插。如果需要資源,就向引擎要。 VNPY主引擎驅動Gateway(延伸到各行情交易CTP),使用了消息引擎(EventEngine)把所有Gateway發過來的數據分發到各個內部的外部的引用。內部的應用包括數據引擎,主界面等,外部應用包括風控管理,CTA策略,算法交易等各應用。 在應用里面,VNPY又設計了應用引擎來帶動各策略組,給策略組提供服務。 同時VNPY主引擎提供了,訂閱,委托,撤單,數據庫操作等接口給各個內部的,外部的APP。
數據服務作為多個獨立應用程序,來實現數據的下載,整理,保存。 供策略回測使用。從性能的角度來說Python性能會極大的牽制了回測部分的功能。
軟件結構圖


參考流程圖
VNTrader 啟動流程
VNTrader 訂閱合約

歡迎交流量化交易技術,qq群 : 375129936
