公司动态

A 股、美股、港股到底谁影响谁?用 Python 做一次跨市场相关性分析

📅 2026/8/16 22:42:29
A 股、美股、港股到底谁影响谁?用 Python 做一次跨市场相关性分析
每天早上打开行情软件很多人会先看隔夜美股。纳斯达克大涨大家会期待 A 股科技股高开恒生科技下跌很多人会担心港股互联网和 A 股成长板块承压美股半导体走强又会有人去看 A 股芯片股。这些判断听起来很合理但问题是它们到底有多可靠市场之间确实会互相影响但影响不是一句“美股涨A 股就涨”这么简单。不同市场有时同向有时背离有时隔夜影响明显有时完全被本地政策和资金面覆盖。这篇文章用QuantDash做一次跨市场相关性分析把 A 股 ETF、美股 ETF、港股标的放到同一个 DataFrame 里计算收益率相关性、滞后相关性和滚动相关性。我们不靠感觉判断市场联动而是用数据看关系到底强不强。一、 为什么要做跨市场分析如果你只交易 A 股为什么还要看美股和港股因为市场不是孤立的美股影响全球风险偏好港股和 A 股有大量共同行业和共同公司美元、利率、科技股、商品价格都会跨市场传导ETF 和指数产品让资金流动更加全球化重大事件发生时开盘时间更早的市场会先反映信息。但跨市场分析最容易犯的错误是过度简化。例如常见说法需要验证的问题美股大涨A 股第二天会涨哪个指数多大涨幅胜率多少港股科技能预判 A 股科技相关性稳定吗有没有阶段失效A 股跟美股关系不大是全市场不大还是某些行业不大全球市场越来越同步同步性是长期提高还是只在危机时提高这些问题都可以用数据检验。二、 QuantDash 为什么适合做这个实验跨市场分析最麻烦的不是相关性公式而是数据对齐。你需要处理A 股代码格式美股代码格式港股代码格式不同市场交易日不同休市安排差异时区和收盘时间不同字段命名不同批量获取和复权方式。QuantDash的优势在于使用同一套 Python SDK 统一暴露 A 股、ETF、美股、港股数据。代码格式非常统一市场分类示例标的QuantDash 标准代码A 股 ETF沪深 300 ETF510300.SHA 股 ETF芯片 ETF159995.SZ港股腾讯控股00700.HK美股纳斯达克 100 ETFQQQ.US美股标普 500 ETFSPY.US更重要的是使用 QuantDash 批量接口可以一次把三地市场的数据拉取回来并直接返回结构统一的 Pandas DataFrame。三、 实战代码获取跨市场数据并对齐1. 环境准备pip install quantdash pandas numpy matplotlib seaborn2. 数据提取与清洗代码importpandasaspdimportnumpyasnpimportmatplotlib.pyplotaspltimportseabornassnsfromquantdashimportQuantDash# 1. 初始化 QuantDash SDK (可使用环境变量 QUANTDASH_API_KEY)qdQuantDash(api_keyyour_api_key)# 2. 定义分析标的列表 (涵盖 A股ETF、港股股票、美股指数ETF)symbols[510300.SH,# A股 沪深300 ETF159995.SZ,# A股 芯片 ETF00700.HK,# 港股 腾讯控股QQQ.US,# 美股 纳斯达克100 ETFSPY.US# 美股 标普500 ETF]# 3. 批量拉取日 K 线数据dfsqd.klines.batch(symbolssymbols,period1d,count500,adjustforward,to_dataframeTrue)# 4. 提取收盘价并合并为一个宽表 DataFrameclose_prices{}forsym,dfindfs.items():ifnotdf.empty:# 使用 trade_date 作为索引close_prices[sym]df.set_index(trade_date)[close]datapd.DataFrame(close_prices)# 5. 跨市场交易日对齐用前向填充 ffill 处理节假日差异再删除全 NaN 行datadata.sort_index().ffill().dropna()# 6. 计算每日对数收益率returnsnp.log(data/data.shift(1)).dropna()print( 清洗后的各市场收益率前 5 行)print(returns.head())四、 跨市场相关性三大维度分析1. 基础相关性矩阵 (Pearson Correlation)计算收益率直接相关系数并绘制热力图# 计算 Pearson 相关性矩阵corr_matrixreturns.corr()# 绘制热力图plt.figure(figsize(8,6))sns.heatmap(corr_matrix,annotTrue,cmapcoolwarm,vmin-1,vmax1,fmt.2f)plt.title(Cross-Market Return Correlation Matrix)plt.show()数据观察同市场/同属性资产相关性极高如 QQQ.US 与 SPY.US 相关系数往往大于 0.85港股港股00700.HK与美股科技QQQ.US以及 A 股510300.SH均保持中度相关0.4~0.6充当了传导桥梁A 股与美股A 股宽基510300.SH与美股SPY.US / QQQ.US同日的直接收益率相关性并不高常低于 0.3。2. 隔夜与滞后相关性 (Lag Correlation)由于美股交易时间在夜间北京时间美股表现对第二天开盘的 A 股/港股是否有引导作用我们需要计算滞后 1 阶Lag-1的相关系数。# 计算美股 QQQ 收益率滞后 1 天与第二天 A股/港股收益率的相关性returns_shiftedreturns.copy()returns_shifted[QQQ_lag1]returns[QQQ.US].shift(1)lag_corrreturns_shifted.corr()[QQQ_lag1]print( 隔夜美股 QQQ 对各市场次日收益率的相关性)print(lag_corr[[510300.SH,159995.SZ,00700.HK]])实验结论美股隔夜QQQ_lag1对港股次日开盘影响更直接滞后相关性高于 A 股A 股芯片 ETF159995.SZ受到美股科技QQQ_lag1隔夜冲击略高于沪深 300但依然受到国内资金面和开盘跳空高开/低开后的日内消化影响。3. 滚动动态相关性 (Rolling Correlation)相关性不是恒定的在市场牛熊切换或危机时期如市场暴跌跨市场相关性会显著上升而在平淡期相关性会趋于归零或背离。# 计算 60 日滚动相关性rolling_corrreturns[510300.SH].rolling(window60).corr(returns[SPY.US])plt.figure(figsize(10,4))plt.plot(rolling_corr,labelRolling 60D Correlation: A-Share (510300.SH) vs US-Share (SPY.US))plt.axhline(0,colorred,linestyle--)plt.title(Dynamic Rolling Correlation Analysis)plt.legend()plt.show()观察结论A 股与美股的相关性在历史上多次在 -0.2 到 0.6 之间大幅震荡这证明“美股跌 A 股必然跌”是过度简化的错误信念单纯靠单日涨跌预测极易吃套。五、 投资者得到的几点启发1.不要盲目根据隔夜美股做 A 股日内追涨杀跌隔夜美股影响主要体现在 A 股开盘前 15 分钟的跳空Gap开盘后走势往往由国内资金和博弈重新主导。追高极易吃套。2.港股是极佳的“传导桥梁”港股兼具外资定价与美股流动性紧密和中国资产基本面与 A 股企业盈利同步其走势是跨市场资产配置的重要中枢。3.全局数据驱动胜过刻舟求剑借助QuantDash统一的 Python SDK投资者可以轻松对多市场资产建立动态监测构建定量资产配置组合如全局风险对冲/跨市场 ETF 轮动。