打新党必学:用Python+akshare 5步查清宇树科技这类新股的申购数据

· 小白基础技术分享

为什么写这个教程?

宇树科技今天(8月10日)正式申购,发行价 150.8 元、中一签要 7.54 万、中签率预计只有 0.02%—0.03%——这些数字你是不是到处翻新闻才凑齐?其实用 Python 加一个免费开源库,5 步就能自己查清任何一只新股的申购数据,不用等媒体整理。

打新党必学:用Python+akshare 5步查清宇树科技这类新股的申购数据封面

更重要的是,学会了这套方法,你就掌握了一个可复用的能力:以后每周都有新股,与其刷财经号,不如自己跑一遍脚本,数据更全、更快、还能按自己的标准筛选

这个教程用到的 akshare 是国产免费财经数据接口,无需注册、无需 token,非常适合入门。

前置条件

– Python 3.9+ 已安装

– 终端执行 `pip install akshare pandas`(约 1-2 分钟)

第 1 步:安装并导入

import akshare as ak
import pandas as pd

pd.set_option("display.max_columns", None)  # 显示全部列
pd.set_option("display.width", 200)

第 2 步:拉取近期新股申购列表

# 获取近期新股申购数据(含发行价、申购日期、中签率)
df = ak.stock_ipo_info()
print(df.head(10))

运行后你会看到类似 `发行价`、`申购日期`、`中签率`、`股票代码` 的表格,宇树科技(688836)就在最近一行的附近。

第 3 步:按日期筛选今天申购的股票

# 筛选今天(2026-08-10)申购的新股
today = "2026-08-10"
today_ipo = df[df["申购日期"].astype(str).str.contains(today)]
print(today_ipo)

如果接口字段名不同,先用 `print(df.columns.tolist())` 查看实际列名再调整。

第 4 步:计算中一签要多少钱

科创板每签 500 股,把发行价乘 500 就是中签缴款额:

def calc_subscription_cost(price_per_share, shares_per_lot=500):
    """计算中一签需要准备多少钱"""
    return price_per_share * shares_per_lot

# 宇树科技示例
unitree_price = 150.80
cost = calc_subscription_cost(unitree_price)
print(f"宇树科技中一签需缴款:{cost:,.0f} 元")  # 75,400 元

这里有个实用细节:缴款日通常比申购日晚 1-2 天(宇树是 8 月 12 日),所以算完单签成本后,记得检查账户在缴款日当天是否预留了足额资金——很多人中签了却因资金不足被视同放弃,非常可惜。

第 5 步:生成多只新股对比表

# 假设我们从接口拿到了近 5 只新股的发行价
stocks = [
    {"name": "宇树科技", "code": "688836", "price": 150.80},
    {"name": "双英集团", "code": "920059", "price": 11.13},
    {"name": "绿控传动", "code": "301655", "price": 8.50},
]

for s in stocks:
    s["单签成本"] = calc_subscription_cost(s["price"])
    print(f"{s['name']}({s['code']}) 发行价 {s['price']} 元,中一签需 {s['单签成本']:,.0f} 元")

运行结果(数据来自公开报道):

宇树科技(688836) 发行价 150.80 元,中一签需 75,400 元
双英集团(920059) 发行价 11.13 元,中一签需 5,565 元
绿控传动(301655) 发行价 8.50 元,中一签需 4,250 元

成功验证与常见失败

– ✅ 验证方法:`df` 能打印出表、`today_ipo` 非空、单签成本计算与新闻一致(7.54 万)

– ❌ 失败 1:`ak.stock_ipo_info()` 报错/字段为空 → 接口偶尔更新,换用 `ak.stock_ipo_summary()` 或 `ak.stock_zh_a_new()` 兜底

– ❌ 失败 2:接口超时 → 加 `time.sleep(1)` 控制请求频率,或换个时间段再跑

– ❌ 失败 3:列名对不上 → 先 `print(df.columns.tolist())` 看真实列名,再改筛选代码

进阶提示

– 想看中签率就用 `ak.stock_ipo_daily()` 拉历史数据回测

– 想监控缴款截止日(宇树是 8 月 12 日),把日期字段加个”今天是否到期”的判断

– 想自动提醒,可以结合 `schedule` 库每天早上跑一次,打印”今天有 N 只新股可申购”

– 想连打新都自动化:把”市值配售要求”(科创板顶格约 6 万元沪市市值)也写进脚本,按你的持仓自动算能不能顶格

风险提示:本教程仅用于数据查询与学习,不构成任何投资建议。打新中签率极低、上市波动极大,请理性决策。

学会这 5 步,下次任何新股上市,你都能在 10 分钟内自己把数据查清楚——不再被标题党牵着走。数据是决策的地基,工具只是放大器,把地基打牢,你才看得清别人在喊什么。

🔥 关注LC智趣厅,Python 实操教程每周更新

👇 收藏本文,打新前翻出来用


— END —
LC 智趣厅 · 科技与生活的交点
ihygg.cn

Scroll to Top
微信公众号:LC智趣厅

扫码关注微信公众号
LC智趣厅