Purpose
Clean and normalize A-share financial data — prepare raw financial data from 巨潮 filings for modeling and analysis.
Data Sources
Tier 0 — 万得 Wind (most comprehensive paid data)
- Coverage: A-shares/Hong Kong and US stocks/funds/indices/bonds/macro/research reports/analysis (44 tools)
- MCP service:
wind-mcp(requiresWIND_API_KEYkey, starting withak_) - Advantages: broadest full-market coverage, most comprehensive data, includes research reports and quantitative analysis
- Key application:https://aifinmarket.wind.com.cn/#/home
Tier 1 — 同花顺 iFind (paid precise data) / AkShare MCP (Tier-2 free alternative)
get_financials(ticker, "income") → Raw income statement
get_financials(ticker, "balance") → Raw balance sheet
get_financials(ticker, "cashflow") → Raw cash flow statement
Secondary Sources
- 巨潮 — original filings (PDF/HTML)
- Audit report — audited figures
Workflow
Step 1: Data Extraction
Extract from source documents:
| Document | Key Data | Format |
|---|---|---|
| Balance sheet | Assets, liabilities, equity | thousand yuan |
| Income statement | Revenue, expenses, profit | thousand yuan |
| Cash flow statement | Operating, investing, financing CF | thousand yuan |
| Notes to financial statements | Detail breakdowns | Text/number |
| Audit report | Audit opinion, adjustments | Text |
Extraction checklist:
- All periods extracted (typically 3-5 years)
- Quarterly data if needed
- Prior year comparatives
- Notes and footnotes captured
Step 2: Normalize Units
Unit standardization:
| Issue | Solution |
|---|---|
| thousand yuan vs ten thousand yuan vs yuan | Standardize to 万元 |
| Different report dates | Align to same period-end |
| Segment data | Map to consistent segments |
| Currency | All CNY |
Unit conversion:
From 千元: divide by 10 → 万元
From 元: divide by 10,000 → 万元
From 亿元: multiply by 10,000 → 万元
Step 3: Handle CAS-Specific Items
CAS vs IFRS mapping:
| CAS Line Item | Equivalent | Notes |
|---|---|---|
| Operating revenue | Revenue | Net of VAT |
| Operating costs | COGS | Includes VAT |
| Taxes and surcharges | Tax & surcharges | 城建税, 教育费附加 |
| Selling expenses | SG&A (selling) | |
| Administrative expenses | G&A | |
| R&D expenses | R&D | Separated from G&A in new CAS |
| Financial expenses | Interest & finance costs | |
| Investment income | Investment income | Including 联营/合营 |
| Fair value changes | Fair value change | |
| Credit impairment losses | Credit impairment | New CAS 22 |
| Asset impairment losses | Asset impairment | |
| Asset disposal income | Asset disposal | |
| Non-operating income | Non-operating income | Including 政府补助 |
| Non-operating expenses | Non-operating expense | |
| Income tax expense | Income tax | |
| Net profit | Net income | |
| Net profit attributable to parent company | Net income to parent | Key metric |
| Net profit after non-recurring items | Non-GAAP net income |
Step 4: Fix Common Data Issues
Common issues and fixes:
| Issue | Detection | Fix |
|---|---|---|
| Missing periods | Gap in data | Flag for manual fill |
| Restated figures | Footnote "重述" | Use most recent restatement |
| Segment reclassification | Note disclosure | Map to new segments |
| One-time items | Large/unusual items | Flag for normalization |
| Related party | 关联交易标注 | Identify and quantify |
| Accounting change | Policy change note | Adjust comparables |
| Error | Doesn't sum | Investigate and correct |
Step 5: Revenue Breakdown
Revenue by type:
| Type | CAS Line | Notes |
|---|---|---|
| Main business revenue | Core revenue | Main business |
| Other business revenue | Other revenue | Ancillary |
| Total | Total revenue |
Revenue by geography (if disclosed):
| Region | Current Year | Prior Year | Growth |
|---|---|---|---|
| Domestic | |||
| Overseas | |||
| Total |
Step 6: Expense Normalization
Normalize non-recurring items:
| Item | Treatment |
|---|---|
| Asset disposal gains/losses | Exclude from operations |
| 政府补助 (non-recurring) | Exclude or note separately |
| Litigation/fines | Exclude |
| Impairment (one-time) | Exclude or normalize |
| M&A-related expenses | Exclude |
Adjusted metrics:
调整后营业收入 = 营业收入 - 其他业务收入
调整后营业成本 = 营业成本 (core only)
调整毛利率 = 调整后毛利 / 调整后收入
Step 7: Balance Sheet Clean-up
Balance sheet mapping:
| CAS Item | Modeling Category |
|---|---|
| Monetary funds | Cash & equivalents |
| Trading financial assets | Short-term investments |
| Notes receivable | Notes receivable |
| Accounts receivable | Accounts receivable |
| Prepayments | Prepayments |
| Other receivables | Other receivables |
| Inventory | Inventory |
| Other current assets | Other current assets |
| Long-term equity investments | Long-term investments |
| Fixed assets | PPE |
| Construction in progress | Construction in progress |
| Intangible assets | Intangibles |
| Goodwill | Goodwill |
| Long-term deferred expenses | Deferred charges |
| Other non-current assets | Other non-current |
| Short-term borrowings | Short-term debt |
| Notes payable | Notes payable |
| Accounts payable | Accounts payable |
| Contract liabilities | Contract liabilities |
| Employee benefits payable | Accrued compensation |
| Taxes payable | Taxes payable |
| Other payables | Other payables |
| Non-current liabilities due within one year | Current portion LTD |
| Long-term borrowings | Long-term debt |
| Bonds payable | Bonds payable |
| Provisions | Provisions |
| Deferred tax liabilities | DTL |
| Other non-current liabilities | Other non-current |
| Share capital | Share capital |
| Capital reserve | Capital reserve |
| Surplus reserve | Retained earnings (statutory) |
| Undistributed profits | Retained earnings |
| Equity attributable to shareholders of the parent company | Parent equity |
| Minority interests | Minority interest |
Step 8: Quality Checks
Data quality checklist:
| Check | Pass Criteria |
|---|---|
| Balance sheet balances | Assets = Liabilities + Equity |
| Cash flow ties | CF = ending cash - beginning cash |
| Revenue matches | Cross-check with segment data |
| Tax reasonable | Tax / pre-tax income ~25% |
| Depreciation consistent | D&A / PPE stable |
| Interest matches | Interest / debt reasonable |
China-Specific Data Issues
Common Issues
| Issue | Example | Fix |
|---|---|---|
| Inconsistent units | Some in thousands, some in yuan | Standardize |
| Changes in accounting policies | Revenue recognition change | Adjust comparables |
| Changes in statement format | New line items | Map to old format |
| Retrospective adjustments | Prior period restatement | Use restated figures |
| Foreign currency statements | Subsidiary in USD | Convert to CNY |
CAS-Specific Treatments
| Item | CAS Treatment |
|---|---|
| Research and development expenses | Must be expensed (not capitalized, generally) |
| Government grants | Gross method vs net method |
| Share-based payment | Expensed over vesting period |
| Insurance contracts | CAS 25 (if applicable) |
Quality Checks
Before passing data for modeling:
- All periods complete
- Units standardized
- Balance sheet balances
- Cash flow ties
- CAS items correctly mapped
- Non-recurring items flagged
- Restatements applied
- Quality issues documented
Data Source Mode Switch: Set env var
IFIND_DATA_SOURCE_MODEto control data source preference.
ifind-only(strict): Use iFind only, error if unavailableifind-fallback(default): iFind preferred, fallback to AkShareakshare-only: Skip iFind, use AkShare onlywind-only: Wind only, error if unavailablewind-fallback: Wind first, fallback to iFind → AkShare