FinMarketPy / 与 EasyClaw 对比
自建三库,还是走免部署技能路线
这两条路线不是同一层的替代品:该库 是一个自托管的 Python 库,你要自己准备环境、数据凭证,换来的是可写死的回测口径与 curve/ 的曲线曲面能力;EasyClaw 的技能路线免部署、一句话出结果,覆盖的是行情取数、技术面、出图与单次回测指标。下面把两边按任务、前置条件与限制拆开对照,并把「哪一边做不到什么」写清楚。本站点明示:该库与 EasyClaw 无已证实集成,两条路线之间没有连接。
先弄清两条路线各是什么
把「库」和「技能入口」放在一起比功能多少,是这类对比最常见的误区。它们解决的是不同问题。
| 对比项 | finmarketpy 自托管 | 免部署技能路线 |
|---|---|---|
| 形态 | Apache-2.0 的 Python 库(三个独立包) | 客户端里的可调用技能(本机 .easyclaw/skills 下 29 个) |
| 谁提供算力与数据 | 你自己的机器与你的数据源凭证 | 技能背后的数据接口与模型,Skills 目录可见即可用 |
| 准备成本 | 装环境、按顺序装三库、配 key、可能需要额外装 FinancePy | 装客户端;部分技能另有前置(Token / API Key / 依赖库) |
| 产物形态 | 可复现的回测对象、统计表、Excel 报告、图;参数全部可见可改 | 一次性问答结果:行情表、指标结论、图表文件 |
| 口径控制粒度 | 细到 BacktestRequest 的每个参数(成本、杠杆、再平衡、年化因子) | 由技能实现决定,用户侧通常只能通过提问约束 |
| 独特能力 | curve/ 外汇即期/远期/期权曲线与波动率曲面、EventStudy 事件研究、Seasonality、参数敏感性 | 面向中国市场的行情与财务数据接口(A 股/港股/基金/期货/宏观)、技术面分析、静态出图 |
| 明确没有的 | 没有 A 股行情源、没有实盘下单、没有官方中文文档 | 没有外汇期权/波动率曲面/曲线库、没有事件研究框架、没有可写死的回测口径 |
| 集成关系 | 无已证实集成。本机技能目录里没有任何 finmarketpy 相关技能;两条路线各自独立使用 | |
按任务怎么选:这件事该走哪条路
下表的判断依据是「这条任务在哪一边有真实能力支撑」;标「两边都不理想」的,是本站认为需要你另找方案的地方。
| 你想做的事 | 建议路线 | 理由 | 注意点 |
|---|---|---|---|
| 取一段 A 股/港股行情或财务数据 | 免部署技能路线 | 本机技能里有面向中国市场的数据接口(akshare-finance、tushare-finance、mx-data) | 该库的 vendor 清单里没有 A 股源;反过来技能侧也没有 finmarketpy 的回测引擎 |
| 取外汇/宏观数据做研究 | 两边都能取,看后续用途 | 技能侧走 findatapy 的 FRED/ALFRED 等免费源;技能侧 akshare-finance 也提供宏观接口 | 后续要做曲线曲面或事件研究框架的,只能自建(见下两行) |
| 做一次双均线回测看指标 | 两边都可,看要求 | 技能路线(quant-analyst)一句话可出策略与基准对照指标 | 要写进报告、要别人复现的,走自建路线并补齐口径记录 |
| 做可复现的策略回测研究 | 该库 自托管 | 成本、信号延迟、杠杆、再平衡、年化因子都能显式写死 | 必须自己写清可复现协议,见回测可信度体检 |
| 外汇期权定价 / 波动率曲面 | 只能自建 finmarketpy | 技能侧没有任何对等能力 | 还需要自备外汇场外报价数据,并可能额外安装 FinancePy |
| 宏观事件研究(非农、CPI、决议) | 只能自建 finmarketpy | EventStudy / EventsFactory 提供事件窗口统计框架 | 技能侧可帮你取中国宏观数据,但不提供事件研究框架 |
| 把数据画成一张图 | 两边都可 | 技能侧(chart-image)出静态 PNG,支持折线/柱状/K 线/热力图/事件标注等 | 技能侧 chartpy 可换 matplotlib / plotly / bokeh,能出交互图 |
| 实盘下单 | 两边都不提供 | 该库的 PLANNED_FEATURES.md 把事件驱动回测器与券商包装列为低优先级待办;技能侧文档也普遍声明不执行交易 | 本站不做任何交易建议或执行方案 |
前置条件对照:哪一边要先准备什么
「能不能用」往往取决于前置条件,而不是功能列表。
| 前置项 | finmarketpy 自托管 | 免部署技能路线 |
|---|---|---|
| 运行时 | Python(README 写 3.10,pyproject 写 ≥3.9)+ 虚拟环境 | EasyClaw 客户端 |
| 依赖库 | chartpy + findatapy + finmarketpy(numpy 被钉在 <2) | 按技能而定:akshare 需 akshare>=1.18 + pandas;chart-image 需 Node.js 依赖 |
| 账号 / 凭证 | 至少一把免费 FRED key;其它源按需(Bloomberg/Eikon/Databento 等需授权) | akshare 免费;Tushare 需 Token;东方财富妙想需 MX_APIKEY;iWenCai 需 API Key |
| 可选组件 | Redis(缓存)、MongoDB/ArcticDB(存储)、FinancePy(期权定价)、Open Sans 字体 | 无 |
| 网络要求 | 要能连到所用数据源;官方无内置镜像说明 | 要能连到技能所用数据接口 |
| 失败时的兜底 | 看报错与版本边界;或改用官方 Binder notebook | 换技能或换数据源;技能文档通常写明返回错误结构 |
本机已核验哪些技能:清单与各自边界
下表技能均在 C:\Users\CF\.easyclaw\skills 下实读其 SKILL.md(2026-09-20)。本机技能目录共 29 个,这里只列与研究场景相关的 6 个。
| 技能 | 能力范围(文档原文口径) | 前置条件 | 文档明示的限制 | 与 finmarketpy 的关系 |
|---|---|---|---|---|
quant-analyst(v1.0.0) | 策略开发与回测、风险指标(VaR / Sharpe / 最大回撤)、组合优化(Markowitz / Black-Litterman)、时序分析与预测、期权定价与希腊字母、统计套利 | 文档要求先澄清执行环境、数据源、目标市场、用途四项 | 面向研究与教学;不构成投资建议 | 对应 finmarketpy 的 BacktestEngine / TradeAnalysis 那一层,但产物是一次性结果而非可写死的回测对象 |
akshare-finance(v1.1) | 股票、期货、期权、基金、外汇、债券、指数、加密货币的行情与基本面;宏观 GDP/CPI/PMI/M2 | akshare>=1.18 + pandas | 不提供投资建议、不处理实盘交易、不替代专业金融终端 | 对应 findatapy 的取数层;它是覆盖中国市场的那一半,而 findatapy 覆盖海外源 |
chart-image(v2.6.17) | Vega-Lite 出图:折线/柱状/面积/散点/饼图/环形/K 线/热力图/多序列/堆叠/量价双轴/迷你图,支持事件标注与时间轴 | 纯 Node.js,无需浏览器 | 产出静态图片,不是可交互图表 | 对应 chartpy 的出图层;chartpy 可换引擎出交互图,是差异点 |
yahoo-us-stock-tracker(目录 yahoo-finance-github) | 美股实时行情、历史 K 线、新闻、组合盈亏分析 | yfinance(无需 key) | 不支持 A 股与港股;免费档 15 分钟延迟;不执行交易 | 对应 findatapy 的海外股票取数路径 |
tushare-finance | 中国金融市场数据:A 股/港股/美股/基金/期货/债券,200+ 接口,含宏观指标 | 需 Tushare Token(在 Tushare 网站注册获取) | 文档要求先确认 Token 是否已配置 | 同为取数层,与 akshare 路线互补 |
mx-data(东方财富妙想) | 行情类、财务类、关系与经营类数据(含实时行情、主力资金流向、股东结构) | 需 MX_APIKEY | 定位是「为模型提供权威及时的金融数据」 | 同为取数层,偏中国市场 |
curve/ 与 economics/)在技能侧没有对等物——这是两条路线最实质的差别,不是「谁更好」的问题。技能路线实际跑出来是什么样
三张本机 EasyClaw 对话截图(复用集群内已核验截图,含义未变),左右翻页查看。它们只证明「这类任务可以一句话发起」,不是 finmarketpy 的运行结果。
五问决策清单:怎么选路线
按顺序回答这五个问题,路线基本就定了。
| 问题 | 若答案是「是」 | 若答案是「否」 | 为什么这样分 |
|---|---|---|---|
| ① 你要不要用外汇期权、波动率曲面或事件研究框架? | 必须自建 finmarketpy | 继续下一问 | 技能侧没有对等能力,这不是取舍问题 |
| ② 结果要不要写进报告、被别人复现? | 倾向自建(口径可写死) | 继续下一问 | 可复现性来自参数可见,而技能侧的口径由实现决定 |
| ③ 你的数据主要是 A 股/港股/中国宏观吗? | 倾向技能路线取数 | 继续下一问 | 该库的 vendor 清单没有 A 股源 |
| ④ 你现在只是想先看一眼数据或一个指标? | 先走技能路线 | 继续下一问 | 免部署路线的准备成本明显更低 |
| ⑤ 你愿意为环境与凭证投入时间吗? | 自建,能力上限更高 | 技能路线,先拿到结论 | 自建换来的是能力上限与可控性,代价是环境成本 |
两条路线对比的常见问题
技能能力以本机 SKILL.md 文档口径为准;该库 能力以其官方文档与源码为准。两者无已证实集成。
EasyClaw 里能直接安装 finmarketpy 吗?
本站没有这方面的证据,因此不予声称。本机 .easyclaw/skills 下的 29 个技能中没有 finmarketpy 相关技能,两者无已证实集成。可以确定的是:该库的官方安装方式是在你自己的 Python 环境里按顺序装三个库(见安装与环境边界);技能路线是另一条独立的免部署路径。
技能路线能替代回测吗?
能替代「先看一眼指标」这一层,不能替代「可复现的回测研究」。技能侧(如 quant-analyst)可以一句话给出策略与基准的对照指标;但回测的科学性来自口径可见——成本几个 bp、信号延后几期、杠杆上限多少、年化因子取什么,这些在 finmarketpy 里是显式参数(BacktestRequest),在技能侧由实现决定。要写进报告时,这一点通常是决定性的。
A 股用户该怎么选?
取数走技能路线更顺:该库 依赖的 findatapy 的 vendor 模块清单里没有 A 股行情源,本机技能里则有 akshare-finance、tushare-finance、mx-data 等面向中国市场的接口。但如果你要做的是「宏观事件 → 市场反应」这类研究,事件研究框架仍然只在 finmarketpy 侧。所以 A 股用户的常见组合是:技能侧取数、自建侧做研究(把数据整理成 DataFrame 喂给回测接口)。
为什么两张对比图之间没有箭头?
因为确实没有连接。本站不用「集成拓扑图」的形式暗示两条路线可以打通——那是没有证据的表述。它们的实际关系是:各自独立使用,最多人工把数据在两边搬运。
技能路线要花钱吗?
技能本身的前置条件不同:akshare-finance 基于公开接口(需装依赖库);Tushare 需要你自己注册获取 Token;东方财富妙想的 mx-data 需要 MX_APIKEY;yahoo-us-stock-tracker 用 yfinance,文档写明无需 API key。至于平台侧的额度与计费规则,请以 EasyClaw 官方说明为准——本站不做承诺。
我两边都想试,顺序怎么安排?
建议:先用技能路线花十几分钟确认「我关心的数据能不能拿到、大致是什么形态」,这一步成本极低;确认方向后,再决定要不要为可复现性装 finmarketpy 三库。反过来的顺序(先装环境再发现数据源不对)成本更高,因为环境侧的凭证与数据源往往要重新配。
这两个东西的「限制」谁更多?
类型不同。该库的限制是覆盖面:没有 A 股源、没有实盘、没有中文官方文档;技能路线的限制是深度与可控性:没有外汇曲线曲面、没有事件研究框架、口径不可写死。选的时候不看「谁限制少」,看「哪一类限制卡住了你当前的任务」。