You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python的yfinance包下载统一欧元计价的多只股票价格

使用yfinance获取并转换股票价格为欧元计价

yfinance本身不支持直接下载非本地货币计价的股票价格,但可以通过先获取本地股价+再获取对应货币兑欧元的汇率+手动换算的方式实现需求,以下是具体步骤:

1. 获取股票的本地货币价格

用你原本的代码获取目标股票的本地货币价格:

import yfinance as yf
import pandas as pd

startDate = "2024-01-01"
endDate = "2024-06-01"

# 获取港股0285.HK的港币计价价格
hk_stock = yf.download('0285.HK', start=startDate, end=endDate)
# 获取韩股034020.KS的韩元计价价格
kr_stock = yf.download('034020.KS', start=startDate, end=endDate)

2. 获取对应货币兑欧元的汇率

通过yfinance的外汇标的获取汇率,格式为[本地货币代码][目标货币代码]=X:

# 港币兑欧元汇率(1 HKD 可兑换的 EUR 金额)
hkd_eur_rate = yf.download('HKDEUR=X', start=startDate, end=endDate)['Close']
# 韩元兑欧元汇率(1 KRW 可兑换的 EUR 金额)
krw_eur_rate = yf.download('KREUR=X', start=startDate, end=endDate)['Close']

3. 合并数据并换算为欧元计价

将股价数据和汇率数据按日期对齐,再用本地股价乘以汇率得到欧元价格:

# 处理港股数据:合并汇率并换算
hk_stock_eur = hk_stock.join(hkd_eur_rate, rsuffix='_hkd_eur')
hk_stock_eur['Open_EUR'] = hk_stock_eur['Open'] * hk_stock_eur['Close_hkd_eur']
hk_stock_eur['High_EUR'] = hk_stock_eur['High'] * hk_stock_eur['Close_hkd_eur']
hk_stock_eur['Low_EUR'] = hk_stock_eur['Low'] * hk_stock_eur['Close_hkd_eur']
hk_stock_eur['Close_EUR'] = hk_stock_eur['Close'] * hk_stock_eur['Close_hkd_eur']

# 处理韩股数据:合并汇率并换算
kr_stock_eur = kr_stock.join(krw_eur_rate, rsuffix='_krw_eur')
kr_stock_eur['Open_EUR'] = kr_stock_eur['Open'] * kr_stock_eur['Close_krw_eur']
kr_stock_eur['High_EUR'] = kr_stock_eur['High'] * kr_stock_eur['Close_krw_eur']
kr_stock_eur['Low_EUR'] = kr_stock_eur['Low'] * kr_stock_eur['Close_krw_eur']
kr_stock_eur['Close_EUR'] = kr_stock_eur['Close'] * kr_stock_eur['Close_krw_eur']

注意事项

  • 汇率标的验证:使用前确认yfinance支持对应外汇标的,比如HKDEUR=X、KREUR=X可正常返回数据。
  • 日期对齐:若股价和汇率的交易日不完全匹配,可使用hkd_eur_rate.ffill()或bfill()填充缺失的汇率值,避免换算中断。
  • 精度控制:换算后的欧元价格可通过round(2)保留两位小数,符合货币显示习惯。

内容的提问来源于stack exchange,提问作者chrispndry

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 17:22:52