# 财务数据字典 (Financial Data Dictionary)

本文档定义了项目前端财务报表中展示的所有数据字段。所有数据源（无论是 Tushare 还是 Finnhub）提供的数据，最终都应被标准化为本文档定义的字段。

**术语说明**：
- Income Statement = 利润表（简称：IC）
- Balance Sheet = 资产负债表（简称：BS）
- Cash Flow Statement = 现金流量表（简称：CF）

## 0. 页面元字段与昨日快照 (Meta & Snapshot)

| 标准字段 (Standard Field) | 中文描述 | 分类 | Tushare 来源 | Finnhub 来源 |
| :--- | :--- | :--- | :--- | :--- |
| `name` | 公司名称 | 页面元 | **API**: `stock_basic`, 字段: `name` | `company_profile2`, 字段: `name` |
| `trade_date` | 快照日期 | 快照 | `daily_basic.trade_date`（兜底 `daily.trade_date`） | `stock_candles.t`（秒级时间戳，转为 YYYYMMDD） |
| `close` | 股价（收盘价） | 快照 | **API**: `daily_basic.close`（兜底 `daily.close`） | `stock_candles`（或 `/quote` 的 `c` 实时） |
| `pe` | PE（市盈率） | 快照 | **API**: `daily_basic.pe` | `company-basic-financials.metrics.peTTM`（或 `peBasicExclExtraTTM`） |
| `pb` | PB（市净率） | 快照 | **API**: `daily_basic.pb` | `company-basic-financials.metrics.pb` |
| `dv_ratio` | 股息率（%） | 快照 | **API**: `daily_basic.dv_ratio` | `company-basic-financials.metrics.dividendYieldTTM`（候选：`dividendYieldIndicatedAnnual`） |
| `total_mv` | 市值（万元） | 快照 | **API**: `daily_basic.total_mv` | `company-basic-financials.metrics.marketCapitalization`（或 `company_profile2.marketCapitalization`） |

## 1. 主要指标 (Key Indicators)

| 标准字段 (Standard Field) | 中文描述 | 分类 | Tushare 来源 | Finnhub 来源 |
| :--- | :--- | :--- | :--- | :--- |
| `roe` | ROE (净资产收益率) | 核心 | **API**: `fina_indicator`, **字段**: `roe` | 优先: `company-basic-financials.metrics.roeTTM`；若无，再计算: `NetIncomeLoss / StockholdersEquityTotal`（financials-reported, annual） |
| `roa` | ROA (总资产报酬率) | 核心 | **API**: `fina_indicator`, **字段**: `roa` | 优先: `company-basic-financials.metrics.roaTTM`；若无，再计算: `NetIncomeLoss / AssetsTotal`（financials-reported, annual） |
| `roic` | ROIC (投入资本回报率) | 核心 | **API**: `fina_indicator`, **字段**: `roic` | 优先: `company-basic-financials.metrics.roicTTM`（若提供）；若无，再近似计算: `NetIncomeLoss / (StockholdersEquityTotal + LongTermDebt + ShortTermDebt - CashAndCashEquivalents)`（financials-reported, annual） |
| `grossprofit_margin` | 毛利率 | 核心 | **API**: `fina_indicator`, **字段**: `grossprofit_margin` | 优先: `company-basic-financials.metrics.grossMarginTTM`；若无，再计算: `GrossProfit / RevenuesTotal`（ic, annual） |
| `netprofit_margin` | 净利润率 | 核心 | **API**: `fina_indicator`, **字段**: `netprofit_margin` | 优先: `company-basic-financials.metrics.netProfitMarginTTM`；若无，再计算: `NetIncomeLoss / RevenuesTotal`（ic, annual） |
| `revenue` | 营业总收入 | 核心 | **API**: `income`, **字段**: `revenue` | ic 概念名候选: `RevenuesTotal`/`Revenues`（financials-reported, annual）；备选: `company-basic-financials.metrics.revenueTTM`（TTM 口径） |
| `tr_yoy` | 收入增速 | 核心 | **API**: `fina_indicator`, **字段**: `tr_yoy` | 优先: `company-basic-financials.metrics.revenueGrowthTTM`（或 `revenueGrowthYoY`）；若无，再计算: `(revenue(y)-revenue(y-1))/revenue(y-1)`（annual） |
| `n_income` | 净利润 | 核心 | **API**: `income`, **字段**: `n_income` | ic: `NetIncomeLoss`（financials-reported, annual） |
| `dt_netprofit_yoy` | 净利润增速 | 核心 | **API**: `fina_indicator`, **字段**: `dt_netprofit_yoy` | 优先: `company-basic-financials.metrics.netIncomeGrowthTTM`；若无，再计算: `(net_income(y)-net_income(y-1))/net_income(y-1)`（annual） |
| `n_cashflow_act` | 经营净现金流 | 核心 | **API**: `cashflow`, **字段**: `n_cashflow_act` | cf 候选: `NetCashFlowOperating` / `NetCashProvidedByUsedInOperatingActivities`（financials-reported, annual） |
| `c_pay_acq_const_fiolta` | 资本开支 | 核心 | **API**: `cashflow`, **字段**: `c_pay_acq_const_fiolta` | cf 候选: `CapitalExpenditures` / `PaymentsToAcquirePropertyPlantAndEquipment`（financials-reported, annual） |
| `__free_cash_flow` | 自由现金流 | 计算 | `n_cashflow_act` - `c_pay_acq_const_fiolta` | 优先: `company-basic-financials.metrics.freeCashFlowTTM`；若需年度序列或指标缺失，再计算: `NetCashFlowOperating - CapitalExpenditures`（cf, annual） |
| `dividend_amount` | 分红总额 (亿元) | 计算 | **API**: `dividend` <br> 按派息年份(`pay_date`)汇总 <br> `(cash_div_tax * base_share) / 10000` | cf 候选: `PaymentsOfDividends` / `PaymentsOfDividendsTotal`（financials-reported，当年合计） |
| `repurchase_amount` | 回购总额 (万元) | 核心 | **API**: `repurchase` <br> 按年份汇总，取该年**最后一次**公告的`amount` | cf 候选: `RepurchaseOfCapitalStock` / `PaymentsForRepurchaseOfCommonStock`（financials-reported，当年合计） |
| `total_assets` | 总资产 | 核心 | **API**: `balancesheet`, **字段**: `total_assets` | bs 候选: `AssetsTotal` / `Assets`（financials-reported, annual） |
| `total_hldr_eqy_exc_min_int`| 净资产 | 核心 | **API**: `balancesheet`, **字段**: `total_hldr_eqy_exc_min_int` | bs 候选: `StockholdersEquityTotal`（financials-reported, annual） |
| `goodwill` | 商誉 | 核心 | **API**: `balancesheet`, **字段**: `goodwill` | bs 候选: `Goodwill`；备选: `GoodwillAndIntangibleAssetsTotal`（financials-reported, annual） |

## 2. 费用指标 (Expense Ratios)

| 标准字段 (Standard Field) | 中文描述 | 分类 | Tushare 来源 | Finnhub 来源 |
| :--- | :--- | :--- | :--- | :--- |
| `__sell_rate` | 销售费用率 | 计算 | `sell_exp` / `revenue` | 优先: `company-basic-financials.metrics.sgaToRevenueTTM`（若提供）；若无，再计算: `SellingGeneralAndAdministrativeExpenses / RevenuesTotal`（ic, annual） |
| `__admin_rate`| 管理费用率 | 计算 | `admin_exp` / `revenue` | 多数公司不可稳定分拆，通常并入 SG&A；若披露 `GeneralAndAdministrativeExpense` 则计算: `G&A / Revenue`（ic, annual），否则标注 N/A |
| `__rd_rate` | 研发费用率 | 计算 | `rd_exp` / `revenue` | 优先: `company-basic-financials.metrics.researchAndDevelopmentToRevenueTTM`（若提供）；若无，再计算: `ResearchAndDevelopmentExpense / RevenuesTotal`（ic, annual） |
| `__tax_rate` | 所得税率 | 计算 | `income_tax_exp` / `total_profit` | 优先: `company-basic-financials.metrics.effectiveTaxRateTTM`；若无，再计算: `IncomeTaxExpense / IncomeBeforeIncomeTaxes`（ic, annual） |
| `__depr_ratio`| 折旧费用占比 | 计算 | `depr_fa_coga_dpba` / `revenue` | 若有 `company-basic-financials.metrics.depreciationToRevenueTTM` 则优先；若无，再计算: `DepreciationAndAmortization / RevenuesTotal`（ic/cf, annual） |

## 3. 资产负债结构 (Asset & Liability Structure)

| 标准字段 (Standard Field) | 中文描述 | 分类 | Tushare 来源 | Finnhub 来源 |
| :--- | :--- | :--- | :--- | :--- |
| `__money_cap_ratio` | 现金占比 | 计算 | `money_cap` / `total_assets` | 计算: `CashAndCashEquivalents / AssetsTotal`（bs, annual） |
| `__inventories_ratio` | 库存占比 | 计算 | `inventories` / `total_assets` | 计算: `Inventory / AssetsTotal`（bs, annual） |
| `__ar_ratio` | 应收款占比 | 计算 | `accounts_receiv_bill` / `total_assets` | 计算: `AccountsReceivable / AssetsTotal`（bs, annual） |
| `__prepay_ratio` | 预付款占比 | 计算 | `prepayment` / `total_assets` | 计算: `Prepaid... / AssetsTotal`（bs, annual） |
| `__fix_assets_ratio`| 固定资产占比 | 计算 | `fix_assets` / `total_assets` | 计算: `PropertyPlantAndEquipmentNet / AssetsTotal`（bs, annual） |
| `__lt_invest_ratio` | 长期投资占比 | 计算 | `lt_eqt_invest` / `total_assets` | 计算: `LongTermInvestments / AssetsTotal`（bs, annual） |
| `__goodwill_ratio`| 商誉占比 | 计算 | `goodwill` / `total_assets` | 计算: `Goodwill 或 GoodwillAndIntangibleAssetsTotal / AssetsTotal`（bs, annual） |
| `__other_assets_ratio`| 其他资产占比 | 计算 | **公式**: `(total_assets - sum_of_known_assets) / total_assets` | 计算: `AssetsTotal - (Cash + Inventory + AR + Prepaid + PPE + LTInvest + Goodwill)` 后除以 `AssetsTotal`（bs, annual） |
| `__ap_ratio` | 应付款占比 | 计算 | `accounts_pay` / `total_assets` | 计算: `AccountsPayable / AssetsTotal`（bs, annual） |
| `__adv_ratio` | 预收款占比 | 计算 | `(adv_receipts + contract_liab) / total_assets` | 计算: `DeferredRevenue/ContractWithCustomerLiability / AssetsTotal`（bs, annual） |
| `__st_borr_ratio` | 短期借款占比 | 计算 | `st_borr` / `total_assets` | 计算: `ShortTermDebt / AssetsTotal`（bs, annual） |
| `__lt_borr_ratio` | 长期借款占比 | 计算 | `lt_borr` / `total_assets` | 计算: `LongTermDebt / AssetsTotal`（bs, annual） |
| `__operating_assets_ratio`| 运营资产占比 | 计算 | **公式**: `(运营资产) / total_assets` <br> `运营资产 = (inv + ar + pre) - (ap + adv + contract_liab)` | 计算: `(Inventory + AccountsReceivable + Prepaid) - (AccountsPayable + DeferredRevenue)` 后除以 `AssetsTotal`（bs, annual） |
| `__interest_bearing_debt_ratio` | 有息负债率 | 计算 | (`st_borr` + `lt_borr`) / `total_assets` | 计算: `(ShortTermDebt + LongTermDebt) / AssetsTotal`（bs, annual） |

## 4. 周转能力 (Turnover Ratios)

| 标准字段 (Standard Field) | 中文描述 | 分类 | Tushare 来源 | Finnhub 来源 |
| :--- | :--- | :--- | :--- | :--- |
| `invturn_days` | 存货周转天数 | 核心 | **API**: `fina_indicator`, **字段**: `invturn_days` | 优先: `company-basic-financials.metrics.inventoryTurnoverTTM`，天数=`365/turnover`；若无，再计算: `COGS/平均库存`，天数=`365/周转率`（ic: `CostOfGoodsSold`/`CostOfGoodsAndServicesSold`，annual） |
| `arturn_days` | 应收款周转天数 | 核心 | **API**: `fina_indicator`, **字段**: `arturn_days` | 优先: `company-basic-financials.metrics.daysSalesOutstandingTTM` 或 `receivablesTurnoverTTM`（天数可由周转率反推）；若无，再计算: `天数=365/(Revenue/平均应收)`（annual） |
| `payturn_days`| 应付款周转天数 | 计算 | **公式**: `(365 * 平均应付账款) / 营业成本` <br> `营业成本` = `revenue * (1 - grossprofit_margin)` | 计算: `days = 365 * 平均 AccountsPayable / COGS`（ic COGS；平均值=当年与上年期末均值，annual） |
| `fa_turn` | 固定资产周转率 | 核心 | **API**: `fina_indicator`, **字段**: `fa_turn` | 优先: `company-basic-financials.metrics.fixedAssetTurnoverTTM`（若有）；若无，再计算: `Revenue / 平均PPE净额`（annual） |
| `assets_turn` | 总资产周转率 | 核心 | **API**: `fina_indicator`, **字段**: `assets_turn` | 优先: `company-basic-financials.metrics.assetTurnoverTTM`；若无，再计算: `Revenue / 平均总资产`（annual） |

## 5. 人均效率 (Per Capita Efficiency)

| 标准字段 (Standard Field) | 中文描述 | 分类 | Tushare 来源 | Finnhub 来源 |
| :--- | :--- | :--- | :--- | :--- |
| `employees` | 员工人数 | 核心 | **API**: `stock_company`, **字段**: `employees` | `company_profile2`: `employeeTotal`/`employeeCount`（若缺失则置空） |
| `__rev_per_emp` | 人均创收 | 计算 | `revenue` / `employees` | 计算: `revenue / employees`（收入见上；单位按需求换算） |
| `__profit_per_emp`| 人均创利 | 计算 | `n_income` / `employees` | 计算: `net_income / employees` |
| `__salary_per_emp`| 人均工资 | 计算 | `c_paid_to_for_empl` / `employees` | US 披露通常无稳定“支付给员工现金”科目；标注 N/A 或外部口径 |

## 6. 市场表现 (Market Performance)

| 标准字段 (Standard Field) | 中文描述 | 分类 | Tushare 来源 | Finnhub 来源 |
| :--- | :--- | :--- | :--- | :--- |
| `close` | 股价 (收盘价) | 核心 | **API**: `daily`, **字段**: `close` | `stock_candles` 日线 或 `/quote` 实时（Finnhub 市场数据） |
| `total_mv` | 市值 | 核心 | **API**: `daily_basic`, **字段**: `total_mv` | `company-basic-financials.metrics.marketCapitalization` 或 `company_profile2.marketCapitalization` |
| `pe` | PE (市盈率) | 核心 | **API**: `daily_basic`, **字段**: `pe` | `peTTM` / `peBasicExclExtraTTM`（company-basic-financials.metrics） |
| `pb` | PB (市净率) | 核心 | **API**: `daily_basic`, **字段**: `pb` | `pb`（company-basic-financials.metrics） |
| `holder_num` | 股东户数 | 核心 | **API**: `stk_holdernumber`, **字段**: `holder_num` | 暂无稳定字段（Finnhub）；标注 NA |
