资讯专栏INFORMATION COLUMN

PyAlgoTrade框架研究

gityuan / 3399人阅读

摘要:最近研究量化交易,看了几个回测的框架,最后盯上这个项目。所以对这个框架进行了一番研究。比如的设计,也是采用事件回调来计算指标或者进行交易。在的科学计算框架体系中,是核心,其核心的数据结构也被广泛使用于其他数据分析框架之中。

最近研究量化交易,看了几个回测的框架,最后盯上PyAlgoTrade这个项目。感觉很不错,支持
策略回测和实盘交易,提供全面的技术分析接口,算是python的量化交易框架里比较出色的作品。所以对这个框架进行了一番研究。

程序化交易系统的编程范式:事件驱动的编程

量化交易,一般是采用统计学和数学工具,对资产的各个方面进行定量分析,并制订程序化的交易策略严格执行来获得收益。这里面有两大核心任务,
一个是数据分析,一个是程序化交易。

与纯粹的数据分析不同,因为有交易动作的存在,同时,在实盘交易中,还要实时更新价格、成交量等数据。这里面可以很明显的看到系统的结构:

数据分析模块----行情接口和数据源----交易订单管理模块----交易下单API

这几个模块之间还存在状态一致性的维护。因此,交易系统的设计,一般采用事件驱动的设计。比如MetaTrader 4的设计,MQL也是采用事件回调来计算指标或者进行EA交易。PyAlgoTrade也是基于这个理念开发的。PyAlgoTrade自己封装了一套事件分发机制,具体的实现可以参考:
observer和
dispatcher这两个模块

数据结构的取舍

量化交易中的数据以资产价格或者成交量的时间序列为主,这类序列化数据的分析框架有很多。大部分的科学计算框架,比如:Numpy、SciPy、statsmodels、scikit-learn等等,都支持序列或者Array的分析。在Python的科学计算框架体系中,Numpy是核心,其核心的ndarray数据结构也被广泛使用于其他数据分析框架之中。但是尽管ndarray适用于分析领域,在程序化交易中,仍然希望数据结构内的变化依然能有一个对外的通知,需要一个带有事件支持的数据结构。因此PyAlgoTrade并没有采用ndarray或者pandas的dataframe作为基础数据结构,而是自行封装了一个DataSeries结构,以及针对每个K线或者蜡烛图的Bar结构。

与数据分析框架的整合方式

尽管因为需求的原因,需要多带带实现一套数据结构,但是要使用主流的分析框架,依然需要使用ndarray这样的数据结构。这里就存在一个数据转换的问题。同时,由于实盘交易的原因,PyAlgoTrade策略实现上,以复写onBars方法(其意义与MQL中的onTick方法类似)为主,因此也是需要每次更新Tick数据就进行一次计算。
这里就涉及到一个移动窗口问题。PyAlgoTrade也对此做了一定的封装。这里可以参考:
technical.EventWindow这个类。
而talibext.indicator模块中包含了talib的封装。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/37592.html

相关文章

  • 机器学习研究趋势分析:TensorFlow已超越Caffe成研究最常用框架

    摘要:深度学习框架作为热身,我们先看一下深度学习框架。在年有急剧的增长,但在过去几个月被超越。 你是否使用过 Google Trends?相当的酷,你在里面输入关键词,看一下谷歌搜索中这一词条如何随时间变化的。我想,过去 5 年中 arxiv-sanity 数据库中刚好有 28303 篇机器学习论文,为什么不做一些类似的工作,看一下过去 5 年机器学习研究有何进化?结果相当的有趣,所以我把它贴了出...

    buildupchao 评论0 收藏0
  • Facebook联合微软推出神经网络交换格式ONNX

    摘要:近日,与微软联合推出了开放式神经网络交换格式,它是一个表征深度学习模型的标准,可实现模型在不同框架之间的迁移。例如,在中,条件句通常是对输入张量的大小或维度上的计算。 近日,Facebook 与微软联合推出了开放式神经网络交换(ONNX)格式,它是一个表征深度学习模型的标准,可实现模型在不同框架之间的迁移。ONNX 是构建开源生态环境的第一步,供人工智能开发者轻松选择并组合较先进的工具。开发...

    CrazyCodes 评论0 收藏0
  • 前端发展论战

    摘要:最近很热的讨论关于真阿当对目前流行前端技术的批判我眼中的前端框架,,,以及我看前端架构关于前端工具变化过快的讨论我感觉到的前端变化上面几篇文章对于前端的发展讨论较多。 showImg(https://segmentfault.com/img/bVr3sx); 最近很热的讨论 关于『真阿当』对目前流行前端技术的批判 https://www.zhihu.com/question/3892...

    mrli2016 评论0 收藏0
  • CVPR清华大学研究,高效视觉目标检测框架RON

    摘要:一项由清华大学计算机系智能技术与系统国家重点实验室清华国家信息实验室清华大学计算机科学与技术系英特尔中国研究院清华大学电子工程系的研究人员共同参与的关于高效视觉目标检测的研究已经被接收。 一项由清华大学计算机系智能技术与系统国家重点实验室、清华国家信息实验室、清华大学计算机科学与技术系、英特尔中国研究院、清华大学电子工程系的研究人员共同参与的关于高效视觉目标检测的研究已经被 CVPR 201...

    chaosx110 评论0 收藏0
  • PyTorch一周年战绩总结:是否比TensorFlow来势凶猛?

    摘要:截止到今天,已公开发行一周年。一年以来,社区中的用户不断做出贡献和优化,在此深表感谢。所以与衡量它的指标包括在机器学习研究论文中的使用。来自香港科技大学的在上推出了面向普通观众的在线课程。 Yann LeCun Twitter截止到今天,PyTorch 已公开发行一周年。一年以来,我们致力于打造一个灵活的深度学习研究平台。一年以来,PyTorch 社区中的用户不断做出贡献和优化,在此深表感谢...

    ymyang 评论0 收藏0

发表评论

0条评论

gityuan

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<