Zipline Pythonic 交易算法库开源项目

我要开发同款
匿名用户2017年03月02日
39阅读
开发技术Python
所属分类程序开发、数学计算
授权协议Apache

作品详情

Zipline是一个Pythonic算法交易库。它是一个事件驱动的系统,支持回测检验和实时交易。

Zipline目前在生产中用作Quantopian(托管平台)的测试和实时交易引擎。

特性

使用简单,以便你可以专注于算法开发

带有许多常见的统计数据,包括常用统计方法如移动平均和线性回归

历史数据的输入和性能统计的输出基于PandasDataFrames,与现有python生态圈能很好融合

一些常用统计和机器学习库,如matplotlib、scipy、statsmodels和sklearn,支持交易系统的开发、数据分析和可视化

快速开始

下面的代码实现了一个简单的双重移动平均算法。

from zipline.api import (    history,    order_target,    record,    symbol,)def initialize(context):    context.i = 0def handle_data(context, data):    # Skip first 300 days to get full windows    context.i += 1    if context.i < 300:        return    # Compute averages    # history() has to be called with the same params    # from above and returns a pandas dataframe.    short_mavg = history(100, '1d', 'price').mean()    long_mavg = history(300, '1d', 'price').mean()    sym = symbol('AAPL')    # Trading logic    if short_mavg[sym] > long_mavg[sym]:        # order_target orders as many shares as needed to        # achieve the desired number of shares.        order_target(sym, 100)    elif short_mavg[sym] < long_mavg[sym]:        order_target(sym, 0)    # Save values for later inspection    record(AAPL=data[sym].price,           short_mavg=short_mavg[sym],           long_mavg=long_mavg[sym])
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论