日本日经225指数是全球最重要的股指之一,东京证券交易所的流动性极高。接入日本行情数据API后,我在阿里云上用弹性架构实现了成本最优的稳定拉取。
正文
日本市场的交易时段是北京时间8:00-10:30和11:30-14:00,中间有午休。日经225的225只成分股推送频率中等,但开盘和收盘时段流量集中。
弹性架构的核心是SAE(Serverless应用引擎)+定时触发器+弹性伸缩。交易时段按需扩容,非交易时段缩容到零。
python
def handler(event, context):
url = f"http://api.jkidata.com/stock/indices?countryId=日本ID&key={KEY}"
resp = requests.get(url, timeout=10)
data = resp.json()
save_to_rds(data['data'][0])
return {"status": "ok"}
【数据API】jkidata.com | 文档中心 docs.jkidata.com
日经225成分股数量较多,用分页拉取方式,每批100只,分3批拉完。
python
def get_nikkei225():
all_stocks = []
for page in range(1, 4):
url = f"http://api.jkidata.com/stock/stocks?countryId=日本ID&page={page}&pageSize=100&key={KEY}"
data = requests.get(url).json()
all_stocks.extend(data['data']['records'])
return all_stocks
日本市场的午休时段是北京时间10:30-11:30,期间推送停止。函数代码里检查isOpen字段,午休时段跳过执行,节省计算资源。
python
status = requests.get(f"{BASE_URL}/stock/indices?countryId=日本ID&key={KEY}").json()
if not status['data'][0].get('isOpen', False):
return {"status": "market closed"}
日经225指数期货在芝加哥交易,有时会提前反映美股走势。我用日本行情数据API同时获取现货和期货数据做对比。
docs.jkidata.com上有阿里云SAE的部署模板,包含日本市场的完整配置。
【数据API】jkidata.com | 文档中心 docs.jkidata.com