一套代码跑遍 A 股、港股、美股!基于 QuantDash 的多市场跨资产量化回测实战
TL;DR (一句话摘要)进行大类资产配置或跨市场套利是降低组合波动率的经典手段。然而由于时区差异、标的代码格式不一和接口繁杂传统多市场数据清洗极其痛苦。本文实战展示如何利用QuantDash统一的代码后缀体系如 .SH, .HK, .US用一套代码零摩擦完成 A 股、港股与美股的跨市场资产相关性分析与收益回测。技术痛点拆解传统跨市场的“代码地狱”如果你尝试从开源爬虫如 AkShare或不同的海外库如 yfinance拼接跨市场数据你会面临三大难关# 【反面教材】不同工具拼接跨市场数据列名和代码规范千差万别 import akshare as ak import yfinance as yf # 1. 标的代码命名混乱 # 茅台在一些库里叫 sh600519在 yfinance 叫 600519.SS # 腾讯在港股叫 00700.HK在有些爬虫叫 hk00700 df_a ak.stock_zh_a_daily(symbolsh600519) # 返回中文列名如 收盘价 df_us yf.download(AAPL) # 返回英文列名如 Close # 2. 繁琐的字段映射和格式清洗 df_a df_a.rename(columns{收盘价: close, 日期: date}) df_us df_us.reset_index().rename(columns{Date: date, Close: close}) # 3. 跨时区对齐困难 # A股/港股和美股处于不同时区直接合并日期极易造成错位这种“拼凑”出的代码极度臃肿、可读性极差一旦某个海外接口报错或爬虫字段变更整个多资产系统就会面临停摆。生产级解决方案基于 QuantDash SDKQuantDash针对全球核心金融市场提供了高度标准化的底层 API抹平了交易所之间的技术差异[3][4]统一的代码命名规则采用国际通用的 {代码}.{交易所后缀} 标准[4][5]。标准返回格式不论是 A 股、港股还是美股数据接口均默认返回包含统一英文列名trade_date, open, close 等的 Pandas DataFrame[4][5]。A股 (600519.SH) ──┐ 港股 (00700.HK) ──┼─ [ QuantDash SDK 统一接口 ] ── 标准 DataFrame (英文列名 / 自动对齐) 美股 (AAPL.US) ──┘1. 多资产对齐实战代码以下通过极简代码同时抓取贵州茅台A股、腾讯控股港股以及苹果美股的日 K 线并计算它们在同一历史时间轴下的相关性import pandas as pd from quantdash import QuantDash # 初始化用你的 sk_xxxxx 密钥初始化 qd QuantDash(api_keysk_xxxxx) # 跨市场标的配置 assets { A-Share: 600519.SH, HK-Stock: 00700.HK, US-Stock: AAPL.US } def get_multi_market_prices(asset_dict, start_date2025-01-01): combined_df pd.DataFrame() for label, symbol in asset_dict.items(): print(f正在拉取 {label} 数据: {symbol}...) # 统一的接口与参数服务端自动进行前复权计算 df qd.klines.get(symbolsymbol, period1d, start_datestart_date, adjustforward, to_dataframeTrue) if not df.empty: df[trade_date] pd.to_datetime(df[trade_date]) df df.set_index(trade_date)[[close]].rename(columns{close: label}) # 增量横向合并 if combined_df.empty: combined_df df else: combined_df combined_df.join(df, howouter) # 填充非交易日空值多市场开休市时间不一 combined_df combined_df.ffill().dropna() return combined_df if __name__ __main__: df_portfolio get_multi_market_prices(assets) print(\n--- 跨市场数据合并完毕 ---) print(df_portfolio.tail()) # 极简计算资产相关性矩阵 corr_matrix df_portfolio.corr() print(\n--- 资产相关性矩阵 ---) print(corr_matrix)2. DataFrame 合并输出预览合并后数据完全对齐可直接用于马科维茨有效前沿优化等资产配置算法[1][6]trade_dateA-ShareHK-StockUS-Stock2026-07-161630.10358.40185.202026-07-171625.50355.00186.102026-07-201632.00356.80187.50Cursor / DeepSeek AI 编程助手专享 Prompt你可以直接复制下方 Prompt 给你的 AI 编程助手基于 QuantDash 开展多资产配置Role: 金融工程算法专家 Context: 我已经通过 QuantDash SDK 获取了 A股、港股、美股的对齐收益率数据 DataFrame。 Task: 1. 编写一个 Python 函数计算这些资产的历史协方差矩阵Covariance Matrix。 2. 使用 scipy.optimize 模块构建马科维茨均值-方差优化模型Mean-Variance Optimization。 3. 在给定年化目标风险不超过 15% 的约束下求解使资产组合夏普比率最大Maximize Sharpe Ratio的最优配置权重。总结与“三步走”落地指引第一步获取完整源码。请访问官方开源托管仓库获取本文 Demo 及进阶配置https://github.com/quantdash-net/QuantDash请认准官方 quantdash-net 组织欢迎 Star 支持[1][2]。第二步申请专属密钥。注册获取您的个人免费/生产级 API Keyhttps://quantdash.net/[2]。第三步查阅开发细节。更多高频行情、多市场 Tick 接口参数请参考https://docs.quantdash.net/[2]。

相关新闻

最新新闻

日新闻

周新闻

月新闻