在基本80%理解了onepy1.0的早期框架后,开始逐步理解onepy2.0,两者差别比较大,2.0更多借鉴了rqalpha和vn.py之类成熟框架,现在小编就来说说关于量化交易顶级平台 创建量化交易平台?下面内容希望能帮助到你,我们来一起看看吧!

量化交易顶级平台 创建量化交易平台

量化交易顶级平台 创建量化交易平台

在基本80%理解了onepy1.0的早期框架后,开始逐步理解onepy2.0,两者差别比较大,2.0更多借鉴了rqalpha和vn.py之类成熟框架。

总结了下,感觉可能是许久没接触代码了,从0捡起一些东西的速度偏慢,onepy1.0的框架理解花了足足有一周时间,每天大概4到5个小时,不过这个速度是明显在加快了,感叹的是,果然最好的理论学习阶段就是上大学的时候,年轻,精力充沛,可以支撑大脑一天超过10小时的高速运转,可以为解决一些难题连饭都不吃。

发现认真要长期持续的做一件事,要做好迎接各种质疑的准备, vn.py几年下来,被质疑的太多了,估计作者在早前根本想不到一个实验品能发展到今天如此高的关注度,而关注度的背后就存在一些怀疑和质疑,如果是完全新手的质疑还好说,用格局和高阶的视角回过去就可以应对,如果面对是水平还超过自身的质疑,其实某种角度也是倒逼自己的成长,质疑代码太菜鸟那就老老实实的改进,质疑效率优化做的烂,那就一步步的测试效率损耗在那些环节,其实很多伟大的产品都是在早期接受用户的质疑中不断成长的,貌似小米早期产品就很重视用户意见,把用户当作产品经理,所以,打算做一件事了,那就勇敢一点,不仅仅可以听得进赞美也更要重视批评和怀疑。

zipline的quandl数据源个人觉得不好用,速度太慢太慢啦,新手们考虑下,不要把太多时间耗在这上面,其实很多人觉得 没必要重复造轮子,直接用成熟框架,但这个事分两面看,用成熟框架你以为 时间成本就很低么?? 切身之痛,有些产品真的从设计开始就没打算让用户特别省时间,让你运行一次抓一次数据源就需要个把小时, 这种滋味尝过了就再也不想了

onepy2.0比onepy1.0一个很大区别是增加了environment,这个是从event演变过来的,感觉这种处理方式的确是优化了不少.

一般介绍回测平台的都会让读者先去完整学下python语法,但是这里想简单把一些重要的python语法快速罗列下:

  1. python要严格按照换行符来对齐,所以python看起来都很工整,其他编程语言中,用{}来做格式规范,写python不要tab和空格混用
  2. python的很多定义要用:结尾, 比如class xxx(object): if xxxx = xxx: 这个也要看习惯了,和其他语言不同
  3. self和cls的区别要掌握
  4. list和dict的区别要掌握, list的定义是[], dict定义是{}
  5. @abstractmethod 抽象方法要理解 @classmethod类方法需要理解

个人觉得,既然要完整介绍量化给新手,那就把新手假设为完全的小白吧, 也就是不懂python,所以也不打算扔一个链接让新手先去学python了,尽可能用最快速的方式把python要点列出来,让读者可以理解后边的量化平台代码就可以了

通过手写框架代码基本形成自己的 框架的逻辑,大概介绍下

  1. 程序入口是main.py, 里边写一个类class Backtest, 这里完成事件驱动,串起各个模块各司其职
  2. 目录view, 视图目录,里边都是 关于 图形输出,界面操作的代码
  3. handler, 可以理解为mvc结构里的controller, 就是 所有涉及逻辑处理的类都放里边, 包括各个event, optimizer, calendar, data handler等等都在里边
  4. util, 好理解,就是 各个工具和函数包

vn.py做的确实不错,目前已经完整具备了:开源代码,完整文档,社群,官网的 整体,而且做了很多的线下交流和培训, 向vn.py学习

自己的计划是

  1. 2019年7月底完成第一版的量化开源代码
  2. 每天一篇高质量的介绍量化的文章,计划在知乎上输出,逐步形成一个小的 量化的门户内容平台,让读者知道这个平台每天至少会输出一篇高质量的量化文章
  3. 确保量化开源代码的注释完整(中文必须详细)
  4. 搭建QQ群,微信群社群,收集用户反馈,不断更新迭代自己的量化平台
  5. 制作一些小视频和培训视频,发布到抖音和一些小视频平台,让读者有一种更高效的掌握量化平台的途径

对比下RQAlpha, OnePy

  1. RQAlpha的时间驱动是用eventbus,其中事件类型比较多
  2. environment实现在各个事件中共享数据
  3. 看过一个RQAlpha作者分享,提到如果要做国内A股或者国内期货,RQAlpha比较适合, 国外的zipline更适合美股

补充一些python语法(我是0基础的python,是一边写量化平台一边学的)

  1. 之前不知道目录下的__init__.py啥意思,原来有这个文件了,整个目录就可以作为一个package,就可以在其他代码里引入import
  2. python中类的方法如果以_开头,就表示是私有函数,没有_开头就是公有函数
  3. __pycache__目录是 .py文件执行时会生成.pyc的cache文件,都放在__pycache__目录

,