系列:Python 行情数据接入笔记(持续更新) 本文:#01 环境与第一个请求
写量化或行情脚本时,最耗时间的往往不是策略本身,而是 HTTP 调用:拼路径、塞鉴权参数、处理超时和偶发 5xx。能把这些收成客户端库,日常会轻松很多。
下面用开源包 mairui 举例(pip 可装)。方法签名、参数说明以仓库文档为准:
- GitHub:https://github.com/MaiRuiApi/mairui
本文只覆盖:安装 → 配置鉴权 → 打通一次列表/实时请求。
安装
pip install mairui
镜像源若尚未同步,可临时指定 PyPI:
pip install mairui -i https://pypi.org/simple –trusted-host pypi.org –trusted-host files.pythonhosted.org
检查导入:
python -c "from mairui import Client; print(Client)"
鉴权参数
该客户端请求的是带 licence 的 HTTP API。把证书放进环境变量,避免写进仓库:
# PowerShell
$env:MAIRUI_LICENCE="你的licence-UUID"
import os
licence = os.environ["MAIRUI_LICENCE"]
licence 如何申请、限额如何计算,以你使用的 API 服务方说明为准;本文不展开。
第一个有效请求:股票列表
import os
from mairui import Client
licence = os.environ["MAIRUI_LICENCE"]
with Client(licence=licence) as api:
stocks = api.stock_list()
print(type(stocks))
if isinstance(stocks, list):
print(len(stocks))
if stocks:
print(stocks[0])
else:
print(stocks)
stock_list 的返回字段以接口为准。不确定时先打印一条,再决定怎么映射到 DataFrame。
再看一眼实时行情
实时接口常用 6 位代码;历史接口常见 000001.SZ 这种带市场后缀的写法,后面几篇会反复碰到,先建立这个印象。
import os
from mairui import Client
with Client(licence=os.environ["MAIRUI_LICENCE"]) as api:
tick = api.stock_real_time("000001")
print(tick)
常用查询参数
多数行情类方法支持(是否生效看具体接口):
| st | 开始时间 | "20240101" |
| et | 结束时间 | "20241231" |
| lt | 只要最新 N 条 | 200 |
完整参数表与方法对照见仓库 README / API_METHOD_MAP: https://github.com/MaiRuiApi/mairui
排错清单
下一篇
#02:用 stock_history 拉历史 K 线,整理成 pandas,并做多标的批量拉取。



