跳转到主要内容

Python的灵活回测框架

项目描述

Build Status PyPI Version PyPI License

bt - Python的灵活回测

bt目前处于alpha阶段 - 如果您发现错误,请提交问题。

在此阅读文档: http://pmorissette.github.io/bt.

什么是bt?

bt 是一个用于测试量化交易策略的Python灵活回测框架。 回测 是在给定数据集上测试策略的过程。该框架允许您轻松创建混合和匹配不同 Algos 的策略。它的目标是促进创建易于测试、可重用和灵活的策略逻辑块,以促进复杂交易策略的快速开发。

目标:让 量化分析师 从重新发明轮子中解脱出来,让他们专注于工作的重点 - 策略开发。

bt 使用 Python 编写,并加入了数据分析的繁荣和丰富的生态系统。存在大量用于机器学习、信号处理和统计的库,可以利用它们避免重复造轮子——这在使用没有相同丰富高质量开源项目的其他语言时经常发生。

bt 基于以下库构建:[ffn](https://github.com/pmorissette/ffn) - 一个用于 Python 的金融函数库。去看看吧!

功能

  • 树结构 [树结构](http://pmorissette.github.io/bt/tree.html) 促进了模块化和可重用复杂算法交易策略的构建和组合。此外,每个树 [节点](http://pmorissette.github.io/bt/bt.html#bt.core.Node) 都有自己的价格指数,可以由算法用于确定节点的分配。

  • 算法堆栈 [算法](http://pmorissette.github.io/bt/bt.html#bt.core.Algo) 和 [算法堆栈](http://pmorissette.github.io/bt/bt.html#bt.core.AlgoStack) 是另一个核心功能,它促进了模块化和可重用策略逻辑的创建。由于它们的模块化,这些逻辑块也更容易进行测试——这是构建健壮金融解决方案的重要步骤。

  • 图表和报告 bt 还提供了许多有用的图表功能,有助于可视化回测结果。我们计划在未来添加更多图表、表格和报告格式,例如自动生成的 PDF 报告。

  • 详细统计 此外,bt 计算了与回测相关的许多统计指标,并提供了一种快速方法,通过 [结果](http://pmorissette.github.io/bt/bt.html#bt.backtest.Result) 显示方法比较许多不同回测的各种统计指标。

路线图

未来的开发工作将集中在

  • 速度 由于 bt 的灵活性质,必须在可用性和性能之间做出权衡。可用性始终是优先事项,但我们希望尽可能提高性能。

  • 算法 我们还将随着时间的推移开发更多算法。我们也鼓励任何人贡献他们自己的算法。

  • 图表和报告 这是我们要不断改进的另一个领域,因为报告是工作的重要方面。图表和报告也有助于发现策略逻辑中的错误。

安装 bt

安装 bt 最简单的方法是从 Python 包索引 使用 pip 进行。

pip install bt

由于 bt 有许多依赖项,我们强烈建议安装 Anaconda 科学 Python 发行版,尤其是在 Windows 上。此发行版预安装了包括 pip 在内的许多所需的包。一旦安装了 Anaconda,上述命令应完成安装。

推荐设置

我们认为,与 bt 开发的最佳环境是 IPython Notebook。从其主页来看,IPython Notebook 是

"[...] a web-based interactive computational environment
where you can combine code execution, text, mathematics, plots and rich
media into a single document [...]"

此环境允许您在行内绘制图表,并允许您使用 Markdown 容易地添加周围文本。您可以轻松创建可以与同事分享的笔记本,您还可以将它们保存为 PDF 文件。如果您还没有被打动,请访问他们的网站。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分发

bt-1.1.0.tar.gz (262.0 kB 查看哈希值)

上传时间

构建分发

bt-1.1.0-cp312-cp312-win_amd64.whl (212.6 kB 查看哈希值)

上传时间 CPython 3.12 Windows x86-64

bt-1.1.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB 查看哈希值)

上传时间 CPython 3.12 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

bt-1.1.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (1.3 MB 查看哈希值)

上传时间 CPython 3.12 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

bt-1.1.0-cp312-cp312-macosx_11_0_arm64.whl (240.6 kB 查看哈希值)

上传时间 CPython 3.12 macOS 11.0+ ARM64

bt-1.1.0-cp312-cp312-macosx_10_9_x86_64.whl (257.5 kB 查看哈希值)

上传时间 CPython 3.12 macOS 10.9+ x86-64

bt-1.1.0-cp311-cp311-win_amd64.whl (214.3 kB 查看哈希值)

上传时间 CPython 3.11 Windows x86-64

bt-1.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB 查看哈希值)

上传时间 CPython 3.11 manylinux: glibc 2.17+ x86-64

bt-1.1.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (1.3 MB 查看哈希值)

上传于 CPython 3.11 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

bt-1.1.0-cp311-cp311-macosx_11_0_arm64.whl (245.5 kB 查看哈希值)

上传于 CPython 3.11 macOS 11.0+ ARM64

bt-1.1.0-cp311-cp311-macosx_10_9_x86_64.whl (266.7 kB 查看哈希值)

上传于 CPython 3.11 macOS 10.9+ x86-64

bt-1.1.0-cp310-cp310-win_amd64.whl (214.1 kB 查看哈希值)

上传于 CPython 3.10 Windows x86-64

bt-1.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB 查看哈希值)

上传于 CPython 3.10 manylinux: glibc 2.17+ x86-64

bt-1.1.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (1.2 MB 查看哈希值)

上传于 CPython 3.10 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

bt-1.1.0-cp310-cp310-macosx_11_0_arm64.whl (244.2 kB 查看哈希值)

上传于 CPython 3.10 macOS 11.0+ ARM64

bt-1.1.0-cp310-cp310-macosx_10_9_x86_64.whl (265.0 kB 查看哈希值)

上传于 CPython 3.10 macOS 10.9+ x86-64

bt-1.1.0-cp39-cp39-win_amd64.whl (214.4 kB 查看哈希值)

上传于 CPython 3.9 Windows x86-64

bt-1.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB 查看哈希值)

上传于 CPython 3.9 manylinux: glibc 2.17+ x86-64

bt-1.1.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (1.2 MB 查看哈希值)

上传于 CPython 3.9 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

bt-1.1.0-cp39-cp39-macosx_11_0_arm64.whl (244.4 kB 查看哈希值)

上传于 CPython 3.9 macOS 11.0+ ARM64

bt-1.1.0-cp39-cp39-macosx_10_9_x86_64.whl (265.3 kB 查看哈希值)

上传于 CPython 3.9 macOS 10.9+ x86-64

bt-1.1.0-cp38-cp38-win_amd64.whl (215.4 kB 查看哈希值)

上传于 CPython 3.8 Windows x86-64

bt-1.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB 查看哈希值)

上传于 CPython 3.8 manylinux: glibc 2.17+ x86-64

bt-1.1.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (1.2 MB 查看哈希值)

上传于 CPython 3.8 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

bt-1.1.0-cp38-cp38-macosx_11_0_arm64.whl (242.8 kB 查看哈希值)

上传于 CPython 3.8 macOS 11.0+ ARM64

bt-1.1.0-cp38-cp38-macosx_10_9_x86_64.whl (262.0 kB 查看哈希值)

上传于 CPython 3.8 macOS 10.9+ x86-64

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面