Professional financial research report generation — standard structure (summary / views / main body / risks / recommendation), Markdown formatting standards, rating system, and terminology guide.
59
74%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Passed
No findings from the security scan
Fix and improve this skill with Tessl
tessl review fix ./agent/src/skills/report-generate/SKILL.mdGenerate structured, professional-grade financial research reports. Follow the conventions used by securities firms and asset managers, and output complete Markdown reports that can be used directly for investment research reference.
When the user requests a PDF, send the complete Markdown report to write_file
with a .pdf target (prefer artifacts/report.pdf under the active run directory).
The tool renders a real, paginated PDF without requiring system Pango/Cairo.
Check its returned status, path, and bytes_written; include the returned
download_url as a Markdown link labelled with the report's filename. The Web
chat downloads it with authentication and IM channels attach the generated PDF.
A successful write is evidence that the returned path exists; another path's
earlier rejection does not invalidate it. If rendering fails, report that tool
error instead of claiming the PDF was created. Do not write HTML or base64 data
as the content of a .pdf file.
| Type | Length | Core Content | Trigger Scenario |
|---|---|---|---|
| Deep-dive stock report | 3000-5000 words | Company analysis + valuation + rating | "Analyze stock XX" |
| Industry research | 2000-4000 words | Industry structure + trend + recommended names | "How is sector XX?" |
| Strategy report | 1500-3000 words | Macro + strategy + allocation recommendation | "What is the market outlook?" |
| Backtest report | 1000-2000 words | Strategy performance + risk + improvement suggestions | After a backtest is completed |
| Flash comment / note | 500-1000 words | Event commentary + impact + action suggestion | "How should we view event XX?" |
# [Report Title]
> **Rating**: Buy | **Target Price**: ¥XX | **Current Price**: ¥XX
> **Analyst**: Vibe-Trading | **Date**: 2026-03-28
## Summary
3-5 key points, each 1-2 sentences, covering the core conclusion.
Use explicit language such as bullish / bearish / neutral. Do not be vague.
## Core Views
### View 1: [One-line heading]
2-3 paragraphs of discussion, supported by data.
### View 2: [One-line heading]
2-3 paragraphs of discussion, supported by data.
### View 3: [One-line heading]
2-3 paragraphs of discussion, supported by data.
## Main Analysis
### [Section 1: for example Industry analysis / Company fundamentals / Strategy logic]
Detailed analysis...
### [Section 2: for example Financial analysis / Competitive landscape / Backtest results]
Detailed analysis...
### [Section 3: for example Valuation analysis / Catalysts / Risk-reward]
Detailed analysis...
## Data Appendix
Key data tables...
## Risk Warnings
1. [Risk 1]: specific description + trigger condition + impact level
2. [Risk 2]: ...
3. [Risk 3]: ...
## Investment Recommendation
Clear action recommendation, including direction, position size, and time horizon.
---
*Disclaimer: This report is generated by an AI quantitative system for research reference only and does not constitute investment advice.*| Rating | Definition | Expected Return (12 months) | Use Case |
|---|---|---|---|
| Strong Buy | Clearly bullish, high conviction | >30% | Undervalued + catalyst + favorable trend |
| Buy | Bullish, reasonably high conviction | 15%-30% | Improving fundamentals + fair valuation |
| Neutral | No clear directional edge | -5%~15% | Fair valuation but lacks catalysts |
| Avoid | Bearish | <-5% | Overvaluation / deteriorating fundamentals |
| Rating | Definition | Applicable Standard |
|---|---|---|
| High allocation priority | Excellent risk-reward profile | Sharpe > 1.5, max drawdown < 20% |
| Allocatable | Good risk-reward profile | Sharpe > 1.0, max drawdown < 30% |
| Watch | Needs more validation | Sharpe 0.5-1.0 |
| Not recommended | Poor risk-reward profile | Sharpe < 0.5 or drawdown > 40% |
# H1: Report title (only one)
## H2: Main sections (summary / views / body / risks / recommendation)
### H3: Subsections
#### H4: Maximum depth; use bold text instead of deeper nesting| Metric | 2024A | 2025E | 2026E | Notes |
|------|-------|-------|-------|------|
| Revenue (100m RMB) | 500.2 | 580.0 | 660.0 | +15% YoY |
| Net profit (100m RMB) | 45.3 | 55.0 | 65.0 | +22% YoY |
| PE(TTM) | 25.0x | 20.5x | 17.3x | Valuation compressing |Table rules:
100m / 10k / RMB)E (2025E), actual values use A (2024A)| Type | Format | Example |
|---|---|---|
| Percentage | X.X% | Return 12.5% |
| Large amount | X,XXX.X亿 | Market cap 1,234.5亿 |
| Small amount | X.XX元 | Stock price 25.80元 |
| Multiple | X.Xx | PE 20.5x |
| Date | YYYY-MM-DD | 2026-03-28 |
| Time range | YYYY.MM-YYYY.MM | 2024.01-2025.03 |
Since Markdown output cannot embed images, use the following substitute:
### Equity Curve
The strategy equity started at 1.00 in 2020-01, peaked at 1.85 in 2021-02,
then suffered its largest drawdown from 2022.04 to 2022.10 (-25.3%), and
recovered by 2023.06 to a new high of 2.10.
| Time Point | Equity | Cumulative Return | Phase Event |
|---------|------|---------|---------|
| 2020-01 | 1.00 | 0% | Start |
| 2021-02 | 1.85 | +85% | Bull-market peak |
| 2022-10 | 1.38 | +38% | Drawdown low |
| 2023-06 | 2.10 | +110% | Recovery to new high |
| 2024-12 | 2.45 | +145% | Latest || Scenario | Professional Expression | Avoid |
|---|---|---|
| Price down | pullback / correction / drawdown | dropped / fell |
| Price up | strengthened / rebounded / recovered / climbed | rose / went up |
| Uncertainty | uncertainty remains / needs monitoring | hard to say / cannot tell |
| Recommend buying | recommend overweight / add | buy now |
| Recommend selling | recommend underweight / avoid | sell now |
| Undervalued | valuation offers a margin of safety | cheap |
| Expensive | valuation premium is elevated | expensive |
| Trend favorable | conditions are improving / trend is constructive | market looks okay |
| Abbreviation | Full Name | Chinese Meaning |
|---|---|---|
| YoY | Year over Year | 同比 |
| QoQ | Quarter over Quarter | 环比 |
| MoM | Month over Month | 月环比 |
| TTM | Trailing Twelve Months | 滚动12个月 |
| CAGR | Compound Annual Growth Rate | 复合增长率 |
| ROE | Return on Equity | 净资产收益率 |
| EPS | Earnings Per Share | 每股收益 |
| FCF | Free Cash Flow | 自由现金流 |
After a backtest is completed, read the engine-written metrics.csv and
equity.csv from that run. Declare reported measurements with the run directory
or exact engine field as their grounding reference. A metrics file you write
yourself is not evidence, and a previous run's archive cannot substantiate the
current call. For list results, use the exact element reference (for example,
call_id::data.positions[0].contribution_pct); correction hints only identify
candidates to check and cite explicitly.
Use the verified output to generate:
# Backtest Report: [Strategy Name]
## Strategy Overview
- **Strategy type**: momentum / mean reversion / multi-factor / ...
- **Instruments**: 000001.SZ, 600519.SH, ...
- **Backtest period**: 2016-01-01 to 2026-01-01
- **Initial capital**: ¥1,000,000
## Performance Summary
| Metric | Strategy | Benchmark (CSI 300) | Excess |
|------|------|-------------|------|
| Cumulative return | +145.2% | +35.6% | +109.6% |
| Annualized return | 9.8% | 3.2% | +6.6% |
| Sharpe | 1.25 | 0.45 | - |
| Max drawdown | -18.5% | -32.4% | - |
| Calmar | 0.53 | 0.10 | - |
| Win rate | 58.3% | - | - |
| Trade count | 245 | - | - |
## Annual Performance
| Year | Return | Benchmark | Excess | Max Drawdown |
|------|------|------|------|---------|
| 2016 | +12.3% | -8.5% | +20.8% | -8.2% |
| ... | ... | ... | ... | ... |
## Risk Analysis
[Insert output from the `risk-analysis` skill]
## Improvement Suggestions
1. Specific suggestion 1...
2. Specific suggestion 2...
## Rating: Allocatable
Sharpe > 1.0 and max drawdown < 20%, indicating a good risk-reward profile.Output the complete Markdown research report directly, following the template structure above. Ensure that:
target price 25-30 RMB instead of target price 27.5 RMB)251b094
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.