ssss# Architecture of ctpbee

## 解决了什么问题

面向量化开发，希望以一种面向开发者而不是面向交易者的方向来进行量化开发， 使得量化开发更为简单，更加适合程序员，而不用每次都要重复造轮子

## 架构

                          App主要核心

        日志模块  策略模块  风控模块 操作层模块  数据记录器模块 配置模块 事件引擎
    
                trade交易模块   market行情模块
                
                    接口层/网关 (interface)
                        
                        底层接口层  (api)
         
                           交易所

说明:

- 第一层是 核心的App 负责管控核心
- 第二层是 应用层 --> 面向开发者的层
- 第三层是 每个App都有一个负责交易的模块和一个负责行情的模块，服务第二层
- 第四层是 负责数据的收发--->网关的概念，返回一个交易网关和一个行情网关,提高给上层
- 第五层是 比如`ctp`, 本质上是`c++`的，但是python如果要调用，那么需要用pybind11把他编译成python可调用的`so/pyd`

## 一些额外的话

`ctpbee`还包含`looper`回测功能，但是是与主核心进行区分开发的 上下文可能有点low，等待优化中 ～

上层和底层沟通是通过事件引擎实现的！

 
 