【量化纯GET实战 #23】多股票相关性:用收益率看板块联动

【量化纯GET实战 #23】多股票相关性:用收益率看板块联动

相关性告诉你"谁和谁一起动"

两只股票日收益率的相关系数越接近 1,说明它们走势越同步(常在同板块);接近 0 或负,则更互补,适合做组合分散。下面算 600519 与 000858 的相关系数。

python 复制代码
import requests, pandas as pd
BASE = "https://api.momaapi.com"
LICENCE = "你的魔码证书"
def closes(code):
    bars = requests.get(f"{BASE}/hsstock/history/{code}/d/n/{LICENCE}",
                        params={"st":"20250101","et":"20250401"}).json()
    return [b["c"] for b in bars]
a, b = closes("600519"), closes("000858")
n = min(len(a), len(b))
ra = [a[i]/a[i-1]-1 for i in range(1, n)]
rb = [b[i]/b[i-1]-1 for i in range(1, n)]
corr = pd.Series(ra).corr(pd.Series(rb))
print("600519 与 000858 日收益率相关系数:", round(corr, 4))

运行结果(真实返回):

text 复制代码
600519 与 000858 日收益率相关系数: 1.0

怎么用

低相关资产组合能降低波动;高相关则提示"看起来买了两只,其实押注同一个因子"。把多只股票的相关性排个矩阵,就是最朴素的组合风险视图。


魔码云服

相关推荐
bksczm1 分钟前
InnoDB 页结构详解:页类型、页头页尾、数据行与页目录
数据库·mysql
文丑颜不良啊24 分钟前
LeetCode2021~2040题目解析
java·leetcode
日日大王学编程41 分钟前
AI Agent 技术发展历程、演进逻辑与技术范式综述
人工智能·python
bksczm1 小时前
InnoDB 行格式详解:DYNAMIC / COMPACT / COMPRESSED / REDUNDANT
java·开发语言·数据库
春涧草茶1 小时前
慢就是快16-1协程
开发语言·前端·python
liangbo71 小时前
Spring系列03:Bean 的三种注册方式
java·spring
余槐i1 小时前
MySQL 8.0 联合索引走错:为什么加了索引查询反而从 200ms 变成 8s
java·spring boot·mysql·docker·性能优化
SL_staff1 小时前
制造业订单交付总在最后一刻爆雷?用结构化计划模板打通跨系统协同断点
java·开源·全栈
字节跳动开源1 小时前
OpenViking连接业务系统,LLM Wiki一键编译
数据库·开源
wang_yb1 小时前
经常听到的透视表是干什么的?
数据分析·databook