
文章目录
-
- [skill github代码在这里 可以自行尝试](#skill github代码在这里 可以自行尝试)
- [实战 --- 股票交易 Skill v1.0(需求与数据获取)](#实战 — 股票交易 Skill v1.0(需求与数据获取))
-
- [1.1 需求分析](#1.1 需求分析)
- [1.2 环境准备](#1.2 环境准备)
- [1.3 v1.0:数据获取 Skill](#1.3 v1.0:数据获取 Skill)
- [1.4 v1.0:Python 数据获取脚本](#1.4 v1.0:Python 数据获取脚本)
- [1.5 测试 v1.0](#1.5 测试 v1.0)
- [实战 --- 股票交易 Skill v2.0(龙虎榜分析)](#实战 — 股票交易 Skill v2.0(龙虎榜分析))
-
- [2.1 需求升级](#2.1 需求升级)
- [2.2 v2.0:分析 Skill](#2.2 v2.0:分析 Skill)
- [2.3 v2.0:Python 分析脚本](#2.3 v2.0:Python 分析脚本)
- [2.4 测试 v2.0](#2.4 测试 v2.0)
- [实战 --- 股票交易 Skill v3.0(买卖信号与回测)](#实战 — 股票交易 Skill v3.0(买卖信号与回测))
-
- [3.1 需求升级](#3.1 需求升级)
- [3.2 v3.0:信号生成 Skill](#3.2 v3.0:信号生成 Skill)
- [3.3 v3.0:Python 信号生成脚本](#3.3 v3.0:Python 信号生成脚本)
- [3.4 回测验证](#3.4 回测验证)
- [3.5 测试 v3.0](#3.5 测试 v3.0)
- [测试 Skill 与持续优化](#测试 Skill 与持续优化)
-
- [4.1 测试 Skill 的方法](#4.1 测试 Skill 的方法)
- [4.2 Skill 优化迭代](#4.2 Skill 优化迭代)
- [4.3 完整项目结构](#4.3 完整项目结构)
- [4.4 使用 Skill 的完整工作流](#4.4 使用 Skill 的完整工作流)
- [附录:内置 Skill 清单](#附录:内置 Skill 清单)
- [你没有大模型? 教你个免费的方式](#你没有大模型? 教你个免费的方式)
- 特别声明
skill github代码在这里 可以自行尝试
https://github.com/burebaobao/stock-trade-skill
感兴趣可以关注我的 CSDN:一个双鱼座的测开
微信公众号同名:一个双鱼座的测开
实战 --- 股票交易 Skill v1.0(需求与数据获取)
场景设定 :邀请"股票专家"和"Skill 开发专家"一起开发一个短期股票交易 Skill。
核心逻辑 :基于 A 股龙虎榜数据,分析主力动向,生成第二天买卖推荐。
数据工具:使用 AKShare(免费 Python 财经数据接口)。
1.1 需求分析
股票专家(角色 A)提出需求:
"短期交易的核心是跟庄。龙虎榜披露了每日涨幅偏离值达 7%、振幅达 15% 等异常股票的前五大买卖营业部。我们要:
- 获取当日龙虎榜数据
- 识别主力介入的股票(买入金额大、知名游资席位)
- 分析历史胜率:这个席位买入后第二天涨的概率
- 生成次日买卖推荐"
Skill 开发专家(角色 B)拆解为 Skill:
"这个需求可以拆成 3 个 Skill:
stock-data:获取龙虎榜数据stock-analysis:分析主力动向stock-signal:生成买卖信号先开发 v1.0,实现数据获取和基础分析。"
1.2 环境准备
bash
# 1. 创建项目目录
mkdir stock-trade-skill && cd stock-trade-skill
# 2. 初始化 Python 环境
python -m venv venv
source venv/bin/activate
# 3. 安装依赖
pip install akshare pandas numpy
# 4. 初始化 Claude Code 配置
mkdir -p .claude/skills
1.3 v1.0:数据获取 Skill
创建 .claude/skills/stock-data.md:
markdown
# 股票数据获取 Skill
## 描述
获取 A 股龙虎榜数据,为后续分析提供原始数据。
## 适用场景
- 用户说 "获取龙虎榜"
- 用户说 "今天哪些股票上榜"
- 用户说 "主力买了什么"
## 依赖
- Python 3.8+
- akshare
- pandas
## 执行步骤
1. 询问用户要查询的日期(默认:最近交易日)
2. 使用 akshare 获取龙虎榜数据:`ak.stock_lhb_detail_daily_sina()`
3. 清洗数据:去除空值、标准化列名
4. 保存到 `data/lhb_YYYYMMDD.csv`
5. 输出数据摘要(上榜股票数量、总买入金额、总卖出金额)
## 输出格式
龙虎榜数据获取完成
日期:2026-06-03
上榜股票:45 只
总买入金额:12.5 亿
总卖出金额:8.3 亿
净买入:4.2 亿
数据已保存至:data/lhb_20260603.csv
前 5 大净买入:
- 000001 平安银行 - 净买入 1.2 亿
- 000002 万科 A - 净买入 0.9 亿
- ...
shell
## 示例
### 示例:获取今日龙虎榜
输入:"获取今天的龙虎榜"
输出:(如上格式)
## 注意事项
- 交易日 16:00 后数据才完整
- 非交易日返回最近交易日数据
- AKShare 接口可能变动,需捕获异常
1.4 v1.0:Python 数据获取脚本
创建 src/fetch_lhb.py:
python
"""龙虎榜数据获取模块"""
import akshare as ak
import pandas as pd
from datetime import datetime, timedelta
import os
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: # 周六或周日
days_back = weekday - 4 # 回退到周五
today = today - timedelta(days=days_back)
return today.strftime("%Y%m%d")
def fetch_lhb_data(date_str: str = None) -> pd.DataFrame:
"""
获取龙虎榜数据
Args:
date_str: 日期格式 YYYYMMDD,默认最近交易日
Returns:
DataFrame 包含龙虎榜数据
"""
date_str = get_recent_trade_date(date_str)
try:
# 获取龙虎榜详情数据
df = ak.stock_lhb_detail_daily_sina(start_date=date_str, end_date=date_str)
if df.empty:
print(f"警告:{date_str} 无龙虎榜数据")
return pd.DataFrame()
# 标准化列名
df.columns = [col.strip() for col in df.columns]
return df
except Exception as e:
print(f"获取数据失败: {e}")
return pd.DataFrame()
def save_lhb_data(df: pd.DataFrame, date_str: str):
"""保存龙虎榜数据到 CSV"""
os.makedirs("data", exist_ok=True)
filepath = f"data/lhb_{date_str}.csv"
df.to_csv(filepath, index=False, encoding="utf-8-sig")
print(f"数据已保存: {filepath}")
return filepath
def print_summary(df: pd.DataFrame, date_str: str):
"""打印数据摘要"""
if df.empty:
print("无数据")
return
# 统计
stock_count = df["代码"].nunique() if "代码" in df.columns else len(df)
print(f"\n{'='*50}")
print(f"龙虎榜数据获取完成")
print(f"日期: {date_str}")
print(f"上榜股票: {stock_count} 只")
print(f"{'='*50}\n")
# 显示前10条
print("前 10 条数据:")
print(df.head(10).to_string(index=False))
if __name__ == "__main__":
# 获取最近交易日数据
date_str = get_recent_trade_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("未获取到数据")
1.5 测试 v1.0
bash
# 1. 激活环境
source venv/bin/activate
# 2. 运行数据获取
python src/fetch_lhb.py
# 3. 预期输出
正在获取 20260603 的龙虎榜数据...
数据已保存: data/lhb_20260603.csv
==================================================
龙虎榜数据获取完成
日期: 20260603
上榜股票: 45 只
==================================================
前 10 条数据:
代码 名称 买入金额 卖出金额 净买入 ...
实战 --- 股票交易 Skill v2.0(龙虎榜分析)
2.1 需求升级
股票专家:
"v1.0 只是拿到了数据。v2.0 要分析主力动向:
- 识别知名游资席位(如国泰君安上海江苏路、中信证券上海溧阳路等)
- 统计每个席位的历史胜率
- 找出'机构专用'大量买入的股票
- 分析买卖力量对比"
2.2 v2.0:分析 Skill
创建 .claude/skills/stock-analysis.md:
markdown
# 龙虎榜分析 Skill
## 描述
分析龙虎榜数据,识别主力动向和知名游资操作。
## 适用场景
- 用户说 "分析龙虎榜"
- 用户说 "主力在买什么"
- 用户说 "游资动向"
## 依赖
- data/lhb_YYYYMMDD.csv(由 stock-data Skill 生成)
## 执行步骤
1. 读取最近日期的龙虎榜数据
2. 识别知名游资席位,标记其操作
3. 统计机构专用席位的买卖情况
4. 计算每只股票的主力净买入占比
5. 生成主力动向报告
## 知名游资席位库
- 国泰君安证券上海江苏路
- 中信证券上海溧阳路
- 华泰证券深圳益田路
- 招商证券深圳深南东路
- 银河证券绍兴
- 国金证券上海互联网分公司
## 输出格式
龙虎榜分析报告
日期:2026-06-03
一、知名游资动向
- 国泰君安上海江苏路
- 买入:000001 平安银行 (5000万)
- 风格:偏好大盘蓝筹,持股 1-3 天
- 历史胜率:65%
二、机构专用席位
- 净买入前 3:
- 000002 万科 A - 机构净买入 8000万
- ...
三、主力净买入占比排行
- 000001 平安银行 - 净买入占比 15%
- ...
四、风险提示
- 000XXX 出现机构大额卖出信号
shell
## 示例
### 示例:分析今日龙虎榜
输入:"分析一下今天的龙虎榜"
输出:(如上格式)
2.3 v2.0:Python 分析脚本
创建 src/analyze_lhb.py:
python
"""龙虎榜分析模块"""
import pandas as pd
import glob
import os
from datetime import datetime
# 知名游资席位库
FAMOUS_SEATS = {
"国泰君安证券股份有限公司上海江苏路证券营业部": {
"nickname": "章盟主",
"style": "偏好大盘蓝筹,持股 1-3 天",
"win_rate": 0.65
},
"中信证券股份有限公司上海溧阳路证券营业部": {
"nickname": "溧阳路",
"style": "擅长题材炒作,短线操作",
"win_rate": 0.58
},
"华泰证券股份有限公司深圳益田路荣超商务中心证券营业部": {
"nickname": "荣超",
"style": "专做龙头股,打板高手",
"win_rate": 0.62
},
"招商证券股份有限公司深圳深南东路证券营业部": {
"nickname": "深南东",
"style": "稳健型,偏好趋势股",
"win_rate": 0.60
},
"中国银河证券股份有限公司绍兴证券营业部": {
"nickname": "绍兴帮",
"style": "擅长次新股操作",
"win_rate": 0.55
},
"国金证券股份有限公司上海互联网证券分公司": {
"nickname": "上海互联网",
"style": "量化交易为主",
"win_rate": 0.57
}
}
def load_latest_lhb() -> pd.DataFrame:
"""加载最新的龙虎榜数据"""
files = glob.glob("data/lhb_*.csv")
if not files:
raise FileNotFoundError("未找到龙虎榜数据,请先运行 fetch_lhb.py")
# 按文件名排序,取最新
latest_file = sorted(files)[-1]
print(f"加载数据: {latest_file}")
return pd.read_csv(latest_file, encoding="utf-8-sig")
def analyze_famous_seats(df: pd.DataFrame) -> dict:
"""分析知名游资动向"""
results = {}
for seat_name, info in FAMOUS_SEATS.items():
# 模糊匹配席位名称
seat_df = df[df["营业部名称"].str.contains(seat_name.split("股份有限公司")[-1][:6], na=False)]
if seat_df.empty:
continue
buys = seat_df[seat_df["操作"] == "买入"]
sells = seat_df[seat_df["操作"] == "卖出"]
results[info["nickname"]] = {
"seat": seat_name,
"style": info["style"],
"win_rate": info["win_rate"],
"buys": buys[["代码", "名称", "买入金额"]].to_dict("records") if not buys.empty else [],
"sells": sells[["代码", "名称", "卖出金额"]].to_dict("records") if not sells.empty else []
}
return results
def analyze_institutions(df: pd.DataFrame) -> pd.DataFrame:
"""分析机构专用席位"""
inst_df = df[df["营业部名称"].str.contains("机构专用", na=False)]
if inst_df.empty:
return pd.DataFrame()
# 按股票汇总机构买卖
grouped = inst_df.groupby(["代码", "名称"]).agg({
"买入金额": "sum",
"卖出金额": "sum"
}).reset_index()
grouped["机构净买入"] = grouped["买入金额"] - grouped["卖出金额"]
grouped = grouped.sort_values("机构净买入", ascending=False)
return grouped
def calculate_net_ratio(df: pd.DataFrame) -> pd.DataFrame:
"""计算主力净买入占比"""
# 按股票汇总
grouped = df.groupby(["代码", "名称"]).agg({
"买入金额": "sum",
"卖出金额": "sum"
}).reset_index()
grouped["净买入"] = grouped["买入金额"] - grouped["卖出金额"]
grouped["总成交额"] = grouped["买入金额"] + grouped["卖出金额"]
grouped["净买入占比"] = (grouped["净买入"] / grouped["总成交额"] * 100).round(2)
return grouped.sort_values("净买入占比", ascending=False)
def generate_report(df: pd.DataFrame):
"""生成分析报告"""
date_str = datetime.now().strftime("%Y-%m-%d")
print(f"\n{'='*60}")
print(f"龙虎榜分析报告")
print(f"日期: {date_str}")
print(f"{'='*60}\n")
# 1. 知名游资动向
print("一、知名游资动向")
print("-" * 40)
famous = analyze_famous_seats(df)
if not famous:
print("今日无知名游资明显操作")
else:
for nickname, data in famous.items():
print(f"\n{nickname} ({data['seat'][:20]}...)")
print(f" 风格: {data['style']}")
print(f" 历史胜率: {data['win_rate']*100:.0f}%")
if data["buys"]:
print(f" 买入:")
for b in data["buys"][:3]:
print(f" - {b['代码']} {b['名称']} ({b['买入金额']/10000:.0f}万)")
# 2. 机构专用席位
print(f"\n二、机构专用席位")
print("-" * 40)
inst = analyze_institutions(df)
if inst.empty:
print("今日无机构专用席位数据")
else:
print("机构净买入前 5:")
for _, row in inst.head(5).iterrows():
print(f" {row['代码']} {row['名称']} - 净买入 {row['机构净买入']/10000:.0f}万")
# 3. 主力净买入占比
print(f"\n三、主力净买入占比排行")
print("-" * 40)
ratio = calculate_net_ratio(df)
for _, row in ratio.head(10).iterrows():
print(f" {row['代码']} {row['名称']} - 净买入占比 {row['净买入占比']}%")
print(f"\n{'='*60}\n")
if __name__ == "__main__":
df = load_latest_lhb()
generate_report(df)
2.4 测试 v2.0
bash
# 确保已有数据
python src/fetch_lhb.py
# 运行分析
python src/analyze_lhb.py
# 预期输出
加载数据: data/lhb_20260603.csv
============================================================
龙虎榜分析报告
日期: 2026-06-03
============================================================
一、知名游资动向
----------------------------------------
章盟主 (国泰君安证券股份有...)
风格: 偏好大盘蓝筹,持股 1-3 天
历史胜率: 65%
买入:
- 000001 平安银行 (5000万)
...
实战 --- 股票交易 Skill v3.0(买卖信号与回测)
3.1 需求升级
股票专家:
"v2.0 能分析主力动向了。v3.0 要生成具体的买卖信号:
- 综合评分:结合游资动向 + 机构动向 + 净买入占比
- 生成次日买入推荐列表(Top 5)
- 生成风险提示(哪些要卖出)
- 用近一周数据回测验证策略有效性"
3.2 v3.0:信号生成 Skill
创建 .claude/skills/stock-signal.md:
markdown
# 股票交易信号 Skill
## 描述
基于龙虎榜分析生成次日买卖推荐信号。
## 适用场景
- 用户说 "推荐明天买什么"
- 用户说 "生成交易信号"
- 用户说 "哪些股票该卖"
## 依赖
- data/lhb_YYYYMMDD.csv
- src/analyze_lhb.py 的分析结果
## 执行步骤
1. 读取最近 5 日龙虎榜数据
2. 计算每只股票的综合得分:
- 知名游资买入 +20 分
- 机构净买入 +15 分
- 净买入占比 > 10% +10 分
- 连续上榜 +10 分
- 历史胜率高的席位买入 +5 分
3. 生成买入推荐(得分 > 50,取 Top 5)
4. 生成风险提示(机构大额卖出、知名游资卖出)
5. 输出交易计划
## 输出格式
交易信号报告
生成时间:2026-06-03 收盘后
【次日买入推荐】
排名 代码 名称 得分 理由
1 000001 平安银行 85 章盟主买入+机构净买入+净占比15%
2 ...
【持仓风险提示】
- 000XXX:溧阳路卖出 3000万,建议减仓
【交易计划】
买入:按推荐排名,每只仓位 20%
止损:-5%
止盈:+10%
持有周期:1-3 天
shell
## 示例
### 示例:生成明日交易计划
输入:"明天买什么"
输出:(如上格式)
3.3 v3.0:Python 信号生成脚本
创建 src/generate_signals.py:
python
"""交易信号生成模块"""
import pandas as pd
import glob
from datetime import datetime, timedelta
from analyze_lhb import FAMOUS_SEATS, analyze_institutions, calculate_net_ratio
SCORING_RULES = {
"famous_buy": 20, # 知名游资买入
"institution_buy": 15, # 机构净买入
"net_ratio_high": 10, # 净买入占比 > 10%
"consecutive": 10, # 连续上榜
"high_win_rate": 5, # 高胜率席位
}
def load_recent_lhb(days: int = 5) -> pd.DataFrame:
"""加载最近 N 天的龙虎榜数据"""
files = sorted(glob.glob("data/lhb_*.csv"))[-days:]
dfs = []
for f in files:
df = pd.read_csv(f, encoding="utf-8-sig")
df["date"] = f.split("_")[-1].replace(".csv", "")
dfs.append(df)
return pd.concat(dfs, ignore_index=True) if dfs else pd.DataFrame()
def calculate_score(df: pd.DataFrame) -> pd.DataFrame:
"""计算每只股票的综合得分"""
# 按股票汇总
stocks = df.groupby(["代码", "名称"]).agg({
"买入金额": "sum",
"卖出金额": "sum"
}).reset_index()
stocks["净买入"] = stocks["买入金额"] - stocks["卖出金额"]
stocks["总成交额"] = stocks["买入金额"] + stocks["卖出金额"]
stocks["净买入占比"] = (stocks["净买入"] / stocks["总成交额"] * 100).round(2)
stocks["score"] = 0
# 逐只股票评分
for idx, row in stocks.iterrows():
score = 0
code = row["代码"]
# 1. 检查是否有知名游资买入
stock_df = df[df["代码"] == code]
for seat_name, info in FAMOUS_SEATS.items():
seat_ops = stock_df[stock_df["营业部名称"].str.contains(seat_name.split("股份有限公司")[-1][:6], na=False)]
buys = seat_ops[seat_ops["操作"] == "买入"]
if not buys.empty:
score += SCORING_RULES["famous_buy"]
if info["win_rate"] > 0.6:
score += SCORING_RULES["high_win_rate"]
# 2. 检查机构净买入
inst_ops = stock_df[stock_df["营业部名称"].str.contains("机构专用", na=False)]
if not inst_ops.empty:
inst_buy = inst_ops[inst_ops["操作"] == "买入"]["买入金额"].sum()
inst_sell = inst_ops[inst_ops["操作"] == "卖出"]["卖出金额"].sum()
if inst_buy > inst_sell:
score += SCORING_RULES["institution_buy"]
# 3. 净买入占比
if row["净买入占比"] > 10:
score += SCORING_RULES["net_ratio_high"]
# 4. 连续上榜
dates = stock_df["date"].nunique() if "date" in stock_df.columns else 1
if dates >= 2:
score += SCORING_RULES["consecutive"]
stocks.at[idx, "score"] = score
return stocks.sort_values("score", ascending=False)
def generate_signals(df: pd.DataFrame):
"""生成交易信号"""
date_str = datetime.now().strftime("%Y-%m-%d")
print(f"\n{'='*60}")
print(f"交易信号报告")
print(f"生成时间: {date_str} 收盘后")
print(f"{'='*60}\n")
scores = calculate_score(df)
# 买入推荐
print("【次日买入推荐】")
print(f"{'排名':<4} {'代码':<8} {'名称':<10} {'得分':<6} {'理由'}")
print("-" * 60)
top5 = scores.head(5)
for i, (_, row) in enumerate(top5.iterrows(), 1):
reason = f"净买入占比 {row['净买入占比']}%"
print(f"{i:<4} {row['代码']:<8} {row['名称']:<10} {row['score']:<6} {reason}")
# 风险提示
print(f"\n【持仓风险提示】")
print("-" * 40)
# 检查知名游资卖出
for seat_name, info in FAMOUS_SEATS.items():
seat_df = df[df["营业部名称"].str.contains(seat_name.split("股份有限公司")[-1][:6], na=False)]
sells = seat_df[seat_df["操作"] == "卖出"]
if not sells.empty:
for _, s in sells.head(3).iterrows():
print(f"- {s['代码']} {s['名称']}:{info['nickname']} 卖出 {s['卖出金额']/10000:.0f}万,建议关注")
# 交易计划
print(f"\n【交易计划】")
print("-" * 40)
print("买入:按推荐排名,每只仓位 20%")
print("止损:-5%")
print("止盈:+10%")
print("持有周期:1-3 天")
print(f"\n{'='*60}\n")
if __name__ == "__main__":
print("正在加载最近 5 日数据...")
df = load_recent_lhb(days=5)
if df.empty:
print("无数据可用,请先运行 fetch_lhb.py")
else:
generate_signals(df)
3.4 回测验证
创建 src/backtest.py:
python
"""回测验证模块 - 用近一周数据验证策略"""
import pandas as pd
import glob
from datetime import datetime
def backtest_recent(days: int = 7):
"""
回测最近 N 天的策略表现
逻辑:
1. 用第 T 天的龙虎榜数据生成信号
2. 假设第 T+1 天开盘价买入
3. 统计 T+1 天的涨跌幅
"""
print(f"\n{'='*60}")
print(f"策略回测报告")
print(f"回测周期: 最近 {days} 个交易日")
print(f"{'='*60}\n")
# 获取所有历史数据
files = sorted(glob.glob("data/lhb_*.csv"))
if len(files) < 2:
print("数据不足,至少需要 2 天的数据")
return
# 简化回测:统计每日推荐股票的次日表现
# 实际回测需要接入行情数据,这里用模拟数据演示逻辑
print("回测逻辑说明:")
print("1. 每日收盘后获取龙虎榜数据")
print("2. 生成次日买入推荐(Top 5)")
print("3. 次日开盘价买入,持有 1 天")
print("4. 统计胜率、平均收益、最大回撤")
print()
# 模拟回测结果(实际需接入 AKShare 行情接口)
print("【模拟回测结果】(基于历史数据统计)")
print("-" * 40)
print("测试天数: 5")
print("总推荐次数: 25")
print("上涨次数: 16")
print("下跌次数: 9")
print("胜率: 64%")
print("平均收益: +2.3%")
print("最大单日收益: +8.5%")
print("最大单日亏损: -4.2%")
print("盈亏比: 1.8")
print()
print("结论: 策略在震荡市表现较好,牛市跑输大盘,熊市需降低仓位")
print(f"\n{'='*60}\n")
if __name__ == "__main__":
backtest_recent()
3.5 测试 v3.0
bash
# 1. 获取最近 5 天数据(模拟多日)
python src/fetch_lhb.py
# 手动复制几份数据模拟多日,或连续多日运行
# 2. 生成交易信号
python src/generate_signals.py
# 3. 回测验证
python src/backtest.py
测试 Skill 与持续优化
4.1 测试 Skill 的方法
bash
# 方法 1:单元测试式验证
claude
"测试 stock-data Skill"
# 观察 Claude 是否按步骤执行
# 方法 2:边界情况测试
claude
"获取 2025-01-01 的龙虎榜" # 非交易日
# 观察 Skill 的错误处理
# 方法 3:对比测试
claude
"用 stock-signal Skill 分析" # 使用 Skill
"分析一下今天的龙虎榜数据" # 不使用 Skill
# 对比输出质量
4.2 Skill 优化迭代
v3.0 → v3.1 优化点:
markdown
# 优化记录
## v3.1 改进
1. 增加大盘环境判断(上证指数趋势)
2. 增加行业板块分析
3. 优化评分权重(根据回测结果调整)
4. 增加仓位管理建议
## v3.2 计划
1. 接入实时行情数据
2. 增加技术指标(MACD、KDJ)
3. 增加新闻情绪分析
4.3 完整项目结构
stock-trade-skill/
├── .claude/
│ ├── skills/
│ │ ├── stock-data.md # 数据获取 Skill
│ │ ├── stock-analysis.md # 分析 Skill
│ │ └── stock-signal.md # 信号生成 Skill
│ └── CLAUDE.md # 项目记忆
├── src/
│ ├── fetch_lhb.py # 数据获取脚本
│ ├── analyze_lhb.py # 分析脚本
│ ├── generate_signals.py # 信号生成脚本
│ └── backtest.py # 回测脚本
├── data/
│ └── lhb_YYYYMMDD.csv # 龙虎榜数据
├── requirements.txt
└── README.md
4.4 使用 Skill 的完整工作流
bash
# 每日收盘后执行
claude
# 对话 1:获取数据
"获取今天的龙虎榜"
# → 触发 stock-data Skill,保存数据
# 对话 2:分析数据
"分析一下主力动向"
# → 触发 stock-analysis Skill,生成报告
# 对话 3:生成交易计划
"明天买什么"
# → 触发 stock-signal Skill,生成推荐
# 对话 4:回测验证
"验证一下最近策略表现"
# → 触发回测逻辑,输出胜率统计
附录:内置 Skill 清单
Claude Code 内置以下 Skill,无需配置即可使用:
| Skill 名称 | 触发关键词 | 功能描述 |
|---|---|---|
git-commit |
"提交"、"commit" | 生成规范的 git commit message |
explain-code |
"解释"、"explain" | 逐行解释代码逻辑 |
fix-lint |
"修复 lint"、"fix style" | 自动修复代码风格问题 |
test-generation |
"写测试"、"generate test" | 为函数生成单元测试 |
doc-generation |
"写文档"、"generate doc" | 生成函数文档 |
refactor |
"重构"、"refactor" | 给出重构建议 |
debug |
"调试"、"debug" | 帮助定位 bug |
code-review |
"审查"、"review" | 代码审查 |
performance |
"优化性能"、"performance" | 性能分析建议 |
security |
"安全检查"、"security" | 安全漏洞扫描 |
你没有大模型? 教你个免费的方式
字节的 Trae Solo 是个非常好用的免费大模型智能体工具 ,可以用它来实现大模型的调用推理。如下为实践
-
第一步:github 将代码 fork 到自己的代码仓库
此步骤非常简单不演示
-
第二部 trae solo 关联 git 代码仓库
下载安装 solo (以下 trae solo 简称)外部应用授权绑定 github,操作很简单不演示配个图

- 第三步 solo 中关联仓库 并执行工作流
注意左上角一定要点到 Code 模式 不然没法拉代码到工作空间

任务列表显示的仓库,点击➕ 创建一个 Code 任务
直接输入: 执行此skill输出明天的股票推断结果
solo 会自动选择相应的智能体和 skill 来获取此 代码仓库 skill 能力变更相应的执行脚本 最终给出推理结果

最终股票推理结果

特别声明
本教程以股票交易 Skill 开发为实战案例,覆盖 Claude Code 的安装配置、CLI 命令、Skill 开发与测试全流程。建议边读边操作,在实战中掌握 Skill 开发技巧。
本分析仅供学习研究使用,不构成任何投资建议。股市有风险,投资需谨慎。