【Python量化实战 #03】Python实时股票行情接口实践:单票查询批量请求与轮询监控
系列Python 行情数据接入笔记持续更新本文#03 实时行情与轮询草稿盘中脚本关心的是「现在这几只票怎么样」。本篇用mairui演示单票实时、多码请求以及一个带间隔的轮询骨架。接口字段以仓库文档为准https://github.com/MaiRuiApi/mairuipipinstallmairui鉴权仍用环境变量MAIRUI_LICENCE见 #01。单标的实时类接口多数使用6 位代码importosfrommairuiimportClientwithClient(licenceos.environ[MAIRUI_LICENCE])asapi:tickapi.stock_real_time(000001)print(tick)fiveapi.stock_real_five(000001)print(five)quoteapi.stock_ssjy(000001)print(quote)stock_real_time与stock_ssjy字段可能不同。写解析前先看实际 JSON 结构。多代码importosfrommairuiimportClient codes[000001,600519,300750]withClient(licenceos.environ[MAIRUI_LICENCE])asapi:# 多码合并若当前版本/接口支持dataapi.stock_ssjy_more(codes)print(data)# 或并发单票ticksapi.map(api.stock_real_time,codes,max_workers8)forcode,rowinzip(codes,ticks):print(code,row)名称里带全市场语义的接口流量更大是否使用取决于业务与账号限额。轮询草稿注意频率importosimporttimefrommairuiimportClient WATCH[000001,600519]defpick_price(row):按实际返回字段调整这里只做几种常见 key 的兜底。ifisinstance(row,dict):forkeyin(p,price,zxj,last):ifkeyinrow:returnrow[key]returnrowwithClient(licenceos.environ[MAIRUI_LICENCE])asapi:whileTrue:tstime.strftime(%H:%M:%S)forcodeinWATCH:try:qapi.stock_real_time(code)print(ts,code,pick_price(q))exceptExceptionasexc:print(ts,code,error,exc)time.sleep(3)生产环境还应考虑退避、熔断、日志、进程守护。间隔过短容易触发限流。实时 vs 历史场景更合适的接口类型盯盘、条件触发实时回测、复盘历史 K 线见 #02字段不熟先打印一条再写解析客户端超时、重试、map行为见https://github.com/MaiRuiApi/mairui下一篇#04直接取 MACD / KDJ / 均线等技术指标数据减少本地重复计算。