下面列出了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 相关的需要重点关注下