欢迎光临
我们一直在努力

【Python量化实战 #01】Python获取A股行情数据:pip安装mairui并完成第一次API调用

系列: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


排错清单

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

  • 下一篇

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

    赞(0)
    未经允许不得转载:171主机测评 » 【Python量化实战 #01】Python获取A股行情数据:pip安装mairui并完成第一次API调用
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址