本仓库当前包含一个可直接运行的技能:skills/stock-analysis。
它基于价值投资思路,使用 Tushare 公共数据提供 A 股筛选、个股分析、板块对比、估值计算与新闻舆情分析能力。
npx skills add https://github.com/zuoa/aj-skills --skill aj-stock-analysisskills/stock-analysis/
├─ SKILL.md # 技能定义与工作流说明
├─ scripts/ # 可执行脚本
├─ tests/ # pytest 测试
├─ templates/analysis_report.md # 报告模板
├─ references/ # 方法论参考资料
└─ config/ # 默认板块配置
- 创建并激活虚拟环境
cd skills/stock-analysis
python3 -m venv .venv
source .venv/bin/activate- 安装依赖
pip install -U pip
pip install tushare pandas numpy pytest- 配置 Tushare Token(任选其一)
方式 A:环境变量
export TUSHARE_TOKEN=your_token方式 B:写入 ~/.aj-skills/.env
mkdir -p ~/.aj-skills
cat > ~/.aj-skills/.env <<'EOF'
TUSHARE_TOKEN=your_token
EOF- 检查安装
python3 -c "import tushare; print(tushare.__version__)"scripts/stock_screener.py: 多指标股票筛选(PE/PB/ROE/负债率/市值等)scripts/data_fetcher.py: 拉取个股或多股基础数据、财务数据、估值与行情scripts/financial_analyzer.py: 财务健康度、成长性、杜邦分析、异常检测、评分scripts/valuation_calculator.py: DCF/DDM/相对估值与安全边际测算scripts/sector_fetcher.py: 按板块配置批量抓取股票数据scripts/sector_analyze.py: 板块统计、综合评分排名与 Markdown 报告scripts/news_fetcher.py: 新闻抓取(优先 Tushare,回退 RSS)scripts/sentiment_analyzer.py: 规则词典情绪与风险标签分析
python scripts/stock_screener.py \
--scope hs300 \
--pe-max 20 \
--roe-min 12 \
--debt-ratio-max 60 \
--top 30 \
--output output/screener.jsonpython scripts/data_fetcher.py \
--code 600519 \
--data-type all \
--years 5 \
--with-news \
--news-days 7 \
--news-limit 20 \
--output output/600519_data.jsonpython scripts/financial_analyzer.py \
--input output/600519_data.json \
--level standard \
--output output/600519_financial.json \
--report-md output/600519_report.mdpython scripts/valuation_calculator.py \
--input output/600519_data.json \
--methods all \
--discount-rate 10 \
--terminal-growth 3 \
--margin-of-safety 30 \
--output output/600519_valuation.jsonpython scripts/sector_fetcher.py \
--sector-name 算力板块 \
--output output/sector_data.json
python scripts/sector_analyze.py \
--input output/sector_data.json \
--output output/sector_analysis.json \
--report-md output/sector_analysis.mdpython scripts/news_fetcher.py \
--code 600519 \
--name 贵州茅台 \
--days 7 \
--limit 20 \
--output output/news.json
python scripts/sentiment_analyzer.py \
--input output/news.json \
--output output/sentiment.jsoncd skills/stock-analysis
source .venv/bin/activate
pytest -q- 绝大多数脚本支持
--format json|table - 指定
--output时会将结果落盘为 JSON 文件 financial_analyzer.py与sector_analyze.py支持额外输出 Markdown 报告
- 本项目依赖外部数据源,接口限流或网络问题会影响抓取速度与成功率
- 新闻舆情模块是规则法(MVP),适合快速风险扫描,不等于完整研报结论
- 结果仅供研究与学习,不构成投资建议