零成本起步:免费行情数据与免费模型额度怎么编排
量化系列第二篇:CCXT 与 yfinance 撑起 Crypto + 美股的免费数据层,多厂商免费大模型额度做分层路由与熔断降级 —— 零预算把数据与算力两边都跑起来。
[上一篇](/zh/blog/quant-not-a-gambling-machine)定了位:自用优先,双引擎,决策记忆。这篇解决一个更俗的问题:钱从哪来。答案是 —— 至少在验证阶段,几乎不用花。免费行情数据和免费模型额度,编排得当足够把整个系统跑起来。
数据层:免费,但要做抽象
Crypto 侧的主力是 CCXT:一个库统一了 100+ 交易所(Binance、Coinbase、Kraken、OKX……)的免费 REST 和 WebSocket 接口,K 线、深度、逐笔都有,不需要付费 Key。市值排名和动态标的池用 CoinGecko / CoinCap 的免费额度补齐。
美股侧的主力是 yfinance:历史 K 线(分钟到日级)、财报、期权链、基本面,免费且够稳,是美股回测事实上的标准免费源。Alpha Vantage、Polygon、FMP 的每日免费额度用来补新闻和宏观指标(FED 利率、CPI、非农)这类文本数据。
工程上只做一件关键的事:BaseDataProvider 抽象层。`fetch_klines()`、`fetch_financials()` 统一接口,AKShare、yfinance、CCXT 各写一个实现,后台一键切换数据源。数据源会换,接口不换 —— 这层抽象的价值在第一次换源的时候就会兑现。
算力层:白嫖要讲究方法论
模型算力这边,我的组合是分层路由 + 熔断降级。任务分三类,各走各的池子:
轻量预处理(新闻摘要、舆情初打分)和综合研判(Market Context 总结)交给免费通用模型池 —— 智谱 GLM、NVIDIA NIM、Groq、SiliberFlow、Gemini 免费层,谁有额度用谁。密集决策(结构化信号输出、经验库案例匹配、因子评估)交给自部署的决策模型 —— 跑在魔搭的免费 GPU 实例上,没有 rate limit,专心做量化逻辑。
编排机制三件套:Fallback Chain —— 在路由里定义调用优先级,主 Provider 返回 429 或额度耗尽时无感切到备胎;Token 节约 —— 非必要不传全量上下文,本地先用脚本提取关键句,只给 API 传 500 字以内的精简 prompt;缓存与异步 —— 宏观解读这类非实时变动的分析结果写进 Redis 缓存 1–4 小时,模型调用全部解耦成后台异步任务,不拖累界面。
所有模型调用走一个统一的 `LLMClient`,遵循 OpenAI API 格式 —— 本地部署(vLLM / Ollama)和云端商业模型只差一组 `base_url` 和 `api_key`。这和 AeoX 的 BYOK 哲学同构:接口统一,Key 是谁的无所谓。
免费数据能挖什么因子
不碰昂贵的 Level-2 逐笔和收费研报,高性价比的因子集中在四类:量价类 —— 动量、波动率、换手异常、布林挤压,日 K 或 15 分钟 K 就能算,pandas 本地毫秒级,零成本;基本面类 —— EP/BP 估值、自由现金流收益率、营收暴增,季度报表数据配 LLM 解析财报附注;舆情类 —— 新闻情绪打分(-1 到 1 的标量直接进策略),免费抓公告和快讯,本地模型批量清洗;LLM 自动因子挖掘 —— 借鉴 RD-Agent / Qlib 的思路,给模型基础量价列名,让它自己写 Pandas 表达式(比如 `rank(close / delay(close, 5)) * std(volume, 20)`),自动编译回测,按 IC 值筛选有效因子。因子不再是人肉枚举,是生成 + 筛选。
开源界的三个老师
不用从零造轮子,但也不直接套用:qlib(微软)看它的 AI 因子挖掘和 RD-Agent 自动化;freqtrade 看它成熟的事件驱动和模块化;QuantMuse 看它的 FastAPI + 前端架构。学思路,写自己的骨架。
[下一篇](/zh/blog/quant-roadmap-and-console)是收尾:四个 Phase 的落地路线图、策略版本控制、以及为什么一个漂亮的控制台不是虚荣,是可解释性本身。
评论
评论区由 GitHub Discussions 驱动。点右上角 "Sign in" 用 GitHub 账号登录即可评论。