Python 请求 HX_HSI 恒指日线 K 线 完整请求与时序数据处理
·
恒指 HX_HSI 日线数据常用于港股宏观趋势、跨市场对冲策略回测,本文使用 requests 库实现日线 K 线拉取,完整展示请求参数配置、超时异常捕获、返回二维时序数组遍历处理逻辑,附带完整可运行代码与标准返回结构,适合本地量化回测脚本、离线行情统计工具。
一、K 线接口基础参数
- 接口地址:http://39.107.99.235:1008/redis.php
- 品种编码:HX_HSI
- 周期 time:1d(日线),单次返回 rows=300 条
- 完整请求 URL:
plaintext
http://39.107.99.235:1008/redis.php?code=HX_HSI&time=1d&rows=300
- 请求头统一配置 Accept-Encoding: gzip。
二、完整 Python 代码
python
运行
import requests
def get_hsi_daily_kline(limit=300):
"""
获取恒指HX_HSI日线K线
:param limit: 返回K线条数
:return list 时序数组,异常返回None
"""
api_url = "http://39.107.99.235:1008/redis.php"
headers = {
"Accept-Encoding": "gzip"
}
params = {
"code": "HX_HSI",
"time": "1d",
"rows": limit
}
try:
resp = requests.get(api_url, headers=headers, params=params, timeout=12)
# 校验HTTP响应状态
resp.raise_for_status()
kline_data = resp.json()
return kline_data
except requests.exceptions.RequestException as err:
print("恒指K线请求网络异常:", str(err))
return None
# 业务调用逻辑
if __name__ == "__main__":
hsi_daily_list = get_hsi_daily_kline(300)
if hsi_daily_list is not None and len(hsi_daily_list) > 0:
print("===== 恒指前15根日线行情 =====")
# 循环遍历前15根日线打印信息
for item in hsi_daily_list[:15]:
ts, open_p, high_p, low_p, close_p, date_str, vol = item
print(f"日期:{date_str} 收盘点位:{close_p} 当日成交量:{vol}")
三、返回时序数组标准格式
plaintext
[
[1782950400000, 18620.5, 18685.2, 18590.3, 18662.7, "2026-07-01", 1269500],
[1782864000000, 18541.2, 18633.6, 18510.9, 18618.2, "2026-06-30", 1423600]
]
数组元素固定顺序:毫秒时间戳、开盘、最高、最低、收盘、日期、成交量。
四、回测场景使用建议
- 日线粒度适合周、月维度趋势指标计算,不适合短线高频策略;
- 可将数组转为 pandas DataFrame,直接计算均线、ATR 等技术指标;
- 港股交易节假日无 K 线数据,回测时增加日期过滤逻辑剔除空白时段。
更多推荐


所有评论(0)