china-stock-analysis
npx skills add https://github.com/sugarforever/01coder-agent-skills --skill china-stock-analysis
Agent 安装分布
Skill 文档
China Stock Analysis Skill
åºäºä»·å¼æèµç论çä¸å½Aè¡åæå·¥å ·ï¼é¢åä½é¢äº¤æçæ®éæèµè ã
When to Use
å½ç¨æ·è¯·æ±ä»¥ä¸æä½æ¶è°ç¨æ¤skillï¼
- åææåªAè¡è¡ç¥¨
- çéç¬¦åæ¡ä»¶çè¡ç¥¨
- 对æ¯å¤åªè¡ç¥¨æè¡ä¸å è¡ç¥¨
- 计ç®è¡ç¥¨ä¼°å¼æå å¨ä»·å¼
- æ¥çè¡ç¥¨çè´¢å¡å¥åº·ç¶åµ
- æ£æµè´¢å¡å¼å¸¸é£é©
Prerequisites
Pythonç¯å¢è¦æ±
pip install akshare pandas numpy
ä¾èµæ£æ¥
卿§è¡ä»»ä½åæåï¼å æ£æ¥akshareæ¯å¦å·²å®è£ ï¼
python -c "import akshare; print(akshare.__version__)"
妿æªå®è£ ï¼æç¤ºç¨æ·å®è£ ï¼
pip install akshare
Core Modules
1. Stock Screener (è¡ç¥¨çéå¨)
çéç¬¦åæ¡ä»¶çè¡ç¥¨
2. Financial Analyzer (è´¢å¡åæå¨)
ä¸ªè¡æ·±åº¦è´¢å¡åæ
3. Industry Comparator (è¡ä¸å¯¹æ¯)
åè¡ä¸æ¨ªå对æ¯åæ
4. Valuation Calculator (ä¼°å¼è®¡ç®å¨)
å å¨ä»·å¼æµç®ä¸å®å ¨è¾¹é 计ç®
Workflow 1: Stock Screening (è¡ç¥¨çé)
ç¨æ·è¯·æ±çéè¡ç¥¨æ¶ä½¿ç¨ã
Step 1: Collect Screening Criteria
åç¨æ·è¯¢é®ç鿡件ãæä¾ä»¥ä¸é项ä¾ç¨æ·éæ©æèªå®ä¹ï¼
估弿æ ï¼
- PE (å¸çç): ä¾å¦ PE < 15
- PB (å¸åç): ä¾å¦ PB < 2
- PS (å¸éç): ä¾å¦ PS < 3
çå©è½åï¼
- ROE (åèµäº§æ¶çç): ä¾å¦ ROE > 15%
- ROA (æ»èµäº§æ¶çç): ä¾å¦ ROA > 8%
- æ¯å©ç: ä¾å¦ > 30%
- åå©ç: ä¾å¦ > 10%
æé¿æ§ï¼
- è¥æ¶å¢é¿ç: ä¾å¦ > 10%
- å婿¶¦å¢é¿ç: ä¾å¦ > 15%
- è¿ç»å¢é¿å¹´æ°: ä¾å¦ >= 3å¹´
è¡æ¯ï¼
- è¡æ¯ç: ä¾å¦ > 3%
- è¿ç»å红年æ°: ä¾å¦ >= 5å¹´
è´¢å¡å®å ¨ï¼
- èµäº§è´åºç: ä¾å¦ < 60%
- æµå¨æ¯ç: ä¾å¦ > 1.5
- é卿¯ç: ä¾å¦ > 1
çéèå´ï¼
- å ¨Aè¡
- 沪深300æåè¡
- ä¸è¯500æåè¡
- å䏿¿/ç§åæ¿
- ç¨æ·èªå®ä¹å表
Step 2: Execute Screening
python scripts/stock_screener.py \
--scope "hs300" \
--pe-max 15 \
--roe-min 15 \
--debt-ratio-max 60 \
--dividend-min 2 \
--output screening_result.json
åæ°è¯´æï¼
--scope: çéèå´ (all/hs300/zz500/cyb/kcb/custom:600519,000858,…)--pe-max/--pe-min: PEèå´--pb-max/--pb-min: PBèå´--roe-min: æä½ROE--growth-min: æä½å¢é¿ç--debt-ratio-max: æå¤§èµäº§è´åºç--dividend-min: æä½è¡æ¯ç--output: è¾åºæä»¶è·¯å¾
Step 3: Present Results
读å screening_result.json å¹¶ä»¥è¡¨æ ¼å½¢å¼åç°ç»ç¨æ·ï¼
| 代ç | åç§° | PE | PB | ROE | è¡æ¯ç | è¯å |
|---|---|---|---|---|---|---|
| 600519 | è´µå·è å° | 25.3 | 8.5 | 30.2% | 2.1% | 85 |
Workflow 2: Stock Analysis (个è¡åæ)
ç¨æ·è¯·æ±åææåªè¡ç¥¨æ¶ä½¿ç¨ã
Step 1: Collect Stock Information
询é®ç¨æ·ï¼
- è¡ç¥¨ä»£ç æåç§°
- åææ·±åº¦çº§å«ï¼
- æè¦çº§ï¼å ³é®ææ + æèµç»è®ºï¼1页ï¼
- æ å级ï¼è´¢å¡åæ + ä¼°å¼ + è¡ä¸å¯¹æ¯ + é£é©æç¤º
- 深度级ï¼å®æ´è°ç æ¥åï¼å å«å岿°æ®è¿½è¸ª
Step 2: Fetch Stock Data
python scripts/data_fetcher.py \
--code "600519" \
--data-type all \
--years 5 \
--output stock_data.json
åæ°è¯´æï¼
--code: è¡ç¥¨ä»£ç --data-type: æ°æ®ç±»å (basic/financial/valuation/holder/all)--years: è·åå¤å°å¹´çå岿°æ®--output: è¾åºæä»¶
Step 3: Run Financial Analysis
python scripts/financial_analyzer.py \
--input stock_data.json \
--level standard \
--output analysis_result.json
åæ°è¯´æï¼
--input: è¾å ¥çè¡ç¥¨æ°æ®æä»¶--level: åææ·±åº¦ (summary/standard/deep)--output: è¾åºæä»¶
Step 4: Calculate Valuation
python scripts/valuation_calculator.py \
--input stock_data.json \
--methods dcf,ddm,relative \
--discount-rate 10 \
--growth-rate 8 \
--output valuation_result.json
åæ°è¯´æï¼
--input: è¡ç¥¨æ°æ®æä»¶--methods: 估弿¹æ³ (dcf/ddm/relative/all)--discount-rate: æç°ç(%)--growth-rate: æ°¸ç»å¢é¿ç(%)--margin-of-safety: å®å ¨è¾¹é (%)--output: è¾åºæä»¶
Step 5: Generate Report
读ååæç»æï¼åè templates/analysis_report.md 模æ¿çæä¸æåææ¥åã
æ¥åç»æï¼æ å级ï¼ï¼
- å ¬å¸æ¦åµï¼åºæ¬ä¿¡æ¯ã主è¥ä¸å¡
- è´¢å¡å¥åº·ï¼èµäº§è´åºè¡¨åæ
- çå©è½åï¼æé¦åæã婿¶¦çè¶å¿
- æé¿æ§åæï¼è¥æ¶/婿¶¦å¢é¿è¶å¿
- ä¼°å¼åæï¼DCF/DDM/ç¸å¯¹ä¼°å¼
- é£é©æç¤ºï¼è´¢å¡å¼å¸¸æ£æµãè¡ä¸åæ
- æèµç»è®ºï¼ç»¼åè¯åãæä½å»ºè®®
Workflow 3: Industry Comparison (è¡ä¸å¯¹æ¯)
Step 1: Collect Comparison Targets
询é®ç¨æ·ï¼
- ç®æ è¡ç¥¨ä»£ç ï¼å¯å¤ä¸ªï¼
- æè ï¼è¡ä¸åç±» + å¯¹æ¯æ°é
Step 2: Fetch Industry Data
python scripts/data_fetcher.py \
--codes "600519,000858,002304" \
--data-type comparison \
--output industry_data.json
ææè¡ä¸è·åï¼
python scripts/data_fetcher.py \
--industry "ç½é
" \
--top 10 \
--output industry_data.json
Step 3: Generate Comparison
python scripts/financial_analyzer.py \
--input industry_data.json \
--mode comparison \
--output comparison_result.json
Step 4: Present Comparison Table
| ææ | è´µå·è å° | äºç²®æ¶² | æ´æ²³è¡ä»½ | è¡ä¸åå¼ |
|---|---|---|---|---|
| PE | 25.3 | 18.2 | 15.6 | 22.4 |
| ROE | 30.2% | 22.5% | 20.1% | 18.5% |
| æ¯å©ç | 91.5% | 75.2% | 72.3% | 65.4% |
| è¯å | 85 | 78 | 75 | – |
Workflow 4: Valuation Calculator (ä¼°å¼è®¡ç®)
Step 1: Collect Valuation Parameters
询é®ç¨æ·ä¼°å¼åæ°ï¼æä½¿ç¨é»è®¤å¼ï¼ï¼
DCF模ååæ°ï¼
- æç°ç (WACC): é»è®¤10%
- 颿µæ: é»è®¤5å¹´
- æ°¸ç»å¢é¿ç: é»è®¤3%
DDM模ååæ°ï¼
- è¦æ±åæ¥ç: é»è®¤10%
- è¡æ¯å¢é¿ç: 使ç¨å岿°æ®æ¨ç®
ç¸å¯¹ä¼°å¼åæ°ï¼
- 对æ¯åºå: è¡ä¸åå¼ / åå²åå¼
Step 2: Run Valuation
python scripts/valuation_calculator.py \
--code "600519" \
--methods all \
--discount-rate 10 \
--terminal-growth 3 \
--forecast-years 5 \
--margin-of-safety 30 \
--output valuation.json
Step 3: Present Valuation Results
| 估弿¹æ³ | å å¨ä»·å¼ | å½åä»·æ ¼ | å®å ¨è¾¹é ä»·æ ¼ | ç»è®º |
|---|---|---|---|---|
| DCF | Â¥2,150 | Â¥1,680 | Â¥1,505 | ä½ä¼° |
| DDM | Â¥1,980 | Â¥1,680 | Â¥1,386 | ä½ä¼° |
| ç¸å¯¹ä¼°å¼ | Â¥1,850 | Â¥1,680 | Â¥1,295 | åç |
Financial Anomaly Detection (è´¢å¡å¼å¸¸æ£æµ)
å¨åæè¿ç¨ä¸èªå¨æ£æµä»¥ä¸å¼å¸¸ä¿¡å·ï¼
æ£æµé¡¹ç®
-
åºæ¶è´¦æ¬¾å¼å¸¸
- åºæ¶è´¦æ¬¾å¢é > è¥æ¶å¢é à 1.5
- åºæ¶è´¦æ¬¾å¨è½¬å¤©æ°å¤§å¹ å¢å
-
ç°éæµè离
- å婿¶¦æç»å¢é¿ä½ç»è¥ç°éæµä¸é
- ç°éæ¶å ¥æ¯ < 80%
-
åè´§å¼å¸¸
- åè´§å¢é > è¥æ¶å¢é à 2
- åè´§å¨è½¬å¤©æ°å¤§å¹ å¢å
-
æ¯å©çå¼å¸¸
- æ¯å©çæ³¢å¨ > è¡ä¸å弿³¢å¨ à 2
- æ¯å©çä¸åè¡ä¸¥éå离
-
å ³è交æ
- å ³è交æå æ¯è¿é«ï¼> 30%ï¼
-
è¡ä¸åæ
- 大è¡ä¸è¿æåæå ¬å
- é«ç®¡éä¸åæ
é£é©ç级
- ð¢ ä½é£é©ï¼æ ææ¾å¼å¸¸
- ð¡ ä¸é£é©ï¼1-2项轻微å¼å¸¸
- ð´ é«é£é©ï¼å¤é¡¹å¼å¸¸æä¸¥éå¼å¸¸
A-Share Specific Analysis (Aè¡ç¹è²åæ)
æ¿çææåº¦
æ ¹æ®è¡ä¸åç±»æä¾æ¿çç¸å ³æç¤ºï¼
- æ¿å°äº§ï¼æ¿ä½ä¸çæ¿ç
- æ°è½æºï¼è¡¥è´´æ¿çåå
- å»è¯ï¼ééæ¿çå½±å
- äºèç½ï¼ååæãæ°æ®å®å ¨
è¡ä¸ç»æåæ
- æ§è¡è¡ä¸ç±»åï¼å½ä¼/æ°ä¼/å¤èµï¼
- è¡æéä¸åº¦
- è¿æå¢åææ åµ
- è´¨æ¼æ¯ä¾
Output Format
JSONè¾åºæ ¼å¼
ææèæ¬è¾åºJSONæ ¼å¼ï¼ä¾¿äºåç»å¤çï¼
{
"code": "600519",
"name": "è´µå·è
å°",
"analysis_date": "2025-01-25",
"level": "standard",
"summary": {
"score": 85,
"conclusion": "ä½ä¼°",
"recommendation": "建议å
³æ³¨"
},
"financials": { ... },
"valuation": { ... },
"risks": [ ... ]
}
Markdownæ¥å
çæç»æåç䏿Markdownæ¥åï¼åè templates/analysis_report.mdã
Error Handling
ç½ç»é误
妿akshareæ°æ®è·åå¤±è´¥ï¼æç¤ºç¨æ·ï¼
- æ£æ¥ç½ç»è¿æ¥
- ç¨åéè¯ï¼å¯è½æ¯æ¥å£éæµï¼
- å°è¯æ´æ¢æ°æ®æº
è¡ç¥¨ä»£ç æ æ
æç¤ºç¨æ·æ£æ¥è¡ç¥¨ä»£ç æ¯å¦æ£ç¡®ï¼æä¾å¯è½çå¹é 建议ã
æ°æ®ä¸å®æ´
å¯¹äºæ°ä¸å¸è¡ç¥¨æè´¢å¡æ°æ®ä¸å®æ´çæ åµï¼è¯´ææ°æ®éå¶å¹¶åºäºå¯ç¨æ°æ®è¿è¡åæã
Best Practices
- æ°æ®æ¶ææ§ï¼è´¢å¡æ°æ®ä»¥ææ°å£æ¥/å¹´æ¥ä¸ºåï¼ä»·æ ¼æ°æ®ä¸ºå½æ¥æ¶çä»·
- æèµå»ºè®®ï¼ææåæä» ä¾åèï¼ä¸æææèµå»ºè®®
- é£é©æç¤ºï¼å§ç»å å«é£é©æç¤ºï¼ç¹å«æ¯è´¢å¡å¼å¸¸æ£æµç»æ
- 对æ¯åæï¼ååªè¡ç¥¨åææ¶ï¼èªå¨å å«è¡ä¸åå¼å¯¹æ¯
Important Notes
- ææåæåºäºå ¬å¼è´¢å¡æ°æ®ï¼ä¸æ¶åä»»ä½å å¹ä¿¡æ¯
- 估弿¨¡åçåæ°åè®¾å¯¹ç»æå½±åè¾å¤§ï¼éåç¨æ·è¯´æ
- Aè¡å¸åºåæ¿çå½±åè¾å¤§ï¼å®éåæéç»å宿§å¤æ