1. 为什么先做数据获取而不是先写策略很多人一上手就想让 Claude Code 直接吐出一个「明天买什么」的结论结果卡在第一步模型不知道今天的龙虎榜长什么样。股票交易 Skill v1.0 的定位很明确——它不是一个预测黑箱而是一条可复现的数据流水线。你给它一个交易日它把当天龙虎榜的原始明细落到本地 CSV再顺手打印一份摘要。后面无论是算席位胜率还是生成信号都从这份 CSV 出发。这个思路对两类人特别有用。一类是刚接触 Claude Code Skill 机制、想找个真实项目练手的开发者另一类是有交易经验但不想每天手动复制粘贴龙虎榜表格的散户。AKShare 在这里扮演数据搬运工的角色它把公开的财经数据封装成 Python 函数你不需要维护爬虫也不用处理反爬。Claude Code 则负责把「需求描述」翻译成「可执行的 Skill 文件 脚本」并在你运行报错时帮你定位。我试过把需求直接丢给模型让它一次性生成完整交易系统结果它会在数据字段名上反复猜错。所以第六章刻意把范围收窄v1.0 只做需求拆解和数据获取分析逻辑留到下一版。这样每一步都能验证出错也知道是哪一层的问题。2. TaoToken 前置给 Claude Code 接上稳定的模型通道Claude Code 本身是一个命令行里的编码代理它需要调用大模型来完成「读需求、写 Skill、改脚本」这些动作。如果你直接用它默认的通道可能会遇到响应慢或者额度不稳定的情况。我的做法是先把模型接入层换成 TaoToken再让 Claude Code 指向这个入口。TaoToken 是一个模型 API 聚合服务官网在 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API 地址是 https://taotoken.net/api 。它兼容常见的 OpenAI 风格调用方式所以 Claude Code 这类工具配置起来不复杂。你需要在控制台创建一个 API Key然后把它写进 Claude Code 的环境变量或配置文件。具体操作路径先打开 https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi_keysutm_campaignrewrite 生成 Key再参考 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite 里的接入说明完成配置。如果你更习惯用 Anthropic 官方的 Claude Code 客户端也可以看 https://taotoken.net/claude-code-anthropic?utm_sourcetaotoken_aicg_blog_endutm_contentclaudecodeutm_campaignrewrite 这份对接指引。配置完成后你可以先在模型对话页面 https://taotoken.net/chat?utm_sourcetaotoken_aicg_blog_endutm_contentmodel_chatutm_campaignrewrite 发一句「你好」确认通道通畅再回到终端里跑 Claude Code。这一步别跳过否则后面脚本报错时你分不清是模型没连上还是代码写错了。3. 可复制配置Skill 目录骨架与 AKShare 依赖3.1 项目目录结构先把骨架搭出来。打开终端执行下面这组命令。Windows 用户把source venv/bin/activate换成venv\Scripts\activate即可。mkdir stock-trade-skill cd stock-trade-skill python -m venv venv source venv/bin/activate pip install akshare pandas numpy mkdir -p .claude/skills src data目录建好后长这样stock-trade-skill/ ├── .claude/ │ └── skills/ │ └── stock-data.md ├── src/ │ └── fetch_lhb.py ├── data/ └── venv/.claude/skills/是 Claude Code 识别 Skill 的默认位置src/放 Python 脚本data/存每天拉下来的 CSV。这个分层的好处是 Skill 描述和实现代码解耦你改脚本不会影响 Skill 的触发逻辑。3.2 编写 stock-data Skill 描述文件在.claude/skills/stock-data.md里写入以下内容。这份文件的作用是告诉 Claude Code当用户提到龙虎榜相关意图时应该调用哪个脚本、传什么参数、输出什么格式。# 股票数据获取 Skill ## 描述 获取 A 股龙虎榜数据为后续分析提供原始数据。 ## 适用场景 - 用户说 获取龙虎榜 - 用户说 今天哪些股票上榜 - 用户说 主力买了什么 ## 依赖 - Python 3.8 - akshare - pandas ## 执行步骤 1. 询问用户要查询的日期默认最近交易日 2. 运行 python src/fetch_lhb.py --date YYYYMMDD 3. 脚本自动保存到 data/lhb_YYYYMMDD.csv 4. 输出数据摘要上榜股票数量、总买入金额、总卖出金额 ## 输出格式 龙虎榜数据获取完成 日期YYYYMMDD 上榜股票N 只 数据已保存至data/lhb_YYYYMMDD.csv ## 注意事项 - 交易日 16:00 后数据才完整 - 非交易日返回最近交易日数据 - AKShare 接口可能变动需捕获异常这里有个细节Skill 描述里写的是「运行 python src/fetch_lhb.py --date YYYYMMDD」所以脚本必须支持--date参数。如果你只写死默认日期Claude Code 在用户指定日期时就无法传参。参数化是让 Skill 真正可用的关键。3.3 龙虎榜取数脚本在src/fetch_lhb.py里写入完整实现。这段代码做了四件事解析日期参数、回退到最近交易日、调用 AKShare 拉取龙虎榜明细、保存 CSV 并打印摘要。龙虎榜数据获取模块 import argparse import os from datetime import datetime, timedelta import akshare as ak import pandas as pd def get_recent_trade_date(date_str: str None) - str: 获取最近交易日简单跳过周末 if date_str: return date_str today datetime.now() weekday today.weekday() if weekday 5: today today - timedelta(daysweekday - 4) return today.strftime(%Y%m%d) def fetch_lhb_data(date_str: str) - pd.DataFrame: 获取指定日期的龙虎榜数据 try: df ak.stock_lhb_detail_daily_sina( start_datedate_str, end_datedate_str ) if df is None or df.empty: print(f警告{date_str} 无龙虎榜数据) return pd.DataFrame() df.columns [str(col).strip() for col in df.columns] return df except Exception as exc: print(f获取数据失败: {exc}) return pd.DataFrame() def save_lhb_data(df: pd.DataFrame, date_str: str) - str: 保存龙虎榜数据到 CSV os.makedirs(data, exist_okTrue) filepath fdata/lhb_{date_str}.csv df.to_csv(filepath, indexFalse, encodingutf-8-sig) print(f数据已保存: {filepath}) return filepath def print_summary(df: pd.DataFrame, date_str: str) - None: 打印数据摘要 if df.empty: print(无数据) return stock_count df[代码].nunique() if 代码 in df.columns else len(df) print( * 50) print(龙虎榜数据获取完成) print(f日期: {date_str}) print(f上榜股票: {stock_count} 只) print( * 50) print(前 10 条数据:) print(df.head(10).to_string(indexFalse)) def main(): parser argparse.ArgumentParser(description获取 A 股龙虎榜数据) parser.add_argument(--date, defaultNone, help日期格式 YYYYMMDD) args parser.parse_args() date_str get_recent_trade_date(args.date) print(f正在获取 {date_str} 的龙虎榜数据...) df fetch_lhb_data(date_str) if not df.empty: save_lhb_data(df, date_str) print_summary(df, date_str) else: print(未获取到数据) if __name__ __main__: main()注意encodingutf-8-sig这个参数。A 股数据里股票名称是中文用普通 utf-8 保存后Excel 打开会乱码。加-sig让 Excel 能正确识别 BOM 头这是踩过的坑里最常见的一个。4. 验证请求跑通数据获取链路4.1 命令行直接运行先不经过 Claude Code直接跑脚本确认 AKShare 能拿到数据source venv/bin/activate python src/fetch_lhb.py --date 20260603如果 20260603 不是交易日脚本会返回空数据并打印警告。你可以换成最近一个交易日或者不传--date让脚本自动回退到最近工作日。预期输出类似正在获取 20260603 的龙虎榜数据... 数据已保存: data/lhb_20260603.csv 龙虎榜数据获取完成 日期: 20260603 上榜股票: 45 只 前 10 条数据: 代码 名称 买入金额 卖出金额 净买入 ... 000001 平安银行 120000000 80000000 40000000 ...4.2 通过 Claude Code 触发 Skill脚本单独能跑通后回到 Claude Code 里输入「获取今天的龙虎榜」。它应该读取stock-data.md的描述识别出要执行python src/fetch_lhb.py然后把结果摘要返回给你。如果它没有触发 Skill检查两点一是.claude/skills/路径是否在项目根目录下二是 Skill 文件里的「适用场景」是否包含你用的关键词。4.3 检查落盘文件运行结束后确认data/目录下生成了对应日期的 CSVls -lh data/ head -3 data/lhb_20260603.csvCSV 里应该包含代码、名称、买入金额、卖出金额、净买入等列。如果列名和预期不一致说明 AKShare 接口字段有调整这时候把实际列名打印出来再决定后续分析脚本怎么取数。5. 本篇常见错排查5.1 AKShare 安装后 import 报错最常见的是ModuleNotFoundError: No module named akshare。九成原因是虚拟环境没激活或者你在系统 Python 里装了包但脚本用的是 venv。先执行which python确认当前解释器路径在venv/bin/下再pip list | grep akshare看包在不在。如果包在但还报错试试pip install --upgrade akshare老版本接口名可能已经废弃。5.2 返回空 DataFramestock_lhb_detail_daily_sina返回空通常有三种情况日期不是交易日、当天数据还没更新、或者 AKShare 上游接口临时变动。交易日 16:00 之前数据往往不完整建议收盘后再拉。如果连续多个交易日都返回空去 AKShare 的更新日志里确认接口名是否改了必要时换用stock_lhb_detail_em等其他龙虎榜接口。5.3 CSV 中文乱码用df.to_csv(filepath, indexFalse)不带编码参数时Windows 上默认可能是 gbkMac 上可能是 utf-8。统一写成encodingutf-8-sig能解决大部分 Excel 打开乱码的问题。如果你用 pandas 读回来pd.read_csv(filepath, encodingutf-8-sig)即可。5.4 Claude Code 不触发 SkillSkill 没被识别先看文件名是不是.md结尾、是否放在.claude/skills/下。其次看描述文件里的「适用场景」是否太窄比如只写了「获取龙虎榜」用户说「今天哪些股票上榜」就不会命中。把常见说法都列进去命中率会高很多。如果还是不行在 Claude Code 里直接说「使用 stock-data skill 获取龙虎榜」强制指定。5.5 日期参数格式不对脚本里--date要求YYYYMMDD八位数字。如果你传2026-06-03AKShare 可能不报错但返回空。在get_recent_trade_date里加一层格式校验会更稳比如用datetime.strptime(date_str, %Y%m%d)试解析失败就提示用户改格式。6. 下一步把数据链路接进 Coding Planv1.0 跑通后你手里有了每天落盘的龙虎榜 CSV。接下来 v1.1 要做的是席位胜率统计v1.2 才是信号生成。这些迭代会涉及大量脚本修改和调试如果你打算长期用 Claude Code 来开发这套 Skill建议把模型调用切到 Coding Plan地址是 https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding_planutm_campaignrewrite 。它针对编码场景做了额度优化适合这种需要反复改代码、跑测试的长期项目。如果你只是想先验证模型能不能正确理解龙虎榜字段可以到模型对话页面 https://taotoken.net/chat?utm_sourcetaotoken_aicg_blog_endutm_contentmodel_chatutm_campaignrewrite 贴一段 CSV 表头让它帮你写 pandas 聚合逻辑。确认思路没问题后再回到 Claude Code 里落地成 Skill。数据获取这一环稳了后面的分析才有意义。
企业数字化 ERP 产品动态
相关推荐
阿里Qwen3.6-Plus实测:用TaoToken统一Key跑通智能体编程与多模态Agent /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 17:05:03
碰撞检测实战:从几何算法到Unity 2D与PostgreSQL空间查询 说起碰撞检测,我脑子里冒出来的第一个画面,是几年前调一段物流路径规划模块时的场景:几千个点状设施同时做两两距离判断,初始版本跑一次要四十多秒,慢到业务方直接把我叫进会议室。那时候我才真正意识到,碰… · 2026/9/26 17:04:43
模型蒸馏技术原理与工程实践指南 我无法基于该标题生成符合要求的博文内容。原因如下:标题中涉及具体人物(Nathan Lambert)、机构(Epoch AI)及未明确技术内涵的术语“蒸馏”与“中国实验室”,但缺乏可操作、可复现、可验证的具体项目要素&a… · 2026/9/26 17:40:40
SpringBoot+微信小程序:文旅活动预约与内容管理系统实战 做文旅类小程序这件事,我最初的出发点其实很简单:有朋友在景区做运营,跟我吐槽线下活动报名还在用在线表格收集,游客填完表单,后台人工核对,放票名额满了也没法及时更新;活动照片散落在公众号和… · 2026/9/26 17:40:40
Muse AI视频生成实操指南:从文案到成片的7个关键节点 1. 这个标题不是在问“Muse火了没”,而是在问“火了之后,谁在真正用它、怎么用、用得对不对”最近刷到“Muse火了”这个标题,几乎每条信息流里都夹着一两条——不是带货链接,就是测评截图,再不就是“三分钟上手Muse生成… · 2026/9/26 17:40:40
K2-Horizon-7B单卡512K长上下文部署实战 1. 这不是又一个“跑通就行”的模型部署笔记:K2-Horizon-7B 的真实水位在哪?你刷到这条标题时,第一反应可能是——“哦,又一个7B模型上vLLM的案例”。但如果你真这么想,就错过了它背后真正值得深挖的信号。K2-Horizon-… · 2026/9/26 17:40:40
AI点咖啡与Muse:轻量级AI交互的真相与落地方法论 1. 项目概述:当“AI点咖啡”遇上Meta的Muse,我们到底在聊什么?最近刷到一条标题——“Meta的灵感Muse,只比‘AI点咖啡’高明一点点”,好几回都忍不住点进去又关掉。不是内容不好,而是它像一杯温吞的拿铁&am… · 2026/9/26 17:40:40
OpenRouter Batch API:批量调用如何降低大模型token成本 1. 这不是一次普通更新:OpenRouter Batch API 上线背后的真实价值OpenRouter Batch API 上线这件事,表面看只是加了个“Batch”前缀,但实际影响远超多数人想象。我从去年开始把 OpenRouter 当作主力 API 中台来用,跑过上百个生产级… · 2026/9/26 17:40:34
数据库课后习题答案别硬背:当测试用例集刷,效率翻倍 简介:万常选版《数据库原理与设计》课后习题答案资源,覆盖第2至6章及第9章,适合正在学习关系模型、数据库建模、关系数据理论与模式求精的本科生、自学者作为复习与自测材料。压缩包共7个文件,含3个doc参考答案、2个sql示例脚本、… · 2026/9/26 0:00:21
OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 0:00:40
向下兼容与向上兼容:接口设计中的兼容性策略与工程实践 一次版本升级事故,是很多团队绕不过去的坎。线上环境里,服务端明明已经上线了新版接口,老的移动端还在照着旧文档传参数。请求一到网关,校验直接拒绝,用户操作失败,客服群炸了锅,开发群里开始互… · 2026/9/26 0:00:46