一、StockTV API平台架构概览
1.1 核心功能模块
-
多市场覆盖:除越南外,还支持印度、马来西亚、印尼、美国、日本等多个主要经济体的股票数据
-
实时数据流:通过WebSocket协议提供毫秒级延迟的市场数据推送
-
多接入方式:同时提供RESTful HTTP API和WebSocket实时数据接口
二、越南股票数据接入全流程
2.1 开发环境准备
在开始编码前,开发者需要完成以下准备工作:
-
API Key申请:通过StockTV官方渠道申请专属API密钥
-
开发工具配置:推荐使用Postman进行接口测试,或选择Python、JavaScript等语言的HTTP客户端库
三、核心功能实现详解
3.1 公司基础信息获取
通过公司URL接口,开发者可以获取越南上市公司的基础档案信息:
import requests
import json
def get_company_profile(stock_code):
api_key = "YOUR_API_KEY" # 替换为实际API Key
base_url = "https://api.stocktv.top/stock/companyUrl"
params = {
"url": f"/equities/{stock_code}",
"key": api_key
}
try:
response = requests.get(base_url, params=params)
response.raise_for_status() # 检查HTTP错误
data = response.json()
if data.get("code") == 200:
company_data = data["data"]
print(f"公司名称: {company_data['companyName']}")
print(f"所属行业: {company_data['industry']}")
print(f"员工数量: {company_data['employeeCount']}")
print(f"市场: {company_data['market']}")
return company_data
else:
print(f"API错误: {data.get('message')}")
return None
except requests.exceptions.RequestException as e:
print(f"请求失败: {str(e)}")
return None
# 示例:获取Vinamilk(VNM)公司信息
vnm_data = get_company_profile("vnm")
关键参数说明:
-
stock_code:越南股票代码(如VNM、VIC、HPG等) -
url参数:需按照API规范格式化为/equities/{股票代码}
3.2 实时行情数据获取
虽然原文档未直接提供越南股票实时行情接口,但通过StockTV的通用股票数据接口,开发者可以构建实时数据获取方案:
def get_realtime_stock_data(symbol, api_key):
"""
获取指定股票代码的实时行情数据
:param symbol: 股票代码(如VNINDEX或具体股票代码)
:param api_key: API认证密钥
:return: 包含实时行情的字典数据
"""
endpoint = "https://api.stocktv.top/stock/quote" # 假设的实时行情端点
params = {
"symbol": symbol,
"key": api_key,
"market": "VN" # 指定越南市场
}
try:
response = requests.get(endpoint, params=params)
data = response.json()
if data.get("code") == 200:
return {
"current_price": data["data"]["lastPrice"],
"change": data["data"]["priceChange"],
"change_percent": data["data"]["priceChangePercent"],
"volume": data["data"]["volume"],
"timestamp": data["data"]["timestamp"]
}
return None
except Exception as e:
print(f"获取实时数据失败: {str(e)}")
return None
注意:实际端点可能有所不同,建议通过StockTV官方文档确认或联系技术支持获取越南股票专用实时接口
3.3 历史K线数据获取
对于技术分析需求,获取历史K线数据至关重要:
def get_historical_klines(symbol, interval="1d", start_date=None, end_date=None):
"""
获取越南股票的历史K线数据
:param symbol: 股票代码
:param interval: 时间间隔(1m,5m,15m,1h,1d等)
:param start_date: 开始日期(时间戳)
:param end_date: 结束日期(时间戳)
:return: K线数据列表
"""
api_key = "YOUR_API_KEY"
endpoint = "https://api.stocktv.top/stock/klines" # 假设的K线数据端点
params = {
"symbol": symbol,
"interval": interval,
"key": api_key,
"market": "VN"
}
if start_date:
params["startTime"] = start_date
if end_date:
params["endTime"] = end_date
try:
response = requests.get(endpoint, params=params)
data = response.json()
if data.get("code") == 200:
return data.get("data", [])
return []
except Exception as e:
print(f"获取K线数据失败: {str(e)}")
return []
时间间隔参数说明:
-
1m:1分钟 -
5m:5分钟 -
15m:15分钟 -
1h:1小时 -
1d:1天 -
1wk:1周 -
1mo:1月
建议开发者定期查阅StockTV官方文档获取最新的API更新和功能扩展,同时充分利用其提供的技术支持服务,确保应用的稳定性和数据的准确性。
1062

被折叠的 条评论
为什么被折叠?



