Files
MoFin/venv/lib/python3.12/site-packages/akshare/index/index_global_sina.py
T
知微 fa45d8aa5f fix: 小果地址统一node122(兼容LAN+EasyTier)
- health_checklist.json: 192.168.1.122→node122
- ocr_client.py: docstring IP→node122
- docs/market-data-requirements.md: IP→node122
- 所有API调用通过ProxyHandler({})绕过系统代理
  Privoxy对node122:18003返回500,直连正常
2026-06-30 02:56:35 +08:00

83 lines
2.4 KiB
Python

#!/usr/bin/env python
# -*- coding:utf-8 -*-
"""
Date: 2025/3/7 17:00
Desc: 新浪财经-行情中心-环球市场
https://finance.sina.com.cn/stock/globalindex/quotes/UKX
"""
import pandas as pd
import requests
from akshare.index.cons import index_global_sina_symbol_map
def index_global_name_table() -> pd.DataFrame:
"""
新浪财经-行情中心-环球市场-名称代码映射表
https://finance.sina.com.cn/stock/globalindex/quotes/UKX
:return: 名称代码映射表
:rtype: pandas.DataFrame
"""
temp_df = pd.DataFrame.from_dict(
index_global_sina_symbol_map, orient="index", columns=["代码"]
)
temp_df.index.name = "指数名称"
temp_df.reset_index(inplace=True)
return temp_df
def index_global_hist_sina(symbol: str = "OMX") -> pd.DataFrame:
"""
新浪财经-行情中心-环球市场-历史行情
https://finance.sina.com.cn/stock/globalindex/quotes/UKX
:param symbol: 指数名称;可以通过 ak.index_global_name_table() 获取
:type symbol: str
:return: 环球市场历史行情
:rtype: pandas.DataFrame
"""
url = "https://gi.finance.sina.com.cn/hq/daily"
params = {
"symbol": index_global_sina_symbol_map[symbol],
"num": "10000",
}
r = requests.get(url=url, params=params)
data_json = r.json()
temp_df = pd.DataFrame(data_json["result"]["data"])
temp_df.rename(
columns={
"d": "date",
"o": "open",
"h": "high",
"l": "low",
"c": "close",
"v": "volume",
},
inplace=True,
)
temp_df = temp_df[
[
"date",
"open",
"high",
"low",
"close",
"volume",
]
]
temp_df["date"] = pd.to_datetime(temp_df["date"], errors="coerce").dt.date
temp_df["open"] = pd.to_numeric(temp_df["open"], errors="coerce")
temp_df["high"] = pd.to_numeric(temp_df["high"], errors="coerce")
temp_df["low"] = pd.to_numeric(temp_df["low"], errors="coerce")
temp_df["close"] = pd.to_numeric(temp_df["close"], errors="coerce")
temp_df["volume"] = pd.to_numeric(temp_df["volume"], errors="coerce")
return temp_df
if __name__ == "__main__":
index_global_name_table_df = index_global_name_table()
print(index_global_name_table_df)
index_global_hist_sina_df = index_global_hist_sina(symbol="瑞士股票指数")
print(index_global_hist_sina_df)