
Vibe-Trading 中 Tushare IPO 新股上市数据接口实战指南基于 new_share 的 A 股打新研究【免费下载链接】Vibe-TradingVibe-Trading: Your Personal Trading Agent项目地址: https://gitcode.com/GitHub_Trending/vi/Vibe-Trading本篇技术指南以 Vibe-Trading 仓库内置的 Tushare 数据技能文档IPO新股上市.md为核心完整讲解new_share接口的权限门槛、输入输出参数、调用示例与返回数据解读并结合仓库源码说明如何在 Vibe-Trading 的数据链路中配置 token 并获取 A 股新股发行数据。读完本文你将掌握用 Tushare 拉取新股上市列表、分析发行规模与定价的全套可运行方案。接口概览new_share 是什么new_share是 Tushare 提供的新股上市列表接口描述为获取新股上市列表数据位于股票数据 → 基础数据分类下接口 ID 为 123见 Tushare 技能总览 中的数据接口列表。该接口返回每只新股的申购代码、上网发行日期、上市日期、发行总量、发行价格、市盈率、个人申购上限、募集资金与中签率等核心打新要素是构建 A 股打新日历、新股收益归因和次新股研究的基础数据来源。限量与积分门槛重要前提使用该接口前必须确认账户权限满足以下两条硬性约束限量单次调用最大返回 2000 条总量不限制。即通过按日期区间分多次请求可以拉取全量历史新股发行数据。积分用户需要至少 120 积分才可以调取该接口。积分获取办法需在 Tushare 官方积分说明文档中查看Tushare 平台按用户贡献与充值发放积分不同积分等级对应不同接口权限本仓库不负责积分发放。从源码实现看Tushare 在 Vibe-Trading 中是 A 股数据的默认路由来源之一market_data.py 中的detect_source()在无法匹配其他数据源模式时返回tushare且项目中 A 股数据源默认优先使用 Tushare见 env_schema.py 的MARKET_DATA_ORDER_A_SHARE注释。因此积分与 token 是否就绪直接影响 A 股数据的可用性。环境准备token 配置与预检在调用new_share前需要完成 Tushare 依赖与 token 的配置。仓库内 Tushare 技能文档SKILL.md给出了标准流程# 安装 tushare推荐使用清华 PyPI 镜像 pip install tushare -i https://pypi.tuna.tsinghua.edu.cn/simple # 配置 token 环境变量在 Tushare 官网注册后获取 export TUSHARE_TOKENyour_tokenVibe-Trading 对 token 的管理方式如下配置字段env_schema.py 中定义了tushare_token: str Field(aliasTUSHARE_TOKEN, default)即通过环境变量TUSHARE_TOKEN注入允许为空。预检机制preflight.py 的_check_tushare()会检查 token 是否配置未配置或为占位符your-tushare-token时返回not_configured影响提示为 A-share data unavailable已配置但未安装包时返回skipped配置完好则返回ready。脚本示例股票数据获取示例 展示了两种取 token 的方式——优先从项目配置get_env_config().data.tushare_token读取否则回退到ts.get_token()随后初始化pro ts.pro_api(token)。初始化完成后即可通过pro对象调用new_share接口。输入参数详解new_share仅有两个可选输入参数均为日期区间限定格式为YYYYMMDD名称类型必选描述start_datestrN上网发行开始日期end_datestrN上网发行结束日期要点说明两个参数都可省略不传时返回全量新股列表受单次 2000 条上限约束。日期严格遵循 Tushare 统一格式YYYYMMDD如20180901与仓库内 Tushare 技能文档的参数格式说明一致日期一律使用该八位数字格式股票代码使用ts_code格式如000001.SZ、600000.SH返回格式为 pandas DataFrame。建议按区间分批请求以规避 2000 条上限并降低服务端压力例如逐月或逐季度拉取后拼接。输出参数详解接口共返回 12 个字段覆盖申购、发行、上市三个阶段的关键信息名称类型默认显示描述ts_codestrYTS股票代码sub_codestrY申购代码namestrY名称ipo_datestrY上网发行日期issue_datestrY上市日期amountfloatY发行总量万股market_amountfloatY上网发行总量万股pricefloatY发行价格pefloatY市盈率limit_amountfloatY个人申购上限万股fundsfloatY募集资金亿元ballotfloatY中签率字段含义与使用提示ts_code / sub_codets_code是 Tushare 统一股票代码带交易所后缀如002939.SZ、601162.SH可用于与行情接口如daily、daily_basic做关联sub_code是申购代码部分新股申购代码与上市代码一致如002939.SZ沪市新股常带 78/73 前缀如780162、732583。ipo_date / issue_dateipo_date为上网发行日申购日issue_date为上市日期。数据示例中部分记录issue_date为None表示截至数据快照时尚未上市做新股日历排期时需注意该空值。amount / market_amount单位均为万股。amount为发行总量market_amount为上网发行面向公众投资者的数量二者差值体现网下配售比例。price / pe发行价格与发行市盈率。A 股主板新股发行市盈率长期接近 23 倍窗口见下文数据示例银行股等大盘金融股发行 PE 通常显著偏低。limit_amount单账户个人申购上限万股用于计算顶格申购市值门槛。funds募集资金亿元。部分记录为 0.000 时表示尚未公布或数据缺失。ballot中签率是衡量新股申购热度与中签概率的关键指标可用于次新股打新收益回测。接口示例与完整可运行代码官方接口示例原样保留pro ts.pro_api() df pro.new_share(start_date20180901, end_date20181018)结合仓库的 token 管理与异常处理习惯参照 stock_data_example.py给出可直接运行的完整版本import os import datetime import tushare as ts import pandas as pd # 方式一从 Vibe-Trading 配置读取 token try: from src.config.accessor import get_env_config token get_env_config().data.tushare_token or os.getenv(TUSHARE_TOKEN) or ts.get_token() except ImportError: # 方式二直接使用环境变量或本地缓存 token token os.getenv(TUSHARE_TOKEN) or ts.get_token() pro ts.pro_api(token) # 按区间获取新股上市列表 df pro.new_share(start_date20180901, end_date20181018) print(df.head()) print(df.shape) # 行数应不超过 2000 print(df.dtypes) # 检查各字段类型 # 字段裁剪只保留核心打新要素 cols [ts_code, sub_code, name, ipo_date, issue_date, amount, market_amount, price, pe, limit_amount, funds, ballot] print(df[cols].to_string())如需拉取全量历史数据可用日期循环分批请求再拼接frames [] start datetime.date(2010, 1, 1) end datetime.date.today() step datetime.timedelta(days90) cur start while cur end: nxt min(cur step, end) part pro.new_share(start_datecur.strftime(%Y%m%d), end_datenxt.strftime(%Y%m%d)) if part is not None and not part.empty: frames.append(part) cur nxt full pd.concat(frames, ignore_indexTrue).drop_duplicates(ts_code) print(full.shape)数据示例解读官方数据示例2018 年 910 月期间新股展示了一批典型记录以下为部分摘录与分析ts_codesub_codenameipo_dateissue_dateamount(万股)pricepefunds(亿元)ballot002939.SZ002939长城证券20181017None31034.06.3122.9819.5820.16002940.SZ002940昂利康20181011201810232250.023.0722.995.1910.03601162.SH780162天风证券201810092018101951800.01.7922.860.0000.25002936.SZ002936郑州银行201809072018091960000.04.596.5027.5400.25300760.SZ300760迈瑞医疗201809272018101612160.048.8022.9959.3410.08从数据中可以读到以下规律发行市盈率非金融新股发行 PE 普遍贴近 22.8622.99 倍当时主板的发行市盈率约束窗口而银行股郑州银行 6.50 倍、长沙银行 6.97 倍受行业估值中枢影响显著低于窗口。发行规模与中签率发行总量越大如天风证券 51800 万股、郑州银行 60000 万股中签率越高均为 0.25发行量小的个股如昂利康 2250 万股中签率低至 0.03。募集资金迈瑞医疗单笔募集 59.341 亿元为样本中的募资大户天风证券 funds 为 0.000 属于缺失值分析时需做空值处理。上市日期缺失长城证券issue_date为 None说明截至数据快照时尚未上市需后续补拉或结合stock_basic的list_date交叉验证。在 Vibe-Trading 中的定位与扩展阅读技能体系本文档隶属于tushare数据源技能agent/src/skills/tushare/SKILL.md该技能以标准化 API 方式统一对外服务数据资产new_share与stock_basic股票列表、trade_cal交易日历、daily历史日线等同属股票数据/基础数据与行情数据分类可组合构建新股上市后行情追踪流程。数据路由Vibe-Trading 的 market_data.py 默认将未匹配符号路由到tushare且 A 股数据源排序默认以 tushare 优先见 env_schema.py因此 token 就绪后new_share可作为新股基础数据的稳定来源。预检保障运行前可通过 preflight.py 的 Tushare 检查确认 token 与依赖包状态避免运行时才发现 A 股数据不可用。注意事项小结积分门槛至少 120 积分才可调用未达标账户会报权限错误应先确认积分等级。单次限量单次最多 2000 条全量数据需按日期区间分批拉取建议以 90 天左右为步长循环请求。日期格式输入日期必须为YYYYMMDD八位数字字符串。空值与缺失issue_date、funds等字段可能出现None或 0.000分析前需处理。数据更新该接口属于基础数据类接口新股发行数据按交易所披露节奏入库做实时打新日历时应结合当日更新频率确认数据新鲜度。单位口径发行量与申购上限单位为万股、募集资金单位为亿元、中签率为百分比数值如 0.16 表示 0.16%统计汇总前务必统一量纲。【免费下载链接】Vibe-TradingVibe-Trading: Your Personal Trading Agent项目地址: https://gitcode.com/GitHub_Trending/vi/Vibe-Trading创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考