passivbot
Passivbot 是一款专为加密货币永续合约市场设计的自动化交易机器人,支持 Bybit、Binance、OKX 等主流交易所。它不依赖价格预测或技术指标,而是扮演“逆向做市商”的角色,通过自动挂单和撤单来抵抗价格波动,起到稳定市场价格的作用。
该工具主要解决了用户在高频交易中难以时刻盯盘以及情绪化决策的痛点。其核心策略灵感源自马丁格尔投注法:在价格不利变动时分层加倍补仓以拉近平均成本,并在市场小幅反弹时迅速止盈离场。此外,Passivbot 还具备独特的“觅食者”(Forager)功能,能动态筛选波动率最高的市场进行交易,并拥有自动“解套”机制,通过可控的小额亏损优先处理滞留仓位,防止资金深度被套。
技术层面,Passivbot 采用 Python 与 Rust 混合架构,利用 Rust 构建共享的核心调度器,确保了实盘交易与历史回测之间的高度一致性与执行速度。内置的进化算法优化器还能通过数千次回测自动迭代出最佳配置参数。
由于需要配置 Rust 环境及理解复杂的交易参数,Passivbot 更适合具备一定编程基础(熟悉 Python 3.12+)的开发者、量化交易研究员或进阶加密货币投资者使用。对于希望实现低干预、策略化自动交易的用戶而言,这是一个强大但需谨慎评估风险的专业工具。
使用场景
一位拥有少量资金的加密货币交易者希望在 Bybit 和 Binance 的永续合约市场中,通过自动化手段在震荡行情里获取稳定收益,同时避免时刻盯盘。
没有 passivbot 时
- 情绪化操作严重:面对价格剧烈波动,交易者容易因恐惧过早平仓或因贪婪拒绝止损,导致“追涨杀跌”。
- 网格管理繁琐:手动设置多层限价单不仅耗时,且难以在价格快速穿梭时及时撤单和重新挂单,错失反弹获利机会。
- 资金利用率低:无法同时监控多个高波动币种,往往死守一两个交易对,错过了其他市场的套利空间。
- 被套牢无对策:当行情单边下跌导致仓位被套时,缺乏科学的“解套”机制,只能被动等待或盲目补仓加剧风险。
使用 passivbot 后
- 严格执行逆势策略:passivbot 基于马丁格尔策略自动在下跌中分批加倍买入,拉低均价,并在微小反弹时立即止盈,完全剔除人为情绪干扰。
- 动态订单维护:利用 Rust 构建的高速协调器,passivbot 毫秒级响应市场变化,自动完成网格挂单、撤单及追踪止盈,确保始终处于最佳挂单位置。
- 智能优选市场:启用"Forager"功能后,passivbot 自动扫描并优先交易波动率最高的币种,最大化资金在单位时间内的产出效率。
- 自动化解套风控:触发“解套机制”时,passivbot 会优先处理亏损最小的仓位,通过实现小额亏损逐步释放保证金,防止账户因深度套牢而爆仓。
passivbot 将复杂的做市商策略转化为无人值守的自动化流程,让交易者在无需预测行情的情况下,依靠市场波动本身实现稳健增值。
运行环境要求
- Linux
- macOS
- Windows
未说明
未说明

快速开始
在 Bybit、OKX、Bitget、GateIO、Binance、Kucoin 和 Hyperliquid 上运行的交易机器人
:warning: 请自行承担风险使用 :warning:
概述
Passivbot 是一款用 Python 和 Rust 编写的加密货币交易机器人,旨在尽量减少用户干预。
它在永续期货衍生品市场上运行,代表用户自动创建和取消限价买入与卖出订单。它不试图预测未来的价格走势,也不使用技术指标或跟随趋势。相反,它是一种逆向做市商,在两个方向上为价格变化提供阻力,从而作为价格稳定器“服务于市场”。
订单计划由一个共享的 Rust 协调器计算,该协调器同时用于实盘交易和回测,以确保速度和一致性。此外,还包含一个优化器,它通过迭代数千次不同候选配置的回测来寻找更好的设置,并利用进化算法收敛到最优配置。
策略
受马丁格尔投注策略启发,机器人会进行小额初始建仓,并在亏损时多次加倍加仓,使平均入场价更接近当前价格走势。订单以网格形式排列,随时准备吸收突发的价格波动。每次重新入场后,机器人会迅速根据设定的止盈幅度更新平仓订单。这样一来,即使市场出现小幅反转或“反弹”,也能获利了结,并重新开始新一轮操作。
尾随订单
除了基于网格的开仓和平仓外,Passivbot 还可以配置为使用尾随开仓和尾随平仓。
对于尾随开仓,机器人会等待价格突破指定阈值,然后回撤一定比例后再下达重新入场订单。同样地,对于尾随平仓,机器人会在价格朝着有利方向移动达到阈值后,再回撤一定比例才下达平仓订单。这种方式可以让机器人在市场出现反转迹象时更有效地锁定利润,而不是按照与平均入场价固定的距离来平仓。
网格订单和尾随订单可以结合使用,即机器人可以根据需要以网格订单和/或尾随订单的形式开仓或平仓部分仓位。
寻觅者
“寻觅者”功能会动态选择波动性最大的市场来开仓。波动性定义为最近 1 分钟蜡烛图的归一化相对波幅的平均值,即 mean((ohlcv.high - ohlcv.low) / ohlcv.close)。
解困机制
Passivbot 通过逐步实现小幅亏损来管理表现不佳或“卡住”的仓位。如果有多笔仓位处于卡住状态,机器人会优先处理入场价与当前市场价格差距最小的仓位进行解困。同时,为了限制损失,账户余额不会低于历史最高余额的某个百分比。
安装
要安装 Passivbot 及其依赖项,请按照以下步骤操作。
Passivbot 需要 Python 3.12。较早版本不受支持。
第一步:克隆仓库
首先,将 Passivbot 仓库克隆到本地机器:
git clone https://github.com/enarjord/passivbot.git
cd passivbot
第二步:安装 Rust
Passivbot 的部分组件使用 Rust。请按照以下步骤安装 Rust:
访问 https://www.rust-lang.org/tools/install 按照说明安装 Rustup,即 Rust 的安装和版本管理工具。 安装完成后,请重启终端或命令提示符。
第三步:创建并激活虚拟环境
创建一个虚拟环境来管理依赖项:
Linux/macOS:
python3 -m venv venv
Windows(命令提示符或 PowerShell):
py -3.12 -m venv venv
激活虚拟环境:
Linux/macOS:
source venv/bin/activate
Windows(命令提示符):
venv\Scripts\activate
Windows(PowerShell):
.\venv\Scripts\Activate.ps1
第四步:安装 Passivbot
根据您的使用场景选择合适的安装配置:
- 仅用于实盘的 VPS:
python3 -m pip install -e . - 用于回测/优化/研究的工作站:
python3 -m pip install -e ".[full]" - 用于贡献代码/文档/代码检查工具:
python3 -m pip install -e ".[dev]"
所有配置都会构建 Rust 扩展,并注册 passivbot 命令。
典型的仅用于实盘的安装:
python3 -m pip install -e .
第五步(可选):手动构建 Rust 扩展
Passivbot 会尝试自动构建所需的 Rust 扩展,但您也可以手动进入 passivbot-rust 目录并使用 maturin 工具进行构建:
cd passivbot-rust
maturin develop --release
cd ..
如果检测到 Rust 源代码有更改,则需要重新编译,Passivbot 在启动时会尝试自动完成此操作。如需手动重新编译,可使用上述命令。
第六步:添加 API 密钥
复制 API 密钥模板文件:
cp api-keys.json.example api-keys.json
将您的密钥添加到 api-keys.json 文件中。
第七步:运行 Passivbot
提示:
为确保缓存文件夹名称在 Windows 系统下兼容(即使不在 Windows 系统中),请设置环境变量WINDOWS_COMPATIBILITY=1。
此设置仅在特定情况下需要,例如在 Docker(Linux)环境中运行,并将caches文件夹挂载到 Windows 主机时。
要使用默认设置启动机器人,请运行:
passivbot live -u {account_name_from_api-keys.json}
或者,您可以基于 configs/examples/default_trailing_grid_long_npos10.json 创建一个新的配置文件,然后使用以下命令启动机器人:
passivbot live path/to/config.json
为了保持向后兼容性,旧版直接脚本入口点,如 python3 src/main.py ...、python3 src/backtest.py ... 和 python3 src/optimize.py ... 仍然可用且无需更改。
标准的硬编码默认配置位于 src/config/schema.py 中。示例配置文件 configs/examples/default_trailing_grid_long_npos10.json 完全反映了该默认配置,因此建议新用户以此文件作为起点来创建自己的配置文件。
日志记录
Passivbot 在整个机器人、回测工具及辅助工具中均使用了 Python 的 logging 模块。
- 在
passivbot live或passivbot backtest中使用--debug-level {0-3}(别名--log-level)来调整运行时的日志详细程度:0 = 仅显示警告,1 = 信息,2 = 调试,3 = 追踪。 - 在
passivbot live中使用--verbose可强制启用调试日志记录(--log-level debug)。 - 通过在配置文件的顶层添加
"logging": {"level": 2}来设置默认的日志级别。CLI 标志始终会覆盖该次运行的配置值。 passivbot live现在默认会在logs/目录下写入带时间戳的日志文件,并刷新logs/{user}.log作为当前运行的稳定别名。可通过config.logging.persist_to_file、config.logging.dir以及config.logging中的可选轮转设置来控制此行为。- K 线管理器及其他子系统会继承所选的日志级别,以便一致地检查 EMA 预热、数据获取和缓存行为。
运行多个机器人
支持在同一台机器上对同一交易所运行多个 Passivbot 实例。每个进程共享相同的磁盘 OHLCV 缓存,而 K 线管理器现在使用短生命周期、可自我修复的锁机制,并具备自动清理过期锁的功能,从而避免某个进程卡死导致其他进程被阻塞。无需手动删除锁文件;机器人会在启动时移除过期的锁,并在锁获取超时时记录日志。
Jupyter Lab
Jupyter Lab 需要在与机器人相同的虚拟环境中运行。激活虚拟环境(参见上述安装步骤第 3 步),然后从 Passivbot 的根目录启动 Jupyter Lab:
python3 -m jupyter lab
系统要求
- Python >= 3.12
- 仅进行实盘交易时需运行:
python3 -m pip install -e . - 进行回测、优化、数据下载及使用高级工具时需运行:
python3 -m pip install -e ".[full]" - 对于贡献者工具,则需运行:
python3 -m pip install -e ".[dev]",在此基础上完成全量安装。
预优化配置
即将推出……
更多信息请参阅:https://pbconfigdb.scud.dedyn.io/
文档
有关 Passivbot 的更详细信息,请参阅此处的文档文件:docs/
常用入口:
支持
第三方链接、推荐及打赏
Hyperliquid 推荐金库
Passivbot 的长期多头策略配置,在 Hyperliquid 金库中运行:
https://app.hyperliquid.xyz/vaults/0x490af7d4a048a81db0f677517ed6373565b42349
Passivbot GUI
Passivbot 的图形用户界面:
https://github.com/msei99/pbgui
推荐链接:
欢迎通过以下推荐链接注册账户以示支持:
https://accounts.binance.com/register?ref=TII4B07C
https://partner.bybit.com/b/passivbot
https://partner.bitget.com/bg/Y8FU1W
https://www.okx.com/join/PASSIVBOT
https://app.hyperliquid.xyz/join/PASSIVBOT
https://www.kucoin.com/r/broker/CX8QZQJX
关于 Binance 的说明
为支持 Passivbot 的持续开发,请使用符合以下条件的 Binance 账户:
- 账户创建日期晚于 2024 年 9 月 21 日;
- 账户要么未通过推荐链接创建,要么使用推荐 ID:“TII4B07C”。
仅满足上述条件的账户所产生的交易佣金才会归 Passivbot 所有。
BuyMeACoffee:
https://www.buymeacoffee.com/enarjord
捐赠:
若机器人为您带来收益,请考虑捐赠以表达对开发工作的感谢:
- USDT 或 USDC Binance Smart Chain BEP20:
0x4b7b5bf6bea228052b775c052843fde1c63ec530 - USDT 或 USDC Arbitrum One:
0x4b7b5bf6bea228052b775c052843fde1c63ec530 - Zcash (ZEC):
u1jlans93rrqusqx2wp5020aezyt0q22l4tuy7ezkna06fuyaa2gxzremf50wsj3k83a4cm0cncs6zt9urlpte7a3nzvq992z48jxzem455acmhmhhwfwjcjwl8z79vlznla0r3jln6ety565254h96whnllcmepmpqu3ft9hxtqvkn0m7
比特币 (BTC) 可通过 Strike 支付:
enarjord@strike.me
许可证
本软件为自由且无约束的开源软件,已发布至公共领域。
任何人均可出于任何目的(无论是商业用途还是非商业用途),以源代码形式或编译后的二进制文件形式复制、修改、发布、使用、编译、销售或分发本软件,不受任何限制。
在承认版权法的司法管辖区,本软件的作者特此将其对本软件的所有版权利益永久性地转让给公众。我们作出此项声明,旨在使广大公众受益,同时放弃我们自身及其继承人和继任者的任何权利。我们希望这一声明能够明确表示,我们将永久性地放弃本软件在未来任何时候根据版权法所享有的所有权利。
本软件按“原样”提供,不提供任何形式的明示或暗示担保,包括但不限于适销性、特定用途适用性和非侵权性。在任何情况下,作者均不对因本软件或其使用而产生的任何索赔、损害或其他责任负责,无论此类责任是基于合同、侵权行为或其他原因。
如需更多信息,请参阅 https://unlicense.org/
版本历史
v7.9.12026/04/13v7.9.02026/04/04v7.8.42026/03/06v7.8.32026/02/24v7.8.22026/02/09v7.7.02026/01/26v7.6.22026/01/20v7.6.02026/01/03v7.5.72025/11/27v7.5.42025/11/26v7.5.02025/11/23v7.4.42025/11/23v7.4.12025/10/13v7.4.02025/10/11v7.3.212025/10/11v7.3.202025/08/31v7.3.192025/08/26v7.3.162025/07/29v7.3.152025/07/26v7.3.142025/07/26常见问题
相似工具推荐
ML-For-Beginners
ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。
funNLP
funNLP 是一个专为中文自然语言处理(NLP)打造的超级资源库,被誉为"NLP 民工的乐园”。它并非单一的软件工具,而是一个汇集了海量开源项目、数据集、预训练模型和实用代码的综合性平台。 面对中文 NLP 领域资源分散、入门门槛高以及特定场景数据匮乏的痛点,funNLP 提供了“一站式”解决方案。这里不仅涵盖了分词、命名实体识别、情感分析、文本摘要等基础任务的标准工具,还独特地收录了丰富的垂直领域资源,如法律、医疗、金融行业的专用词库与数据集,甚至包含古诗词生成、歌词创作等趣味应用。其核心亮点在于极高的全面性与实用性,从基础的字典词典到前沿的 BERT、GPT-2 模型代码,再到高质量的标注数据和竞赛方案,应有尽有。 无论是刚刚踏入 NLP 领域的学生、需要快速验证想法的算法工程师,还是从事人工智能研究的学者,都能在这里找到急需的“武器弹药”。对于开发者而言,它能大幅减少寻找数据和复现模型的时间;对于研究者,它提供了丰富的基准测试资源和前沿技术参考。funNLP 以开放共享的精神,极大地降低了中文自然语言处理的开发与研究成本,是中文 AI 社区不可或缺的宝藏仓库。
cs-video-courses
cs-video-courses 是一个精心整理的计算机科学视频课程清单,旨在为自学者提供系统化的学习路径。它汇集了全球知名高校(如加州大学伯克利分校、新南威尔士大学等)的完整课程录像,涵盖从编程基础、数据结构与算法,到操作系统、分布式系统、数据库等核心领域,并深入延伸至人工智能、机器学习、量子计算及区块链等前沿方向。 面对网络上零散且质量参差不齐的教学资源,cs-video-courses 解决了学习者难以找到成体系、高难度大学级别课程的痛点。该项目严格筛选内容,仅收录真正的大学层级课程,排除了碎片化的简短教程或商业广告,确保用户能接触到严谨的学术内容。 这份清单特别适合希望夯实计算机基础的开发者、需要补充特定领域知识的研究人员,以及渴望像在校生一样系统学习计算机科学的自学者。其独特的技术亮点在于分类极其详尽,不仅包含传统的软件工程与网络安全,还细分了生成式 AI、大语言模型、计算生物学等新兴学科,并直接链接至官方视频播放列表,让用户能一站式获取高质量的教育资源,免费享受世界顶尖大学的课堂体验。
ragflow
RAGFlow 是一款领先的开源检索增强生成(RAG)引擎,旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体(Agent)能力相结合,不仅支持从各类文档中高效提取知识,还能让模型基于这些知识进行逻辑推理和任务执行。 在大模型应用中,幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构(如表格、图表及混合排版),显著提升了信息检索的准确度,从而有效减少模型“胡编乱造”的现象,确保回答既有据可依又具备时效性。其内置的智能体机制更进一步,使系统不仅能回答问题,还能自主规划步骤解决复杂问题。 这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统,还是致力于探索大模型在垂直领域落地的创新者,都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口,既降低了非算法背景用户的上手门槛,也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目,它正成为连接通用大模型与行业专有知识之间的重要桥梁。
PaddleOCR
PaddleOCR 是一款基于百度飞桨框架开发的高性能开源光学字符识别工具包。它的核心能力是将图片、PDF 等文档中的文字提取出来,转换成计算机可读取的结构化数据,让机器真正“看懂”图文内容。 面对海量纸质或电子文档,PaddleOCR 解决了人工录入效率低、数字化成本高的问题。尤其在人工智能领域,它扮演着连接图像与大型语言模型(LLM)的桥梁角色,能将视觉信息直接转化为文本输入,助力智能问答、文档分析等应用场景落地。 PaddleOCR 适合开发者、算法研究人员以及有文档自动化需求的普通用户。其技术优势十分明显:不仅支持全球 100 多种语言的识别,还能在 Windows、Linux、macOS 等多个系统上运行,并灵活适配 CPU、GPU、NPU 等各类硬件。作为一个轻量级且社区活跃的开源项目,PaddleOCR 既能满足快速集成的需求,也能支撑前沿的视觉语言研究,是处理文字识别任务的理想选择。
awesome-machine-learning
awesome-machine-learning 是一份精心整理的机器学习资源清单,汇集了全球优秀的机器学习框架、库和软件工具。面对机器学习领域技术迭代快、资源分散且难以甄选的痛点,这份清单按编程语言(如 Python、C++、Go 等)和应用场景(如计算机视觉、自然语言处理、深度学习等)进行了系统化分类,帮助使用者快速定位高质量项目。 它特别适合开发者、数据科学家及研究人员使用。无论是初学者寻找入门库,还是资深工程师对比不同语言的技术选型,都能从中获得极具价值的参考。此外,清单还延伸提供了免费书籍、在线课程、行业会议、技术博客及线下聚会等丰富资源,构建了从学习到实践的全链路支持体系。 其独特亮点在于严格的维护标准:明确标记已停止维护或长期未更新的项目,确保推荐内容的时效性与可靠性。作为机器学习领域的“导航图”,awesome-machine-learning 以开源协作的方式持续更新,旨在降低技术探索门槛,让每一位从业者都能高效地站在巨人的肩膀上创新。