marketcalls/openalgo · 上手攻略

  • 仓库:marketcalls/openalgo
  • 链接:https://github.com/marketcalls/openalgo
  • 分类:engineering / ai / algo trading platform / self-hosted
  • 作者:spark
  • 更新:2026-10-14

§0 三证 checklist - GitHub URL:✅ 已 fetch(README + docs.openalgo.in 链接 + broker 列表 + 六个 SDK 仓库链接) - 顶会 venue+年份:⚠️ 这是自托管交易平台工程仓库,无学术会议背书;技术栈 anchor 已在 README 列出(Flask 3.0 + SQLAlchemy 2.0 + React 19 + TypeScript + Vite 8 + Tailwind 4 + shadcn/ui + TanStack Query + Zustand + Socket.IO + ZeroMQ + Agno + LiteLLM + Argon2 + Fernet)。 - README 子模块 anchor:✅ docs.openalgo.in(官方文档站)+ installation-guidelines/getting-started(安装)+ installation-guidelines/getting-started/upgrade(升级)+ new-features/api-analyzer(API 分析器)+ new-features/action-center(订单审批)+ new-features/pnl-tracker(PnL 跟踪)+ new-features/traffic-latency-monitor(流量与延迟监控)


一、是什么

marketcalls/openalgo 是一个自托管(self-hosted)的开源算法交易平台,不是 broker bridge。README 明示:"OpenAlgo is no longer just 'an API layer in front of your broker.' Today it combines four trading surfaces in one self-hosted instance"——它在同一份 active broker session、同一套 market-data infra、同一组 6 个 operational data store 上承载四种交易表面。

技术栈:Python 3.12+(README 硬约束)作为后端,React 19 + TypeScript 作为前端;broker 侧通过 36 个 plugin(35 个证券 + Delta Exchange crypto 衍生品)接入;market-data 走 ZeroMQ 总线 + WebSocket proxy(默认 port 8765)。

仓库卡片显示 2851 stars(trending 维度 "ai"),许可 AGPL-3.0。仓库处于"research"成熟度(卡片自标),意味着 API/UI 仍可能调整。

二、解决什么问题

  1. 策略想法 → 回测 → 实盘的一站式工作流,避免在 Python 脚本、broker 网关、webhook、策略调度、监控之间拼凑;
  2. 统一 broker contract:在 36 个 broker 之间维持同一组 REST 接口(README 列了 57 个 method/path pair under /api/v1/),让 TradingView/Amibroker/ChartInk/Excel/Sheets/Python/Java/Go/.NET/Node.js/MetaTrader/GoCharting/N8N 都能用同一个 contract 调用;
  3. 不写代码也能做策略:Flow(/flow,xyflow/React Flow 节点编辑器)+ Options Trading Suite(/tools,12 个内置分析工具)+ AI Agent(/agent,自带 LLM 聊天);
  4. 自己托管的 Python 策略执行环境:不用单独开 VM/cron/Docker,直接在 /python 页面用 CodeMirror 写策略、IST 时间调度、多策略并行、实时看 log;
  5. AI 代理做交易但不失控:内置 LiteLLM/ChatGPT Plus/Ollama 接入 + 每笔订单都必须人工显式批准才能下发(README 原文:"can place orders only with your explicit approval on every single one");
  6. 合规与安全:Argon2-CFFI 密码哈希、Fernet + PBKDF2 token 加密、TOTP 2FA、可配置 rate limit、手动 IP ban、CSP/CORS/CSRF/SQLAlchemy 参数化查询;零数据收集("your data stays on your server")。

三、快速安装

README 给出的硬约束是 Python 3.12 or newer,并指向官方文档:

# 1) 克隆
git clone https://github.com/marketcalls/openalgo
cd openalgo

# 2) 按官方 Getting Started 走(README 直接给的链接)
# https://docs.openalgo.in/installation-guidelines/getting-started
# 通常包含:Python 3.12 venv、pip install -r requirements.txt、
#          配置 broker credentials(任一 plugin)、
#          设置 Fernet key / Argon2 password / TOTP、
#          flask / socketio 启动。

# 3) 升级走单独的 upgrade 文档
# https://docs.openalgo.in/installation-guidelines/getting-started/upgrade

⚠️ 仓库 README 没有把完整 pip install -r ... 与启动命令 verbatim 写在 README,而是引流到 docs.openalgo.in。本文不复述文档站具体步骤,只给出 anchor——具体步骤以官方文档站当前版本为准。

四、核心用法

4.1 四个交易表面(README verbatim)

表面 路径 适用人群
Unified Broker API /api/v1/ 外部平台:TradingView、Amibroker、ChartInk、Excel、Sheets、Python、Java、Go、.NET、Node.js、MetaTrader、GoCharting、N8N
Python Strategy Host /python 写代码的:在浏览器里用 CodeMirror 写 Python 策略,IST 起止时间调度,多策略并行,实时日志
Flow(无代码策略构建器) /flow 不写代码的:xyflow/React Flow 节点编辑器,{{var}} 插值,JSON 导入导出
AI Agent /agent 只想问的:自带 LLM 聊天,读你自己的行情数据,画图/算指标/标记 chart,每单都需人工 approve

4.2 REST API contract(57 对 method/path)

按 README 列出的 contract:

  • Order Management:place / modify / cancel / basket / smart(带 position sizing)
  • Portfolio:positions / holdings / order book / trade book / funds
  • Market Data:real-time quotes / historical data / market depth (Level 5) / symbol search
  • Advanced:option Greeks calculator / margin calculator / synthetic futures / auto-split orders

4.3 WebSocket / ZeroMQ

README:"Unified WebSocket proxy server (port 8765 by default) · Common WebSocket implementation using ZMQ for normalized data across brokers · Subscribe to LTP, Quote, or Market Depth for any symbol · ZeroMQ-based message bus for high-performance data distribution · Automatic reconnection and failover handling"。

4.4 Flow(无代码构建器)

xyflow/React Flow 节点编辑器;预置节点:market data / indicators / conditions / order execution / notifications;true/false 与 yes/no 边;{{var}} 插值 + list indexing;JSON 导入导出;execution flow 高亮可视化调试。

4.5 Options Trading Suite(/tools,12 个工具)

工具 路径 功能
Strategy Builder /strategybuilder 多腿期权策略 + live Greeks + payoff diagram + what-if + Strategy Chart + Multi Strike OI + basket order execution
Strategy Portfolio /strategybuilder/portfolio 在 MyTrades / Simulation watchlist 下保存的策略
Option Chain /optionchain 实时 chain + live Greeks + OI + quick order
Option Greeks /ivchart ATM 期权的 IV / Delta / Theta / Vega / Gamma 历史曲线
OI Tracker /oitracker CE/PE OI bar + PCR overlay + ATM strike 标记
Max Pain /maxpain Max Pain strike 计算 + 视觉 pain distribution
Straddle Chart /straddle 动态 ATM straddle + rolling strike + Spot + Synthetic Futures overlay
Straddle PnL /straddlepnl 模拟 intraday ATM straddle P&L,N 点自动调整 + trade log
Vol Surface /volsurface 3D IV surface(跨 strike / expiry,基于 live option chain)
GEX Dashboard /gex Gamma Exposure + OI Walls + Net GEX per strike + top gamma strikes
IV Smile /ivsmile Call/Put IV 曲线 + ATM IV + skew
OI Profile /oiprofile Futures candlestick + OI butterfly + daily OI change

⚠️ "Tools use the active broker's REST and WebSocket capabilities. Data availability and supported exchanges vary by plugin and account entitlement."——能否用上某工具,取决于你 broker 账户的 entitlement。

4.6 沙盒环境

README:"Test strategies with real market data without risking money · Pre-deployment testing for strategy validation · Supports the core MARKET, LIMIT, SL, and SL-M price types · Realistic margin system with leverage · Configurable sandbox square-off schedules · Separate database for complete isolation",沙盒有 ₹1 Crore 虚拟资金。

4.7 Action Center(订单审批)

  • Auto Mode:自动直接下发(自用);
  • Semi-Auto Mode:下发前人工 approve;
  • 完整 IST 时间戳 audit trail;
  • 单笔或批量 approve。

4.8 内置 AI Agent(/agent)

  • 读 quotes / depth / history / option chains / Greeks 时走 OpenAlgo 自己的服务,不绕到第三方 feed;
  • 画 K 线用 charting library,画期权分析用 Plotly,给 /trading 图加 level / trendline / zone;
  • 用 Rust-backed openalgo.ta 计算 127 个指标,并用 OpenAlgo SDK 生成 Python 策略;
  • 每笔订单前都弹出"精确参数"等人工 approve,apply risk limits 之后才下发;
  • 模型来源:任意 LiteLLM provider、ChatGPT Plus / Pro OAuth、本地 Ollama;
  • Key 加密在数据库里,从不写入配置文件(README 原文)。

4.9 监控 / 通知 / 联动

  • Latency Monitor:order execution round-trip;
  • Traffic Monitor:API usage / 错误 / endpoint 统计;
  • PnL Tracker:实时 PnL,TradingView Lightweight Charts;
  • Telegram bot:订单/交易告警、按钮式菜单、即时查询;
  • MCP server:Claude Desktop / Cursor / Windsurf / ChatGPT 等可通过自然语言调用 OpenAlgo。

4.10 官方 SDK(README 列出的 6 个 client libraries)

语言 仓库
Python marketcalls/openalgo-python-library
Node.js marketcalls/openalgo-node
Java marketcalls/openalgo-java
Rust marketcalls/openalgo-rust
.NET / C# marketcalls/openalgo.NET
Go marketcalls/openalgo-go

五、典型适用场景

  • 印度/全球散户/小团队 想把策略想法直接落到实盘,不想自己维护一个 broker 适配矩阵(36 个 plugin + 1 个 crypto derivatives plugin);
  • TradingView / Amibroker / Excel / Sheets 用户 想把这几个工具的 alert 自动转成实盘订单(webhook + /api/v1/);
  • Python 写策略者 想跳过 VM/cron/Docker,直接在 Web 里编辑/调度/监控(/python 页面);
  • 非程序员团队 想用 Flow(xyflow)拼策略;
  • AI/LLM 驱动 但希望"每单必须人工 approve"的团队(/agent);
  • 期权玩家 需要 12 个内置 Greeks / IV / OI / GEX 工具;
  • 合规/隐私敏感 用户:自托管 + AGPL-3.0 + 零数据收集 + Argon2/Fernet/TOTP。

六、坑与注意

  1. AGPL-3.0 许可:二次分发或 SaaS 化时注意 AGPL 条款(README 自陈许可为 AGPL-3.0,仓库卡片 verbatim)。
  2. Python ≥ 3.12 是硬约束:README 明示;用 3.11 会装不上依赖。
  3. broker 覆盖 ≠ broker 能力:README 自陈"Exchange coverage, authentication, market-data entitlement, GTT support, and other optional capabilities still vary by adapter and broker account"——同一份 REST 在不同 broker 上能跑出的功能不一样。
  4. Tools 依赖 active broker 的 entitlement:期权工具能不能用完全取决于你 broker 账户有没有开 market-data entitlement。
  5. iOS Simulator / 移动端本文不涉及:本仓库是 server + web(React 19 + TypeScript),不是移动 app——别与 Flutter 客户端混淆。
  6. AI Agent "审批"是硬边界:你可以让它写代码、读数据、画图,但每笔单都需你点 approve;不要尝试把它"配成"全自动(这违反 README 自陈设计)。
  7. Sandbox 与 Live 数据隔离:README 自陈"Separate database for complete isolation"——别在 sandbox 跑出来的 PnL 当真。
  8. LiteLLM 是依赖:要把模型切到 Anthropic / Bedrock / 自建 Ollama,先确认 LiteLLM provider 列表;ChatGPT Plus / Pro 是 OAuth 路径。
  9. ⚠️ 安装/升级命令不在 README 主体:完整步骤以 docs.openalgo.in/installation-guidelines/getting-started 当前版本为准;README 只给 anchor。
  10. Telegram bot / MCP / Chrome plugin 是独立的生态位:README 列在 "larger open-source trading ecosystem"——本仓库(OpenAlgo Core)只是其中一环,bot/MCP/Chrome plugin 在别的仓库。
  11. 依赖列表的版本号会随仓库演进:README 提到的 Flask 3.0、SQLAlchemy 2.0、Vite 8、Tailwind 4 是写稿时的版本,升级前对照 requirements.txt / package.json 复核。

七、与同类对比

平台 自托管 Broker 适配规模 写代码 无代码 AI 代理 期权工具
marketcalls/openalgo(本仓库) ✅ 36 plugin + 1 crypto derivatives ✅ Python Strategy Host ✅ Flow (xyflow) ✅ 内置 LLM agent(每单人工 approve) ✅ 12 个内置工具
典型 broker-bridge 库 ❌(依赖 broker API) 1 broker ✅ ❌ ❌ ❌
通用 algorithmic trading GUI 部分 取决于产品 部分 部分 ❌ 部分
Lean / Zipline / Backtrader ✅ 通常无内置 broker ✅ ❌ ❌ ❌

⚠️ "通用 algorithmic trading GUI" / Lean / Zipline / Backtrader 行的描述是粗略坐标,不代表具体产品的实际能力。

八、一句话推荐结论

印度/全球自托管玩家、想在一个 web 面板里同时拿到 Python 策略 + 无代码 Flow + 内置 LLM Agent + 期权分析工具 + 36 个 broker 适配:本仓库是当下 README 自陈功能最广的一站式选择;纯 Python 量化研究、无需任何 broker 适配:Lean/Backtrader/Zipline 仍更聚焦;broker-bridge 微型工具:本仓库 AGPL-3.0 + 全功能过重,按需选择。