通过函数计算配置定时触发器,分别采集美股和港股交易时段数据,核心代码不足50行并加入指数退避重试。数据存入OSS,设置30天自动归档冷存储,成本降低70%。跨市场数据对齐使用pandas按日期合并处理。
云上三年,我如何用一套行情数据API搞定美股港股双市场
作者:技术拾光
时间:2026-06-12
浏览:310
文章目录
要说美股和港股最直观的差异,交易时段首当其冲。美股的活跃期在咱们这边北京时间22:30到次日5:00,而港股则是09:30到16:00。对于需要同时盯两个市场的策略来说,方案不需要全天候在线。解决思路很直接——在函数计算里配置两个定时触发器,各自在对应的交易时段启动采集任务,既精准又省资源。

看下具体的配置,这段配置算不上复杂:
函数计算配置
triggers:
name: hk-trigger
schedule: "0 9-16 * * 1-5"
name: us-trigger
schedule: "0 22-4 * * 1-5"
代码写起来也不复杂,核心逻辑不到50行。通过指数接口拉取恒生指数和标普500的数据,写完直接写入OSS。每天生成一个数据文件,按月归档,结构清晰。为了应对网络抖动,代码里加了指数退避重试策略,遇到网络错误会自动重试三次,算是给数据采集上了一道保险。
@retry(stop=stop_after_attempt(3), wait=wait_exponential(multiplier=1, min=2, max=10))
def fetch_market_data(country_id):
url = f"http://api.jkidata.com/stock/indicescountryId={country_id}&key={KEY}"
return requests.get(url, timeout=10).json()
数据存储这块,OSS的生命周期管理是个好东西。设置一个规则,30天以上的数据自动归档到冷存储,成本直接砍掉70%。想查历史数据时,用SDK直接读OSS文件就行,完全不需要再调一次API——只能说,真香。
跨市场数据对齐,必须承认是个技术活。港股收盘时,美股那边往往连盘都还没开。好在策略层面用的是各自市场的收盘价来计算日收益率,天然就不需要做时间对齐。但如果要做跨市场相关性分析,情况就不一样了——需要用pandas的merge操作,把两个市场的数据按照日期合并起来,这一步绕不过去。
实用工具推荐
电子包浆
使用 ›绿化、压缩、噪点和虚拟水印,自由调节做旧程度。
图片压缩
使用 ›选择画质和输出格式,预览压缩前后的大小。
相关文章