
【免费下载链接】prediction-market-backtestingAn extension for Nautilus Trader项目地址https://gitcode.com/gh_mirrors/pr/prediction-market-backtesting点击查看免费下载prediction-market-backtesting 是一个基于 NautilusTrader 构建的预测市场Polymarket策略回测框架采用 uv 管理 Python 环境并用 Rust 原生扩展加速 L2 行情数据加载。本教程带你用 5 步完成完整搭建创建虚拟环境、安装依赖、编译 Rust 扩展、首次运行回测全程命令均可一键执行。一、准备工作3 个必备环境检查清单在动手之前请确认本机已具备以下三项依赖版本有硬性要求装错会编译失败依赖版本要求用途Python3.12推荐 3.13运行回测与策略代码uv最新版创建虚拟环境、管理依赖Rustrustup1.93.1编译原生数据加载扩展 Rust 工具链建议通过 rustup 安装安装完成后执行rustc --version确认版本不低于 1.93.1。项目的 Cargo.toml 中锁定了rust-version 1.93.1版本过低会直接报错。二、克隆仓库获取 prediction-market-backtesting 源码git clone https://gitcode.com/gh_mirrors/pr/prediction-market-backtesting cd prediction-market-backtesting克隆下来后你会看到几个与安装直接相关的目录backtests/公开的回测运行入口脚本crates/Rust 原生扩展源码core核心逻辑 pythonPyO3 绑定层prediction_market_extensions/Python 侧扩展含数据源适配器、费用模型Makefile所有安装与运行命令的快捷入口三、一键安装 Python 环境make install项目提供了标准化的 Make 目标一条命令即可创建.venv虚拟环境并安装全部依赖make install这一条命令实际做了三件事可对照 Makefile 查看先unset CONDA_PREFIX避免 conda 的链接器标志与 venv 冲突conda 用户容易踩的坑用uv venv --python 3.13创建虚拟环境安装核心依赖nautilus_trader[polymarket,visualization]1.226.0以及 bokeh、plotly、numpy、duckdb、optuna 等回测、绘图与优化器所需的库 注意本项目不在仓库内捆绑 NautilusTrader运行时代码来自 PyPI 上游包nautilus_trader1.226.0本地扩展仅存放在 prediction_market_extensions/ 目录下。请勿从本仓库安装任何本地 Nautilus 分支。如果不想用 Make等价的手动命令如下unset CONDA_PREFIX uv venv --python 3.13 uv pip install nautilus_trader[polymarket,visualization]1.226.0 bokeh plotly numpy py-clob-client duckdb textual nbformat nbclient ipykernel optuna python-dotenv aiohttp pytest ruff四、编译 Rust 原生扩展make native-develop这是 v4 版本安装的关键一步项目的数据加载快照差分、事件合并、时间戳转换等都跑在 Rust 上通过 crates/python/src/lib.rs 中的 PyO3 绑定暴露为 Python 模块。make native-develop该命令等价于见 Makefileunset CONDA_PREFIX uv run --with maturin1.12,2 maturin develop --release --manifest-path crates/python/Cargo.toml --uv--release表示用 release 优化模式编译回测数据加载性能更好编译耗时取决于 CPU首次构建需要几分钟请耐心等待如果只需要快速迭代调试 Rust 代码可去掉--release即 Makefile 中的native-debug-develop目标构建成功后Python 侧就能导入prediction_market_extensions._native_ext模块。加载逻辑定义在 prediction_market_extensions/_native.pyRust 核心算子位于 crates/core/src/lib.rs涵盖pmxt、telonex、trades、merge等模块。五、首次运行3 种启动回测的方式安装完成后无需手动激活虚拟环境统一使用uv run ...前缀即可。方式 1交互式菜单推荐新手make backtest或直接执行uv run python main.py。你会看到一个文本菜单列出 backtests/ 与 backtests/private/ 下的所有运行入口支持/过滤、方向键导航、Enter直接启动。方式 2直接运行某个回测脚本uv run python backtests/polymarket_book_ema_crossover.py uv run python backtests/polymarket_book_joint_portfolio_runner.py如果想一次性跑完所有公开 runneruv run python scripts/run_all_backtests.py方式 3沙盒Sandbox菜单make sandbox沙盒 runner 位于 live/ 目录用于 Polymarket BTC 5 分钟市场的实盘沙盒实验。六、验证安装一条命令跑通测试门禁确认环境完全健康的标准做法是执行项目的测试门禁docs/testing.md 中称为 Standard Repo Gatemake check它会依次运行 ruff 静态检查与全部 pytest 用例。也可以单独跑一个代表性冒烟脚本验证数据链路uv run python backtests/polymarket_book_ema_crossover.py命令正常退出返回码 0即代表 uv 环境、Rust 扩展、数据加载三层全部就绪。七、常见问题排查FAQQ1报错Rust native data loading is required on v4说明原生扩展未构建或已失效。重新执行make native-develop即可错误信息会明确提示这一命令见 prediction_market_extensions/_native.py。Q2conda 环境下编译报链接器冲突所有 Make 目标都已内置unset CONDA_PREFIX处理。手动执行命令时请务必先运行该语句再建 venvconda 的链接器标志会干扰 venv 的 C/Rust 编译。Q3提示stale and is missing xxx()模块过期Python 侧加载到了一个旧版编译产物。重新make native-develop全量重建即可。Q4想用 debug 模式快速编译 Rust 扩展执行make native-debug-develop无--release编译速度更快适合开发调试正式跑回测建议用 release 版。Q5环境变量可以控制原生扩展吗可以。PREDICTION_MARKET_NATIVE0可禁用原生加载PREDICTION_MARKET_NATIVE_REQUIRE1则强制要求原生模块可用v4 默认即要求。八、安装路径速查表内容路径官方安装文档docs/setup.md命令快捷入口MakefileRust 工作区定义Cargo.tomlPyO3 绑定源码crates/python/src/lib.rsRust 核心算子crates/core/src/lib.rs原生模块加载逻辑prediction_market_extensions/_native.py交互菜单入口main.py测试与门禁说明docs/testing.md至此prediction-market-backtesting 的完整环境已搭建完毕Python 依赖由 uv 管理Rust 原生扩展负责高性能数据转换两条指令make installmake native-develop即是一步到位的核心。下一步建议阅读 docs/data-loading.md 了解 PMXT / Telonex 数据的本地缓存与加载流程开始你的第一次策略回测。赞分享【免费下载链接】prediction-market-backtestingAn extension for Nautilus Trader项目地址https://gitcode.com/gh_mirrors/pr/prediction-market-backtesting点击查看免费下载相关推荐5分钟极速搭建个人专属 mempool.space 实例超简单一键安装教程5分钟极速搭建个人专属 mempool.space 实例超简单一键安装教程 mempool.space 是一款功能全面的比特币生态系统浏览器让你能够深入探索后端前端如何快速搭建Chrome扩展TypeScript React Webpack 完整配置教程如何快速搭建Chrome扩展TypeScript React Webpack 完整配置教程 Chrome扩展开发正变得越来越流行而使用TypeScr示例工程前端如何用ADK.js快速搭建你的第一个AI Agent从安装到运行的完整教程如何用ADK.js快速搭建你的第一个AI Agent从安装到运行的完整教程 ADK.js是一个开源的、代码优先的TypeScript工具包专为构建、评估和部创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考