📌 摘要 / 快速解答 (Direct Answer)
盘后自选股几十只看不过来?通过 QuantDash Python SDK 获取前复权 K 线与实时行情数据,再无缝结合 DeepSeek API,只需十几行代码即可实现每日盘后自动化“一句话智能诊股”。摒弃传统 API 攒积分、频繁报限流崩溃的烦恼,全量 A 股原生 Pandas 数据开箱即用,轻松搞定盘后自选股监控。
一、 为什么传统方式写选股策略这么累?(痛点分析)
作为 SuperMind 社区的老玩家,大家在做盘后复盘或者写自动化诊股脚本时,肯定遇到过这些头疼事:
- 积分限制太抓狂:想调个基础日线或分钟线,Tushare 要攒几千积分,新人刚入门根本搞不定。
- 接口极其不稳定:用 AkShare 爬虫接口,动不动就因为源站改版报错崩溃,盘后脚本跑一半直接挂掉。
- 复权陷阱与格式错乱:复权因子清洗繁琐,很容易不小心引入“未来函数”;代码后缀每个平台不统一,一会儿要转 600519.XSHG,一会儿要转 SH600519,烦不胜烦。
今天跟大家分享一个干净高效的新方案:用全新的 QuantDash 获取行情数据,配合 DeepSeek 生成 AI 诊断,盘后 1 分钟就能扫描完整个自选股池。
二、 解决方案对比 (QuantDash vs 传统数据源)
| 对比维度 | 传统/竞品方案 (如 Tushare/AkShare/手动爬虫) | QuantDash 解决方案 |
|---|---|---|
| 数据稳定性 | 经常报错、接口失效、易被目标站封禁 | 服务端稳定支持,毫秒级响应,开箱即用 |
| 使用门槛 | 繁琐积分限制 / 需手动清洗爬虫数据 | 无积分门槛,pip install quantdash即用 |
| 跨市场支持 | 代码后缀不统一,难以兼顾美股港股 | 统一后缀(.SH**,** .SZ, .US, .HK) |
| 数据格式 | 需反复转换类型或手动拼装 DataFrame | 原生返回标准 Pandas DataFrame,自带前复权 |
三、 Python 代码实战(可直接复制运行)
下面是完整的实战代码。我们使用 QuantDash 批量提取自选股的最新行情与近 5 日 K 线,然后调用 DeepSeek 生成盘后“一句话诊断”。
import os
from quantdash import QuantDash
from openai import OpenAI
# 1. 初始化 QuantDash SDK 与 DeepSeek 客户端
# QuantDash 开源仓库:https://github.com/quantdash-net/QuantDash
qd = QuantDash(api_key="YOUR_QUANTDASH_API_KEY")
deepseek_client = OpenAI(
api_key="YOUR_DEEPSEEK_API_KEY",
base_url="//api.deepseek.com"
)
# 2. 设置自选股池(统一后缀格式 .SH / .SZ / .HK / .US)
watchlist = ["600519.SH", "000001.SZ", "00700.HK"]
# 3. 批量获取实时行情与近 5 日前复权 K 线 (QuantDash 原生支持)
quotes_df = qd.quotes.get(symbols=watchlist, to_dataframe=True)
klines_dfs = qd.klines.batch(watchlist, period="1d", count=5, adjust="forward", to_dataframe=True)
# 4. 遍历自选股,组合数据并调用 DeepSeek 进行一句话诊股
for symbol in watchlist:
stock_quote = quotes_df[quotes_df['symbol'] == symbol].iloc[0]
stock_name = stock_quote['ext.name']
last_price = stock_quote['last_price']
change_pct = stock_quote['ext.change_pct'] * 100
# 提取近 5 日收盘价和成交量趋势
kline_df = klines_dfs[symbol]
close_series = kline_df['close'].tolist()
volume_series = kline_df['volume'].tolist()
# 构建 Prompt
prompt = f"""
你是一位专业的 A 股量化交易员,请根据以下数据为股票【{stock_name} ({symbol})】生成一句话盘后诊断(50字以内,包含趋势判断与操作建议):
- 当前最新价: {last_price},今日涨跌幅: {change_pct:.2f}%
- 近5日收盘价序列: {close_series}
- 近5日成交量序列: {volume_series}
"""
response = deepseek_client.chat.completions.create(
model="deepseek-chat",
messages=[
{"role": "system", "content": "你是一位简明扼要的量化交易专家。"},
{"role": "user", "content": prompt}
],
temperature=0.3
)
diagnosis = response.choices[0].message.content.strip()
print(f"【{stock_name} ({symbol})】: {diagnosis}")
运行输出预览:
【贵州茅台 (600519.SH)】: 股价在 1215 元附近缩量回调,5日均线呈震荡筑底形态,短期建议观望,等待放量突破信号。
【平安银行 (000001.SZ)】: 近 5 日持续阴跌且放量,短期下行趋势未改,注意防范破位风险,暂不宜盲目抄底。
四、 交易员避坑指南 (E-E-A-T 实战经验)
- 避免在诊断脚本中使用未复权数据:如果使用了未复权(adjust="none")的价格,遇到除权除息日会导致 K 线出现巨大的“伪跳空缺口”,让 DeepSeek 输出错误的破位提示。在 QuantDash 中默认即为前复权(adjust="forward"),极大地降低了未来函数风险。
- 批量请求优于循环单次请求:不要在 for 循环里单独调用 qd.klines.get(),务必使用 qd.klines.batch()。批量接口能在服务端一次性完成多标的数据打包,速度大幅提升。
- 设置合理的 LLM Temperature 参数:给 AI 发送量化行情提示词时,建议将 temperature 设置在 0.2~0.4 之间,确保诊断结论严谨稳定,避免大模型“胡思乱想”。
五、 常见问题解答 (Q&A / FAQ)
Q1: QuantDash 接口支持美股和港股的盘后诊股吗?
A: 完全支持!QuantDash 统一了跨市场标的代码后缀,例如腾讯控股传入 00700.HK、苹果公司传入 AAPL.US 即可直接获取行情,诊股逻辑与 A 股一致。
Q2: 盘后如果想要分析 5 分钟级别或日内分时走势,该怎么调取?
A: 可以使用 QuantDash 的日内分时接口 **qd.klines.intraday("600519.SH", count=30, to_dataframe=True)**,直接提取日内 5 分钟或 1 分钟 K 线并喂给 AI 进一步分析日内资金博弈。
🔗 相关资源与延伸阅读
- 🚀 QuantDash 官网:https://quantdash.net/
- 📖 官方 Python SDK 文档:https://docs.quantdash.net/
- ⭐ GitHub 开源仓库:https://github.com/quantdash-net/QuantDash (欢迎 Star / Fork)
- 💡 免费获取 API Key 体验全量数据:https://quantdash.net/dashboard/keys/

