Giter VIP home page Giter VIP logo

wtpy's Introduction

wtpy

这是WonderTrader针对Python3适配的子框架

wtpy子框架简介

  • apps子模块
    • WtBtAnalyst.py 回测分析模块,主要是利用回测生成的数据,计算各项回测指标,并输出到excel文件
    • WtCtaOptimizer CTA优化器,主要是利用multiprocessing并行回测,并统计各项交易指标,最后将统计结果汇总输出到csv文件
  • wrapper子模块

    该模块主要包含了所有和C++底层对接的接口模块

    • WtBtWrapper.py 主要用于和回测引擎C++核心模块对接
    • WtDtWrapper.py 主要用于和数据组件C++核心模块对接
    • WtExecApi.py 主要用于和C++独立执行模块WtExecMon对接
    • WtWrapper.py 主要用于和实盘交易引擎C++核心模块对接
    • WtDtHelper.py 主要用于和底层的WtDtHelper数据辅助模块对接
  • monitor子模块

    该模块主要包含了内置的监控服务,提供了Httpwebsocket两种连接方式

    • DataMgr.py 主要用于读取并缓存组合数据
    • EventReceiver.py 主要用于在指定的udp端口接收组合转发的各种事件
    • PushSvr.py 主要用于向web提供websocket服务
    • WatchDog.py 主要用于自动调度服务端的进程
    • WtMonSvr.py 监控服务核心服务模块 ,利用flask实现了一个http服务接口
    • static webui静态文件
  • 其他模块

    主要位于根节点下,包含了各个子模块的入口组件

    • WtCoreDefs.py 主要定义的Python版本的策略基类,方便用户重写
    • CodeHelper.py 品种代码辅助模块,内置了一些方法,方便使用
    • ContractMgr.py 合约管理器模块,用于加载contracts.jsonstocks.json文件,并提供查询方法
    • CtaContext.py 主要定义了CTA策略的上下文,可以理解为单策略的运行环境
    • HftContext.py 主要定义了HFT策略的上下文,可以理解为单策略的运行环境
    • SelContext.py 主要定义了SEL策略的上下文,可以理解为单策略的运行环境
    • ExtToolDefs.py 扩展模块定义文件,主要定义了一些扩展模块的基础接口
    • ProductMgr.py 品种管理器,主要用于Python环境中的合约属性、品种属性查询
    • SelContext.py 选股策略上下文,即选股策略直接交互的API
    • SessionMgr.py 交易时间模板管理器,主要用于Python环境中的交易时段模板管理
    • StrategyDefs.py 各引擎策略基础定义模块,定义了CTAHFTSEL三种策略基类
    • WtBtEngine.py 回测引擎转换模块,主要封装底层接口调用
    • WtDtEngine.py 数据引擎转换模块,主要封装底层接口调用
    • WtEngine.py 交易引擎转换模块,主要封装底层接口调用

更新日志

0.3.4

  • 正式开源的第一个版本

0.3.5

  • 把手数相关的都从整数改成浮点数,主要目的是为了以后兼容虚拟币交易(虚拟币交易数量都是小数单位)
  • 优化手数改成浮点数以后带来的日志输出不简洁的问题(浮点数打印会显示很多“0000”)
  • 逐步完善文档
  • XTP实盘适配,主要是修复bug

0.3.6

  • 执行器使用线程池,减少对网络线程的时间占用
  • 增加了一个实盘仿真模块TraderMocker,可以满足目前已经支持的股票和期货的仿真交易
  • 更多接口支持(飞马、易盛iTap、CTPMini
  • 内置执行算法增加TWAP
  • 继续完善文档

0.4.0

  • 新增一个选股调度引擎,用于调度应用层的选股策略,得到目标组合以后,提供自动执行服务,暂时只支持日级别以上的调度周期,执行会放到第二天
  • 因为新增了选股调度引擎,所以全面重构WtPorterWtBtPorter导出的接口函数,以便调用的时候区分
  • 新增一个独立的执行器模块WtExecMon,并导出C接口提供服务。主要是剥离了策略引擎逻辑,提供单纯的执行服务,方便作为单纯的执行通道,嫁接到其他框架之下
  • Windows下的开发环境从vs2013升级到vs2017boost1.72curl需要同步升级

0.5.0

  • 同步WonderTrader核心为v0.5.0
  • 引入了hft策略以后,策略可以直接调用行情接入模块Parsers,所以调整C++底层模块的目录结构,方便策略调用
  • 增加了HftContext以及BaseHftStrategy两个针对HFT策略的基础模块
  • 回测和实盘都完成了跟C++底层的HFT接口的对接

0.5.1

  • 同步WonderTrader核心为v0.5.1
  • 新增一个monitor监控服务模块,其中包含http服务、websocket服务两种对web端提供的服务,同时新增了组合事件组件,用于接收组合转发出来的实时事件,还新增一个调度模块用于自动调度服务器上的定时任务
  • 新增一个web-ui目录,用于管理wtpyweb-ui项目,暂时实现了PC版的监控界面,位于web-ui/console下,web-ui采用vue2+webpack来实现,前端采用element-ui界面库,能够实时提供强大的组合盘监控服务

0.5.2

  • 同步WonderTrader核心为v0.5.2
  • 监控服务monitor增加了一个日志模块WtLogger.py,内部使用logging模块来记录日志
  • 进一步完善了web-ui的部分功能和配色
  • 新增一个CTPLoader模块,主要用于调用底层CTPLoader执行程序,用于从CTP账号加载合约列表

0.5.3

  • CTPLoader增加一个isMini的参数,用于控制底层调用MiniLoader对接CTPMini2进行拉取
  • WtKlineData新增一个slice方法,用于对已有K线进行切片
  • C++底层更新到2020/12/08发布的v0.5.3版本
  • CtaContext新增一个stra_get_sessinfo接口,用于获取品种的交易时间信息
  • monitor模块中的web-gui修改了一些bug
  • 修正了绩效分析模块的一些bug

0.5.4

  • C++底层更新到2020/12/25发布的v0.5.4版本
  • C++底层接口针对传递配置文件内容的支持做了修改,同步修改了wtpy中的部分关联代码
  • 修正了监控服务中的WatchDog模块在linux下的启动参数的bug,解决了linux下无法启动的问题
  • 修正了监控服务的自动调度任务没有检查是否启用标记,从而导致重复启动的bug
  • 修改了监控服务的WebUI的一些展示细节
  • wrapper下新增一个WtDtHelper模块,用于对接C++底层的WtDtHelper模块,给python调用处理数据转换的任务
  • WtBtAnalyst模块迁移到wtpy.apps
  • 新增一个WtOptimizer,用于遍历优化策略参数

wtpy's People

Contributors

wondertrader avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.