Install
$ agentstack add skill-laborany-laborany-stock-analyzer ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Stock Analyzer
股票综合分析与可视化报告生成器。
工作流程
┌─────────────────────────────────────────────────────────────────┐
│ INPUT: 股票代码/名称 │
│ 例: "AAPL", "苹果", "600519", "茅台" │
└─────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ STEP 1: 识别股票 │
│ ├─ 解析输入,确定股票代码和市场 │
│ ├─ 美股: 直接使用代码 (AAPL, MSFT, GOOGL) │
│ └─ A股: 补全代码 (茅台 → 600519.SS) │
└─────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ STEP 2: K线数据采集 (核心步骤) │
│ ├─ [mcp__laborany_web__read_page] 从金融数据API获取历史OHLCV数据 │
│ ├─ 数据周期: 日K线,默认获取60-120个交易日 │
│ └─ 数据字段: 日期/开盘/最高/最低/收盘/成交量 │
└─────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ STEP 3: 技术指标计算 (基于K线原始数据) │
│ ├─ 均线系统: MA5 / MA10 / MA20 / MA60 │
│ ├─ MACD指标: DIF / DEA / MACD柱状图 │
│ ├─ RSI指标: RSI6 / RSI12 / RSI24 │
│ ├─ KDJ指标: K值 / D值 / J值 │
│ └─ 布林带: 上轨 / 中轨 / 下轨 │
└─────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ STEP 4: 辅助数据采集 (并行执行) │
│ ├─ [mcp__laborany_web__search] 搜索近期新闻和市场情绪 │
│ ├─ [mcp__laborany_web__search] 搜索财报数据和分析师评级 │
│ └─ [mcp__laborany_web__search] 搜索行业动态和政策影响 │
└─────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ STEP 5: 智能分析 │
│ ├─ 技术面: 基于计算出的指标进行趋势研判 │
│ ├─ 基本面: PE/PB/ROE/营收增长 估值分析 │
│ ├─ 消息面: 新闻情绪/行业动态/政策影响 │
│ └─ 综合: 多维度交叉验证,生成交易建议 │
└─────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ STEP 6: 生成可视化报告 │
│ ├─ 使用 assets/template.html 作为基础模板 │
│ ├─ 填充数据: K线图/MACD图/RSI图/KDJ图/成交量图 │
│ └─ 输出: {股票代码}_analysis.html │
└─────────────────────────────────────────────────────────────────┘
执行指南
Step 1: 识别股票
根据用户输入识别目标股票:
| 输入类型 | 示例 | 处理方式 | |---------|------|---------| | 美股代码 | AAPL, MSFT | 直接使用 | | 美股名称 | 苹果, 微软 | mcp__laboranyweb_search 查询对应代码 | | A股代码 | 600519, 000858 | 补充后缀 (.SS 上交所 / .SZ 深交所) | | A股名称 | 茅台, 五粮液 | mcp__laboranyweb_search 查询对应代码 |
Step 2: K线数据采集
这是核心步骤,需要获取真实的历史K线数据用于后续技术指标计算。
数据源选择
| 市场 | 推荐数据源 | API示例 | |-----|-----------|---------| | 美股 | Yahoo Finance | https://query1.finance.yahoo.com/v8/finance/chart/{symbol}?interval=1d&range=6mo | | 美股 | Alpha Vantage | https://www.alphavantage.co/query?function=TIME_SERIES_DAILY&symbol={symbol} | | A股 | 新浪财经 | https://money.finance.sina.com.cn/quotes_service/api/json_v2.php/CN_MarketData.getKLineData?symbol={symbol}&scale=240&ma=no&datalen=120 | | A股 | 东方财富 | 通过 mcp__laboranyweb_search 搜索 "{股票代码} 历史K线数据" |
使用 mcp__laboranyweb_read_page 获取数据
# 美股示例 (Yahoo Finance)
mcp__laborany_web__read_page URL: https://query1.finance.yahoo.com/v8/finance/chart/AAPL?interval=1d&range=3mo
Prompt: 提取JSON中的K线数据,返回格式化的OHLCV数组
# A股示例 (新浪财经)
mcp__laborany_web__read_page URL: https://money.finance.sina.com.cn/quotes_service/api/json_v2.php/CN_MarketData.getKLineData?symbol=sh600519&scale=240&ma=no&datalen=120
Prompt: 提取K线数据数组,包含日期、开盘、最高、最低、收盘、成交量
K线数据结构
采集后的数据应整理为以下结构:
const klineData = {
dates: ["2024-01-02", "2024-01-03", ...], // 日期数组
open: [185.50, 186.20, ...], // 开盘价数组
high: [187.30, 188.10, ...], // 最高价数组
low: [184.80, 185.50, ...], // 最低价数组
close: [186.80, 187.50, ...], // 收盘价数组
volume: [52340000, 48920000, ...] // 成交量数组
};
Step 3: 技术指标计算
基于采集的K线原始数据,计算以下技术指标。参考 [references/technical-indicators.md](references/technical-indicators.md) 获取详细公式。
3.1 移动平均线 (MA)
// MA计算公式: MA(N) = SUM(Close, N) / N
function calculateMA(closes, period) {
const result = [];
for (let i = 0; i a + b, 0);
result.push(+(sum / period).toFixed(2));
}
}
return result;
}
// 计算各周期均线
const ma5 = calculateMA(closes, 5);
const ma10 = calculateMA(closes, 10);
const ma20 = calculateMA(closes, 20);
const ma60 = calculateMA(closes, 60);
3.2 MACD 指标
// EMA计算
function calculateEMA(data, period) {
const k = 2 / (period + 1);
const result = [data[0]];
for (let i = 1; i +(v - ema26[i]).toFixed(4));
const dea = calculateEMA(dif, 9);
const macd = dif.map((v, i) => +((v - dea[i]) * 2).toFixed(4));
return { dif, dea, macd };
}
3.3 RSI 指标
function calculateRSI(closes, period = 14) {
const changes = [];
for (let i = 1; i x > 0).reduce((a, b) => a + b, 0);
const losses = Math.abs(slice.filter(x => x a + b, 0));
const rs = losses === 0 ? 100 : gains / losses;
result.push(+(100 - 100 / (1 + rs)).toFixed(2));
}
// 填充前面的null
while (result.length sum + Math.pow(val - mean, 2), 0) / period;
const std = Math.sqrt(variance);
upper.push(+(mean + multiplier * std).toFixed(2));
lower.push(+(mean - multiplier * std).toFixed(2));
}
return { upper, middle, lower };
}
Step 4: 辅助数据采集
使用 mcp__laboranyweb_search 工具并行采集辅助数据:
# 新闻资讯
"{股票代码} latest news {当前年份}"
"{股票名称} 最新消息 {当前年份}"
# 财报分析
"{股票代码} earnings report analysis {当前年份}"
"{股票代码} 财报 业绩 分析"
# 行业动态
"{股票代码} industry analysis {当前年份}"
"{行业名称} 政策 监管 {当前年份}"
Step 5: 智能分析
基于K线数据计算的技术指标和采集的辅助数据,进行多维度分析:
5.1 技术面分析
根据计算出的指标进行趋势研判:
| 指标 | 多头信号 | 空头信号 | |-----|---------|---------| | MA排列 | MA5 > MA10 > MA20 > MA60 | MA5 70 (超买回调) | | KDJ | K上穿D且J 80 | | BOLL | 价格触及下轨反弹 | 价格触及上��回落 |
信号强度判断:
- 强信号:3个以上指标同向
- 中等信号:2个指标同向
- 弱信号:仅1个指标
5.2 基本面分析
- 估值指标:PE/PB 与行业对比
- 成长性:营收/利润增长率
- 盈利能力:ROE/毛利率/净利率
5.3 消息面分析
- 新闻情绪:正面/负面/中性
- 行业动态:竞争格局变化
- 政策影响:监管/宏观政策
5.4 综合建议
- 短期策略(1-2周)
- 中期策略(1-3月)
- 风险提示
Step 6: 生成可视化报告
6.1 CHART_DATA 数据结构
生成报告时,需要构建完整的图表数据对象:
const chartData = {
// ═══════════════════════════════════════════════════════════════
// 基础K线数据
// ═══════════════════════════════════════════════════════════════
dates: ["2024-01-02", "2024-01-03", ...],
// K线数据: [开盘, 收盘, 最低, 最高] (ECharts candlestick格式)
kline: [
[185.50, 186.80, 184.80, 187.30],
[186.20, 187.50, 185.50, 188.10],
// ...
],
// 成交量
volume: [52340000, 48920000, ...],
// ═══════════════════════════════════════════════════════════════
// 均线数据
// ═══════════════════════════════════════════════════════════════
ma5: [null, null, null, null, 186.20, 186.80, ...],
ma10: [null, null, null, null, null, null, null, null, null, 185.90, ...],
ma20: [...],
ma60: [...],
// ═══════════════════════════════════════════════════════════════
// MACD指标
// ═══════════════════════════════════════════════════════════════
dif: [0, 0.12, 0.25, 0.38, ...],
dea: [0, 0.02, 0.07, 0.13, ...],
macd: [0, 0.20, 0.36, 0.50, ...],
// ═══════════════════════════════════════════════════════════════
// RSI指标
// ═══════════════════════════════════════════════════════════════
rsi6: [null, null, null, null, null, 55.32, 58.21, ...],
rsi12: [...],
rsi24: [...],
// ═══════════════════════════════════════════════════════════════
// KDJ指标
// ═══════════════════════════════════════════════════════════════
k: [50, 50, 50, 50, 50, 50, 50, 50, 52.30, 55.80, ...],
d: [50, 50, 50, 50, 50, 50, 50, 50, 51.10, 52.67, ...],
j: [50, 50, 50, 50, 50, 50, 50, 50, 54.70, 62.06, ...],
// ═══════════════════════════════════════════════════════════════
// 布林带
// ═══════════════════════════════════════════════════════════════
bollUpper: [null, ..., 192.50, 193.20, ...],
bollMiddle: [null, ..., 186.80, 187.10, ...],
bollLower: [null, ..., 181.10, 181.00, ...]
};
6.2 模板占位符
| 占位符 | 说明 | 示例值 | |-------|------|-------| | {{STOCK_CODE}} | 股票代码 | AAPL | | {{STOCK_NAME}} | 股票名称 | 苹果公司 | | {{CURRENT_PRICE}} | 当前价格 | $187.50 | | {{PRICE_CHANGE}} | 涨跌幅 | +2.35% | | {{PRICE_DIRECTION}} | 涨跌方向CSS类 | price-up / price-down | | {{ANALYSIS_DATE}} | 分析日期 | 2024-01-15 | | {{TECHNICAL_INDICATORS}} | 技术指标HTML | 见下方示例 | | {{FUNDAMENTAL_INDICATORS}} | 基本面指标HTML | 见下方示例 | | {{NEWS_LIST}} | 新闻列表HTML | 见下方示例 | | {{SHORT_TERM_STRATEGY}} | 短期策略文本 | 建议持有观望... | | {{MID_TERM_STRATEGY}} | 中期策略文本 | 可逢低布局... | | {{RISK_WARNING}} | 风险提示文本 | 注意市场波动... | | {{COMPREHENSIVE_ANALYSIS}} | 综合分析文本 | 技术面显示... | | {{CHART_DATA}} | 图表JSON数据 | 见上方结构 |
6.3 指标HTML模板
MA趋势
多头排列
MACD
金叉 (DIF: 0.85)
RSI(14)
55.32 (中性)
KDJ
K:78 D:72 J:90
6.4 输出文件
保存为 {股票代码}_analysis.html,例如:AAPL_analysis.html
输出示例
生成的 HTML 报告包含:
- 头部概览 - 股票名称、代码、当前价格、涨跌幅
- K线图表 - 交互式K线图 + MA均线叠加
- MACD图表 - DIF/DEA曲线 + MACD柱状图
- 技术指标面板 - MA趋势/MACD/RSI/KDJ 信号状态
- 基本面指标 - PE/PB/ROE等关键财务指标
- 新闻时间线 - 近期重要新闻列表
- 策略建议卡片 - 短期/中期操作建议 + 风险提示
注意事项
- 所有分析仅供参考,不构成投资建议
- K线数据来源于公开API,可能存在延迟
- 技术指标计算基于历史数据,不代表未来走势
- 建议结合其他专业工具交叉验证
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: laborany
- Source: laborany/laborany
- License: MIT
- Homepage: https://laborany.github.io
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.