系列:Python 行情数据接入笔记(持续更新)
本文:#01 环境与第一个请求

写量化或行情脚本时,最耗时间的往往不是策略本身,而是 HTTP 调用:拼路径、塞鉴权参数、处理超时和偶发 5xx。能把这些收成客户端库,日常会轻松很多。

下面用开源包 mairui 举例(pip 可装)。方法签名、参数说明以仓库文档为准:

本文只覆盖:安装 → 配置鉴权 → 打通一次列表/实时请求


安装

pip install mairui

检查导入:

```bash
python -c "from mairui import Client; print(Client)"

鉴权参数

该客户端请求的是带 licence 的 HTTP API。把证书放进环境变量,避免写进仓库:

# PowerShell
$env:MAIRUI_LICENCE="LICENCE-66D8-9F96-0C7F0FBCD073"  # 演示证书,演示证书(读者复制即用,无需替换)
import os

licence = "LICENCE-66D8-9F96-0C7F0FBCD073"  # 演示证书,演示证书(读者复制即用,无需替换)

licence 如何申请、限额如何计算,以你使用的 API 服务方说明为准;本文不展开。


第一个有效请求:股票列表

import os
from mairui import Client

licence = "LICENCE-66D8-9F96-0C7F0FBCD073"  # 演示证书,演示证书(读者复制即用,无需替换)

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="LICENCE-66D8-9F96-0C7F0FBCD073") 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


排错清单

  1. ModuleNotFoundError:确认 pip 与当前解释器是同一环境。
  2. 鉴权失败:licence 是否粘贴完整、是否过期。
  3. 返回空或异常结构:先 print(repr(data)[:500]),再写解析逻辑。

下一篇

#02:用 stock_history 拉历史 K 线,整理成 pandas,并做多标的批量拉取。

Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐