PyAlgoTrade框架研究

最近研究量化交易,看了几个回测的框架,最后盯上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的封装。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
## 讲师介绍: 近 5 年个人投资理财年化收益平均超 25%。如果你也想提升自己的睡后收入,轻松赚钱,那么这门课就是为你量身打造。课程基于一个完整真实的量化交易业务来讲授,并融入老师的理财经验以及使用编程技术辅助投资的技巧,让你面对各种复杂投资情况也能做到游刃有余。 ## 学习目标: 从不懂“理财”开始到实现自动交易,成为一个“技术流”理财高手 编程技术 + 核心量化策略 + 交易系统开发 + 讲师经验分享,学会用技术辅助理财 本课程从最基础的什么是量化开始讲起,即使对投资理财不了解同样可以学习,轻松入门无压力。 从如何获取数据开始,到实现实盘交易,课程对量化交易的每一步都进行细致讲解,为你铺开量化交易的每一个细节。 不仅仅只是教你学会使用某种工具,更会教给你量化交易的投资思想,让你面对各种情况都游刃有余。 ## 课程亮点: 设计适合自己并能适应市场的交易策略,才是量化交易的灵魂 课程亲手带你设计并实现两种交易策略,快速培养你的策略思维能力 1. 择时策略:通过这个策略学会如何利用均线,创建择时策略,优化股票买入卖出的时间点。2. 选股策略:掌握选股策略的核心逻辑,并基于收益率创建动量选股策略,并验证其有效性。 手把手带你打造一个易扩展、更安全、效率更高的量化交易系统 第三方平台大而全,不易扩展,效率还差,信息安全也是大问题,打造自己的交易平台才是更优解

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值