欢迎光临
我们一直在努力

【量化利器】获取A股/港股/期货K线数据!

一、前言

在量化交易、数据分析领域,获取可靠的K线历史数据是第一步。今天给大家分享一个免费的K线数据API接口,支持A股、港股、期货三大市场,包含分钟级、日K、周K等多种周期数据。


二、功能特点

特性说明
📈 多市场支持 A股、港股、期货一网打尽
⏱️ 多时间周期 min5/min15/min30/min60/day/week/month/season/year
📊 数据字段 时间、开盘、最高、最低、收盘、总量
🔓 完全免费 无需注册,直接调用

三、核心代码解析

3.1 请求封装

python

import requests
import json

API_URL = "http://ddnsapi.top:18080/api/v1/request"

def get_kline_data(code, period="day", count=5):
"""
获取K线历史数据

:param code: 证券代码
:param period: 时间周期
:param count: 获取条数(最高1024)
"""
data = {
'req_type': 'klinedata',
'code': code,
'period': period,
'count': count
}

try:
response = requests.post(API_URL, data=data, timeout=10)
response.raise_for_status()
return json.loads(response.text)
except requests.exceptions.RequestException as e:
print(f"请求失败: {e}")
return None

3.2 时间周期参数说明

参数值含义
min5 5分钟K线
min15 15分钟K线
min30 30分钟K线
min60 60分钟K线
day 日K线
week 周K线
month

月K线

season

季K线

year

年K线

四、使用示例

4.1 获取期货数据

python

# 螺纹钢期货 lu9999
data = get_kline_data('lu9999', period='min5', count=5)
print(data)

输出结果:

python

{
'code': 'lu9999',
'fields': ['时间', '开盘', '最高', '最低', '收盘', '总量'],
'items': [
[1780584000, 4728, 4738, 4726, 4735, 204],
[1780584300, 4734, 4735, 4726, 4729, 96],

]
}

4.2 获取A股数据

python

# 贵州茅台 600519
data = get_kline_data('600519', period='min5', count=5)
print(data)

4.3 获取港股数据

python

# 宁德时代 HK3750
data = get_kline_data('HK3750', period='min5', count=5)
print(data)


五、完整源码

python

#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
K线历史数据获取工具
支持:A股 / 港股 / 期货 多市场K线数据获取
"""

import requests
import json

API_URL = "http://ddnsapi.top:18080/api/v1/request"

def get_kline_data(code, period="day", count=5):
data = {
'req_type': 'klinedata',
'code': code,
'period': period,
'count': count
}
try:
response = requests.post(API_URL, data=data, timeout=10)
response.raise_for_status()
return json.loads(response.text)
except requests.exceptions.RequestException as e:
print(f"请求失败: {e}")
return None

def format_kline_data(raw_data):
if not raw_data or 'items' not in raw_data:
print("数据格式异常")
return

print(f"\\n{'='*60}")
print(f"证券代码: {raw_data['code']}")
print(f"字段说明: {raw_data['fields']}")
print("-" * 60)

for item in raw_data['items']:
print(f"时间戳: {item[0]} | 开盘: {item[1]} | 最高: {item[2]} | 最低: {item[3]} | 收盘: {item[4]} | 总量: {item[5]}")

print(f"{'='*60}\\n")

if __name__ == "__main__":
# 期货测试
print("【期货 – lu9999】")
format_kline_data(get_kline_data('lu9999', 'min5', 5))

# A股测试
print("【A股 – 贵州茅台 600519】")
format_kline_data(get_kline_data('600519', 'min5', 5))

# 港股测试
print("【港股 – 宁德时代 HK3750】")
format_kline_data(get_kline_data('HK3750', 'min5', 5))


六、注意事项

  • 数据限制:单次最多获取1024条数据
  • 请求频率:请合理控制请求频率,避免给服务器造成压力
  • 时间戳转换:返回的时间字段为Unix时间戳,可使用datetime.fromtimestamp()转换为可读时间
  • 数据用途:仅供学习交流使用,请勿用于非法用途

  • 七、总结

    这个API接口非常适合量化交易初学者快速获取市场数据进行研究分析。如果对你有帮助,欢迎点赞、收藏、转发!

    💡 关注我,获取更多量化交易干货!


    🔔 提示:文章中的接口地址请以实际测试为准,如有变动请关注最新更新。


    赞(0)
    未经允许不得转载:171主机测评 » 【量化利器】获取A股/港股/期货K线数据!
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址