多市场资产历史回测:一个页面搞定美股、A股与加密币
GlobalAssetHistory 开源工具,整合美股、数字货币、A股等历史数据,支持定投回测与暴跌恢复统计,助你轻松比较不同资产表现。
为何需要 GlobalAssetHistory:跨市场历史数据对比的痛点
想要在同一个视图中对比 QQQ、BTC 与 A 股指数的历史表现,通常需要在多个平台间切换。美股、数字货币、A 股及 QDII 基金的数据分散在不同网站,若还想比较一次性投入与定期定额的差异,操作就更加琐碎。
GlobalAssetHistory 是一款开源定投回测工具,将美股及 ETF、数字货币、A 股指数及部分股票的历史收益查询整合于一个页面,并提供场内跨境 ETF 和场外 QDII 基金信息。
除了查看年度、月度表现和日线数据,你还能模拟每日、每周或每月定投,查看累计投入、收益变化及每笔买入记录。页面还附带暴跌恢复期统计、ETF 参考溢价和 QDII 基金数据,便于比较不同标的的历史表现,以及粗略测算不同投入方式的结果。
GlobalAssetHistory 与常见行情软件的核心差异
常见行情软件和券商 App 侧重于实时盘口、分时图与技术指标,而 GlobalAssetHistory 则专注不同资产的历史表现对比,以及年、月、日三个层级的数据查询。
主界面通过热力图展示多类资产的历年涨跌幅。点击某一年份,可继续查看该年 12 个月的月度表现;点击具体月份,还能看到当月每日的收盘价与单日涨跌情况。页面同样提供场内 ETF 的管理费、托管费与参考溢价率,以及 QDII 基金的申购限额状态。
相关数据来自第三方接口,并通过服务端缓存。页面显示的 ETF 溢价和 QDII 申购状态可能存在延迟,更适合日常查询与初步筛选,不能替代券商实时行情,也不适合用于盘中交易决策。
GlobalAssetHistory 支持的资产范围与功能概览
GlobalAssetHistory 的功能集中在跨市场历史数据查询、定投回测和 ETF/QDII 信息查看。其支持的资产范围、投入方式、数据来源与部署架构整理如下。
由于依赖多个第三方数据源,不同市场可查询的标的和数据周期并不完全一致。页面中的年、月、日收益钻取主要基于历史日线数据,其中“日”指每日收盘数据,不代表分钟级或小时级行情。短周期数据仅适用于部分市场和标的,A 股相关标的能否使用应以当前页面的实际查询结果为准。
第三方接口调整也可能影响标的范围、缓存时间和下载格式。项目当前的数据下载模块主要提供 JSON 预览与 JSON 文件下载;虽然项目提供 CSV 导出,但线上实际功能可能存在版本差异。
定投回测实战:以 QQQ 按月投入为例
GlobalAssetHistory 的定投回测基于历史日线数据。使用时设置起止时间、初始资金、投入金额和买入周期,支持一次性投入,以及按日、按周或按月定投。提交后,页面显示累计投入、最终资产、收益曲线和每笔买入明细。
以 QQQ 为例,选择一段明确的历史区间,填写每月投入金额和固定买入日期,即可查看按月定投在这段时间内的持仓成本与资产变化。使用相同的时间和投入金额再运行一次一次性投入,可直观比较两种投入方式的结果差异。
这类对比适合观察不同市场阶段对投入节奏的影响。例如,在持续上涨、横盘震荡或中途大幅下跌的区间里,一次性投入与按月定投的平均成本、账户波动和恢复时间可能呈现不同变化。也可用相同条件测试 SPY、BTC 等标的,但不同市场的交易日期和计价货币并不完全一致,结果不宜直接进行精确横向比较。
查看回测结果时,应确认固定买入日遇到非交易日时如何处理,以及计算是否包含手续费、税费、分红再投资和汇率变化。当前数据下载页面主要提供 JSON 格式,回测结果是否支持单独下载,应以在线 Demo 当前显示为准。回测能帮助理解历史波动和成本变化,但不能据此判断某项资产未来是否适合长期持有。
暴跌恢复统计:资产下跌后多久回到前期高点
累计收益率只能说明一项资产在所选区间内涨了多少,却看不出持有过程中经历过多大的下跌,以及下跌后用了多久才重新回到前期高点。
GlobalAssetHistory 的暴跌统计会按照项目设定的跌幅条件,记录标的历史上出现单日大幅下跌的次数,并计算从下跌低点恢复至前期高点所需的平均天数和最长天数。具体跌幅阈值和计算方式,应以当前页面及项目代码为准。
这组数据适合用来比较不同资产的历史恢复能力。例如,两项资产的长期累计收益可能接近,但其中一项在大跌后很快恢复,另一项则需要更长时间才能回到原来的位置,实际持有体验会有明显差别。
不过,恢复时间只能反映已发生的历史情况。它会受到所选区间、数据频率和暴跌判定标准影响,不能据此预测下一次下跌的幅度或恢复速度。
数据来源、缓存与部署架构
GlobalAssetHistory 后端采用 Python Flask,并使用 Blueprint 划分不同功能模块;前端主要由原生 HTML、CSS、JavaScript 和 SVG 构成,没有依赖 React 或 Vue。整体架构轻量,但实际查询速度仍受第三方接口响应和缓存状态影响。
项目针对不同市场配置了多个数据源和备用接口:
- 美股及 ETF: 主要通过 Yahoo Finance 获取历史行情。
- 数字货币: 按照 Binance、OKX、CoinGecko 的顺序尝试获取数据,某个接口不可用时可切换至备用来源。
- A 股与基金: 主要接入东方财富和腾讯财经等第三方接口。
为减少重复请求,成功获取的核心日线数据通常缓存约 6 小时,部分 ETF 与 QDII 数据缓存约 4 小时,接口错误结果则短暂缓存。具体缓存时间可能随项目版本调整,应以当前代码和部署配置为准。
目前项目尚未发布正式 Release。准备长期运行前,建议检查最近提交、依赖版本和第三方数据接口是否仍能正常响应,不要直接把开发版本当作稳定的生产服务。
适用人群与不适用场景
如果你平时需要查看美股 ETF、数字货币、A 股指数、部分 A 股股票或 QDII 基金,可以用 GlobalAssetHistory 集中查询历年涨跌幅、月度表现和日线数据,也可以粗略比较一次性投入与每日、每周或每月定投的历史结果。
它特别适合想快速了解历年涨跌幅、暴跌后的恢复时间,以及一次性投入与定期投入结果差异的普通投资者。页面操作直接,无需先学习复杂的量化分析方法。
不过,它不适合多资产组合回测、仓位再平衡、相关性与对冲分析,也不能提供高频行情监控。由于回测没有完整还原真实交易成本、分红处理和汇率变化,结果不能替代专业量化平台,也不应直接作为交易依据。
项目信息
- 官方网站: GlobalAssetHistory 在线演示页面无需部署,可体验美股、数字货币、A 股指数及部分股票的历史收益查询、定投回测与 ETF 溢价查询。
- GitHub 项目主页: 查看 Flask 后端源码、配置文件格式以及基于 MIT 协议的私有化部署说明。