当前位置: 首页 > 软件库 > 程序开发 > 数学计算 >

Zipline

Pythonic 交易算法库
授权协议 Apache
开发语言 Python
所属分类 程序开发、 数学计算
软件类型 开源软件
地区 不详
投 递 者 乐正辰阳
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

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

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

特性

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

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

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

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

快速开始

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

from zipline.api import (
    history,
    order_target,
    record,
    symbol,
)


def initialize(context):
    context.i = 0


def 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])
  • 1 获取非固定假期 国内市场主要包含上海证券交易所、深圳证券交易所、香港证券交易所、全国中小企业股份转让系统有限公司、中国金融期货交易所、上海商品期货交易所、郑州商品期货交易所、大连商品期货交易所等,由于国内市场的节假日时间信息不像美国的有比较明确的规则,我们通过adhoc_holidays把所有的非固定假期进行枚举,简单有效。当然,这种枚举的方式要定期对数据进行更新以确保准确性。有兴趣的也可以试

  • 本人刚开始接触量化交易平台,加入项目中首先让我做的是了解下zipline,zipline是一个开源的专门用来回测的平台。因为在最开始安装zipline时遇到很多问题一直失败,所以现在把安装zipline的具体过程整理出来分享一下。 安装zipline有两种方式,一种是Installing with pip,另一种是Installing with conda,由于我是通过conda来安装的所以主要讲

  • 为了朝着量化交易的方向努力行进,数学和编码是必须提高的垫脚石,财务分析则属于业余爱好加分项。数学方面借着报名“七月在线 — 机器学习数学班”重温数学基础以图从机器学习的角度入手,而编码则再次翻开数据结构和算法导论用以弥补计算机基础不足的同时,一方面尝试配合小伙伴重写C++版本vn.py用于实盘交易框架储备,另一方面则研究Zipline用于指标及策略回测框架学习研究。Zipline是一个自动化交易回

  • Zipline Beginner Tutorial Basics 基础 Zipline is an open-source algorithmic trading simulator written in Python. Zipline是开源的算法交易模拟器,使用python编写。 The source can be found at: https://github.com/quantopian/

  • Zipline is a Pythonic algorithmic trading library. It is an event-driven system for backtesting. Zipline is currently used in production as the backtesting and live-trading engine powering Quantopian

  • Development Guidelines 开发指南 This page is intended for developers of Zipline, people who want to contribute to the Zipline codebase or documentation, or people who want to install from source and make

  • 1、history 函数形式:history(bar_count, frequency, field, ffill=True) 函数说明:已经不用了,用data.history替代 2、order_target_percent 函数形式:order_target_percent(asset, target, limit_price=None, stop_price=None, style=None

  • 疫情封控在家, 模拟炒股, 中文社区的材料部分能用。官网没了, 需要使用快照。要梯子。 完成第一步后整理材料。 官网需要用梯子 https://web.archive.org/web/20201104185831/https://www.zipline.io/beginner-tutorial https://github.com/quantopian/zipline 中文注解:  https:/

  • 直接在命令行敲入pip install zipline 中间会显示安装过程,最终 Successfully installed Cython-0.29.6 Logbook-1.4.3 Mako-1.0.8 alembic-1.0.8 bcolz-0.12.1 bottleneck-1.2.1 contextlib2-0.5.5 cyordereddict-1.0.0 empyrical-0.5.0

  • zipline1.0安装需要对应pandas0.17.1版本 后运行 zipline bundles 出现错误 canont import name read_sas 打开文件目录 E:\Python\python34\Lib\site-packages\pandas\io\sas 复制sasreader.py粘贴改名read_sas.py 再次运行未出现错误

  • 安装了GitHub上的zipline项目,在运行与配置环境中遇到如下问题及解决方案: 1.需要先转入指定路径,gitbash pytdx,其次tdx,最后zipline, 2.在gitbash tdx目录时,提示“uninstall visual c++ build tools”,坑爹的是给出的下载链接不能用...,后来又手动到微软官网下载vs. 3.如果提示pandas版本交集为空集,可能是py

 相关资料
  • 说明 统一收单交易结算接口SDK。 官方文档:https://docs.open.alipay.com/api_1/alipay.trade.order.settle/ 类 请求参数类 请求参数 类名:\Yurun\PaySDK\AlipayApp\Params\Settle\Request 属性 名称 类型 说明 $method string 接口名称 $app_auth_token strin

  • 不开视频,只有语音,很奇怪 1. 自我介绍 2. 问项目     1. 终于有人问了科研项目,介绍了一下,然后问创新点,然后问了 attention 和 transoformer      2. 问推荐系统项目,介绍了一下         1. 问为什么用多个排序模型融合         2. DIN         3. 问数据,然后说数据这么小只考虑结果为什么不只排序 3. 手撕代码,链表加法

  • 交易 为了与Infura节点进行交易,需要在发送它们之前离线创建交易和签名,因为Infura节点没有加密的以太坊密钥文件的访问权限,这是需要通过geth或者Parity管理命令来解锁帐户。 有关详细信息,请参阅以太坊交易中离线交易和签名部分和web3j如何使用管理APIs。

  • 交易 Web3j支持使用以太坊钱包文件(推荐的)和用于发送事务的以太坊客户端管理命令。 使用以太钱包文件发送以太币给其他人: Web3j web3 = Web3j.build(new HttpService()); // defaults to http://localhost:8545/ Credentials credentials = WalletUtils.loadCredentials

  • 交易有不同的分类,不同交易有不同的操作码。 这样做的好处就是明确用户行为,简化系统复杂度。 操作码列表 OpsTransfer:用于普通的链内转账 OpsMove:用于链间的转账 OpsNewChain:用于创建新的子链 OpsNewApp:用于创建智能合约 OpsRunApp:用于执行智能合约 OpsRegisterMiner:用于注册矿工 OpsUpdateAppLife:更新智能合约的生命周

  • composer transaction submit命令将交易提交给业务网络。 句法 composer transaction submit composer transaction submit [options] Options: --help Show help [boolean] -v, --version

  • 问题内容: 我正在使用Codeigniter交易 这很好用,我的问题是在和我正在调用其他函数,而这些函数处理数据库,因此它们包含插入和更新以及一些删除…例如: 现在,如果执行了这些功能并且发生了一些错误,CodeIgniter将不会回滚。 处理此类问题的最佳方法是什么? 我想到的唯一解决方案是从这些函数中返回错误,并在这些函数中添加(和),如果返回错误,则执行 例如: 有更好的方法吗? 更新1: