zipline目錄結構

下面列出了zipline主要的目錄和文件結構和它的說明算法

├── ci    -  持續集成相關
├── conda - 生成conda 包相關
├── docs - 文檔
│   ├── notebooks - notebook代碼
│   └── source  - 教程和what’s new
├── etc - 依賴配置和一些 hook shell 腳本
├── tests - 測試代碼
├── zipline - 代碼主目錄
│   ├── __init__.py - 集中引入包內容
│   ├── __main__.py - 主程序入口
│   ├── _protocol.pyx - current, history, can_trade 之類的一些數據操做接口的實現
│   ├── _version.py - 版本管理相關的
│   ├── algorithm.py - 策略算法的主邏輯抽象,算法最後會被實例化爲TradingAlgorithm的實例或者繼承它, 而且裏面進行了主要的api的定義,zipine的 cli會調用它的run方法啓動回測
│   ├── api.py 經常使用api
│   ├── api.pyi 經常使用api說明
│   ├── assets - 資產類抽象 裏面封裝了經常使用的資產如股票Equity,期貨Funtrue, 做爲Asset的子類,而且封裝了其數據庫操做(這裏是sqlite)
│   ├── data - 數據相關,全部的數據操做封裝爲dataportal 
│   │   ├── __init__.py
│   │   ├── _adjustments.pyx - 除權除息等信息的讀取
│   │   ├── _equities.pyx - 從bcolz裏面獲取行情的索引的抽象
│   │   ├── _minute_bar_internal.pyx - 分鐘bar相關的索引
│   │   ├── bar_reader.py - BarReader接口定義
│   │   ├── benchmarks.py - 從雅虎獲取基準數據
│   │   ├── bundles - 官方的提供的data bundle 
│   │   ├── continuous_future_reader.py 
│   │   ├── data_portal.py DataPortal定義,整合了全部的reader,writer,等,是biplane獲取數據的入口,提供reader,writer數據的簡單高層封裝
│   │   ├── dispatch_bar_reader.py - 結合trading calendar 讀取asset的bar信息
│   │   ├── history_loader.py  - asset 歷史信息的獲取, 包括附加復權信息
│   │   ├── loader.py - loader 封裝了基準信息和國債收益率曲線
│   │   ├── minute_bars.py - 分鐘線reader/writer相關的抽象
│   │   ├── resample.py - 把分鐘線數據resample爲日線數據
│   │   ├── session_bars.py -  SessionBarReader
│   │   ├── treasuries.py - 國債收益率曲線
│   │   ├── treasuries_can.py - 加拿大國債收益率曲線
│   │   └── us_equity_pricing.py - 主要是針對Equity的日線讀取,adjustment數據讀取,
│   ├── dispatch.py - 分發邏輯
│   ├── errors.py - 異常的抽象
│   ├── examples - 一些例子
│   ├── finance - 主要抽象了交易和財務相關的邏輯,這些接口大多會出如今zipline或者quantopian的代碼策略代碼裏,能夠進行import 
│   │   ├── __init__.py 
│   │   ├── asset_restrictions.py - 資產交易限制
│   │   ├── blotter.py - 帳號?
│   │   ├── cancel_policy.py - 取消策略
│   │   ├── commission.py - 佣金
│   │   ├── constants.py - 一些常亮定義
│   │   ├── controls.py - 分控相關
│   │   ├── execution.py - 訂單類型
│   │   ├── order.py - 訂單邏輯
│   │   ├── performance - 收益
│   │   ├── risk - 風險相關
│   │   ├── slippage.py - 滑點
│   │   ├── trading.py - TradingEnvironment, SimulationParameters的抽象,若是使用本身的loader, TradingCalendar 則須要本身初始化這個對象 
│   │   └── transaction.py - Transaction - 交易的抽象
│   ├── gens - 應該是集合了大部分的generator , 主要是回測過程的generator
│   │   └── tradesimulation.py - 回測主要過程的generator
│   ├── lib - 一些主要用的的數據結構和算法
│   ├── pipeline - pipeline相關的邏輯
│   ├── protocol.py - Order Account, Portfolio, Position等的抽象
│   ├── resources - etc相關的一些資源
│   ├── sources - 基準數據源等
│   ├── test_algorithms.py - 測試策略...
│   ├── testing - 測試
│   ├── utils - 一些工具類, 其中 run_algo.py, tradingcalendar.py 相關的須要重點關注下
相關文章
相關標籤/搜索