2 files modified
17 files added
| New file |
| | |
| | | #!/usr/bin/env python3 |
| | | """Generate the 2026-08-13 formal valuations for Deye and Sieyuan. |
| | | |
| | | This is a task-specific analysis builder. It reuses the frozen V1 arithmetic |
| | | core, the V2 evidence package and the local front-adjusted market contract; it |
| | | does not duplicate V1 valuation formulas or write external databases. |
| | | """ |
| | | |
| | | from __future__ import annotations |
| | | |
| | | import hashlib |
| | | import json |
| | | import os |
| | | import statistics |
| | | from dataclasses import dataclass |
| | | from datetime import date, timedelta |
| | | from pathlib import Path |
| | | from typing import Any |
| | | |
| | | import pymysql |
| | | |
| | | from stock_valuation_pipeline.core import run_pipeline |
| | | |
| | | |
| | | ROOT = Path(__file__).resolve().parents[2] |
| | | AS_OF = "2026-08-13" |
| | | AS_OF_STAMP = "20260813" |
| | | RESULT_ROOT = ROOT / "ana-data" / "result" / "股票估值" |
| | | CASE_ROOT = ROOT / "ana-data" / "cases" / "股票估值" / "ANA-STOCK-VALUATION-DEYE-SIEYUAN-20260813-001" |
| | | V2_ROOT = ROOT / "ai-valuation-analyst" / "tmp" / "valuation_20260813_deye_sieyuan_v2" |
| | | CACHE_ROOT = ROOT / "ai-valuation-analyst" / "tmp" / "v2_cache" / "blobs" / "sha256" |
| | | REGISTRY = ROOT / "dev" / "ana-dev" / "stock_valuation_pipeline" / "source_registry.json" |
| | | |
| | | |
| | | @dataclass(frozen=True) |
| | | class Company: |
| | | ticker: str |
| | | slug: str |
| | | company: str |
| | | market: str |
| | | report_shares: float |
| | | current_shares: float |
| | | share_date: str |
| | | share_title: str |
| | | share_url: str |
| | | share_publish_date: str |
| | | business: str |
| | | profit_sources: list[str] |
| | | quality: list[str] |
| | | risks: list[str] |
| | | upgrade_triggers: list[str] |
| | | downgrade_triggers: list[str] |
| | | base_profit: tuple[float, float] |
| | | base_multiple: tuple[float, float] |
| | | pessimistic_profit: tuple[float, float] |
| | | pessimistic_multiple: tuple[float, float] |
| | | optimistic_profit: tuple[float, float] |
| | | optimistic_multiple: tuple[float, float] |
| | | latest_info_date: str |
| | | latest_info_title: str |
| | | latest_info_url: str |
| | | latest_info_note: str |
| | | |
| | | |
| | | COMPANIES = ( |
| | | Company( |
| | | ticker="605117.SH", |
| | | slug="deye", |
| | | company="德业股份", |
| | | market="上海证券交易所", |
| | | report_shares=909_332_542.0, |
| | | current_shares=1_273_231_036.0, |
| | | share_date="2026-07-02", |
| | | share_title="关于2022年股票期权激励计划2026年第二季度自主行权结果暨股份变动的公告", |
| | | share_url="https://static.sse.com.cn/disclosure/listedinfo/announcement/c/new/2026-07-02/605117_20260702_MIX1.pdf", |
| | | share_publish_date="2026-07-02", |
| | | business="户用及工商业储能逆变器、储能电池包与环境电器", |
| | | profit_sources=[ |
| | | "2025年储能逆变器收入52.17亿元、毛利率51.10%,是毛利贡献的第一来源;储能电池包收入38.32亿元、毛利率31.81%,是增速最快的第二增长极。", |
| | | "光伏逆变器收入10.54亿元,环境电器和热交换器合计约20.05亿元;2025年外销收入97.47亿元,占主营收入约80.0%,利润高度依赖海外储能需求和渠道。", |
| | | "2026年上半年业绩预告归母净利润26.68至27.28亿元、扣非24.93至25.53亿元,增长主要来自欧洲、中东、东南亚户储及工商业储能销售放量。", |
| | | ], |
| | | quality=[ |
| | | "2025年经营现金流39.86亿元,高于归母净利润31.71亿元;TTM简化自由现金流约40.60亿元,现金转化较好。", |
| | | "2025年储能电池包毛利率同比下降9.49个百分点,且逆变器、电池包期末库存分别同比增加52.55%和49.18%,高增长同时带来库存与价格压力。", |
| | | "2025年合同负债4.80亿元、同比增长81.43%;2026Q1升至6.05亿元,预收增长对后续收入有一定支撑。", |
| | | ], |
| | | risks=[ |
| | | "外销约占主营收入80%,欧盟、美国及其他市场的关税、贸易限制、认证和补贴规则变化会直接影响订单和利润率。", |
| | | "储能景气和能源价格具有周期性;机构2026年利润预期较2025年大幅增长,若下半年需求或毛利率回落,年度利润容易低于一致预期。", |
| | | "储能电池包毛利率已显著下降,锂电池、IGBT、铜铝及其他元器件价格波动会侵蚀利润;库存高增长增加跌价与渠道去库存风险。", |
| | | "汇率、海外应收与渠道回款、股权激励持续行权会影响归母利润和每股收益。", |
| | | ], |
| | | upgrade_triggers=[ |
| | | "2026年正式半年报达到预告中枢且经营现金流、库存周转同步改善。", |
| | | "欧洲、中东、东南亚之外的新市场持续放量,储能电池包毛利率止跌回升。", |
| | | ], |
| | | downgrade_triggers=[ |
| | | "2026年归母净利润低于60亿元或扣非利润与现金流明显背离。", |
| | | "贸易限制、补贴退坡、渠道去库存或产品降价使储能业务毛利率继续显著下滑。", |
| | | ], |
| | | base_profit=(6.0e9, 7.4e9), |
| | | base_multiple=(18.0, 24.0), |
| | | pessimistic_profit=(4.5e9, 5.5e9), |
| | | pessimistic_multiple=(12.0, 17.0), |
| | | optimistic_profit=(7.8e9, 9.0e9), |
| | | optimistic_multiple=(24.0, 30.0), |
| | | latest_info_date="2026-07-09", |
| | | latest_info_title="2026年半年度业绩预增公告", |
| | | latest_info_url="https://static.sse.com.cn/disclosure/listedinfo/announcement/c/new/2026-07-09/605117_20260709_IHEV.pdf", |
| | | latest_info_note="预告口径:归母26.68至27.28亿元,扣非24.93至25.53亿元。", |
| | | ), |
| | | Company( |
| | | ticker="002028.SZ", |
| | | slug="sieyuan_electric", |
| | | company="思源电气", |
| | | market="深圳证券交易所", |
| | | report_shares=782_451_182.0, |
| | | current_shares=782_573_282.0, |
| | | share_date="2026-06-30", |
| | | share_title="2025年度权益分派实施公告(现有总股本证明)", |
| | | share_url="https://disc.static.szse.cn/download/disc/disk03/finalpage/2026-07-01/d515dfa9-944e-45e0-adce-b7b4d6f678e0.PDF", |
| | | share_publish_date="2026-07-01", |
| | | business="输配电设备、保护自动化、电力电子、海外EPC与储能系统", |
| | | profit_sources=[ |
| | | "2025年开关类收入89.35亿元、变压器类46.33亿元、保护及自动化25.42亿元,是利润的主体;三类毛利率分别为36.88%、36.39%和35.11%。", |
| | | "电力电子、EPC和储能系统及元件收入分别15.25亿元、23.32亿元和15.31亿元;后两类增长快但毛利率仅约11.8%,对收入增长的贡献高于对利润的贡献。", |
| | | "2025年海外收入58.03亿元、同比增长85.84%,占收入26.94%;新增订单288.91亿元、同比增长34.64%,订单与海外扩张是未来利润的主要驱动。", |
| | | ], |
| | | quality=[ |
| | | "2025年经营现金流22.34亿元、低于归母净利润31.50亿元;TTM经营现金流23.11亿元,简化自由现金流15.41亿元,现金流为正但转化率不算高。", |
| | | "2025年末应收账款81.83亿元,占总资产27.42%;合同负债29.77亿元,2026Q1升至31.50亿元。较高预收支撑订单,但高应收和海外EPC拉长回款周期。", |
| | | "2026年半年业绩快报归母14.87亿元、同比增长15.03%,明显慢于收入27.14%;汇兑损失及思源东芝持股比例变更压低归母利润增速。", |
| | | ], |
| | | risks=[ |
| | | "2026H1归母利润仅增长15.03%,低于当前一致预期隐含的全年约37%增速,下半年需要明显加速才能兑现43亿元左右的机构预测。", |
| | | "应收账款规模高、海外EPC周期1至3年,存在回款、汇率、税务、施工、合同与分包风险。", |
| | | "铜铝等大宗原料、半导体器件和国际物流价格上涨,以及低毛利EPC/储能占比提高,可能压制整体利润率。", |
| | | "海外业务扩张带来汇兑与当地运营风险;2026H1已出现美元应收等外币资产的较大汇兑损失。", |
| | | ], |
| | | upgrade_triggers=[ |
| | | "新增订单持续接近公司2026年375亿元经营目标,合同负债与现金回款同步增长。", |
| | | "下半年归母利润增速回升至25%以上,开关、变压器等高毛利业务占比稳定,汇兑损失收窄。", |
| | | ], |
| | | downgrade_triggers=[ |
| | | "2026年归母净利润低于38亿元,或收入增长继续快于利润而毛利率显著下行。", |
| | | "应收账款和海外EPC风险上升、经营现金流转弱,或思源东芝少数股权变化持续稀释归母利润。", |
| | | ], |
| | | base_profit=(3.8e9, 4.5e9), |
| | | base_multiple=(26.0, 32.0), |
| | | pessimistic_profit=(3.3e9, 3.8e9), |
| | | pessimistic_multiple=(20.0, 25.0), |
| | | optimistic_profit=(4.6e9, 5.2e9), |
| | | optimistic_multiple=(32.0, 38.0), |
| | | latest_info_date="2026-07-11", |
| | | latest_info_title="2026年半年度业绩快报", |
| | | latest_info_url="https://file.finance.sina.com.cn/211.154.219.97%3A9494/MRGG/CNSESZ_STOCK/2026/2026-7/2026-07-11/12441232.PDF", |
| | | latest_info_note="快报口径:收入108.03亿元、归母14.87亿元、扣非14.19亿元、经营现金流2.25亿元。", |
| | | ), |
| | | ) |
| | | |
| | | |
| | | def load_json(path: Path) -> dict[str, Any]: |
| | | return json.loads(path.read_text(encoding="utf-8-sig")) |
| | | |
| | | |
| | | def failed_dir(ticker: str) -> Path: |
| | | matches = sorted(V2_ROOT.glob(f"{ticker.replace('.', '_')}.failed-*")) |
| | | if len(matches) != 1: |
| | | raise RuntimeError(f"Expected one V2 failure package for {ticker}, got {len(matches)}") |
| | | return matches[0] |
| | | |
| | | |
| | | def blob(raw_hash: str) -> bytes: |
| | | path = CACHE_ROOT / raw_hash[:2] / f"{raw_hash}.bin" |
| | | data = path.read_bytes() |
| | | if hashlib.sha256(data).hexdigest() != raw_hash: |
| | | raise RuntimeError(f"Cache hash mismatch: {raw_hash}") |
| | | return data |
| | | |
| | | |
| | | def consensus(provider: dict[str, Any], shares: float) -> tuple[int, dict[str, dict[str, float]], dict[str, float]]: |
| | | summary_row: dict[str, Any] | None = None |
| | | summary_hash = "" |
| | | for raw_hash in provider["forecast"]["raw_artifact_hashes"]: |
| | | try: |
| | | value = json.loads(blob(raw_hash).decode("utf-8")) |
| | | except (UnicodeDecodeError, json.JSONDecodeError): |
| | | continue |
| | | rows = ((value.get("result") or {}).get("data") or []) |
| | | if rows and "RATING_ORG_NUM" in rows[0]: |
| | | summary_row = rows[0] |
| | | summary_hash = raw_hash |
| | | break |
| | | if not summary_row: |
| | | raise RuntimeError("No consensus summary") |
| | | years: dict[str, dict[str, float]] = {} |
| | | for idx in range(1, 5): |
| | | year = summary_row.get(f"YEAR{idx}") |
| | | eps = summary_row.get(f"EPS{idx}") |
| | | if year and eps is not None and str(summary_row.get(f"YEAR_MARK{idx}")) == "E": |
| | | years[str(year)] = {"eps": float(eps), "profit": float(eps) * shares} |
| | | targets = { |
| | | "min": float(summary_row["DEC_AIMPRICEMIN"]) if summary_row.get("DEC_AIMPRICEMIN") is not None else 0.0, |
| | | "max": float(summary_row["DEC_AIMPRICEMAX"]) if summary_row.get("DEC_AIMPRICEMAX") is not None else 0.0, |
| | | "raw_hash": summary_hash, |
| | | } |
| | | return int(summary_row.get("RATING_ORG_NUM") or 0), years, targets |
| | | |
| | | |
| | | def mysql_connection() -> pymysql.Connection: |
| | | return pymysql.connect( |
| | | host=os.environ.get("MYSQL_HOST", "127.0.0.1"), |
| | | port=int(os.environ.get("MYSQL_PORT", "3306")), |
| | | user=os.environ.get("MYSQL_USER", "root"), |
| | | password=os.environ["MYSQL_PASSWORD"], |
| | | database="trading_xuntou", |
| | | charset="utf8mb4", |
| | | autocommit=True, |
| | | cursorclass=pymysql.cursors.DictCursor, |
| | | ) |
| | | |
| | | |
| | | def local_market(ticker: str) -> dict[str, Any]: |
| | | start = date.fromisoformat(AS_OF) - timedelta(days=150) |
| | | with mysql_connection() as connection, connection.cursor() as cursor: |
| | | cursor.execute( |
| | | "SELECT trade_date,close,amount,source,source_batch_id,updated_at " |
| | | "FROM cn_stock_kline_1d_front WHERE symbol=%s AND trade_date BETWEEN %s AND %s " |
| | | "AND close>0 AND source='xtquant' ORDER BY trade_date", |
| | | (ticker, start, AS_OF), |
| | | ) |
| | | rows = cursor.fetchall() |
| | | if not rows or str(rows[-1]["trade_date"]) != AS_OF: |
| | | raise RuntimeError(f"No complete {AS_OF} front-adjusted row for {ticker}") |
| | | closes = [float(row["close"]) for row in rows] |
| | | amounts = [float(row["amount"]) for row in rows] |
| | | return { |
| | | "price": closes[-1], |
| | | "date": AS_OF, |
| | | "amount": amounts[-1], |
| | | "source": rows[-1]["source"], |
| | | "source_batch_id": rows[-1]["source_batch_id"], |
| | | "updated_at": str(rows[-1]["updated_at"]), |
| | | "return_20d": closes[-1] / closes[-21] - 1, |
| | | "return_60d": closes[-1] / closes[-61] - 1, |
| | | "ma60": statistics.fmean(closes[-60:]), |
| | | "distance_to_ma60": closes[-1] / statistics.fmean(closes[-60:]) - 1, |
| | | "amount_ratio_5d_to_60d": statistics.fmean(amounts[-5:]) / statistics.fmean(amounts[-60:]), |
| | | "sample_count": len(rows), |
| | | } |
| | | |
| | | |
| | | def provider_data(company: Company) -> tuple[dict[str, Any], dict[str, Any]]: |
| | | directory = failed_dir(company.ticker) |
| | | provider = load_json(directory / "provider_results.json") |
| | | failure = load_json(directory / "failure.json") |
| | | if provider["announcements"]["identity"]["ticker"] != company.ticker: |
| | | raise RuntimeError("Ticker mismatch") |
| | | return provider, failure |
| | | |
| | | |
| | | def announcement(provider: dict[str, Any], title: str) -> dict[str, Any]: |
| | | def normalized(value: str) -> str: |
| | | return value.replace("第一季度", "一季度").replace(" ", "") |
| | | |
| | | rows = [row for row in provider["announcements"]["records"] if normalized(row["title"]) == normalized(title)] |
| | | if len(rows) != 1: |
| | | raise RuntimeError(f"Expected one announcement {title}, got {len(rows)}") |
| | | return rows[0] |
| | | |
| | | |
| | | def scenario(name: str, role: str, profit: tuple[float, float], multiple: tuple[float, float], assumption: str) -> dict[str, Any]: |
| | | return { |
| | | "name": name, |
| | | "role": role, |
| | | "method": "pe", |
| | | "profit_low": profit[0], |
| | | "profit_high": profit[1], |
| | | "multiple_low": multiple[0], |
| | | "multiple_high": multiple[1], |
| | | "assumption": assumption, |
| | | } |
| | | |
| | | |
| | | def build(company: Company) -> dict[str, Any]: |
| | | provider, failure = provider_data(company) |
| | | financials = provider["finance"]["financials"] |
| | | balance = dict(provider["finance"]["balance_sheet"]) |
| | | market = local_market(company.ticker) |
| | | quote_obj = None |
| | | quote_hash = "" |
| | | for raw_hash in provider["market"]["raw_artifact_hashes"]: |
| | | try: |
| | | obj = json.loads(blob(raw_hash).decode("utf-8")) |
| | | except (UnicodeDecodeError, json.JSONDecodeError): |
| | | continue |
| | | if (obj.get("data") or {}).get("f84"): |
| | | quote_obj = obj["data"] |
| | | quote_hash = raw_hash |
| | | break |
| | | if not quote_obj or float(quote_obj["f84"]) != company.current_shares: |
| | | raise RuntimeError(f"Quote/share proof mismatch for {company.ticker}") |
| | | if abs(market["price"] * company.current_shares - float(quote_obj["f116"])) > 1.0: |
| | | raise RuntimeError(f"Market-cap cross-check failed for {company.ticker}") |
| | | count, forecasts, targets = consensus(provider, company.current_shares) |
| | | annual = announcement(provider, "2025年年度报告") |
| | | current = announcement(provider, "2026年第一季度报告") |
| | | |
| | | annual_f = financials["annual"] |
| | | current_f = financials["current_cumulative"] |
| | | prior_f = financials["prior_year_same_period"] |
| | | ttm_attr = annual_f["attributable_profit"] + current_f["attributable_profit"] - prior_f["attributable_profit"] |
| | | ttm_deduct = annual_f["deduct_profit"] + current_f["deduct_profit"] - prior_f["deduct_profit"] |
| | | ttm_cfo = annual_f["cfo"] + current_f["cfo"] - prior_f["cfo"] |
| | | ttm_capex = annual_f["capex"] + current_f["capex"] - prior_f["capex"] |
| | | # V2 finance equity is total equity. V1 PB uses attributable equity. |
| | | parent_equity = float(balance["equity"]) - float(balance["minority_interest"]) |
| | | balance["equity"] = parent_equity |
| | | |
| | | scenarios = [ |
| | | scenario("悲观", "pessimistic", company.pessimistic_profit, company.pessimistic_multiple, "需求、订单或毛利率低于预期,利润下修且估值回归行业低位。"), |
| | | scenario("基准", "base", company.base_profit, company.base_multiple, "结合2026年最新业绩预告/快报、机构一致预期、订单与现金流,给予与增长持续性和风险相匹配的PE区间。"), |
| | | scenario("乐观", "optimistic", company.optimistic_profit, company.optimistic_multiple, "订单、海外扩张、产品结构和利润率超预期,利润与估值中枢同步上移。"), |
| | | ] |
| | | base_low = company.base_profit[0] * company.base_multiple[0] / company.current_shares |
| | | base_high = company.base_profit[1] * company.base_multiple[1] / company.current_shares |
| | | optimistic_high = company.optimistic_profit[1] * company.optimistic_multiple[1] / company.current_shares |
| | | if market["price"] < base_low: |
| | | label = "偏低" |
| | | elif market["price"] <= base_high: |
| | | label = "基本合理" |
| | | elif market["price"] <= optimistic_high: |
| | | label = "偏贵" |
| | | else: |
| | | label = "明显偏贵" |
| | | |
| | | forecast_rows = [{ |
| | | "institution": f"东方财富公开一致预期汇总(覆盖池{count}家)", |
| | | "report_date": AS_OF, |
| | | "include": True, |
| | | "core_assumption": "汇总快照不替代逐家研报;覆盖池数量不等于每个年度的有效样本数。", |
| | | "source_id": "SRC-EM-CONSENSUS-20260813", |
| | | "estimates": forecasts, |
| | | }] |
| | | sources = [ |
| | | { |
| | | "id": "SRC-ANNUAL-2025", "source_type": "cninfo", "title": annual["title"], |
| | | "publish_date": annual["publish_date"], "period_end": "2025-12-31", "url": annual["url"], |
| | | "supports": ["financials.annual", "business", "profit_sources", "risks"], "revision_status": "current", |
| | | }, |
| | | { |
| | | "id": "SRC-CURRENT-2026Q1", "source_type": "cninfo", "title": current["title"], |
| | | "publish_date": current["publish_date"], "period_end": "2026-03-31", "url": current["url"], |
| | | "supports": ["financials.current_cumulative", "financials.prior_year_same_period", "balance_sheet", "balance_sheet.equity"], "revision_status": "current", |
| | | }, |
| | | { |
| | | "id": "SRC-LATEST-OPERATING", "source_type": "sse" if company.ticker.endswith(".SH") else "financial_mirror", |
| | | "title": company.latest_info_title, "publish_date": company.latest_info_date, "period_end": "2026-06-30", |
| | | "url": company.latest_info_url, "supports": ["latest_operating_information", "valuation.scenarios"], "revision_status": "current", |
| | | }, |
| | | { |
| | | "id": "SRC-SHARES-A1", "source_type": "sse" if company.ticker.endswith(".SH") else "szse", |
| | | "title": company.share_title, "publish_date": company.share_publish_date, "period_end": company.share_date, |
| | | "url": company.share_url, "supports": ["market.diluted_shares", "market.shares_date"], "revision_status": "current", |
| | | }, |
| | | { |
| | | "id": "SRC-LOCAL-FRONT-KLINE", "source_type": "quote_provider", "title": "trading_xuntou前复权日K完整收盘价", |
| | | "publish_date": AS_OF, "period_end": AS_OF, "url": "mysql://trading_xuntou/cn_stock_kline_1d_front", |
| | | "supports": ["market.price", "market.price_timestamp", "market.amount", "analysis.kline"], "revision_status": "current", |
| | | }, |
| | | { |
| | | "id": "SRC-EM-QUOTE-SHARES", "source_type": "quote_provider", "title": "东方财富当前总股本与总市值快照交叉核验", |
| | | "publish_date": AS_OF, "period_end": AS_OF, "url": "https://push2delay.eastmoney.com/api/qt/stock/get", |
| | | "supports": ["market.diluted_shares", "market.platform_market_cap"], "revision_status": "current", |
| | | }, |
| | | { |
| | | "id": "SRC-EM-CONSENSUS-20260813", "source_type": "institution_aggregator", "title": "东方财富盈利预测汇总", |
| | | "publish_date": AS_OF, "period_end": AS_OF, "url": "https://datacenter-web.eastmoney.com/api/data/v1/get?reportName=RPT_WEB_RESPREDICT", |
| | | "supports": ["institutions"], "revision_status": "current", |
| | | }, |
| | | ] |
| | | |
| | | snapshot = { |
| | | "snapshot_id": f"SNAPSHOT-{company.ticker[:6]}-{AS_OF_STAMP}-V1", |
| | | "meta": { |
| | | "company": company.company, "code": company.ticker, "market": company.market, |
| | | "as_of_date": AS_OF, "currency": "CNY", "report_period_end": "2026-03-31", |
| | | "latest_operating_info_date": company.latest_info_date, |
| | | }, |
| | | "market": { |
| | | "price": market["price"], "price_type": "最近完整交易日前复权收盘价", |
| | | "price_timestamp": f"{AS_OF}T15:00:00+08:00", "diluted_shares": company.current_shares, |
| | | "shares_date": company.share_date, "platform_market_cap": float(quote_obj["f116"]), |
| | | }, |
| | | "financials": financials, |
| | | "balance_sheet": { |
| | | "cash_available": balance["cash_available"], "equity": balance["equity"], |
| | | "interest_bearing_debt": balance["interest_bearing_debt"], "minority_interest": balance["minority_interest"], |
| | | "non_operating_financial_assets": balance["non_operating_financial_assets"], "period_end": balance["period_end"], |
| | | }, |
| | | "normalization": { |
| | | "adjustments": [{ |
| | | "description": "以TTM扣非归母利润替代TTM归母利润作为核心盈利代理", |
| | | "amount": ttm_deduct - ttm_attr, |
| | | "basis": "2025年报加2026Q1减2025Q1;最新半年预告/快报仅用于情景利润,不混入TTM法定口径", |
| | | }] |
| | | }, |
| | | "valuation": { |
| | | "scenarios": scenarios, |
| | | "reverse_pe_multiples": [12, 15, 18, 20, 22, 25, 28, 30, 32, 35, 40], |
| | | "exit_pe_multiples": [12, 15, 18, 20, 22, 25, 28, 30, 32, 35, 40], |
| | | "holding_period": {"years": 5, "required_return": 0.10, "cumulative_dividend_per_share": 0}, |
| | | }, |
| | | "institutions": {"coverage_status": "available", "forecasts": forecast_rows}, |
| | | "sources": sources, |
| | | "analysis": { |
| | | "company_type": company.business, |
| | | "primary_model": "2026年前瞻PE情景;TTM扣非、PB、现金流、最新半年预告/快报与反向利润交叉验证", |
| | | "cross_checks": ["最新半年预告/快报", "机构一致预期", "PB/ROE", "经营现金流与资本开支", "订单/合同负债/应收", "前复权量价"], |
| | | "profit_sources": company.profit_sources, |
| | | "profit_source_quality": company.quality + [ |
| | | f"法定TTM归母{ttm_attr/1e8:.2f}亿元、TTM扣非{ttm_deduct/1e8:.2f}亿元;主模型以最新半年信息和机构预期构造2026全年情景。", |
| | | f"TTM经营现金流{ttm_cfo/1e8:.2f}亿元、资本开支{ttm_capex/1e8:.2f}亿元、简化自由现金流{(ttm_cfo-ttm_capex)/1e8:.2f}亿元。", |
| | | ], |
| | | "risks": company.risks + ["机构汇总口径不是法定事实,且覆盖池数量不等于每个年度的有效样本数。"], |
| | | "upgrade_triggers": company.upgrade_triggers, |
| | | "downgrade_triggers": company.downgrade_triggers, |
| | | "executive_conclusion": f"{market['price']:.2f}元位于基准合理区间{base_low:.2f}至{base_high:.2f}元内,判断为{label}。当前结论依赖2026年利润兑现,不构成目标价或交易指令。", |
| | | "consensus_org_count": count, |
| | | "consensus_coverage_note": f"东方财富公开汇总覆盖池{count}家;2026E EPS {forecasts['2026']['eps']:.4f}元,对应利润{forecasts['2026']['profit']/1e8:.2f}亿元。", |
| | | "latest_operating_info_note": company.latest_info_note, |
| | | "consensus_target_range": f"{targets['min']:.2f}至{targets['max']:.2f}元(仅作市场预期参照,不替代本报告合理区间)", |
| | | "kline_return_20d": market["return_20d"], "kline_return_60d": market["return_60d"], |
| | | "ma60": market["ma60"], "distance_to_ma60": market["distance_to_ma60"], |
| | | "amount_ratio_5d_to_60d": market["amount_ratio_5d_to_60d"], "market_sample_count": market["sample_count"], |
| | | "market_source_batch_id": market["source_batch_id"], "market_updated_at": market["updated_at"], |
| | | "ttm_cfo": ttm_cfo, "ttm_capex": ttm_capex, "ttm_fcf": ttm_cfo - ttm_capex, |
| | | "total_equity_original": provider["finance"]["balance_sheet"]["equity"], |
| | | "attributable_equity_used": parent_equity, "minority_interest_original": balance["minority_interest"], |
| | | "report_shares": company.report_shares, "share_proof_status": "MATCH_A1_CHANGE", |
| | | "information_cutoff": f"{AS_OF}T23:59:00+08:00", |
| | | }, |
| | | } |
| | | |
| | | out_dir = RESULT_ROOT / f"{AS_OF_STAMP}_{company.slug}_valuation" |
| | | out_dir.mkdir(parents=True, exist_ok=True) |
| | | snapshot_path = out_dir / f"{company.company}估值快照_{AS_OF_STAMP}.json" |
| | | snapshot_path.write_text(json.dumps(snapshot, ensure_ascii=False, indent=2) + "\n", encoding="utf-8") |
| | | calc_dir = out_dir / "calculation" |
| | | run = run_pipeline(snapshot_path, calc_dir, REGISTRY) |
| | | if run["status"] not in {"GENERATED", "REUSED"}: |
| | | raise RuntimeError(f"Unexpected V1 status {run}") |
| | | results = load_json(calc_dir / "valuation_results.json") |
| | | calc_report_path = calc_dir / "valuation_report.md" |
| | | calc_report_text = calc_report_path.read_text(encoding="utf-8") |
| | | calc_report_text = "\n".join(line.rstrip() for line in calc_report_text.splitlines()) + "\n" |
| | | calc_report_path.write_text(calc_report_text, encoding="utf-8") |
| | | report_text = calc_report_text |
| | | report_text = report_text.replace("价格合理性评估(流水线生成底稿)", "价格合理性评估", 1) |
| | | report_text = report_text.replace( |
| | | "本文是研究计算底稿,不构成交易指令或收益承诺。", |
| | | "本文为按《股票价格合理性评估操作手册》形成的条件化研究结论,不构成交易指令或收益承诺。", |
| | | 1, |
| | | ) |
| | | report_text = report_text.replace( |
| | | "覆盖状态:`available`。早于最新经营信息日、或低于已实现累计利润的预测自动排除出当前一致预期。", |
| | | f"覆盖状态:`available`。东方财富公开一致预期覆盖池为 **{count}家**;下表按一条汇总观测进入V1,因此“机构数”列显示1,不代表仅有1家机构。早于最新经营信息日、或低于已实现累计利润的预测自动排除出当前一致预期。", |
| | | 1, |
| | | ) |
| | | market_note = ( |
| | | "\n\n### 1.1 前复权量价显影\n\n" |
| | | f"- 20日涨跌:{market['return_20d']*100:.2f}%;60日涨跌:{market['return_60d']*100:.2f}%。\n" |
| | | f"- 60日均线:{market['ma60']:.2f}元;当前价相对MA60:{market['distance_to_ma60']*100:.2f}%。\n" |
| | | f"- 近5日/60日平均成交额比:{market['amount_ratio_5d_to_60d']:.2f}。量价用于显影情绪,不改变合理价值。\n" |
| | | ) |
| | | report_text = report_text.replace("\n## 2. 信息来源与固定优先级", market_note + "\n## 2. 信息来源与固定优先级", 1) |
| | | report_text = report_text.replace( |
| | | "\n## 6. 利润质量、现金流与资产负债", |
| | | f"\n### 5.1 最新半年经营信息\n\n- {company.latest_info_note}\n- 该信息用于调整2026全年情景利润,不与法定TTM公式重复相加。\n\n## 6. 利润质量、现金流与资产负债", |
| | | 1, |
| | | ) |
| | | bubble_text = ( |
| | | "\n## 11.1 估值泡沫判定\n\n" |
| | | f"- 当前价{market['price']:.2f}元未高于基准合理区间上沿{base_high:.2f}元,按手册规则**未识别估值泡沫**。\n" |
| | | f"- 当前价相对基准上沿为{(market['price']/base_high-1)*100:.2f}%,相对乐观上沿为{(market['price']/optimistic_high-1)*100:.2f}%。\n" |
| | | "- 这不等于没有经营风险;若利润情景下修,合理区间会同步下移,需要按下调触发器复评。\n" |
| | | ) |
| | | report_text = report_text.replace("\n## 12. 风险、上调与下调触发器", bubble_text + "\n## 12. 风险、上调与下调触发器", 1) |
| | | # V1 uses Markdown hard-break spaces in its header; formal project files keep |
| | | # clean line endings and do not rely on trailing whitespace for rendering. |
| | | report_text = "\n".join(line.rstrip() for line in report_text.splitlines()) + "\n" |
| | | formal_path = out_dir / f"{company.company}价格合理性评估_{AS_OF_STAMP}.md" |
| | | formal_path.write_text(report_text, encoding="utf-8") |
| | | |
| | | evidence = { |
| | | "case_id": "ANA-STOCK-VALUATION-DEYE-SIEYUAN-20260813-001", |
| | | "ticker": company.ticker, "company": company.company, "as_of": AS_OF, |
| | | "v2_status": "BLOCKED", "v2_failure": failure, |
| | | "v2_failure_package": str(failed_dir(company.ticker).relative_to(ROOT)).replace("\\", "/"), |
| | | "v2_raw_artifact_hashes": sorted({h for section in provider.values() for h in section.get("raw_artifact_hashes", [])}), |
| | | "quote_raw_hash": quote_hash, "consensus_raw_hash": targets["raw_hash"], |
| | | "market_contract": { |
| | | "table": "trading_xuntou.cn_stock_kline_1d_front", "source": market["source"], |
| | | "source_batch_id": market["source_batch_id"], "updated_at": market["updated_at"], "trade_date": AS_OF, |
| | | }, |
| | | "share_proof": { |
| | | "current_shares": company.current_shares, "a1_title": company.share_title, |
| | | "a1_publish_date": company.share_publish_date, "a1_url": company.share_url, |
| | | "quote_shares": quote_obj["f84"], "quote_market_cap": quote_obj["f116"], |
| | | "price_times_shares": market["price"] * company.current_shares, |
| | | }, |
| | | "bounded_gaps": [ |
| | | "V2 quote f124=0,故端到端V2按历史股本时间戳门禁诚实阻断;正式估值由后续A1股本公告和估值日总股本/总市值快照补证。", |
| | | "机构汇总覆盖池不是逐家研报原文;本报告披露机构数、EPS和推算利润,不将其写成法定事实。", |
| | | "最新半年预告/快报提供利润锚,但资产负债表、现金流明细仍以2026Q1法定报告为最新完整结构口径。", |
| | | ], |
| | | "checks": { |
| | | "v1_qa": results["qa"], "label": label, "base_low": base_low, "base_high": base_high, |
| | | "optimistic_high": optimistic_high, "price": market["price"], |
| | | }, |
| | | } |
| | | (out_dir / "source_evidence_manifest.json").write_text(json.dumps(evidence, ensure_ascii=False, indent=2) + "\n", encoding="utf-8") |
| | | return { |
| | | "ticker": company.ticker, "company": company.company, "price": market["price"], |
| | | "base_low": base_low, "base_high": base_high, "optimistic_high": optimistic_high, |
| | | "label": label, "normalized_profit": float(results["metrics"]["normalized_profit"]), |
| | | "normalized_pe": float(results["metrics"]["normalized_pe"]), "pb": float(results["metrics"]["pb"]), |
| | | "consensus_count": count, "consensus_2026": forecasts["2026"]["profit"], |
| | | "forward_pe": market["price"] / forecasts["2026"]["eps"], |
| | | "market": market, "report_path": str(formal_path.relative_to(ROOT)).replace("\\", "/"), |
| | | "snapshot_path": str(snapshot_path.relative_to(ROOT)).replace("\\", "/"), |
| | | "qa": results["qa"], |
| | | } |
| | | |
| | | |
| | | def render_summary(rows: list[dict[str, Any]]) -> str: |
| | | lines = [ |
| | | "# 德业股份与思源电气价格合理性评估汇总(2026-08-13)", "", |
| | | "- 价格基准:2026-08-13完整交易日前复权收盘价。", |
| | | "- 信息上限:2026-08-13;最新经营信息分别为德业股份2026H1业绩预告、思源电气2026H1业绩快报。", |
| | | "- 估值区间为条件化研究结论,不是目标价、交易指令或收益承诺。", "", |
| | | "| 公司 | 收盘价 | TTM扣非利润 | TTM扣非PE | 2026机构利润 | 前瞻PE | 基准合理区间 | 乐观上沿 | 判定 |", |
| | | "|---|---:|---:|---:|---:|---:|---:|---:|---|", |
| | | ] |
| | | for row in rows: |
| | | lines.append( |
| | | f"| [{row['company']}](../../../../{row['report_path']}) | {row['price']:.2f}元 | " |
| | | f"{row['normalized_profit']/1e8:.2f}亿元 | {row['normalized_pe']:.2f}倍 | " |
| | | f"{row['consensus_2026']/1e8:.2f}亿元({row['consensus_count']}家覆盖池) | {row['forward_pe']:.2f}倍 | " |
| | | f"{row['base_low']:.2f}—{row['base_high']:.2f}元 | {row['optimistic_high']:.2f}元 | {row['label']} |" |
| | | ) |
| | | lines += [ |
| | | "", "## 核心判断", "", |
| | | "- 德业股份:当前价低于基准中枢,2026H1预告强、现金流好,估值看起来更便宜;但外销占比约80%,储能景气、贸易政策、汇率和电池包毛利率是主要折价来源。", |
| | | "- 思源电气:当前价位于基准区间中上部,订单和海外扩张具备支撑;但2026H1利润增速明显慢于收入,应收与海外EPC风险使其不宜直接套用机构目标价。", |
| | | "- 两家公司当前价均未高于各自基准合理区间上沿,因此按手册规则均未识别估值泡沫;若正式半年报或全年利润低于情景下限,必须下修合理区间。", "", |
| | | "## 量价显影", "", |
| | | "| 公司 | 20日涨跌 | 60日涨跌 | MA60 | 相对MA60 | 近5日/60日成交额比 |", |
| | | "|---|---:|---:|---:|---:|---:|", |
| | | ] |
| | | for row in rows: |
| | | market = row["market"] |
| | | lines.append( |
| | | f"| {row['company']} | {market['return_20d']*100:.2f}% | {market['return_60d']*100:.2f}% | " |
| | | f"{market['ma60']:.2f}元 | {market['distance_to_ma60']*100:.2f}% | {market['amount_ratio_5d_to_60d']:.2f} |" |
| | | ) |
| | | lines += ["", "量价只用于识别市场情绪和拥挤度,不反推企业价值。", ""] |
| | | return "\n".join(lines) |
| | | |
| | | |
| | | def main() -> None: |
| | | rows = [build(company) for company in COMPANIES] |
| | | CASE_ROOT.mkdir(parents=True, exist_ok=True) |
| | | (CASE_ROOT / "评估任务清单.md").write_text( |
| | | "# 德业股份与思源电气估值任务清单\n\n" |
| | | "- 案例:`ANA-STOCK-VALUATION-DEYE-SIEYUAN-20260813-001`\n" |
| | | "- 方法:`ana-doc/股票估值/股票价格合理性评估操作手册.md`\n" |
| | | "- 基准日:2026-08-13\n\n" |
| | | "| 代码 | 公司 | 状态 | 正式报告 |\n|---|---|---|---|\n" + |
| | | "\n".join(f"| {row['ticker']} | {row['company']} | {row['qa']['status']} | `{row['report_path']}` |" for row in rows) + "\n", |
| | | encoding="utf-8", |
| | | ) |
| | | summary_dir = RESULT_ROOT / f"{AS_OF_STAMP}_deye_sieyuan_batch_valuation" |
| | | summary_dir.mkdir(parents=True, exist_ok=True) |
| | | (summary_dir / f"德业股份与思源电气估值汇总_{AS_OF_STAMP}.md").write_text(render_summary(rows), encoding="utf-8") |
| | | (summary_dir / "batch_metrics.json").write_text(json.dumps({"as_of": AS_OF, "rows": rows}, ensure_ascii=False, indent=2) + "\n", encoding="utf-8") |
| | | print(json.dumps({"status": "PASS", "rows": rows}, ensure_ascii=False, indent=2)) |
| | | |
| | | |
| | | if __name__ == "__main__": |
| | | main() |
| New file |
| | |
| | | # 2026-08-13 德业股份与思源电气估值执行记录 |
| | | |
| | | - 任务:按最新可得完整收盘价评估德业股份(605117.SH)和思源电气(002028.SZ)的价格合理性。 |
| | | - 开始时间:2026-08-13 22:27:56 +08:00。 |
| | | - 交付前核验时间:2026-08-13 23:53:40 +08:00;截至该时点整体会话墙钟约5145秒(85.7分钟),包含资料核验、估值、门禁测试、文档QA和Git交付准备,不是单个脚本运行时间。 |
| | | - 价格基准:2026-08-13 `trading_xuntou.cn_stock_kline_1d_front` 前复权完整日K。 |
| | | - 方法:`ana-doc/股票估值/股票价格合理性评估操作手册.md`,统一V1估值内核。 |
| | | |
| | | ## 执行结果 |
| | | |
| | | - 德业股份:收盘90.71元,基准合理区间84.82—139.49元,判断为基本合理;2026年机构一致预期利润73.67亿元,覆盖池23家。 |
| | | - 思源电气:收盘167.58元,基准合理区间126.25—184.01元,判断为基本合理;2026年机构一致预期利润43.09亿元,覆盖池17家。 |
| | | - 两家公司当前价格均未超过基准合理区间上沿,按手册定义均未识别估值泡沫。 |
| | | - 两份报告V1 QA均为PASS,错误0、警告0。 |
| | | |
| | | ## 证据与边界 |
| | | |
| | | - V2采集分别在约1.1秒完成,但因行情字段无法证明历史股本而返回`E_HISTORICAL_SHARES_UNPROVEN`;失败包和原始哈希保留在角色私有临时目录,不作为成功结果冒充。 |
| | | - 正式估值补充使用交易所/巨潮法定财报、交易所股本变动公告、最新半年业绩预告或快报、东方财富机构一致预期聚合和本地前复权日K。 |
| | | - 两个估值版本已导入MySQL `stock_valuation`。尝试生成2026-08-13日更判定时,因权威交易日历资产未证明当日而按`E_MARKET_NO_PROVEN_ROW`整体失败关闭;没有写入当日价格或判断,没有覆盖固定latest文件。 |
| | | - Darkline仅用于最新公告、经营风险和现实证据核验,未进行案例归档或写入`tianxia`。 |
| | | |
| | | ## 产物 |
| | | |
| | | - `ana-data/result/股票估值/20260813_deye_valuation/` |
| | | - `ana-data/result/股票估值/20260813_sieyuan_electric_valuation/` |
| | | - `ana-data/result/股票估值/20260813_deye_sieyuan_batch_valuation/` |
| | | - `ana-data/cases/股票估值/ANA-STOCK-VALUATION-DEYE-SIEYUAN-20260813-001/评估任务清单.md` |
| | | - 生成工具:`ai-valuation-analyst/tools/generate_deye_sieyuan_20260813.py` |
| New file |
| | |
| | | # 德业股份与思源电气估值任务清单 |
| | | |
| | | - 案例:`ANA-STOCK-VALUATION-DEYE-SIEYUAN-20260813-001` |
| | | - 方法:`ana-doc/股票估值/股票价格合理性评估操作手册.md` |
| | | - 基准日:2026-08-13 |
| | | |
| | | | 代码 | 公司 | 状态 | 正式报告 | |
| | | |---|---|---|---| |
| | | | 605117.SH | 德业股份 | PASS | `ana-data/result/股票估值/20260813_deye_valuation/德业股份价格合理性评估_20260813.md` | |
| | | | 002028.SZ | 思源电气 | PASS | `ana-data/result/股票估值/20260813_sieyuan_electric_valuation/思源电气价格合理性评估_20260813.md` | |
| | |
| | | - `BATCH-STOCK-VALUATION-20260806-005/估值任务清单.md`:十张图片89个唯一证券代码的增量估值任务;其中58只已有估值按代码跳过,31只新增估值,含截图哈希、证券身份、逐股结论、QA和MySQL导入状态。 |
| | | - `BATCH-STOCK-VALUATION-20260806-006/估值任务清单.md`:33批、528只军工调研企业的完整估值覆盖,以及盛达资源和追加截图标的;包含461份新数值估值、2份特殊结论、调研母表哈希、截图哈希、MySQL导入和2026-08-06前复权日更证据。 |
| | | - `DEFENSE-PRIORITY-VALUATION-20260808-001/估值输入与证据索引.md`:对上游军工研究筛出的中无人机、航天南湖、国科军工、国睿科技、北方导航进行独立估值所使用的法定财报、行情、机构一致预期、订单代理字段和可比公司底稿。 |
| | | - `ANA-STOCK-VALUATION-DEYE-SIEYUAN-20260813-001/评估任务清单.md`:德业股份、思源电气的2026-08-13增量估值范围、状态和正式结果入口;V2历史股本门禁失败如实保留,并以交易所股本变动公告、法定财报和本地前复权日K补足正式估值证据。 |
| | | |
| | | 批次清单是任务范围和结果入口索引,不替代公司结果包中的来源证据。V2缓存、失败运行和其他可重建文件统一放入 `../../tmp/股票估值/`,不进入正式版本控制提交。 |
| New file |
| | |
| | | { |
| | | "as_of": "2026-08-13", |
| | | "rows": [ |
| | | { |
| | | "ticker": "605117.SH", |
| | | "company": "德业股份", |
| | | "price": 90.71, |
| | | "base_low": 84.82356850120013, |
| | | "base_high": 139.4876459797513, |
| | | "optimistic_high": 212.0589212530003, |
| | | "label": "基本合理", |
| | | "normalized_profit": 3569477849.19, |
| | | "normalized_pe": 32.35621347300657, |
| | | "pb": 9.988133078474247, |
| | | "consensus_count": 23, |
| | | "consensus_2026": 7366799026.019884, |
| | | "forward_pe": 15.677743734779098, |
| | | "market": { |
| | | "price": 90.71, |
| | | "date": "2026-08-13", |
| | | "amount": 1706991635.0, |
| | | "source": "xtquant", |
| | | "source_batch_id": "FKL_20260813_161015_179d5321_1d_20260813_00016", |
| | | "updated_at": "2026-08-13 16:21:17", |
| | | "return_20d": 0.062177985948477676, |
| | | "return_60d": -0.18506872697870813, |
| | | "ma60": 97.408, |
| | | "distance_to_ma60": -0.06876231931668864, |
| | | "amount_ratio_5d_to_60d": 0.972624949983733, |
| | | "sample_count": 103 |
| | | }, |
| | | "report_path": "ana-data/result/股票估值/20260813_deye_valuation/德业股份价格合理性评估_20260813.md", |
| | | "snapshot_path": "ana-data/result/股票估值/20260813_deye_valuation/德业股份估值快照_20260813.json", |
| | | "qa": { |
| | | "error_count": 0, |
| | | "info_count": 0, |
| | | "issues": [], |
| | | "status": "PASS", |
| | | "warning_count": 0 |
| | | } |
| | | }, |
| | | { |
| | | "ticker": "002028.SZ", |
| | | "company": "思源电气", |
| | | "price": 167.58, |
| | | "base_low": 126.25015736225966, |
| | | "base_high": 184.00832651989262, |
| | | "optimistic_high": 252.5003147245193, |
| | | "label": "基本合理", |
| | | "normalized_profit": 3007392556.91, |
| | | "normalized_pe": 43.60708757366412, |
| | | "pb": 8.136680284398523, |
| | | "consensus_count": 17, |
| | | "consensus_2026": 4309337598.99325, |
| | | "forward_pe": 30.43243365945566, |
| | | "market": { |
| | | "price": 167.58, |
| | | "date": "2026-08-13", |
| | | "amount": 1858419916.0, |
| | | "source": "xtquant", |
| | | "source_batch_id": "FKL_20260813_161015_179d5321_1d_20260813_00002", |
| | | "updated_at": "2026-08-13 16:17:25", |
| | | "return_20d": 0.053432235353281454, |
| | | "return_60d": -0.1405713113492999, |
| | | "ma60": 174.2086666666667, |
| | | "distance_to_ma60": -0.03805015441252446, |
| | | "amount_ratio_5d_to_60d": 0.6901672033011779, |
| | | "sample_count": 103 |
| | | }, |
| | | "report_path": "ana-data/result/股票估值/20260813_sieyuan_electric_valuation/思源电气价格合理性评估_20260813.md", |
| | | "snapshot_path": "ana-data/result/股票估值/20260813_sieyuan_electric_valuation/思源电气估值快照_20260813.json", |
| | | "qa": { |
| | | "error_count": 0, |
| | | "info_count": 0, |
| | | "issues": [], |
| | | "status": "PASS", |
| | | "warning_count": 0 |
| | | } |
| | | } |
| | | ] |
| | | } |
| New file |
| | |
| | | # 德业股份与思源电气价格合理性评估汇总(2026-08-13) |
| | | |
| | | - 价格基准:2026-08-13完整交易日前复权收盘价。 |
| | | - 信息上限:2026-08-13;最新经营信息分别为德业股份2026H1业绩预告、思源电气2026H1业绩快报。 |
| | | - 估值区间为条件化研究结论,不是目标价、交易指令或收益承诺。 |
| | | |
| | | | 公司 | 收盘价 | TTM扣非利润 | TTM扣非PE | 2026机构利润 | 前瞻PE | 基准合理区间 | 乐观上沿 | 判定 | |
| | | |---|---:|---:|---:|---:|---:|---:|---:|---| |
| | | | [德业股份](../../../../ana-data/result/股票估值/20260813_deye_valuation/德业股份价格合理性评估_20260813.md) | 90.71元 | 35.69亿元 | 32.36倍 | 73.67亿元(23家覆盖池) | 15.68倍 | 84.82—139.49元 | 212.06元 | 基本合理 | |
| | | | [思源电气](../../../../ana-data/result/股票估值/20260813_sieyuan_electric_valuation/思源电气价格合理性评估_20260813.md) | 167.58元 | 30.07亿元 | 43.61倍 | 43.09亿元(17家覆盖池) | 30.43倍 | 126.25—184.01元 | 252.50元 | 基本合理 | |
| | | |
| | | ## 核心判断 |
| | | |
| | | - 德业股份:当前价低于基准中枢,2026H1预告强、现金流好,估值看起来更便宜;但外销占比约80%,储能景气、贸易政策、汇率和电池包毛利率是主要折价来源。 |
| | | - 思源电气:当前价位于基准区间中上部,订单和海外扩张具备支撑;但2026H1利润增速明显慢于收入,应收与海外EPC风险使其不宜直接套用机构目标价。 |
| | | - 两家公司当前价均未高于各自基准合理区间上沿,因此按手册规则均未识别估值泡沫;若正式半年报或全年利润低于情景下限,必须下修合理区间。 |
| | | |
| | | ## 量价显影 |
| | | |
| | | | 公司 | 20日涨跌 | 60日涨跌 | MA60 | 相对MA60 | 近5日/60日成交额比 | |
| | | |---|---:|---:|---:|---:|---:| |
| | | | 德业股份 | 6.22% | -18.51% | 97.41元 | -6.88% | 0.97 | |
| | | | 思源电气 | 5.34% | -14.06% | 174.21元 | -3.81% | 0.69 | |
| | | |
| | | 量价只用于识别市场情绪和拥挤度,不反推企业价值。 |
| New file |
| | |
| | | { |
| | | "artifacts": { |
| | | "valuation_report.md": { |
| | | "bytes": 12387, |
| | | "sha256": "c698a9ce0737b48b54fbaa3aaaf0d5fb16e078f51c72ef0f0bf50641b00ef9ee" |
| | | }, |
| | | "valuation_results.json": { |
| | | "bytes": 9060, |
| | | "sha256": "a0b6029297a52cfa91bff9c271986be619e3915f0d3af7a5a435e6f835380a9e" |
| | | } |
| | | }, |
| | | "engine_fingerprint": "adc4956be60736acd2804c0f4ec676f859b47506d8a418aefbc07444c7cc4b45", |
| | | "engine_version": "1.0.0", |
| | | "fingerprint": "a17a9670b30eafd1e042a043e2ce7468046fad270cf0fec8bc6357c92512d764", |
| | | "manifest_version": "1.0.0", |
| | | "qa_status": "PASS", |
| | | "snapshot_path": "E:\\mb-ms-doc\\project-info\\ana-data\\result\\股票估值\\20260813_deye_valuation\\德业股份估值快照_20260813.json", |
| | | "source_registry_path": "E:\\mb-ms-doc\\project-info\\dev\\ana-dev\\stock_valuation_pipeline\\source_registry.json", |
| | | "status": "COMPLETE" |
| | | } |
| New file |
| | |
| | | # 德业股份(605117.SH)价格合理性评估(流水线生成底稿) |
| | | |
| | | > 估值基准日:2026-08-13 |
| | | > 价格时点:2026-08-13T15:00:00+08:00 |
| | | > 最新经营信息日:2026-07-09 |
| | | > 货币:CNY;金额计算统一使用元,表格按亿元展示。 |
| | | > 本文是研究计算底稿,不构成交易指令或收益承诺。 |
| | | |
| | | ## 0. 结论摘要 |
| | | |
| | | **机械计算结论:当前价格处于基准合理区间。** |
| | | |
| | | | 指标 | 结果 | |
| | | |---|---:| |
| | | | 当前价格 | 90.71 元/股 | |
| | | | 总市值 | 1154.95 亿元 | |
| | | | 企业价值 EV | 1083.27 亿元 | |
| | | | TTM 归母净利润 | 36.5312 亿元 | |
| | | | TTM 扣非净利润 | 35.6948 亿元 | |
| | | | TTM 收入 | 141.1686 亿元 | |
| | | | 报告 PE | 31.62 倍 | |
| | | | PB | 9.99 倍 | |
| | | | PS | 8.18 倍 | |
| | | | 自动质检 | PASS(错误 0 / 警告 0) | |
| | | |
| | | > **人工判断:** 90.71元位于基准合理区间84.82至139.49元内,判断为基本合理。当前结论依赖2026年利润兑现,不构成目标价或交易指令。 |
| | | |
| | | ## 1. 市场与资本结构快照 |
| | | |
| | | | 项目 | 数值 | 公式或口径 | |
| | | |---|---:|---| |
| | | | 股价 | 90.71 元 | 最近完整交易日前复权收盘价 | |
| | | | 完全摊薄股本 | 12.732310 亿股 | 股本日:2026-07-02 | |
| | | | 复算总市值 | 1154.9479 亿元 | 股价 × 完全摊薄股本 | |
| | | | 归母净资产 | 115.6320 亿元 | 截至 2026-03-31 | |
| | | | 每股净资产 | 9.0818 元 | 净资产 ÷ 摊薄股本 | |
| | | | 企业价值 | 1083.2744 亿元 | 市值 + 有息负债 + 少数股东权益 - 可用现金 - 非经营金融资产 | |
| | | |
| | | ## 2. 信息来源与固定优先级 |
| | | |
| | | 本次使用信源注册表版本 `1.0.0`。来源身份和优先级沿用固定注册表;本次只检查公司、报告期、版本、修订状态和数据口径。 |
| | | |
| | | | ID | 等级 | 来源 | 发布日 | 支持字段 | 修订状态 | |
| | | |---|---|---|---|---|---| |
| | | | SRC-ANNUAL-2025 | A1 | [2025年年度报告](https://static.cninfo.com.cn/finalpage/2026-04-10/1225089135.PDF) | 2026-04-10 | financials.annual, business, profit_sources, risks | current | |
| | | | SRC-CURRENT-2026Q1 | A1 | [2026年第一季度报告](https://static.cninfo.com.cn/finalpage/2026-04-30/1225254498.PDF) | 2026-04-30 | financials.current_cumulative, financials.prior_year_same_period, balance_sheet, balance_sheet.equity | current | |
| | | | SRC-LATEST-OPERATING | A1 | [2026年半年度业绩预增公告](https://static.sse.com.cn/disclosure/listedinfo/announcement/c/new/2026-07-09/605117_20260709_IHEV.pdf) | 2026-07-09 | latest_operating_information, valuation.scenarios | current | |
| | | | SRC-SHARES-A1 | A1 | [关于2022年股票期权激励计划2026年第二季度自主行权结果暨股份变动的公告](https://static.sse.com.cn/disclosure/listedinfo/announcement/c/new/2026-07-02/605117_20260702_MIX1.pdf) | 2026-07-02 | market.diluted_shares, market.shares_date | current | |
| | | | SRC-LOCAL-FRONT-KLINE | B1 | [trading_xuntou前复权日K完整收盘价](mysql://trading_xuntou/cn_stock_kline_1d_front) | 2026-08-13 | market.price, market.price_timestamp, market.amount, analysis.kline | current | |
| | | | SRC-EM-QUOTE-SHARES | B1 | [东方财富当前总股本与总市值快照交叉核验](https://push2delay.eastmoney.com/api/qt/stock/get) | 2026-08-13 | market.diluted_shares, market.platform_market_cap | current | |
| | | | SRC-EM-CONSENSUS-20260813 | B2 | [东方财富盈利预测汇总](https://datacenter-web.eastmoney.com/api/data/v1/get?reportName=RPT_WEB_RESPREDICT) | 2026-08-13 | institutions | current | |
| | | |
| | | 停止搜索规则:取得法定披露或合规效率型来源、日期与口径明确、无修订、数字可勾稽且无数量级异常后,不再为同一数字寻找更多转载来源。 |
| | | |
| | | ## 3. 业务与利润来源 |
| | | |
| | | - 2025年储能逆变器收入52.17亿元、毛利率51.10%,是毛利贡献的第一来源;储能电池包收入38.32亿元、毛利率31.81%,是增速最快的第二增长极。 |
| | | - 光伏逆变器收入10.54亿元,环境电器和热交换器合计约20.05亿元;2025年外销收入97.47亿元,占主营收入约80.0%,利润高度依赖海外储能需求和渠道。 |
| | | - 2026年上半年业绩预告归母净利润26.68至27.28亿元、扣非24.93至25.53亿元,增长主要来自欧洲、中东、东南亚户储及工商业储能销售放量。 |
| | | |
| | | ### 3.1 利润来源可靠性 |
| | | |
| | | - 2025年经营现金流39.86亿元,高于归母净利润31.71亿元;TTM简化自由现金流约40.60亿元,现金转化较好。 |
| | | - 2025年储能电池包毛利率同比下降9.49个百分点,且逆变器、电池包期末库存分别同比增加52.55%和49.18%,高增长同时带来库存与价格压力。 |
| | | - 2025年合同负债4.80亿元、同比增长81.43%;2026Q1升至6.05亿元,预收增长对后续收入有一定支撑。 |
| | | - 法定TTM归母36.53亿元、TTM扣非35.69亿元;主模型以最新半年信息和机构预期构造2026全年情景。 |
| | | - TTM经营现金流53.40亿元、资本开支12.80亿元、简化自由现金流40.60亿元。 |
| | | |
| | | ## 4. TTM 与归一化利润 |
| | | |
| | | ```text |
| | | TTM = 最近完整年度 + 本期累计/预告 - 上年同期累计 |
| | | TTM 收入 = 122.2374 亿元 + 44.5944 亿元 - 25.6632 亿元 = 141.1686 亿元 |
| | | TTM 归母 = 31.7077 亿元 + 11.8789 亿元 - 7.0554 亿元 = 36.5312 亿元 |
| | | TTM 扣非 = 30.3501 亿元 + 11.4705 亿元 - 6.1258 亿元 = 35.6948 亿元 |
| | | ``` |
| | | |
| | | | 归一化调整 | 对可持续利润的带符号影响 | 依据 | |
| | | |---|---:|---| |
| | | | 以TTM扣非归母利润替代TTM归母利润作为核心盈利代理 | -0.8364 亿元 | 2025年报加2026Q1减2025Q1;最新半年预告/快报仅用于情景利润,不混入TTM法定口径 | |
| | | |
| | | 归一化结果为 **35.6948 亿元**;只有调整项证据充分时才可用作主估值利润。 |
| | | |
| | | ## 5. 机构盈利预期 |
| | | |
| | | 覆盖状态:`available`。早于最新经营信息日、或低于已实现累计利润的预测自动排除出当前一致预期。 |
| | | |
| | | | 年度 | 机构数 | 利润最小值 | 利润均值 | 利润中位数 | 利润最大值 | EPS 均值 | 对应 PE | |
| | | |---|---:|---:|---:|---:|---:|---:|---:| |
| | | | 2026 | 1 | 73.67 亿元 | 73.67 亿元 | 73.67 亿元 | 73.67 亿元 | 5.786 | 15.68 倍 | |
| | | | 2027 | 1 | 91.78 亿元 | 91.78 亿元 | 91.78 亿元 | 91.78 亿元 | 7.209 | 12.58 倍 | |
| | | | 2028 | 1 | 109.76 亿元 | 109.76 亿元 | 109.76 亿元 | 109.76 亿元 | 8.620 | 10.52 倍 | |
| | | |
| | | | 机构 | 研报日期 | 预测 | 核心假设 | 状态 | 纳入一致预期 | |
| | | |---|---|---|---|---|---| |
| | | | 东方财富公开一致预期汇总(覆盖池23家) | 2026-08-13 | 2026: 利润 73.67 亿元, EPS 5.786; 2027: 利润 91.78 亿元, EPS 7.209; 2028: 利润 109.76 亿元, EPS 8.620 | 汇总快照不替代逐家研报;覆盖池数量不等于每个年度的有效样本数。 | CURRENT | 是 | |
| | | |
| | | ## 6. 利润质量、现金流与资产负债 |
| | | |
| | | | 指标 | 结果 | 判断入口 | |
| | | |---|---:|---| |
| | | | 最近年度 CFO | 39.8627 亿元 | 与利润、营运资本对照 | |
| | | | 最近年度资本开支 | 12.8697 亿元 | 现金流出正数口径 | |
| | | | 最近年度简化 FCF | 26.9930 亿元 | CFO - 资本开支 | |
| | | | 本期累计简化 FCF | 15.7262 亿元 | 仅在 CFO 与资本开支均可得时计算 | |
| | | | 可用现金 | 64.0960 亿元 | 已排除受限或经营最低现金(由输入方确认) | |
| | | | 有息负债 | 26.6276 亿元 | 最新时点 | |
| | | |
| | | - 需结合应收、存货、合同资产与回款补充人工解释 |
| | | |
| | | ## 7. 模型选择 |
| | | |
| | | - 公司类型:户用及工商业储能逆变器、储能电池包与环境电器 |
| | | - 主模型:2026年前瞻PE情景;TTM扣非、PB、现金流、最新半年预告/快报与反向利润交叉验证 |
| | | - 交叉验证:最新半年预告/快报, 机构一致预期, PB/ROE, 经营现金流与资本开支, 订单/合同负债/应收, 前复权量价 |
| | | |
| | | ## 8. 悲观、基准、乐观情景估值 |
| | | |
| | | | 情景 | 方法 | 核心假设 | 股权价值区间 | 每股价值区间 | 相对当前价 | 五年年化区间 | |
| | | |---|---|---|---:|---:|---:|---:| |
| | | | 悲观 | PE | 需求、订单或毛利率低于预期,利润下修且估值回归行业低位。 | 540.00 亿元~935.00 亿元 | 42.41~73.44 元 | -53.2%~-19.0% | -14.1%~-4.1% | |
| | | | 基准 | PE | 结合2026年最新业绩预告/快报、机构一致预期、订单与现金流,给予与增长持续性和风险相匹配的PE区间。 | 1080.00 亿元~1776.00 亿元 | 84.82~139.49 元 | -6.5%~53.8% | -1.3%~9.0% | |
| | | | 乐观 | PE | 订单、海外扩张、产品结构和利润率超预期,利润与估值中枢同步上移。 | 1872.00 亿元~2700.00 亿元 | 147.03~212.06 元 | 62.1%~133.8% | 10.1%~18.5% | |
| | | |
| | | ## 9. 当前价格反向隐含利润 |
| | | |
| | | | 假设 PE | 隐含 EPS | 隐含归母利润 | 占 TTM 收入 | |
| | | |---:|---:|---:|---:| |
| | | | 12 倍 | 7.559 元 | 96.25 亿元 | 68.2% | |
| | | | 15 倍 | 6.047 元 | 77.00 亿元 | 54.5% | |
| | | | 18 倍 | 5.039 元 | 64.16 亿元 | 45.5% | |
| | | | 20 倍 | 4.536 元 | 57.75 亿元 | 40.9% | |
| | | | 22 倍 | 4.123 元 | 52.50 亿元 | 37.2% | |
| | | | 25 倍 | 3.628 元 | 46.20 亿元 | 32.7% | |
| | | | 28 倍 | 3.240 元 | 41.25 亿元 | 29.2% | |
| | | | 30 倍 | 3.024 元 | 38.50 亿元 | 27.3% | |
| | | | 32 倍 | 2.835 元 | 36.09 亿元 | 25.6% | |
| | | | 35 倍 | 2.592 元 | 33.00 亿元 | 23.4% | |
| | | | 40 倍 | 2.268 元 | 28.87 亿元 | 20.5% | |
| | | |
| | | ## 10. 持有期回报压力测试 |
| | | |
| | | 若要求 5 年年化回报 10.0%,并假设累计每股分红 0.00 元,则所需退出价格为 **146.09 元**。 |
| | | |
| | | | 退出 PE | 届时所需归母利润 | |
| | | |---:|---:| |
| | | | 12 倍 | 155.00 亿元 | |
| | | | 15 倍 | 124.00 亿元 | |
| | | | 18 倍 | 103.34 亿元 | |
| | | | 20 倍 | 93.00 亿元 | |
| | | | 22 倍 | 84.55 亿元 | |
| | | | 25 倍 | 74.40 亿元 | |
| | | | 28 倍 | 66.43 亿元 | |
| | | | 30 倍 | 62.00 亿元 | |
| | | | 32 倍 | 58.13 亿元 | |
| | | | 35 倍 | 53.14 亿元 | |
| | | | 40 倍 | 46.50 亿元 | |
| | | |
| | | ## 11. 自动质检与异常驱动复核 |
| | | |
| | | 总体状态:`PASS`。ERROR 会阻止把底稿当作正式结论;WARNING 只要求局部补查,不应重跑全部流程。 |
| | | |
| | | | 异常 ID | 严重度 | 数据项 | 现象 | 需要补什么 | 修复后重算范围 | |
| | | |---|---|---|---|---|---| |
| | | | — | PASS | — | 未发现自动异常 | — | — | |
| | | |
| | | ## 12. 风险、上调与下调触发器 |
| | | |
| | | ### 12.1 主要风险 |
| | | |
| | | - 外销约占主营收入80%,欧盟、美国及其他市场的关税、贸易限制、认证和补贴规则变化会直接影响订单和利润率。 |
| | | - 储能景气和能源价格具有周期性;机构2026年利润预期较2025年大幅增长,若下半年需求或毛利率回落,年度利润容易低于一致预期。 |
| | | - 储能电池包毛利率已显著下降,锂电池、IGBT、铜铝及其他元器件价格波动会侵蚀利润;库存高增长增加跌价与渠道去库存风险。 |
| | | - 汇率、海外应收与渠道回款、股权激励持续行权会影响归母利润和每股收益。 |
| | | - 机构汇总口径不是法定事实,且覆盖池数量不等于每个年度的有效样本数。 |
| | | |
| | | ### 12.2 上调触发器 |
| | | |
| | | - 2026年正式半年报达到预告中枢且经营现金流、库存周转同步改善。 |
| | | - 欧洲、中东、东南亚之外的新市场持续放量,储能电池包毛利率止跌回升。 |
| | | |
| | | ### 12.3 下调或失效触发器 |
| | | |
| | | - 2026年归母净利润低于60亿元或扣非利润与现金流明显背离。 |
| | | - 贸易限制、补贴退坡、渠道去库存或产品降价使储能业务毛利率继续显著下滑。 |
| | | |
| | | ## 13. 复评增量清单 |
| | | |
| | | 下次复评默认只更新:价格与市值、最新股本、最新财报/预告及修正、机构预测、现金债务、重大合同和公司行动。历史年报原文及已验证公式在没有重述触发器时直接复用。 |
| | | |
| | | ## 14. 复算摘要 |
| | | |
| | | ```text |
| | | 总市值 = 90.71 × 1273231036.0 = 115494787275.560 元 |
| | | TTM 收入 = 年度 + 本期累计 - 上年同期 = 14116857363.82 元 |
| | | TTM 归母 = 年度 + 本期累计 - 上年同期 = 3653120245.42 元 |
| | | TTM 扣非 = 年度 + 本期累计 - 上年同期 = 3569477849.19 元 |
| | | PB = 市值 ÷ 归母净资产 = 9.988133078474246382722735733 |
| | | PS = 市值 ÷ TTM 收入 = 8.181338402664662703783314877 |
| | | ``` |
| | | |
| | | ## 15. 结论边界 |
| | | |
| | | - 自动引擎冻结算术、口径、机构时效和异常检查,不替代对利润持续性、订单真实性、竞争格局和治理风险的人工判断。 |
| | | - 机构预测、公司预告和本报告情景已分开标记,不把预测写成事实。 |
| | | - 情景价值不是目标价承诺;若自动质检存在 ERROR,必须先修复输入再形成正式判断。 |
| | | - 未披露的资产注入、并购或政策收益不得计入基础价值。 |
| | | |
| | | --- |
| | | |
| | | 生成器版本:`1.0.0`;输入快照:`SNAPSHOT-605117-20260813-V1`。 |
| New file |
| | |
| | | { |
| | | "conclusion": { |
| | | "base_midpoint": "112.1556072404757183440193803", |
| | | "price_label": "当前价格处于基准合理区间", |
| | | "price_position": "WITHIN_BASE_RANGE", |
| | | "safety_margin_to_base_midpoint": "0.1912129742607843137254901960" |
| | | }, |
| | | "engine_version": "1.0.0", |
| | | "holding_period": { |
| | | "cumulative_dividend_per_share": "0", |
| | | "required_exit_price": "146.0893621", |
| | | "required_profit_by_exit_pe": [ |
| | | { |
| | | "exit_pe": "12", |
| | | "required_profit": "15500459154.59684463333333333" |
| | | }, |
| | | { |
| | | "exit_pe": "15", |
| | | "required_profit": "12400367323.67747570666666667" |
| | | }, |
| | | { |
| | | "exit_pe": "18", |
| | | "required_profit": "10333639436.39789642222222222" |
| | | }, |
| | | { |
| | | "exit_pe": "20", |
| | | "required_profit": "9300275492.75810678" |
| | | }, |
| | | { |
| | | "exit_pe": "22", |
| | | "required_profit": "8454795902.50736980" |
| | | }, |
| | | { |
| | | "exit_pe": "25", |
| | | "required_profit": "7440220394.206485424" |
| | | }, |
| | | { |
| | | "exit_pe": "28", |
| | | "required_profit": "6643053923.39864770" |
| | | }, |
| | | { |
| | | "exit_pe": "30", |
| | | "required_profit": "6200183661.838737853333333333" |
| | | }, |
| | | { |
| | | "exit_pe": "32", |
| | | "required_profit": "5812672182.9738167375" |
| | | }, |
| | | { |
| | | "exit_pe": "35", |
| | | "required_profit": "5314443138.71891816" |
| | | }, |
| | | { |
| | | "exit_pe": "40", |
| | | "required_profit": "4650137746.37905339" |
| | | } |
| | | ], |
| | | "required_return": "0.1", |
| | | "years": 5 |
| | | }, |
| | | "institutions": { |
| | | "coverage_status": "available", |
| | | "detail": [ |
| | | { |
| | | "core_assumption": "汇总快照不替代逐家研报;覆盖池数量不等于每个年度的有效样本数。", |
| | | "estimates": { |
| | | "2026": { |
| | | "eps": "5.785909090909", |
| | | "profit": "7366799026.019884" |
| | | }, |
| | | "2027": { |
| | | "eps": "7.208523809524", |
| | | "profit": "9178116238.03091" |
| | | }, |
| | | "2028": { |
| | | "eps": "8.620285714286", |
| | | "profit": "10975615310.616364" |
| | | } |
| | | }, |
| | | "included": true, |
| | | "institution": "东方财富公开一致预期汇总(覆盖池23家)", |
| | | "report_date": "2026-08-13", |
| | | "source_id": "SRC-EM-CONSENSUS-20260813", |
| | | "statuses": [ |
| | | "CURRENT" |
| | | ] |
| | | } |
| | | ], |
| | | "summary": { |
| | | "2026": { |
| | | "eps_mean": "5.785909090909", |
| | | "eps_profit_reconciliation_gap": "0.00000000000000003417006478809845062165992777", |
| | | "institution_count": 1, |
| | | "pe_on_mean": "15.67774373477909830841334159", |
| | | "profit_max": "7366799026.019884", |
| | | "profit_mean": "7366799026.019884", |
| | | "profit_median": "7366799026.019884", |
| | | "profit_min": "7366799026.019884" |
| | | }, |
| | | "2027": { |
| | | "eps_mean": "7.208523809524", |
| | | "eps_profit_reconciliation_gap": "0.00000000000000008859508628041212283054465945", |
| | | "institution_count": 1, |
| | | "pe_on_mean": "12.58371372515308924209721019", |
| | | "profit_max": "9178116238.03091", |
| | | "profit_mean": "9178116238.03091", |
| | | "profit_median": "9178116238.03091", |
| | | "profit_min": "9178116238.03091" |
| | | }, |
| | | "2028": { |
| | | "eps_mean": "8.620285714286", |
| | | "eps_profit_reconciliation_gap": "0.00000000000000002001746542514908487082291967", |
| | | "institution_count": 1, |
| | | "pe_on_mean": "10.52285307082925560278691990", |
| | | "profit_max": "10975615310.616364", |
| | | "profit_mean": "10975615310.616364", |
| | | "profit_median": "10975615310.616364", |
| | | "profit_min": "10975615310.616364" |
| | | } |
| | | } |
| | | }, |
| | | "meta": { |
| | | "as_of_date": "2026-08-13", |
| | | "code": "605117.SH", |
| | | "company": "德业股份", |
| | | "currency": "CNY", |
| | | "latest_operating_info_date": "2026-07-09", |
| | | "market": "上海证券交易所", |
| | | "report_period_end": "2026-03-31" |
| | | }, |
| | | "metrics": { |
| | | "annual_cash_conversion": "1.257192844332407611854733803", |
| | | "annual_fcf": "2699300570.02", |
| | | "book_value_per_share": "9.081777273822282164350257010", |
| | | "current_fcf": "1572617659.10", |
| | | "deduct_pe": "32.35621347300657235150942976", |
| | | "diluted_shares": "1273231036.0", |
| | | "enterprise_value": "108327441923.060", |
| | | "market_cap": "115494787275.560", |
| | | "normalized_eps": "2.803480081984115237982621718", |
| | | "normalized_pe": "32.35621347300657253280324830", |
| | | "normalized_profit": "3569477849.18999998", |
| | | "pb": "9.988133078474246382722735733", |
| | | "price": "90.71", |
| | | "ps": "8.181338402664662703783314877", |
| | | "reported_pe": "31.61538069280868692265571770", |
| | | "ttm_attributable_profit": "3653120245.42", |
| | | "ttm_deduct_profit": "3569477849.19", |
| | | "ttm_eps": "2.869173105375040512286098562", |
| | | "ttm_revenue": "14116857363.82" |
| | | }, |
| | | "normalization_adjustments": [ |
| | | { |
| | | "amount": "-83642396.23000002", |
| | | "basis": "2025年报加2026Q1减2025Q1;最新半年预告/快报仅用于情景利润,不混入TTM法定口径", |
| | | "description": "以TTM扣非归母利润替代TTM归母利润作为核心盈利代理" |
| | | } |
| | | ], |
| | | "qa": { |
| | | "error_count": 0, |
| | | "info_count": 0, |
| | | "issues": [], |
| | | "status": "PASS", |
| | | "warning_count": 0 |
| | | }, |
| | | "reverse_pe": [ |
| | | { |
| | | "implied_eps": "7.559166666666666666666666667", |
| | | "implied_margin": "0.6817782002220552253152762398", |
| | | "implied_profit": "9624565606.296666666666666667", |
| | | "pe": "12" |
| | | }, |
| | | { |
| | | "implied_eps": "6.047333333333333333333333333", |
| | | "implied_margin": "0.5454225601776441802522209918", |
| | | "implied_profit": "7699652485.037333333333333333", |
| | | "pe": "15" |
| | | }, |
| | | { |
| | | "implied_eps": "5.039444444444444444444444444", |
| | | "implied_margin": "0.4545188001480368168768508265", |
| | | "implied_profit": "6416377070.864444444444444444", |
| | | "pe": "18" |
| | | }, |
| | | { |
| | | "implied_eps": "4.5355", |
| | | "implied_margin": "0.4090669201332331351891657439", |
| | | "implied_profit": "5774739363.778", |
| | | "pe": "20" |
| | | }, |
| | | { |
| | | "implied_eps": "4.123181818181818181818181818", |
| | | "implied_margin": "0.3718790183029392138083324944", |
| | | "implied_profit": "5249763057.980", |
| | | "pe": "22" |
| | | }, |
| | | { |
| | | "implied_eps": "3.6284", |
| | | "implied_margin": "0.3272535361065865081513325951", |
| | | "implied_profit": "4619791491.0224", |
| | | "pe": "25" |
| | | }, |
| | | { |
| | | "implied_eps": "3.239642857142857142857142857", |
| | | "implied_margin": "0.2921906572380236679922612456", |
| | | "implied_profit": "4124813831.270", |
| | | "pe": "28" |
| | | }, |
| | | { |
| | | "implied_eps": "3.023666666666666666666666667", |
| | | "implied_margin": "0.2727112800888220901261104959", |
| | | "implied_profit": "3849826242.518666666666666667", |
| | | "pe": "30" |
| | | }, |
| | | { |
| | | "implied_eps": "2.8346875", |
| | | "implied_margin": "0.2556668250832707094932285899", |
| | | "implied_profit": "3609212102.36125", |
| | | "pe": "32" |
| | | }, |
| | | { |
| | | "implied_eps": "2.591714285714285714285714286", |
| | | "implied_margin": "0.2337525257904189343938089965", |
| | | "implied_profit": "3299851065.016", |
| | | "pe": "35" |
| | | }, |
| | | { |
| | | "implied_eps": "2.26775", |
| | | "implied_margin": "0.2045334600666165675945828719", |
| | | "implied_profit": "2887369681.889", |
| | | "pe": "40" |
| | | } |
| | | ], |
| | | "scenarios": [ |
| | | { |
| | | "assumption": "需求、订单或毛利率低于预期,利润下修且估值回归行业低位。", |
| | | "cagr_high": "-0.041372583562126364", |
| | | "cagr_low": "-0.14105318171967884", |
| | | "equity_value_high": "93500000000.00", |
| | | "equity_value_low": "54000000000.00", |
| | | "method": "pe", |
| | | "name": "悲观", |
| | | "price_high": "73.43521902650195843953649901", |
| | | "price_low": "42.41178425060006155866279087", |
| | | "role": "pessimistic", |
| | | "upside_to_high": "-0.1904396535497524149538474368", |
| | | "upside_to_low": "-0.5324464309271297369786926373" |
| | | }, |
| | | { |
| | | "assumption": "结合2026年最新业绩预告/快报、机构一致预期、订单与现金流,给予与增长持续性和风险相匹配的PE区间。", |
| | | "cagr_high": "0.08987355691900722", |
| | | "cagr_low": "-0.013329202811457996", |
| | | "equity_value_high": "177600000000.00", |
| | | "equity_value_low": "108000000000.00", |
| | | "method": "pe", |
| | | "name": "基准", |
| | | "price_high": "139.4876459797513135707131789", |
| | | "price_low": "84.82356850120012311732558175", |
| | | "role": "base", |
| | | "upside_to_high": "0.537731738284106642825633104", |
| | | "upside_to_low": "-0.0648928618542594739573852745" |
| | | }, |
| | | { |
| | | "assumption": "订单、海外扩张、产品结构和利润率超预期,利润与估值中枢同步上移。", |
| | | "cagr_high": "0.18511440279909497", |
| | | "cagr_low": "0.10140918079810435", |
| | | "equity_value_high": "270000000000.00", |
| | | "equity_value_low": "187200000000.00", |
| | | "method": "pe", |
| | | "name": "乐观", |
| | | "price_high": "212.0589212530003077933139544", |
| | | "price_low": "147.0275187354135467366976750", |
| | | "role": "optimistic", |
| | | "upside_to_high": "1.337767845364351315106536814", |
| | | "upside_to_low": "0.620852372785950245140532190" |
| | | } |
| | | ] |
| | | } |
| New file |
| | |
| | | { |
| | | "case_id": "ANA-STOCK-VALUATION-DEYE-SIEYUAN-20260813-001", |
| | | "ticker": "605117.SH", |
| | | "company": "德业股份", |
| | | "as_of": "2026-08-13", |
| | | "v2_status": "BLOCKED", |
| | | "v2_failure": { |
| | | "complete": false, |
| | | "error": "ValueError: E_HISTORICAL_SHARES_UNPROVEN:quote f124 缺失或为 0", |
| | | "error_code": "E_CORE_INPUT", |
| | | "error_type": "CoreInputError", |
| | | "recorded_at": "2026-08-13T22:29:09.017+08:00", |
| | | "rollback_errors": [], |
| | | "run_id": "7a9fe2cfb6774a06b3d321261e07a132", |
| | | "schema_version": 2, |
| | | "status": "BLOCKED" |
| | | }, |
| | | "v2_failure_package": "ai-valuation-analyst/tmp/valuation_20260813_deye_sieyuan_v2/605117_SH.failed-7a9fe2cfb6774a06b3d321261e07a132", |
| | | "v2_raw_artifact_hashes": [ |
| | | "1c6188170bb8165b068b41bab6269ebb265c8423c8b1eff123a8464768fd0633", |
| | | "52c16423d8a546d87282df0465af2f7f541f9bc9a741b7c7fdeed8ddbc86933d", |
| | | "6f8d3b646430876d01841239dc4d4d1f0ccffe5187aa76da8dcbe78f4b306525", |
| | | "7cd0e96f4e30517828ddea6270f152cd54df434569f3c19603565a44b1a567fe", |
| | | "9a3d7827fd92e1058ac340dd8a641bf1fffd40a3d17cf8d2abd3f6d729aabe0e", |
| | | "a654d3bb0afcaa214a75fe8513ec396d5a1dfd364ea75898b814f954c7c41432", |
| | | "d2438c15d3204c7433a822d1cf43680c3983c2776f87e8a40570f4e505c559a6", |
| | | "db2c325ca21e22f43c55e8f823735d0cc904ab4a79ffb6df81085309f7421100", |
| | | "e3d944eb4fda775138ef38843f5c5766df0fb536d18747a62f60084d393eb2c7", |
| | | "e59514d6acc15e57a7fbd77a8f954975ee8a11f940a0e96c88535ea1c274bc33" |
| | | ], |
| | | "quote_raw_hash": "a654d3bb0afcaa214a75fe8513ec396d5a1dfd364ea75898b814f954c7c41432", |
| | | "consensus_raw_hash": "1c6188170bb8165b068b41bab6269ebb265c8423c8b1eff123a8464768fd0633", |
| | | "market_contract": { |
| | | "table": "trading_xuntou.cn_stock_kline_1d_front", |
| | | "source": "xtquant", |
| | | "source_batch_id": "FKL_20260813_161015_179d5321_1d_20260813_00016", |
| | | "updated_at": "2026-08-13 16:21:17", |
| | | "trade_date": "2026-08-13" |
| | | }, |
| | | "share_proof": { |
| | | "current_shares": 1273231036.0, |
| | | "a1_title": "关于2022年股票期权激励计划2026年第二季度自主行权结果暨股份变动的公告", |
| | | "a1_publish_date": "2026-07-02", |
| | | "a1_url": "https://static.sse.com.cn/disclosure/listedinfo/announcement/c/new/2026-07-02/605117_20260702_MIX1.pdf", |
| | | "quote_shares": 1273231036.0, |
| | | "quote_market_cap": 115494787275.56, |
| | | "price_times_shares": 115494787275.56 |
| | | }, |
| | | "bounded_gaps": [ |
| | | "V2 quote f124=0,故端到端V2按历史股本时间戳门禁诚实阻断;正式估值由后续A1股本公告和估值日总股本/总市值快照补证。", |
| | | "机构汇总覆盖池不是逐家研报原文;本报告披露机构数、EPS和推算利润,不将其写成法定事实。", |
| | | "最新半年预告/快报提供利润锚,但资产负债表、现金流明细仍以2026Q1法定报告为最新完整结构口径。" |
| | | ], |
| | | "checks": { |
| | | "v1_qa": { |
| | | "error_count": 0, |
| | | "info_count": 0, |
| | | "issues": [], |
| | | "status": "PASS", |
| | | "warning_count": 0 |
| | | }, |
| | | "label": "基本合理", |
| | | "base_low": 84.82356850120013, |
| | | "base_high": 139.4876459797513, |
| | | "optimistic_high": 212.0589212530003, |
| | | "price": 90.71 |
| | | } |
| | | } |
| New file |
| | |
| | | # 德业股份(605117.SH)价格合理性评估 |
| | | |
| | | > 估值基准日:2026-08-13 |
| | | > 价格时点:2026-08-13T15:00:00+08:00 |
| | | > 最新经营信息日:2026-07-09 |
| | | > 货币:CNY;金额计算统一使用元,表格按亿元展示。 |
| | | > 本文为按《股票价格合理性评估操作手册》形成的条件化研究结论,不构成交易指令或收益承诺。 |
| | | |
| | | ## 0. 结论摘要 |
| | | |
| | | **机械计算结论:当前价格处于基准合理区间。** |
| | | |
| | | | 指标 | 结果 | |
| | | |---|---:| |
| | | | 当前价格 | 90.71 元/股 | |
| | | | 总市值 | 1154.95 亿元 | |
| | | | 企业价值 EV | 1083.27 亿元 | |
| | | | TTM 归母净利润 | 36.5312 亿元 | |
| | | | TTM 扣非净利润 | 35.6948 亿元 | |
| | | | TTM 收入 | 141.1686 亿元 | |
| | | | 报告 PE | 31.62 倍 | |
| | | | PB | 9.99 倍 | |
| | | | PS | 8.18 倍 | |
| | | | 自动质检 | PASS(错误 0 / 警告 0) | |
| | | |
| | | > **人工判断:** 90.71元位于基准合理区间84.82至139.49元内,判断为基本合理。当前结论依赖2026年利润兑现,不构成目标价或交易指令。 |
| | | |
| | | ## 1. 市场与资本结构快照 |
| | | |
| | | | 项目 | 数值 | 公式或口径 | |
| | | |---|---:|---| |
| | | | 股价 | 90.71 元 | 最近完整交易日前复权收盘价 | |
| | | | 完全摊薄股本 | 12.732310 亿股 | 股本日:2026-07-02 | |
| | | | 复算总市值 | 1154.9479 亿元 | 股价 × 完全摊薄股本 | |
| | | | 归母净资产 | 115.6320 亿元 | 截至 2026-03-31 | |
| | | | 每股净资产 | 9.0818 元 | 净资产 ÷ 摊薄股本 | |
| | | | 企业价值 | 1083.2744 亿元 | 市值 + 有息负债 + 少数股东权益 - 可用现金 - 非经营金融资产 | |
| | | |
| | | |
| | | ### 1.1 前复权量价显影 |
| | | |
| | | - 20日涨跌:6.22%;60日涨跌:-18.51%。 |
| | | - 60日均线:97.41元;当前价相对MA60:-6.88%。 |
| | | - 近5日/60日平均成交额比:0.97。量价用于显影情绪,不改变合理价值。 |
| | | |
| | | ## 2. 信息来源与固定优先级 |
| | | |
| | | 本次使用信源注册表版本 `1.0.0`。来源身份和优先级沿用固定注册表;本次只检查公司、报告期、版本、修订状态和数据口径。 |
| | | |
| | | | ID | 等级 | 来源 | 发布日 | 支持字段 | 修订状态 | |
| | | |---|---|---|---|---|---| |
| | | | SRC-ANNUAL-2025 | A1 | [2025年年度报告](https://static.cninfo.com.cn/finalpage/2026-04-10/1225089135.PDF) | 2026-04-10 | financials.annual, business, profit_sources, risks | current | |
| | | | SRC-CURRENT-2026Q1 | A1 | [2026年第一季度报告](https://static.cninfo.com.cn/finalpage/2026-04-30/1225254498.PDF) | 2026-04-30 | financials.current_cumulative, financials.prior_year_same_period, balance_sheet, balance_sheet.equity | current | |
| | | | SRC-LATEST-OPERATING | A1 | [2026年半年度业绩预增公告](https://static.sse.com.cn/disclosure/listedinfo/announcement/c/new/2026-07-09/605117_20260709_IHEV.pdf) | 2026-07-09 | latest_operating_information, valuation.scenarios | current | |
| | | | SRC-SHARES-A1 | A1 | [关于2022年股票期权激励计划2026年第二季度自主行权结果暨股份变动的公告](https://static.sse.com.cn/disclosure/listedinfo/announcement/c/new/2026-07-02/605117_20260702_MIX1.pdf) | 2026-07-02 | market.diluted_shares, market.shares_date | current | |
| | | | SRC-LOCAL-FRONT-KLINE | B1 | [trading_xuntou前复权日K完整收盘价](mysql://trading_xuntou/cn_stock_kline_1d_front) | 2026-08-13 | market.price, market.price_timestamp, market.amount, analysis.kline | current | |
| | | | SRC-EM-QUOTE-SHARES | B1 | [东方财富当前总股本与总市值快照交叉核验](https://push2delay.eastmoney.com/api/qt/stock/get) | 2026-08-13 | market.diluted_shares, market.platform_market_cap | current | |
| | | | SRC-EM-CONSENSUS-20260813 | B2 | [东方财富盈利预测汇总](https://datacenter-web.eastmoney.com/api/data/v1/get?reportName=RPT_WEB_RESPREDICT) | 2026-08-13 | institutions | current | |
| | | |
| | | 停止搜索规则:取得法定披露或合规效率型来源、日期与口径明确、无修订、数字可勾稽且无数量级异常后,不再为同一数字寻找更多转载来源。 |
| | | |
| | | ## 3. 业务与利润来源 |
| | | |
| | | - 2025年储能逆变器收入52.17亿元、毛利率51.10%,是毛利贡献的第一来源;储能电池包收入38.32亿元、毛利率31.81%,是增速最快的第二增长极。 |
| | | - 光伏逆变器收入10.54亿元,环境电器和热交换器合计约20.05亿元;2025年外销收入97.47亿元,占主营收入约80.0%,利润高度依赖海外储能需求和渠道。 |
| | | - 2026年上半年业绩预告归母净利润26.68至27.28亿元、扣非24.93至25.53亿元,增长主要来自欧洲、中东、东南亚户储及工商业储能销售放量。 |
| | | |
| | | ### 3.1 利润来源可靠性 |
| | | |
| | | - 2025年经营现金流39.86亿元,高于归母净利润31.71亿元;TTM简化自由现金流约40.60亿元,现金转化较好。 |
| | | - 2025年储能电池包毛利率同比下降9.49个百分点,且逆变器、电池包期末库存分别同比增加52.55%和49.18%,高增长同时带来库存与价格压力。 |
| | | - 2025年合同负债4.80亿元、同比增长81.43%;2026Q1升至6.05亿元,预收增长对后续收入有一定支撑。 |
| | | - 法定TTM归母36.53亿元、TTM扣非35.69亿元;主模型以最新半年信息和机构预期构造2026全年情景。 |
| | | - TTM经营现金流53.40亿元、资本开支12.80亿元、简化自由现金流40.60亿元。 |
| | | |
| | | ## 4. TTM 与归一化利润 |
| | | |
| | | ```text |
| | | TTM = 最近完整年度 + 本期累计/预告 - 上年同期累计 |
| | | TTM 收入 = 122.2374 亿元 + 44.5944 亿元 - 25.6632 亿元 = 141.1686 亿元 |
| | | TTM 归母 = 31.7077 亿元 + 11.8789 亿元 - 7.0554 亿元 = 36.5312 亿元 |
| | | TTM 扣非 = 30.3501 亿元 + 11.4705 亿元 - 6.1258 亿元 = 35.6948 亿元 |
| | | ``` |
| | | |
| | | | 归一化调整 | 对可持续利润的带符号影响 | 依据 | |
| | | |---|---:|---| |
| | | | 以TTM扣非归母利润替代TTM归母利润作为核心盈利代理 | -0.8364 亿元 | 2025年报加2026Q1减2025Q1;最新半年预告/快报仅用于情景利润,不混入TTM法定口径 | |
| | | |
| | | 归一化结果为 **35.6948 亿元**;只有调整项证据充分时才可用作主估值利润。 |
| | | |
| | | ## 5. 机构盈利预期 |
| | | |
| | | 覆盖状态:`available`。东方财富公开一致预期覆盖池为 **23家**;下表按一条汇总观测进入V1,因此“机构数”列显示1,不代表仅有1家机构。早于最新经营信息日、或低于已实现累计利润的预测自动排除出当前一致预期。 |
| | | |
| | | | 年度 | 机构数 | 利润最小值 | 利润均值 | 利润中位数 | 利润最大值 | EPS 均值 | 对应 PE | |
| | | |---|---:|---:|---:|---:|---:|---:|---:| |
| | | | 2026 | 1 | 73.67 亿元 | 73.67 亿元 | 73.67 亿元 | 73.67 亿元 | 5.786 | 15.68 倍 | |
| | | | 2027 | 1 | 91.78 亿元 | 91.78 亿元 | 91.78 亿元 | 91.78 亿元 | 7.209 | 12.58 倍 | |
| | | | 2028 | 1 | 109.76 亿元 | 109.76 亿元 | 109.76 亿元 | 109.76 亿元 | 8.620 | 10.52 倍 | |
| | | |
| | | | 机构 | 研报日期 | 预测 | 核心假设 | 状态 | 纳入一致预期 | |
| | | |---|---|---|---|---|---| |
| | | | 东方财富公开一致预期汇总(覆盖池23家) | 2026-08-13 | 2026: 利润 73.67 亿元, EPS 5.786; 2027: 利润 91.78 亿元, EPS 7.209; 2028: 利润 109.76 亿元, EPS 8.620 | 汇总快照不替代逐家研报;覆盖池数量不等于每个年度的有效样本数。 | CURRENT | 是 | |
| | | |
| | | ### 5.1 最新半年经营信息 |
| | | |
| | | - 预告口径:归母26.68至27.28亿元,扣非24.93至25.53亿元。 |
| | | - 该信息用于调整2026全年情景利润,不与法定TTM公式重复相加。 |
| | | |
| | | ## 6. 利润质量、现金流与资产负债 |
| | | |
| | | | 指标 | 结果 | 判断入口 | |
| | | |---|---:|---| |
| | | | 最近年度 CFO | 39.8627 亿元 | 与利润、营运资本对照 | |
| | | | 最近年度资本开支 | 12.8697 亿元 | 现金流出正数口径 | |
| | | | 最近年度简化 FCF | 26.9930 亿元 | CFO - 资本开支 | |
| | | | 本期累计简化 FCF | 15.7262 亿元 | 仅在 CFO 与资本开支均可得时计算 | |
| | | | 可用现金 | 64.0960 亿元 | 已排除受限或经营最低现金(由输入方确认) | |
| | | | 有息负债 | 26.6276 亿元 | 最新时点 | |
| | | |
| | | - 需结合应收、存货、合同资产与回款补充人工解释 |
| | | |
| | | ## 7. 模型选择 |
| | | |
| | | - 公司类型:户用及工商业储能逆变器、储能电池包与环境电器 |
| | | - 主模型:2026年前瞻PE情景;TTM扣非、PB、现金流、最新半年预告/快报与反向利润交叉验证 |
| | | - 交叉验证:最新半年预告/快报, 机构一致预期, PB/ROE, 经营现金流与资本开支, 订单/合同负债/应收, 前复权量价 |
| | | |
| | | ## 8. 悲观、基准、乐观情景估值 |
| | | |
| | | | 情景 | 方法 | 核心假设 | 股权价值区间 | 每股价值区间 | 相对当前价 | 五年年化区间 | |
| | | |---|---|---|---:|---:|---:|---:| |
| | | | 悲观 | PE | 需求、订单或毛利率低于预期,利润下修且估值回归行业低位。 | 540.00 亿元~935.00 亿元 | 42.41~73.44 元 | -53.2%~-19.0% | -14.1%~-4.1% | |
| | | | 基准 | PE | 结合2026年最新业绩预告/快报、机构一致预期、订单与现金流,给予与增长持续性和风险相匹配的PE区间。 | 1080.00 亿元~1776.00 亿元 | 84.82~139.49 元 | -6.5%~53.8% | -1.3%~9.0% | |
| | | | 乐观 | PE | 订单、海外扩张、产品结构和利润率超预期,利润与估值中枢同步上移。 | 1872.00 亿元~2700.00 亿元 | 147.03~212.06 元 | 62.1%~133.8% | 10.1%~18.5% | |
| | | |
| | | ## 9. 当前价格反向隐含利润 |
| | | |
| | | | 假设 PE | 隐含 EPS | 隐含归母利润 | 占 TTM 收入 | |
| | | |---:|---:|---:|---:| |
| | | | 12 倍 | 7.559 元 | 96.25 亿元 | 68.2% | |
| | | | 15 倍 | 6.047 元 | 77.00 亿元 | 54.5% | |
| | | | 18 倍 | 5.039 元 | 64.16 亿元 | 45.5% | |
| | | | 20 倍 | 4.536 元 | 57.75 亿元 | 40.9% | |
| | | | 22 倍 | 4.123 元 | 52.50 亿元 | 37.2% | |
| | | | 25 倍 | 3.628 元 | 46.20 亿元 | 32.7% | |
| | | | 28 倍 | 3.240 元 | 41.25 亿元 | 29.2% | |
| | | | 30 倍 | 3.024 元 | 38.50 亿元 | 27.3% | |
| | | | 32 倍 | 2.835 元 | 36.09 亿元 | 25.6% | |
| | | | 35 倍 | 2.592 元 | 33.00 亿元 | 23.4% | |
| | | | 40 倍 | 2.268 元 | 28.87 亿元 | 20.5% | |
| | | |
| | | ## 10. 持有期回报压力测试 |
| | | |
| | | 若要求 5 年年化回报 10.0%,并假设累计每股分红 0.00 元,则所需退出价格为 **146.09 元**。 |
| | | |
| | | | 退出 PE | 届时所需归母利润 | |
| | | |---:|---:| |
| | | | 12 倍 | 155.00 亿元 | |
| | | | 15 倍 | 124.00 亿元 | |
| | | | 18 倍 | 103.34 亿元 | |
| | | | 20 倍 | 93.00 亿元 | |
| | | | 22 倍 | 84.55 亿元 | |
| | | | 25 倍 | 74.40 亿元 | |
| | | | 28 倍 | 66.43 亿元 | |
| | | | 30 倍 | 62.00 亿元 | |
| | | | 32 倍 | 58.13 亿元 | |
| | | | 35 倍 | 53.14 亿元 | |
| | | | 40 倍 | 46.50 亿元 | |
| | | |
| | | ## 11. 自动质检与异常驱动复核 |
| | | |
| | | 总体状态:`PASS`。ERROR 会阻止把底稿当作正式结论;WARNING 只要求局部补查,不应重跑全部流程。 |
| | | |
| | | | 异常 ID | 严重度 | 数据项 | 现象 | 需要补什么 | 修复后重算范围 | |
| | | |---|---|---|---|---|---| |
| | | | — | PASS | — | 未发现自动异常 | — | — | |
| | | |
| | | ## 11.1 估值泡沫判定 |
| | | |
| | | - 当前价90.71元未高于基准合理区间上沿139.49元,按手册规则**未识别估值泡沫**。 |
| | | - 当前价相对基准上沿为-34.97%,相对乐观上沿为-57.22%。 |
| | | - 这不等于没有经营风险;若利润情景下修,合理区间会同步下移,需要按下调触发器复评。 |
| | | |
| | | ## 12. 风险、上调与下调触发器 |
| | | |
| | | ### 12.1 主要风险 |
| | | |
| | | - 外销约占主营收入80%,欧盟、美国及其他市场的关税、贸易限制、认证和补贴规则变化会直接影响订单和利润率。 |
| | | - 储能景气和能源价格具有周期性;机构2026年利润预期较2025年大幅增长,若下半年需求或毛利率回落,年度利润容易低于一致预期。 |
| | | - 储能电池包毛利率已显著下降,锂电池、IGBT、铜铝及其他元器件价格波动会侵蚀利润;库存高增长增加跌价与渠道去库存风险。 |
| | | - 汇率、海外应收与渠道回款、股权激励持续行权会影响归母利润和每股收益。 |
| | | - 机构汇总口径不是法定事实,且覆盖池数量不等于每个年度的有效样本数。 |
| | | |
| | | ### 12.2 上调触发器 |
| | | |
| | | - 2026年正式半年报达到预告中枢且经营现金流、库存周转同步改善。 |
| | | - 欧洲、中东、东南亚之外的新市场持续放量,储能电池包毛利率止跌回升。 |
| | | |
| | | ### 12.3 下调或失效触发器 |
| | | |
| | | - 2026年归母净利润低于60亿元或扣非利润与现金流明显背离。 |
| | | - 贸易限制、补贴退坡、渠道去库存或产品降价使储能业务毛利率继续显著下滑。 |
| | | |
| | | ## 13. 复评增量清单 |
| | | |
| | | 下次复评默认只更新:价格与市值、最新股本、最新财报/预告及修正、机构预测、现金债务、重大合同和公司行动。历史年报原文及已验证公式在没有重述触发器时直接复用。 |
| | | |
| | | ## 14. 复算摘要 |
| | | |
| | | ```text |
| | | 总市值 = 90.71 × 1273231036.0 = 115494787275.560 元 |
| | | TTM 收入 = 年度 + 本期累计 - 上年同期 = 14116857363.82 元 |
| | | TTM 归母 = 年度 + 本期累计 - 上年同期 = 3653120245.42 元 |
| | | TTM 扣非 = 年度 + 本期累计 - 上年同期 = 3569477849.19 元 |
| | | PB = 市值 ÷ 归母净资产 = 9.988133078474246382722735733 |
| | | PS = 市值 ÷ TTM 收入 = 8.181338402664662703783314877 |
| | | ``` |
| | | |
| | | ## 15. 结论边界 |
| | | |
| | | - 自动引擎冻结算术、口径、机构时效和异常检查,不替代对利润持续性、订单真实性、竞争格局和治理风险的人工判断。 |
| | | - 机构预测、公司预告和本报告情景已分开标记,不把预测写成事实。 |
| | | - 情景价值不是目标价承诺;若自动质检存在 ERROR,必须先修复输入再形成正式判断。 |
| | | - 未披露的资产注入、并购或政策收益不得计入基础价值。 |
| | | |
| | | --- |
| | | |
| | | 生成器版本:`1.0.0`;输入快照:`SNAPSHOT-605117-20260813-V1`。 |
| New file |
| | |
| | | { |
| | | "snapshot_id": "SNAPSHOT-605117-20260813-V1", |
| | | "meta": { |
| | | "company": "德业股份", |
| | | "code": "605117.SH", |
| | | "market": "上海证券交易所", |
| | | "as_of_date": "2026-08-13", |
| | | "currency": "CNY", |
| | | "report_period_end": "2026-03-31", |
| | | "latest_operating_info_date": "2026-07-09" |
| | | }, |
| | | "market": { |
| | | "price": 90.71, |
| | | "price_type": "最近完整交易日前复权收盘价", |
| | | "price_timestamp": "2026-08-13T15:00:00+08:00", |
| | | "diluted_shares": 1273231036.0, |
| | | "shares_date": "2026-07-02", |
| | | "platform_market_cap": 115494787275.56 |
| | | }, |
| | | "financials": { |
| | | "annual": { |
| | | "attributable_profit": 3170769705.42, |
| | | "basis": "audited", |
| | | "capex": 1286968414.66, |
| | | "cfo": 3986268984.68, |
| | | "deduct_profit": 3035007811.1, |
| | | "period_end": "2025-12-31", |
| | | "revenue": 12223743462.54 |
| | | }, |
| | | "current_cumulative": { |
| | | "attributable_profit": 1187894272.36, |
| | | "basis": "quarterly_report_unaudited", |
| | | "capex": 258034896.74, |
| | | "cfo": 1830652555.84, |
| | | "deduct_profit": 1147046203.37, |
| | | "period_end": "2026-03-31", |
| | | "revenue": 4459437239.86 |
| | | }, |
| | | "prior_year_same_period": { |
| | | "attributable_profit": 705543732.36, |
| | | "basis": "reported_comparative", |
| | | "capex": 264694812.57, |
| | | "cfo": 476602669.67, |
| | | "deduct_profit": 612576165.28, |
| | | "period_end": "2025-03-31", |
| | | "revenue": 2566323338.58 |
| | | } |
| | | }, |
| | | "balance_sheet": { |
| | | "cash_available": 6409600661.72, |
| | | "equity": 11563200687.07, |
| | | "interest_bearing_debt": 2662760570.52, |
| | | "minority_interest": 17608857.03, |
| | | "non_operating_financial_assets": 3438114118.33, |
| | | "period_end": "2026-03-31" |
| | | }, |
| | | "normalization": { |
| | | "adjustments": [ |
| | | { |
| | | "description": "以TTM扣非归母利润替代TTM归母利润作为核心盈利代理", |
| | | "amount": -83642396.23000002, |
| | | "basis": "2025年报加2026Q1减2025Q1;最新半年预告/快报仅用于情景利润,不混入TTM法定口径" |
| | | } |
| | | ] |
| | | }, |
| | | "valuation": { |
| | | "scenarios": [ |
| | | { |
| | | "name": "悲观", |
| | | "role": "pessimistic", |
| | | "method": "pe", |
| | | "profit_low": 4500000000.0, |
| | | "profit_high": 5500000000.0, |
| | | "multiple_low": 12.0, |
| | | "multiple_high": 17.0, |
| | | "assumption": "需求、订单或毛利率低于预期,利润下修且估值回归行业低位。" |
| | | }, |
| | | { |
| | | "name": "基准", |
| | | "role": "base", |
| | | "method": "pe", |
| | | "profit_low": 6000000000.0, |
| | | "profit_high": 7400000000.0, |
| | | "multiple_low": 18.0, |
| | | "multiple_high": 24.0, |
| | | "assumption": "结合2026年最新业绩预告/快报、机构一致预期、订单与现金流,给予与增长持续性和风险相匹配的PE区间。" |
| | | }, |
| | | { |
| | | "name": "乐观", |
| | | "role": "optimistic", |
| | | "method": "pe", |
| | | "profit_low": 7800000000.0, |
| | | "profit_high": 9000000000.0, |
| | | "multiple_low": 24.0, |
| | | "multiple_high": 30.0, |
| | | "assumption": "订单、海外扩张、产品结构和利润率超预期,利润与估值中枢同步上移。" |
| | | } |
| | | ], |
| | | "reverse_pe_multiples": [ |
| | | 12, |
| | | 15, |
| | | 18, |
| | | 20, |
| | | 22, |
| | | 25, |
| | | 28, |
| | | 30, |
| | | 32, |
| | | 35, |
| | | 40 |
| | | ], |
| | | "exit_pe_multiples": [ |
| | | 12, |
| | | 15, |
| | | 18, |
| | | 20, |
| | | 22, |
| | | 25, |
| | | 28, |
| | | 30, |
| | | 32, |
| | | 35, |
| | | 40 |
| | | ], |
| | | "holding_period": { |
| | | "years": 5, |
| | | "required_return": 0.1, |
| | | "cumulative_dividend_per_share": 0 |
| | | } |
| | | }, |
| | | "institutions": { |
| | | "coverage_status": "available", |
| | | "forecasts": [ |
| | | { |
| | | "institution": "东方财富公开一致预期汇总(覆盖池23家)", |
| | | "report_date": "2026-08-13", |
| | | "include": true, |
| | | "core_assumption": "汇总快照不替代逐家研报;覆盖池数量不等于每个年度的有效样本数。", |
| | | "source_id": "SRC-EM-CONSENSUS-20260813", |
| | | "estimates": { |
| | | "2026": { |
| | | "eps": 5.785909090909, |
| | | "profit": 7366799026.019884 |
| | | }, |
| | | "2027": { |
| | | "eps": 7.208523809524, |
| | | "profit": 9178116238.03091 |
| | | }, |
| | | "2028": { |
| | | "eps": 8.620285714286, |
| | | "profit": 10975615310.616364 |
| | | } |
| | | } |
| | | } |
| | | ] |
| | | }, |
| | | "sources": [ |
| | | { |
| | | "id": "SRC-ANNUAL-2025", |
| | | "source_type": "cninfo", |
| | | "title": "2025年年度报告", |
| | | "publish_date": "2026-04-10", |
| | | "period_end": "2025-12-31", |
| | | "url": "https://static.cninfo.com.cn/finalpage/2026-04-10/1225089135.PDF", |
| | | "supports": [ |
| | | "financials.annual", |
| | | "business", |
| | | "profit_sources", |
| | | "risks" |
| | | ], |
| | | "revision_status": "current" |
| | | }, |
| | | { |
| | | "id": "SRC-CURRENT-2026Q1", |
| | | "source_type": "cninfo", |
| | | "title": "2026年第一季度报告", |
| | | "publish_date": "2026-04-30", |
| | | "period_end": "2026-03-31", |
| | | "url": "https://static.cninfo.com.cn/finalpage/2026-04-30/1225254498.PDF", |
| | | "supports": [ |
| | | "financials.current_cumulative", |
| | | "financials.prior_year_same_period", |
| | | "balance_sheet", |
| | | "balance_sheet.equity" |
| | | ], |
| | | "revision_status": "current" |
| | | }, |
| | | { |
| | | "id": "SRC-LATEST-OPERATING", |
| | | "source_type": "sse", |
| | | "title": "2026年半年度业绩预增公告", |
| | | "publish_date": "2026-07-09", |
| | | "period_end": "2026-06-30", |
| | | "url": "https://static.sse.com.cn/disclosure/listedinfo/announcement/c/new/2026-07-09/605117_20260709_IHEV.pdf", |
| | | "supports": [ |
| | | "latest_operating_information", |
| | | "valuation.scenarios" |
| | | ], |
| | | "revision_status": "current" |
| | | }, |
| | | { |
| | | "id": "SRC-SHARES-A1", |
| | | "source_type": "sse", |
| | | "title": "关于2022年股票期权激励计划2026年第二季度自主行权结果暨股份变动的公告", |
| | | "publish_date": "2026-07-02", |
| | | "period_end": "2026-07-02", |
| | | "url": "https://static.sse.com.cn/disclosure/listedinfo/announcement/c/new/2026-07-02/605117_20260702_MIX1.pdf", |
| | | "supports": [ |
| | | "market.diluted_shares", |
| | | "market.shares_date" |
| | | ], |
| | | "revision_status": "current" |
| | | }, |
| | | { |
| | | "id": "SRC-LOCAL-FRONT-KLINE", |
| | | "source_type": "quote_provider", |
| | | "title": "trading_xuntou前复权日K完整收盘价", |
| | | "publish_date": "2026-08-13", |
| | | "period_end": "2026-08-13", |
| | | "url": "mysql://trading_xuntou/cn_stock_kline_1d_front", |
| | | "supports": [ |
| | | "market.price", |
| | | "market.price_timestamp", |
| | | "market.amount", |
| | | "analysis.kline" |
| | | ], |
| | | "revision_status": "current" |
| | | }, |
| | | { |
| | | "id": "SRC-EM-QUOTE-SHARES", |
| | | "source_type": "quote_provider", |
| | | "title": "东方财富当前总股本与总市值快照交叉核验", |
| | | "publish_date": "2026-08-13", |
| | | "period_end": "2026-08-13", |
| | | "url": "https://push2delay.eastmoney.com/api/qt/stock/get", |
| | | "supports": [ |
| | | "market.diluted_shares", |
| | | "market.platform_market_cap" |
| | | ], |
| | | "revision_status": "current" |
| | | }, |
| | | { |
| | | "id": "SRC-EM-CONSENSUS-20260813", |
| | | "source_type": "institution_aggregator", |
| | | "title": "东方财富盈利预测汇总", |
| | | "publish_date": "2026-08-13", |
| | | "period_end": "2026-08-13", |
| | | "url": "https://datacenter-web.eastmoney.com/api/data/v1/get?reportName=RPT_WEB_RESPREDICT", |
| | | "supports": [ |
| | | "institutions" |
| | | ], |
| | | "revision_status": "current" |
| | | } |
| | | ], |
| | | "analysis": { |
| | | "company_type": "户用及工商业储能逆变器、储能电池包与环境电器", |
| | | "primary_model": "2026年前瞻PE情景;TTM扣非、PB、现金流、最新半年预告/快报与反向利润交叉验证", |
| | | "cross_checks": [ |
| | | "最新半年预告/快报", |
| | | "机构一致预期", |
| | | "PB/ROE", |
| | | "经营现金流与资本开支", |
| | | "订单/合同负债/应收", |
| | | "前复权量价" |
| | | ], |
| | | "profit_sources": [ |
| | | "2025年储能逆变器收入52.17亿元、毛利率51.10%,是毛利贡献的第一来源;储能电池包收入38.32亿元、毛利率31.81%,是增速最快的第二增长极。", |
| | | "光伏逆变器收入10.54亿元,环境电器和热交换器合计约20.05亿元;2025年外销收入97.47亿元,占主营收入约80.0%,利润高度依赖海外储能需求和渠道。", |
| | | "2026年上半年业绩预告归母净利润26.68至27.28亿元、扣非24.93至25.53亿元,增长主要来自欧洲、中东、东南亚户储及工商业储能销售放量。" |
| | | ], |
| | | "profit_source_quality": [ |
| | | "2025年经营现金流39.86亿元,高于归母净利润31.71亿元;TTM简化自由现金流约40.60亿元,现金转化较好。", |
| | | "2025年储能电池包毛利率同比下降9.49个百分点,且逆变器、电池包期末库存分别同比增加52.55%和49.18%,高增长同时带来库存与价格压力。", |
| | | "2025年合同负债4.80亿元、同比增长81.43%;2026Q1升至6.05亿元,预收增长对后续收入有一定支撑。", |
| | | "法定TTM归母36.53亿元、TTM扣非35.69亿元;主模型以最新半年信息和机构预期构造2026全年情景。", |
| | | "TTM经营现金流53.40亿元、资本开支12.80亿元、简化自由现金流40.60亿元。" |
| | | ], |
| | | "risks": [ |
| | | "外销约占主营收入80%,欧盟、美国及其他市场的关税、贸易限制、认证和补贴规则变化会直接影响订单和利润率。", |
| | | "储能景气和能源价格具有周期性;机构2026年利润预期较2025年大幅增长,若下半年需求或毛利率回落,年度利润容易低于一致预期。", |
| | | "储能电池包毛利率已显著下降,锂电池、IGBT、铜铝及其他元器件价格波动会侵蚀利润;库存高增长增加跌价与渠道去库存风险。", |
| | | "汇率、海外应收与渠道回款、股权激励持续行权会影响归母利润和每股收益。", |
| | | "机构汇总口径不是法定事实,且覆盖池数量不等于每个年度的有效样本数。" |
| | | ], |
| | | "upgrade_triggers": [ |
| | | "2026年正式半年报达到预告中枢且经营现金流、库存周转同步改善。", |
| | | "欧洲、中东、东南亚之外的新市场持续放量,储能电池包毛利率止跌回升。" |
| | | ], |
| | | "downgrade_triggers": [ |
| | | "2026年归母净利润低于60亿元或扣非利润与现金流明显背离。", |
| | | "贸易限制、补贴退坡、渠道去库存或产品降价使储能业务毛利率继续显著下滑。" |
| | | ], |
| | | "executive_conclusion": "90.71元位于基准合理区间84.82至139.49元内,判断为基本合理。当前结论依赖2026年利润兑现,不构成目标价或交易指令。", |
| | | "consensus_org_count": 23, |
| | | "consensus_coverage_note": "东方财富公开汇总覆盖池23家;2026E EPS 5.7859元,对应利润73.67亿元。", |
| | | "latest_operating_info_note": "预告口径:归母26.68至27.28亿元,扣非24.93至25.53亿元。", |
| | | "consensus_target_range": "130.00至178.56元(仅作市场预期参照,不替代本报告合理区间)", |
| | | "kline_return_20d": 0.062177985948477676, |
| | | "kline_return_60d": -0.18506872697870813, |
| | | "ma60": 97.408, |
| | | "distance_to_ma60": -0.06876231931668864, |
| | | "amount_ratio_5d_to_60d": 0.972624949983733, |
| | | "market_sample_count": 103, |
| | | "market_source_batch_id": "FKL_20260813_161015_179d5321_1d_20260813_00016", |
| | | "market_updated_at": "2026-08-13 16:21:17", |
| | | "ttm_cfo": 5340318870.849999, |
| | | "ttm_capex": 1280308498.8300002, |
| | | "ttm_fcf": 4060010372.0199995, |
| | | "total_equity_original": 11580809544.1, |
| | | "attributable_equity_used": 11563200687.07, |
| | | "minority_interest_original": 17608857.03, |
| | | "report_shares": 909332542.0, |
| | | "share_proof_status": "MATCH_A1_CHANGE", |
| | | "information_cutoff": "2026-08-13T23:59:00+08:00" |
| | | } |
| | | } |
| New file |
| | |
| | | { |
| | | "artifacts": { |
| | | "valuation_report.md": { |
| | | "bytes": 12447, |
| | | "sha256": "57a2377f25e0b378234890fb2755ae765eb49c4ebdae8b3584c11ae6f324eeee" |
| | | }, |
| | | "valuation_results.json": { |
| | | "bytes": 8774, |
| | | "sha256": "e200d8fac488ca5b56d8e70dabb778f2fab2c38a66e1b535528048aa7285176f" |
| | | } |
| | | }, |
| | | "engine_fingerprint": "adc4956be60736acd2804c0f4ec676f859b47506d8a418aefbc07444c7cc4b45", |
| | | "engine_version": "1.0.0", |
| | | "fingerprint": "9085fc98cf02f80769236054e167fa2d557d129c34b323b9ac0eba6bb45f283b", |
| | | "manifest_version": "1.0.0", |
| | | "qa_status": "PASS", |
| | | "snapshot_path": "E:\\mb-ms-doc\\project-info\\ana-data\\result\\股票估值\\20260813_sieyuan_electric_valuation\\思源电气估值快照_20260813.json", |
| | | "source_registry_path": "E:\\mb-ms-doc\\project-info\\dev\\ana-dev\\stock_valuation_pipeline\\source_registry.json", |
| | | "status": "COMPLETE" |
| | | } |
| New file |
| | |
| | | # 思源电气(002028.SZ)价格合理性评估(流水线生成底稿) |
| | | |
| | | > 估值基准日:2026-08-13 |
| | | > 价格时点:2026-08-13T15:00:00+08:00 |
| | | > 最新经营信息日:2026-07-11 |
| | | > 货币:CNY;金额计算统一使用元,表格按亿元展示。 |
| | | > 本文是研究计算底稿,不构成交易指令或收益承诺。 |
| | | |
| | | ## 0. 结论摘要 |
| | | |
| | | **机械计算结论:当前价格处于基准合理区间。** |
| | | |
| | | | 指标 | 结果 | |
| | | |---|---:| |
| | | | 当前价格 | 167.58 元/股 | |
| | | | 总市值 | 1311.44 亿元 | |
| | | | 企业价值 EV | 1249.43 亿元 | |
| | | | TTM 归母净利润 | 32.5360 亿元 | |
| | | | TTM 扣非净利润 | 30.0739 亿元 | |
| | | | TTM 收入 | 228.8114 亿元 | |
| | | | 报告 PE | 40.31 倍 | |
| | | | PB | 8.14 倍 | |
| | | | PS | 5.73 倍 | |
| | | | 自动质检 | PASS(错误 0 / 警告 0) | |
| | | |
| | | > **人工判断:** 167.58元位于基准合理区间126.25至184.01元内,判断为基本合理。当前结论依赖2026年利润兑现,不构成目标价或交易指令。 |
| | | |
| | | ## 1. 市场与资本结构快照 |
| | | |
| | | | 项目 | 数值 | 公式或口径 | |
| | | |---|---:|---| |
| | | | 股价 | 167.58 元 | 最近完整交易日前复权收盘价 | |
| | | | 完全摊薄股本 | 7.825733 亿股 | 股本日:2026-06-30 | |
| | | | 复算总市值 | 1311.4363 亿元 | 股价 × 完全摊薄股本 | |
| | | | 归母净资产 | 161.1758 亿元 | 截至 2026-03-31 | |
| | | | 每股净资产 | 20.5956 元 | 净资产 ÷ 摊薄股本 | |
| | | | 企业价值 | 1249.4325 亿元 | 市值 + 有息负债 + 少数股东权益 - 可用现金 - 非经营金融资产 | |
| | | |
| | | ## 2. 信息来源与固定优先级 |
| | | |
| | | 本次使用信源注册表版本 `1.0.0`。来源身份和优先级沿用固定注册表;本次只检查公司、报告期、版本、修订状态和数据口径。 |
| | | |
| | | | ID | 等级 | 来源 | 发布日 | 支持字段 | 修订状态 | |
| | | |---|---|---|---|---|---| |
| | | | SRC-ANNUAL-2025 | A1 | [2025年年度报告](https://static.cninfo.com.cn/finalpage/2026-04-18/1225117829.PDF) | 2026-04-18 | financials.annual, business, profit_sources, risks | current | |
| | | | SRC-CURRENT-2026Q1 | A1 | [2026年一季度报告](https://static.cninfo.com.cn/finalpage/2026-04-25/1225177123.PDF) | 2026-04-25 | financials.current_cumulative, financials.prior_year_same_period, balance_sheet, balance_sheet.equity | current | |
| | | | SRC-LATEST-OPERATING | C1 | [2026年半年度业绩快报](https://file.finance.sina.com.cn/211.154.219.97%3A9494/MRGG/CNSESZ_STOCK/2026/2026-7/2026-07-11/12441232.PDF) | 2026-07-11 | latest_operating_information, valuation.scenarios | current | |
| | | | SRC-SHARES-A1 | A1 | [2025年度权益分派实施公告(现有总股本证明)](https://disc.static.szse.cn/download/disc/disk03/finalpage/2026-07-01/d515dfa9-944e-45e0-adce-b7b4d6f678e0.PDF) | 2026-07-01 | market.diluted_shares, market.shares_date | current | |
| | | | SRC-LOCAL-FRONT-KLINE | B1 | [trading_xuntou前复权日K完整收盘价](mysql://trading_xuntou/cn_stock_kline_1d_front) | 2026-08-13 | market.price, market.price_timestamp, market.amount, analysis.kline | current | |
| | | | SRC-EM-QUOTE-SHARES | B1 | [东方财富当前总股本与总市值快照交叉核验](https://push2delay.eastmoney.com/api/qt/stock/get) | 2026-08-13 | market.diluted_shares, market.platform_market_cap | current | |
| | | | SRC-EM-CONSENSUS-20260813 | B2 | [东方财富盈利预测汇总](https://datacenter-web.eastmoney.com/api/data/v1/get?reportName=RPT_WEB_RESPREDICT) | 2026-08-13 | institutions | current | |
| | | |
| | | 停止搜索规则:取得法定披露或合规效率型来源、日期与口径明确、无修订、数字可勾稽且无数量级异常后,不再为同一数字寻找更多转载来源。 |
| | | |
| | | ## 3. 业务与利润来源 |
| | | |
| | | - 2025年开关类收入89.35亿元、变压器类46.33亿元、保护及自动化25.42亿元,是利润的主体;三类毛利率分别为36.88%、36.39%和35.11%。 |
| | | - 电力电子、EPC和储能系统及元件收入分别15.25亿元、23.32亿元和15.31亿元;后两类增长快但毛利率仅约11.8%,对收入增长的贡献高于对利润的贡献。 |
| | | - 2025年海外收入58.03亿元、同比增长85.84%,占收入26.94%;新增订单288.91亿元、同比增长34.64%,订单与海外扩张是未来利润的主要驱动。 |
| | | |
| | | ### 3.1 利润来源可靠性 |
| | | |
| | | - 2025年经营现金流22.34亿元、低于归母净利润31.50亿元;TTM经营现金流23.11亿元,简化自由现金流15.41亿元,现金流为正但转化率不算高。 |
| | | - 2025年末应收账款81.83亿元,占总资产27.42%;合同负债29.77亿元,2026Q1升至31.50亿元。较高预收支撑订单,但高应收和海外EPC拉长回款周期。 |
| | | - 2026年半年业绩快报归母14.87亿元、同比增长15.03%,明显慢于收入27.14%;汇兑损失及思源东芝持股比例变更压低归母利润增速。 |
| | | - 法定TTM归母32.54亿元、TTM扣非30.07亿元;主模型以最新半年信息和机构预期构造2026全年情景。 |
| | | - TTM经营现金流23.11亿元、资本开支7.70亿元、简化自由现金流15.41亿元。 |
| | | |
| | | ## 4. TTM 与归一化利润 |
| | | |
| | | ```text |
| | | TTM = 最近完整年度 + 本期累计/预告 - 上年同期累计 |
| | | TTM 收入 = 215.3903 亿元 + 45.6866 亿元 - 32.2656 亿元 = 228.8114 亿元 |
| | | TTM 归母 = 31.5014 亿元 + 5.4995 亿元 - 4.4650 亿元 = 32.5360 亿元 |
| | | TTM 扣非 = 29.5156 亿元 + 4.9252 亿元 - 4.3669 亿元 = 30.0739 亿元 |
| | | ``` |
| | | |
| | | | 归一化调整 | 对可持续利润的带符号影响 | 依据 | |
| | | |---|---:|---| |
| | | | 以TTM扣非归母利润替代TTM归母利润作为核心盈利代理 | -2.4620 亿元 | 2025年报加2026Q1减2025Q1;最新半年预告/快报仅用于情景利润,不混入TTM法定口径 | |
| | | |
| | | 归一化结果为 **30.0739 亿元**;只有调整项证据充分时才可用作主估值利润。 |
| | | |
| | | ## 5. 机构盈利预期 |
| | | |
| | | 覆盖状态:`available`。早于最新经营信息日、或低于已实现累计利润的预测自动排除出当前一致预期。 |
| | | |
| | | | 年度 | 机构数 | 利润最小值 | 利润均值 | 利润中位数 | 利润最大值 | EPS 均值 | 对应 PE | |
| | | |---|---:|---:|---:|---:|---:|---:|---:| |
| | | | 2026 | 1 | 43.09 亿元 | 43.09 亿元 | 43.09 亿元 | 43.09 亿元 | 5.507 | 30.43 倍 | |
| | | | 2027 | 1 | 58.78 亿元 | 58.78 亿元 | 58.78 亿元 | 58.78 亿元 | 7.511 | 22.31 倍 | |
| | | | 2028 | 1 | 78.50 亿元 | 78.50 亿元 | 78.50 亿元 | 78.50 亿元 | 10.031 | 16.71 倍 | |
| | | |
| | | | 机构 | 研报日期 | 预测 | 核心假设 | 状态 | 纳入一致预期 | |
| | | |---|---|---|---|---|---| |
| | | | 东方财富公开一致预期汇总(覆盖池17家) | 2026-08-13 | 2026: 利润 43.09 亿元, EPS 5.507; 2027: 利润 58.78 亿元, EPS 7.511; 2028: 利润 78.50 亿元, EPS 10.031 | 汇总快照不替代逐家研报;覆盖池数量不等于每个年度的有效样本数。 | CURRENT | 是 | |
| | | |
| | | ## 6. 利润质量、现金流与资产负债 |
| | | |
| | | | 指标 | 结果 | 判断入口 | |
| | | |---|---:|---| |
| | | | 最近年度 CFO | 22.3428 亿元 | 与利润、营运资本对照 | |
| | | | 最近年度资本开支 | 8.2054 亿元 | 现金流出正数口径 | |
| | | | 最近年度简化 FCF | 14.1374 亿元 | CFO - 资本开支 | |
| | | | 本期累计简化 FCF | -6.9008 亿元 | 仅在 CFO 与资本开支均可得时计算 | |
| | | | 可用现金 | 34.8866 亿元 | 已排除受限或经营最低现金(由输入方确认) | |
| | | | 有息负债 | 7.9806 亿元 | 最新时点 | |
| | | |
| | | - 需结合应收、存货、合同资产与回款补充人工解释 |
| | | |
| | | ## 7. 模型选择 |
| | | |
| | | - 公司类型:输配电设备、保护自动化、电力电子、海外EPC与储能系统 |
| | | - 主模型:2026年前瞻PE情景;TTM扣非、PB、现金流、最新半年预告/快报与反向利润交叉验证 |
| | | - 交叉验证:最新半年预告/快报, 机构一致预期, PB/ROE, 经营现金流与资本开支, 订单/合同负债/应收, 前复权量价 |
| | | |
| | | ## 8. 悲观、基准、乐观情景估值 |
| | | |
| | | | 情景 | 方法 | 核心假设 | 股权价值区间 | 每股价值区间 | 相对当前价 | 五年年化区间 | |
| | | |---|---|---|---:|---:|---:|---:| |
| | | | 悲观 | PE | 需求、订单或毛利率低于预期,利润下修且估值回归行业低位。 | 660.00 亿元~950.00 亿元 | 84.34~121.39 元 | -49.7%~-27.6% | -12.8%~-6.2% | |
| | | | 基准 | PE | 结合2026年最新业绩预告/快报、机构一致预期、订单与现金流,给予与增长持续性和风险相匹配的PE区间。 | 988.00 亿元~1440.00 亿元 | 126.25~184.01 元 | -24.7%~9.8% | -5.5%~1.9% | |
| | | | 乐观 | PE | 订单、海外扩张、产品结构和利润率超预期,利润与估值中枢同步上移。 | 1472.00 亿元~1976.00 亿元 | 188.10~252.50 元 | 12.2%~50.7% | 2.3%~8.5% | |
| | | |
| | | ## 9. 当前价格反向隐含利润 |
| | | |
| | | | 假设 PE | 隐含 EPS | 隐含归母利润 | 占 TTM 收入 | |
| | | |---:|---:|---:|---:| |
| | | | 12 倍 | 13.965 元 | 109.29 亿元 | 47.8% | |
| | | | 15 倍 | 11.172 元 | 87.43 亿元 | 38.2% | |
| | | | 18 倍 | 9.310 元 | 72.86 亿元 | 31.8% | |
| | | | 20 倍 | 8.379 元 | 65.57 亿元 | 28.7% | |
| | | | 22 倍 | 7.617 元 | 59.61 亿元 | 26.1% | |
| | | | 25 倍 | 6.703 元 | 52.46 亿元 | 22.9% | |
| | | | 28 倍 | 5.985 元 | 46.84 亿元 | 20.5% | |
| | | | 30 倍 | 5.586 元 | 43.71 亿元 | 19.1% | |
| | | | 32 倍 | 5.237 元 | 40.98 亿元 | 17.9% | |
| | | | 35 倍 | 4.788 元 | 37.47 亿元 | 16.4% | |
| | | | 40 倍 | 4.190 元 | 32.79 亿元 | 14.3% | |
| | | |
| | | ## 10. 持有期回报压力测试 |
| | | |
| | | 若要求 5 年年化回报 10.0%,并假设累计每股分红 0.00 元,则所需退出价格为 **269.89 元**。 |
| | | |
| | | | 退出 PE | 届时所需归母利润 | |
| | | |---:|---:| |
| | | | 12 倍 | 176.01 亿元 | |
| | | | 15 倍 | 140.81 亿元 | |
| | | | 18 倍 | 117.34 亿元 | |
| | | | 20 倍 | 105.60 亿元 | |
| | | | 22 倍 | 96.00 亿元 | |
| | | | 25 倍 | 84.48 亿元 | |
| | | | 28 倍 | 75.43 亿元 | |
| | | | 30 倍 | 70.40 亿元 | |
| | | | 32 倍 | 66.00 亿元 | |
| | | | 35 倍 | 60.35 亿元 | |
| | | | 40 倍 | 52.80 亿元 | |
| | | |
| | | ## 11. 自动质检与异常驱动复核 |
| | | |
| | | 总体状态:`PASS`。ERROR 会阻止把底稿当作正式结论;WARNING 只要求局部补查,不应重跑全部流程。 |
| | | |
| | | | 异常 ID | 严重度 | 数据项 | 现象 | 需要补什么 | 修复后重算范围 | |
| | | |---|---|---|---|---|---| |
| | | | — | PASS | — | 未发现自动异常 | — | — | |
| | | |
| | | ## 12. 风险、上调与下调触发器 |
| | | |
| | | ### 12.1 主要风险 |
| | | |
| | | - 2026H1归母利润仅增长15.03%,低于当前一致预期隐含的全年约37%增速,下半年需要明显加速才能兑现43亿元左右的机构预测。 |
| | | - 应收账款规模高、海外EPC周期1至3年,存在回款、汇率、税务、施工、合同与分包风险。 |
| | | - 铜铝等大宗原料、半导体器件和国际物流价格上涨,以及低毛利EPC/储能占比提高,可能压制整体利润率。 |
| | | - 海外业务扩张带来汇兑与当地运营风险;2026H1已出现美元应收等外币资产的较大汇兑损失。 |
| | | - 机构汇总口径不是法定事实,且覆盖池数量不等于每个年度的有效样本数。 |
| | | |
| | | ### 12.2 上调触发器 |
| | | |
| | | - 新增订单持续接近公司2026年375亿元经营目标,合同负债与现金回款同步增长。 |
| | | - 下半年归母利润增速回升至25%以上,开关、变压器等高毛利业务占比稳定,汇兑损失收窄。 |
| | | |
| | | ### 12.3 下调或失效触发器 |
| | | |
| | | - 2026年归母净利润低于38亿元,或收入增长继续快于利润而毛利率显著下行。 |
| | | - 应收账款和海外EPC风险上升、经营现金流转弱,或思源东芝少数股权变化持续稀释归母利润。 |
| | | |
| | | ## 13. 复评增量清单 |
| | | |
| | | 下次复评默认只更新:价格与市值、最新股本、最新财报/预告及修正、机构预测、现金债务、重大合同和公司行动。历史年报原文及已验证公式在没有重述触发器时直接复用。 |
| | | |
| | | ## 14. 复算摘要 |
| | | |
| | | ```text |
| | | 总市值 = 167.58 × 782573282.0 = 131143630597.560 元 |
| | | TTM 收入 = 年度 + 本期累计 - 上年同期 = 22881137303.76 元 |
| | | TTM 归母 = 年度 + 本期累计 - 上年同期 = 3253596015.96 元 |
| | | TTM 扣非 = 年度 + 本期累计 - 上年同期 = 3007392556.91 元 |
| | | PB = 市值 ÷ 归母净资产 = 8.136680284398523118984679122 |
| | | PS = 市值 ÷ TTM 收入 = 5.731517138180430199177275268 |
| | | ``` |
| | | |
| | | ## 15. 结论边界 |
| | | |
| | | - 自动引擎冻结算术、口径、机构时效和异常检查,不替代对利润持续性、订单真实性、竞争格局和治理风险的人工判断。 |
| | | - 机构预测、公司预告和本报告情景已分开标记,不把预测写成事实。 |
| | | - 情景价值不是目标价承诺;若自动质检存在 ERROR,必须先修复输入再形成正式判断。 |
| | | - 未披露的资产注入、并购或政策收益不得计入基础价值。 |
| | | |
| | | --- |
| | | |
| | | 生成器版本:`1.0.0`;输入快照:`SNAPSHOT-002028-20260813-V1`。 |
| New file |
| | |
| | | { |
| | | "conclusion": { |
| | | "base_midpoint": "155.1292419410761329825211181", |
| | | "price_label": "当前价格处于基准合理区间", |
| | | "price_position": "WITHIN_BASE_RANGE", |
| | | "safety_margin_to_base_midpoint": "-0.08026054857957166392092256979" |
| | | }, |
| | | "engine_version": "1.0.0", |
| | | "holding_period": { |
| | | "cumulative_dividend_per_share": "0", |
| | | "required_exit_price": "269.8892658", |
| | | "required_profit_by_exit_pe": [ |
| | | { |
| | | "exit_pe": "12", |
| | | "required_profit": "17600677376.13969630" |
| | | }, |
| | | { |
| | | "exit_pe": "15", |
| | | "required_profit": "14080541900.91175704" |
| | | }, |
| | | { |
| | | "exit_pe": "18", |
| | | "required_profit": "11733784917.42646420" |
| | | }, |
| | | { |
| | | "exit_pe": "20", |
| | | "required_profit": "10560406425.68381778" |
| | | }, |
| | | { |
| | | "exit_pe": "22", |
| | | "required_profit": "9600369477.89437980" |
| | | }, |
| | | { |
| | | "exit_pe": "25", |
| | | "required_profit": "8448325140.547054224" |
| | | }, |
| | | { |
| | | "exit_pe": "28", |
| | | "required_profit": "7543147446.91701270" |
| | | }, |
| | | { |
| | | "exit_pe": "30", |
| | | "required_profit": "7040270950.45587852" |
| | | }, |
| | | { |
| | | "exit_pe": "32", |
| | | "required_profit": "6600254016.0523861125" |
| | | }, |
| | | { |
| | | "exit_pe": "35", |
| | | "required_profit": "6034517957.53361016" |
| | | }, |
| | | { |
| | | "exit_pe": "40", |
| | | "required_profit": "5280203212.84190889" |
| | | } |
| | | ], |
| | | "required_return": "0.1", |
| | | "years": 5 |
| | | }, |
| | | "institutions": { |
| | | "coverage_status": "available", |
| | | "detail": [ |
| | | { |
| | | "core_assumption": "汇总快照不替代逐家研报;覆盖池数量不等于每个年度的有效样本数。", |
| | | "estimates": { |
| | | "2026": { |
| | | "eps": "5.506625", |
| | | "profit": "4309337598.99325" |
| | | }, |
| | | "2027": { |
| | | "eps": "7.5113125", |
| | | "profit": "5878152475.2526245" |
| | | }, |
| | | "2028": { |
| | | "eps": "10.031071428571", |
| | | "profit": "7850048489.833236" |
| | | } |
| | | }, |
| | | "included": true, |
| | | "institution": "东方财富公开一致预期汇总(覆盖池17家)", |
| | | "report_date": "2026-08-13", |
| | | "source_id": "SRC-EM-CONSENSUS-20260813", |
| | | "statuses": [ |
| | | "CURRENT" |
| | | ] |
| | | } |
| | | ], |
| | | "summary": { |
| | | "2026": { |
| | | "eps_mean": "5.506625", |
| | | "eps_profit_reconciliation_gap": "0.00", |
| | | "institution_count": 1, |
| | | "pe_on_mean": "30.43243365945565568746736885", |
| | | "profit_max": "4309337598.99325", |
| | | "profit_mean": "4309337598.99325", |
| | | "profit_median": "4309337598.99325", |
| | | "profit_min": "4309337598.99325" |
| | | }, |
| | | "2027": { |
| | | "eps_mean": "7.5113125", |
| | | "eps_profit_reconciliation_gap": "0.00000000000000008506074010584619499192740112", |
| | | "institution_count": 1, |
| | | "pe_on_mean": "22.31034855759230018115726472", |
| | | "profit_max": "5878152475.2526245", |
| | | "profit_mean": "5878152475.2526245", |
| | | "profit_median": "5878152475.2526245", |
| | | "profit_min": "5878152475.2526245" |
| | | }, |
| | | "2028": { |
| | | "eps_mean": "10.031071428571", |
| | | "eps_profit_reconciliation_gap": "0.000000000000000005098312456519643100764979066", |
| | | "institution_count": 1, |
| | | "pe_on_mean": "16.70609178623633886504055427", |
| | | "profit_max": "7850048489.833236", |
| | | "profit_mean": "7850048489.833236", |
| | | "profit_median": "7850048489.833236", |
| | | "profit_min": "7850048489.833236" |
| | | } |
| | | } |
| | | }, |
| | | "meta": { |
| | | "as_of_date": "2026-08-13", |
| | | "code": "002028.SZ", |
| | | "company": "思源电气", |
| | | "currency": "CNY", |
| | | "latest_operating_info_date": "2026-07-11", |
| | | "market": "深圳证券交易所", |
| | | "report_period_end": "2026-03-31" |
| | | }, |
| | | "metrics": { |
| | | "annual_cash_conversion": "0.7092626432560728148068675129", |
| | | "annual_fcf": "1413735491.04", |
| | | "book_value_per_share": "20.59562304805341028752371845", |
| | | "current_fcf": "-690080063.90", |
| | | "deduct_pe": "43.60708757366411141305147881", |
| | | "diluted_shares": "782573282.0", |
| | | "enterprise_value": "124943250464.160", |
| | | "market_cap": "131143630597.560", |
| | | "normalized_eps": "3.842953274898541450588393586", |
| | | "normalized_pe": "43.60708757366411431304452917", |
| | | "normalized_profit": "3007392556.9099998", |
| | | "pb": "8.136680284398523118984679122", |
| | | "price": "167.58", |
| | | "ps": "5.731517138180430199177275268", |
| | | "reported_pe": "40.30728767623751955905072045", |
| | | "ttm_attributable_profit": "3253596015.96", |
| | | "ttm_deduct_profit": "3007392556.91", |
| | | "ttm_eps": "4.157560819920759829876226211", |
| | | "ttm_revenue": "22881137303.76" |
| | | }, |
| | | "normalization_adjustments": [ |
| | | { |
| | | "amount": "-246203459.0500002", |
| | | "basis": "2025年报加2026Q1减2025Q1;最新半年预告/快报仅用于情景利润,不混入TTM法定口径", |
| | | "description": "以TTM扣非归母利润替代TTM归母利润作为核心盈利代理" |
| | | } |
| | | ], |
| | | "qa": { |
| | | "error_count": 0, |
| | | "info_count": 0, |
| | | "issues": [], |
| | | "status": "PASS", |
| | | "warning_count": 0 |
| | | }, |
| | | "reverse_pe": [ |
| | | { |
| | | "implied_eps": "13.965", |
| | | "implied_margin": "0.4776264281817025165981062723", |
| | | "implied_profit": "10928635883.130", |
| | | "pe": "12" |
| | | }, |
| | | { |
| | | "implied_eps": "11.172", |
| | | "implied_margin": "0.3821011425453620132784850179", |
| | | "implied_profit": "8742908706.504", |
| | | "pe": "15" |
| | | }, |
| | | { |
| | | "implied_eps": "9.31", |
| | | "implied_margin": "0.3184176187878016777320708482", |
| | | "implied_profit": "7285757255.420", |
| | | "pe": "18" |
| | | }, |
| | | { |
| | | "implied_eps": "8.379", |
| | | "implied_margin": "0.2865758569090215099588637634", |
| | | "implied_profit": "6557181529.878", |
| | | "pe": "20" |
| | | }, |
| | | { |
| | | "implied_eps": "7.617272727272727272727272727", |
| | | "implied_margin": "0.2605235062809286454171488758", |
| | | "implied_profit": "5961074118.070909090909090909", |
| | | "pe": "22" |
| | | }, |
| | | { |
| | | "implied_eps": "6.7032", |
| | | "implied_margin": "0.2292606855272172079670910107", |
| | | "implied_profit": "5245745223.9024", |
| | | "pe": "25" |
| | | }, |
| | | { |
| | | "implied_eps": "5.985", |
| | | "implied_margin": "0.2046970406493010785420455453", |
| | | "implied_profit": "4683701092.770", |
| | | "pe": "28" |
| | | }, |
| | | { |
| | | "implied_eps": "5.586", |
| | | "implied_margin": "0.1910505712726810066392425089", |
| | | "implied_profit": "4371454353.252", |
| | | "pe": "30" |
| | | }, |
| | | { |
| | | "implied_eps": "5.236875", |
| | | "implied_margin": "0.1791099105681384437242898521", |
| | | "implied_profit": "4098238456.17375", |
| | | "pe": "32" |
| | | }, |
| | | { |
| | | "implied_eps": "4.788", |
| | | "implied_margin": "0.1637576325194408628336364362", |
| | | "implied_profit": "3746960874.216", |
| | | "pe": "35" |
| | | }, |
| | | { |
| | | "implied_eps": "4.1895", |
| | | "implied_margin": "0.1432879284545107549794318817", |
| | | "implied_profit": "3278590764.939", |
| | | "pe": "40" |
| | | } |
| | | ], |
| | | "scenarios": [ |
| | | { |
| | | "assumption": "需求、订单或毛利率低于预期,利润下修且估值回归行业低位。", |
| | | "cagr_high": "-0.062448181454616614", |
| | | "cagr_low": "-0.1283154537966501", |
| | | "equity_value_high": "95000000000.00", |
| | | "equity_value_low": "66000000000.00", |
| | | "method": "pe", |
| | | "name": "悲观", |
| | | "price_high": "121.3943820790958207029613362", |
| | | "price_low": "84.33714965495078069889945463", |
| | | "role": "pessimistic", |
| | | "upside_to_high": "-0.2756034008885557900527429514", |
| | | "upside_to_low": "-0.4967349943015229699313793136" |
| | | }, |
| | | { |
| | | "assumption": "结合2026年最新业绩预告/快报、机构一致预期、订单与现金流,给予与增长持续性和风险相匹配的PE区间。", |
| | | "cagr_high": "0.018880048143428363", |
| | | "cagr_low": "-0.05506497164864277", |
| | | "equity_value_high": "144000000000.00", |
| | | "equity_value_low": "98800000000.00", |
| | | "method": "pe", |
| | | "name": "基准", |
| | | "price_high": "184.0083265198926124339624465", |
| | | "price_low": "126.2501573622596535310797897", |
| | | "role": "base", |
| | | "upside_to_high": "0.098032739705768065604263316", |
| | | "upside_to_low": "-0.2466275369240980216548526692" |
| | | }, |
| | | { |
| | | "assumption": "订单、海外扩张、产品结构和利润率超预期,利润与估值中枢同步上移。", |
| | | "cagr_high": "0.08544531264628064", |
| | | "cagr_low": "0.023368680345650317", |
| | | "equity_value_high": "197600000000.00", |
| | | "equity_value_low": "147200000000.00", |
| | | "method": "pe", |
| | | "name": "乐观", |
| | | "price_high": "252.5003147245193070621595793", |
| | | "price_low": "188.0974004425568927102727231", |
| | | "role": "optimistic", |
| | | "upside_to_high": "0.506744926151803956690294661", |
| | | "upside_to_low": "0.122433467254785133728802501" |
| | | } |
| | | ] |
| | | } |
| New file |
| | |
| | | { |
| | | "case_id": "ANA-STOCK-VALUATION-DEYE-SIEYUAN-20260813-001", |
| | | "ticker": "002028.SZ", |
| | | "company": "思源电气", |
| | | "as_of": "2026-08-13", |
| | | "v2_status": "BLOCKED", |
| | | "v2_failure": { |
| | | "complete": false, |
| | | "error": "ValueError: E_HISTORICAL_SHARES_UNPROVEN:quote f124 缺失或为 0", |
| | | "error_code": "E_CORE_INPUT", |
| | | "error_type": "CoreInputError", |
| | | "recorded_at": "2026-08-13T22:29:09.100+08:00", |
| | | "rollback_errors": [], |
| | | "run_id": "631e4ffa1b9c4931b6ec1481cb8c91b4", |
| | | "schema_version": 2, |
| | | "status": "BLOCKED" |
| | | }, |
| | | "v2_failure_package": "ai-valuation-analyst/tmp/valuation_20260813_deye_sieyuan_v2/002028_SZ.failed-631e4ffa1b9c4931b6ec1481cb8c91b4", |
| | | "v2_raw_artifact_hashes": [ |
| | | "29108ecb9b6f0216da54ff022096eb43e17c77d088983290211045a11c16c90c", |
| | | "3af72fa488cbbdfacd72605bda284a567d9fa01d410f775f93c1237683a729e0", |
| | | "51b2a208f1055fe7a7fe148ad4ead13dc5c8c0f87c463c3b479ec674044c75b8", |
| | | "6a80717ab9b751ba0cb4707d0d21600fd4081b0b75e0713d65edd79d130576db", |
| | | "94d5fdc2e1fac20e1338bccb32a3fed7540c9a821bada7531d8100f9b366d011", |
| | | "9c3cb20987d93103b77cd57e8b44a81725c1780bf9a494095d0278c0e6a7db10", |
| | | "c003727625a6659324e14f1f6d6746117ca0771f4dc34724b346ca3070eff005", |
| | | "d2438c15d3204c7433a822d1cf43680c3983c2776f87e8a40570f4e505c559a6", |
| | | "dc4f974e5a115c573b7b7f6e54aa6245e46d4165091785aec555bce6e761f9e4", |
| | | "dcb7f40dda3a20dac5a409aad64d721785fbf9028b11174dc1a1e02dcd6581f3" |
| | | ], |
| | | "quote_raw_hash": "dc4f974e5a115c573b7b7f6e54aa6245e46d4165091785aec555bce6e761f9e4", |
| | | "consensus_raw_hash": "c003727625a6659324e14f1f6d6746117ca0771f4dc34724b346ca3070eff005", |
| | | "market_contract": { |
| | | "table": "trading_xuntou.cn_stock_kline_1d_front", |
| | | "source": "xtquant", |
| | | "source_batch_id": "FKL_20260813_161015_179d5321_1d_20260813_00002", |
| | | "updated_at": "2026-08-13 16:17:25", |
| | | "trade_date": "2026-08-13" |
| | | }, |
| | | "share_proof": { |
| | | "current_shares": 782573282.0, |
| | | "a1_title": "2025年度权益分派实施公告(现有总股本证明)", |
| | | "a1_publish_date": "2026-07-01", |
| | | "a1_url": "https://disc.static.szse.cn/download/disc/disk03/finalpage/2026-07-01/d515dfa9-944e-45e0-adce-b7b4d6f678e0.PDF", |
| | | "quote_shares": 782573282.0, |
| | | "quote_market_cap": 131143630597.56001, |
| | | "price_times_shares": 131143630597.56001 |
| | | }, |
| | | "bounded_gaps": [ |
| | | "V2 quote f124=0,故端到端V2按历史股本时间戳门禁诚实阻断;正式估值由后续A1股本公告和估值日总股本/总市值快照补证。", |
| | | "机构汇总覆盖池不是逐家研报原文;本报告披露机构数、EPS和推算利润,不将其写成法定事实。", |
| | | "最新半年预告/快报提供利润锚,但资产负债表、现金流明细仍以2026Q1法定报告为最新完整结构口径。" |
| | | ], |
| | | "checks": { |
| | | "v1_qa": { |
| | | "error_count": 0, |
| | | "info_count": 0, |
| | | "issues": [], |
| | | "status": "PASS", |
| | | "warning_count": 0 |
| | | }, |
| | | "label": "基本合理", |
| | | "base_low": 126.25015736225966, |
| | | "base_high": 184.00832651989262, |
| | | "optimistic_high": 252.5003147245193, |
| | | "price": 167.58 |
| | | } |
| | | } |
| New file |
| | |
| | | # 思源电气(002028.SZ)价格合理性评估 |
| | | |
| | | > 估值基准日:2026-08-13 |
| | | > 价格时点:2026-08-13T15:00:00+08:00 |
| | | > 最新经营信息日:2026-07-11 |
| | | > 货币:CNY;金额计算统一使用元,表格按亿元展示。 |
| | | > 本文为按《股票价格合理性评估操作手册》形成的条件化研究结论,不构成交易指令或收益承诺。 |
| | | |
| | | ## 0. 结论摘要 |
| | | |
| | | **机械计算结论:当前价格处于基准合理区间。** |
| | | |
| | | | 指标 | 结果 | |
| | | |---|---:| |
| | | | 当前价格 | 167.58 元/股 | |
| | | | 总市值 | 1311.44 亿元 | |
| | | | 企业价值 EV | 1249.43 亿元 | |
| | | | TTM 归母净利润 | 32.5360 亿元 | |
| | | | TTM 扣非净利润 | 30.0739 亿元 | |
| | | | TTM 收入 | 228.8114 亿元 | |
| | | | 报告 PE | 40.31 倍 | |
| | | | PB | 8.14 倍 | |
| | | | PS | 5.73 倍 | |
| | | | 自动质检 | PASS(错误 0 / 警告 0) | |
| | | |
| | | > **人工判断:** 167.58元位于基准合理区间126.25至184.01元内,判断为基本合理。当前结论依赖2026年利润兑现,不构成目标价或交易指令。 |
| | | |
| | | ## 1. 市场与资本结构快照 |
| | | |
| | | | 项目 | 数值 | 公式或口径 | |
| | | |---|---:|---| |
| | | | 股价 | 167.58 元 | 最近完整交易日前复权收盘价 | |
| | | | 完全摊薄股本 | 7.825733 亿股 | 股本日:2026-06-30 | |
| | | | 复算总市值 | 1311.4363 亿元 | 股价 × 完全摊薄股本 | |
| | | | 归母净资产 | 161.1758 亿元 | 截至 2026-03-31 | |
| | | | 每股净资产 | 20.5956 元 | 净资产 ÷ 摊薄股本 | |
| | | | 企业价值 | 1249.4325 亿元 | 市值 + 有息负债 + 少数股东权益 - 可用现金 - 非经营金融资产 | |
| | | |
| | | |
| | | ### 1.1 前复权量价显影 |
| | | |
| | | - 20日涨跌:5.34%;60日涨跌:-14.06%。 |
| | | - 60日均线:174.21元;当前价相对MA60:-3.81%。 |
| | | - 近5日/60日平均成交额比:0.69。量价用于显影情绪,不改变合理价值。 |
| | | |
| | | ## 2. 信息来源与固定优先级 |
| | | |
| | | 本次使用信源注册表版本 `1.0.0`。来源身份和优先级沿用固定注册表;本次只检查公司、报告期、版本、修订状态和数据口径。 |
| | | |
| | | | ID | 等级 | 来源 | 发布日 | 支持字段 | 修订状态 | |
| | | |---|---|---|---|---|---| |
| | | | SRC-ANNUAL-2025 | A1 | [2025年年度报告](https://static.cninfo.com.cn/finalpage/2026-04-18/1225117829.PDF) | 2026-04-18 | financials.annual, business, profit_sources, risks | current | |
| | | | SRC-CURRENT-2026Q1 | A1 | [2026年一季度报告](https://static.cninfo.com.cn/finalpage/2026-04-25/1225177123.PDF) | 2026-04-25 | financials.current_cumulative, financials.prior_year_same_period, balance_sheet, balance_sheet.equity | current | |
| | | | SRC-LATEST-OPERATING | C1 | [2026年半年度业绩快报](https://file.finance.sina.com.cn/211.154.219.97%3A9494/MRGG/CNSESZ_STOCK/2026/2026-7/2026-07-11/12441232.PDF) | 2026-07-11 | latest_operating_information, valuation.scenarios | current | |
| | | | SRC-SHARES-A1 | A1 | [2025年度权益分派实施公告(现有总股本证明)](https://disc.static.szse.cn/download/disc/disk03/finalpage/2026-07-01/d515dfa9-944e-45e0-adce-b7b4d6f678e0.PDF) | 2026-07-01 | market.diluted_shares, market.shares_date | current | |
| | | | SRC-LOCAL-FRONT-KLINE | B1 | [trading_xuntou前复权日K完整收盘价](mysql://trading_xuntou/cn_stock_kline_1d_front) | 2026-08-13 | market.price, market.price_timestamp, market.amount, analysis.kline | current | |
| | | | SRC-EM-QUOTE-SHARES | B1 | [东方财富当前总股本与总市值快照交叉核验](https://push2delay.eastmoney.com/api/qt/stock/get) | 2026-08-13 | market.diluted_shares, market.platform_market_cap | current | |
| | | | SRC-EM-CONSENSUS-20260813 | B2 | [东方财富盈利预测汇总](https://datacenter-web.eastmoney.com/api/data/v1/get?reportName=RPT_WEB_RESPREDICT) | 2026-08-13 | institutions | current | |
| | | |
| | | 停止搜索规则:取得法定披露或合规效率型来源、日期与口径明确、无修订、数字可勾稽且无数量级异常后,不再为同一数字寻找更多转载来源。 |
| | | |
| | | ## 3. 业务与利润来源 |
| | | |
| | | - 2025年开关类收入89.35亿元、变压器类46.33亿元、保护及自动化25.42亿元,是利润的主体;三类毛利率分别为36.88%、36.39%和35.11%。 |
| | | - 电力电子、EPC和储能系统及元件收入分别15.25亿元、23.32亿元和15.31亿元;后两类增长快但毛利率仅约11.8%,对收入增长的贡献高于对利润的贡献。 |
| | | - 2025年海外收入58.03亿元、同比增长85.84%,占收入26.94%;新增订单288.91亿元、同比增长34.64%,订单与海外扩张是未来利润的主要驱动。 |
| | | |
| | | ### 3.1 利润来源可靠性 |
| | | |
| | | - 2025年经营现金流22.34亿元、低于归母净利润31.50亿元;TTM经营现金流23.11亿元,简化自由现金流15.41亿元,现金流为正但转化率不算高。 |
| | | - 2025年末应收账款81.83亿元,占总资产27.42%;合同负债29.77亿元,2026Q1升至31.50亿元。较高预收支撑订单,但高应收和海外EPC拉长回款周期。 |
| | | - 2026年半年业绩快报归母14.87亿元、同比增长15.03%,明显慢于收入27.14%;汇兑损失及思源东芝持股比例变更压低归母利润增速。 |
| | | - 法定TTM归母32.54亿元、TTM扣非30.07亿元;主模型以最新半年信息和机构预期构造2026全年情景。 |
| | | - TTM经营现金流23.11亿元、资本开支7.70亿元、简化自由现金流15.41亿元。 |
| | | |
| | | ## 4. TTM 与归一化利润 |
| | | |
| | | ```text |
| | | TTM = 最近完整年度 + 本期累计/预告 - 上年同期累计 |
| | | TTM 收入 = 215.3903 亿元 + 45.6866 亿元 - 32.2656 亿元 = 228.8114 亿元 |
| | | TTM 归母 = 31.5014 亿元 + 5.4995 亿元 - 4.4650 亿元 = 32.5360 亿元 |
| | | TTM 扣非 = 29.5156 亿元 + 4.9252 亿元 - 4.3669 亿元 = 30.0739 亿元 |
| | | ``` |
| | | |
| | | | 归一化调整 | 对可持续利润的带符号影响 | 依据 | |
| | | |---|---:|---| |
| | | | 以TTM扣非归母利润替代TTM归母利润作为核心盈利代理 | -2.4620 亿元 | 2025年报加2026Q1减2025Q1;最新半年预告/快报仅用于情景利润,不混入TTM法定口径 | |
| | | |
| | | 归一化结果为 **30.0739 亿元**;只有调整项证据充分时才可用作主估值利润。 |
| | | |
| | | ## 5. 机构盈利预期 |
| | | |
| | | 覆盖状态:`available`。东方财富公开一致预期覆盖池为 **17家**;下表按一条汇总观测进入V1,因此“机构数”列显示1,不代表仅有1家机构。早于最新经营信息日、或低于已实现累计利润的预测自动排除出当前一致预期。 |
| | | |
| | | | 年度 | 机构数 | 利润最小值 | 利润均值 | 利润中位数 | 利润最大值 | EPS 均值 | 对应 PE | |
| | | |---|---:|---:|---:|---:|---:|---:|---:| |
| | | | 2026 | 1 | 43.09 亿元 | 43.09 亿元 | 43.09 亿元 | 43.09 亿元 | 5.507 | 30.43 倍 | |
| | | | 2027 | 1 | 58.78 亿元 | 58.78 亿元 | 58.78 亿元 | 58.78 亿元 | 7.511 | 22.31 倍 | |
| | | | 2028 | 1 | 78.50 亿元 | 78.50 亿元 | 78.50 亿元 | 78.50 亿元 | 10.031 | 16.71 倍 | |
| | | |
| | | | 机构 | 研报日期 | 预测 | 核心假设 | 状态 | 纳入一致预期 | |
| | | |---|---|---|---|---|---| |
| | | | 东方财富公开一致预期汇总(覆盖池17家) | 2026-08-13 | 2026: 利润 43.09 亿元, EPS 5.507; 2027: 利润 58.78 亿元, EPS 7.511; 2028: 利润 78.50 亿元, EPS 10.031 | 汇总快照不替代逐家研报;覆盖池数量不等于每个年度的有效样本数。 | CURRENT | 是 | |
| | | |
| | | ### 5.1 最新半年经营信息 |
| | | |
| | | - 快报口径:收入108.03亿元、归母14.87亿元、扣非14.19亿元、经营现金流2.25亿元。 |
| | | - 该信息用于调整2026全年情景利润,不与法定TTM公式重复相加。 |
| | | |
| | | ## 6. 利润质量、现金流与资产负债 |
| | | |
| | | | 指标 | 结果 | 判断入口 | |
| | | |---|---:|---| |
| | | | 最近年度 CFO | 22.3428 亿元 | 与利润、营运资本对照 | |
| | | | 最近年度资本开支 | 8.2054 亿元 | 现金流出正数口径 | |
| | | | 最近年度简化 FCF | 14.1374 亿元 | CFO - 资本开支 | |
| | | | 本期累计简化 FCF | -6.9008 亿元 | 仅在 CFO 与资本开支均可得时计算 | |
| | | | 可用现金 | 34.8866 亿元 | 已排除受限或经营最低现金(由输入方确认) | |
| | | | 有息负债 | 7.9806 亿元 | 最新时点 | |
| | | |
| | | - 需结合应收、存货、合同资产与回款补充人工解释 |
| | | |
| | | ## 7. 模型选择 |
| | | |
| | | - 公司类型:输配电设备、保护自动化、电力电子、海外EPC与储能系统 |
| | | - 主模型:2026年前瞻PE情景;TTM扣非、PB、现金流、最新半年预告/快报与反向利润交叉验证 |
| | | - 交叉验证:最新半年预告/快报, 机构一致预期, PB/ROE, 经营现金流与资本开支, 订单/合同负债/应收, 前复权量价 |
| | | |
| | | ## 8. 悲观、基准、乐观情景估值 |
| | | |
| | | | 情景 | 方法 | 核心假设 | 股权价值区间 | 每股价值区间 | 相对当前价 | 五年年化区间 | |
| | | |---|---|---|---:|---:|---:|---:| |
| | | | 悲观 | PE | 需求、订单或毛利率低于预期,利润下修且估值回归行业低位。 | 660.00 亿元~950.00 亿元 | 84.34~121.39 元 | -49.7%~-27.6% | -12.8%~-6.2% | |
| | | | 基准 | PE | 结合2026年最新业绩预告/快报、机构一致预期、订单与现金流,给予与增长持续性和风险相匹配的PE区间。 | 988.00 亿元~1440.00 亿元 | 126.25~184.01 元 | -24.7%~9.8% | -5.5%~1.9% | |
| | | | 乐观 | PE | 订单、海外扩张、产品结构和利润率超预期,利润与估值中枢同步上移。 | 1472.00 亿元~1976.00 亿元 | 188.10~252.50 元 | 12.2%~50.7% | 2.3%~8.5% | |
| | | |
| | | ## 9. 当前价格反向隐含利润 |
| | | |
| | | | 假设 PE | 隐含 EPS | 隐含归母利润 | 占 TTM 收入 | |
| | | |---:|---:|---:|---:| |
| | | | 12 倍 | 13.965 元 | 109.29 亿元 | 47.8% | |
| | | | 15 倍 | 11.172 元 | 87.43 亿元 | 38.2% | |
| | | | 18 倍 | 9.310 元 | 72.86 亿元 | 31.8% | |
| | | | 20 倍 | 8.379 元 | 65.57 亿元 | 28.7% | |
| | | | 22 倍 | 7.617 元 | 59.61 亿元 | 26.1% | |
| | | | 25 倍 | 6.703 元 | 52.46 亿元 | 22.9% | |
| | | | 28 倍 | 5.985 元 | 46.84 亿元 | 20.5% | |
| | | | 30 倍 | 5.586 元 | 43.71 亿元 | 19.1% | |
| | | | 32 倍 | 5.237 元 | 40.98 亿元 | 17.9% | |
| | | | 35 倍 | 4.788 元 | 37.47 亿元 | 16.4% | |
| | | | 40 倍 | 4.190 元 | 32.79 亿元 | 14.3% | |
| | | |
| | | ## 10. 持有期回报压力测试 |
| | | |
| | | 若要求 5 年年化回报 10.0%,并假设累计每股分红 0.00 元,则所需退出价格为 **269.89 元**。 |
| | | |
| | | | 退出 PE | 届时所需归母利润 | |
| | | |---:|---:| |
| | | | 12 倍 | 176.01 亿元 | |
| | | | 15 倍 | 140.81 亿元 | |
| | | | 18 倍 | 117.34 亿元 | |
| | | | 20 倍 | 105.60 亿元 | |
| | | | 22 倍 | 96.00 亿元 | |
| | | | 25 倍 | 84.48 亿元 | |
| | | | 28 倍 | 75.43 亿元 | |
| | | | 30 倍 | 70.40 亿元 | |
| | | | 32 倍 | 66.00 亿元 | |
| | | | 35 倍 | 60.35 亿元 | |
| | | | 40 倍 | 52.80 亿元 | |
| | | |
| | | ## 11. 自动质检与异常驱动复核 |
| | | |
| | | 总体状态:`PASS`。ERROR 会阻止把底稿当作正式结论;WARNING 只要求局部补查,不应重跑全部流程。 |
| | | |
| | | | 异常 ID | 严重度 | 数据项 | 现象 | 需要补什么 | 修复后重算范围 | |
| | | |---|---|---|---|---|---| |
| | | | — | PASS | — | 未发现自动异常 | — | — | |
| | | |
| | | ## 11.1 估值泡沫判定 |
| | | |
| | | - 当前价167.58元未高于基准合理区间上沿184.01元,按手册规则**未识别估值泡沫**。 |
| | | - 当前价相对基准上沿为-8.93%,相对乐观上沿为-33.63%。 |
| | | - 这不等于没有经营风险;若利润情景下修,合理区间会同步下移,需要按下调触发器复评。 |
| | | |
| | | ## 12. 风险、上调与下调触发器 |
| | | |
| | | ### 12.1 主要风险 |
| | | |
| | | - 2026H1归母利润仅增长15.03%,低于当前一致预期隐含的全年约37%增速,下半年需要明显加速才能兑现43亿元左右的机构预测。 |
| | | - 应收账款规模高、海外EPC周期1至3年,存在回款、汇率、税务、施工、合同与分包风险。 |
| | | - 铜铝等大宗原料、半导体器件和国际物流价格上涨,以及低毛利EPC/储能占比提高,可能压制整体利润率。 |
| | | - 海外业务扩张带来汇兑与当地运营风险;2026H1已出现美元应收等外币资产的较大汇兑损失。 |
| | | - 机构汇总口径不是法定事实,且覆盖池数量不等于每个年度的有效样本数。 |
| | | |
| | | ### 12.2 上调触发器 |
| | | |
| | | - 新增订单持续接近公司2026年375亿元经营目标,合同负债与现金回款同步增长。 |
| | | - 下半年归母利润增速回升至25%以上,开关、变压器等高毛利业务占比稳定,汇兑损失收窄。 |
| | | |
| | | ### 12.3 下调或失效触发器 |
| | | |
| | | - 2026年归母净利润低于38亿元,或收入增长继续快于利润而毛利率显著下行。 |
| | | - 应收账款和海外EPC风险上升、经营现金流转弱,或思源东芝少数股权变化持续稀释归母利润。 |
| | | |
| | | ## 13. 复评增量清单 |
| | | |
| | | 下次复评默认只更新:价格与市值、最新股本、最新财报/预告及修正、机构预测、现金债务、重大合同和公司行动。历史年报原文及已验证公式在没有重述触发器时直接复用。 |
| | | |
| | | ## 14. 复算摘要 |
| | | |
| | | ```text |
| | | 总市值 = 167.58 × 782573282.0 = 131143630597.560 元 |
| | | TTM 收入 = 年度 + 本期累计 - 上年同期 = 22881137303.76 元 |
| | | TTM 归母 = 年度 + 本期累计 - 上年同期 = 3253596015.96 元 |
| | | TTM 扣非 = 年度 + 本期累计 - 上年同期 = 3007392556.91 元 |
| | | PB = 市值 ÷ 归母净资产 = 8.136680284398523118984679122 |
| | | PS = 市值 ÷ TTM 收入 = 5.731517138180430199177275268 |
| | | ``` |
| | | |
| | | ## 15. 结论边界 |
| | | |
| | | - 自动引擎冻结算术、口径、机构时效和异常检查,不替代对利润持续性、订单真实性、竞争格局和治理风险的人工判断。 |
| | | - 机构预测、公司预告和本报告情景已分开标记,不把预测写成事实。 |
| | | - 情景价值不是目标价承诺;若自动质检存在 ERROR,必须先修复输入再形成正式判断。 |
| | | - 未披露的资产注入、并购或政策收益不得计入基础价值。 |
| | | |
| | | --- |
| | | |
| | | 生成器版本:`1.0.0`;输入快照:`SNAPSHOT-002028-20260813-V1`。 |
| New file |
| | |
| | | { |
| | | "snapshot_id": "SNAPSHOT-002028-20260813-V1", |
| | | "meta": { |
| | | "company": "思源电气", |
| | | "code": "002028.SZ", |
| | | "market": "深圳证券交易所", |
| | | "as_of_date": "2026-08-13", |
| | | "currency": "CNY", |
| | | "report_period_end": "2026-03-31", |
| | | "latest_operating_info_date": "2026-07-11" |
| | | }, |
| | | "market": { |
| | | "price": 167.58, |
| | | "price_type": "最近完整交易日前复权收盘价", |
| | | "price_timestamp": "2026-08-13T15:00:00+08:00", |
| | | "diluted_shares": 782573282.0, |
| | | "shares_date": "2026-06-30", |
| | | "platform_market_cap": 131143630597.56001 |
| | | }, |
| | | "financials": { |
| | | "annual": { |
| | | "attributable_profit": 3150142665.04, |
| | | "basis": "audited", |
| | | "capex": 820543022.2, |
| | | "cfo": 2234278513.24, |
| | | "deduct_profit": 2951560243.9, |
| | | "period_end": "2025-12-31", |
| | | "revenue": 21539031405.33 |
| | | }, |
| | | "current_cumulative": { |
| | | "attributable_profit": 549952870.75, |
| | | "basis": "quarterly_report_unaudited", |
| | | "capex": 207575929.39, |
| | | "cfo": -482504134.51, |
| | | "deduct_profit": 492523178.25, |
| | | "period_end": "2026-03-31", |
| | | "revenue": 4568663867.62 |
| | | }, |
| | | "prior_year_same_period": { |
| | | "attributable_profit": 446499519.83, |
| | | "basis": "reported_comparative", |
| | | "capex": 258227752.57, |
| | | "cfo": -558761573.91, |
| | | "deduct_profit": 436690865.24, |
| | | "period_end": "2025-03-31", |
| | | "revenue": 3226557969.19 |
| | | } |
| | | }, |
| | | "balance_sheet": { |
| | | "cash_available": 3488664441.56, |
| | | "equity": 16117584323.550001, |
| | | "interest_bearing_debt": 798062766.64, |
| | | "minority_interest": 329349663.48, |
| | | "non_operating_financial_assets": 3839128121.96, |
| | | "period_end": "2026-03-31" |
| | | }, |
| | | "normalization": { |
| | | "adjustments": [ |
| | | { |
| | | "description": "以TTM扣非归母利润替代TTM归母利润作为核心盈利代理", |
| | | "amount": -246203459.0500002, |
| | | "basis": "2025年报加2026Q1减2025Q1;最新半年预告/快报仅用于情景利润,不混入TTM法定口径" |
| | | } |
| | | ] |
| | | }, |
| | | "valuation": { |
| | | "scenarios": [ |
| | | { |
| | | "name": "悲观", |
| | | "role": "pessimistic", |
| | | "method": "pe", |
| | | "profit_low": 3300000000.0, |
| | | "profit_high": 3800000000.0, |
| | | "multiple_low": 20.0, |
| | | "multiple_high": 25.0, |
| | | "assumption": "需求、订单或毛利率低于预期,利润下修且估值回归行业低位。" |
| | | }, |
| | | { |
| | | "name": "基准", |
| | | "role": "base", |
| | | "method": "pe", |
| | | "profit_low": 3800000000.0, |
| | | "profit_high": 4500000000.0, |
| | | "multiple_low": 26.0, |
| | | "multiple_high": 32.0, |
| | | "assumption": "结合2026年最新业绩预告/快报、机构一致预期、订单与现金流,给予与增长持续性和风险相匹配的PE区间。" |
| | | }, |
| | | { |
| | | "name": "乐观", |
| | | "role": "optimistic", |
| | | "method": "pe", |
| | | "profit_low": 4600000000.0, |
| | | "profit_high": 5200000000.0, |
| | | "multiple_low": 32.0, |
| | | "multiple_high": 38.0, |
| | | "assumption": "订单、海外扩张、产品结构和利润率超预期,利润与估值中枢同步上移。" |
| | | } |
| | | ], |
| | | "reverse_pe_multiples": [ |
| | | 12, |
| | | 15, |
| | | 18, |
| | | 20, |
| | | 22, |
| | | 25, |
| | | 28, |
| | | 30, |
| | | 32, |
| | | 35, |
| | | 40 |
| | | ], |
| | | "exit_pe_multiples": [ |
| | | 12, |
| | | 15, |
| | | 18, |
| | | 20, |
| | | 22, |
| | | 25, |
| | | 28, |
| | | 30, |
| | | 32, |
| | | 35, |
| | | 40 |
| | | ], |
| | | "holding_period": { |
| | | "years": 5, |
| | | "required_return": 0.1, |
| | | "cumulative_dividend_per_share": 0 |
| | | } |
| | | }, |
| | | "institutions": { |
| | | "coverage_status": "available", |
| | | "forecasts": [ |
| | | { |
| | | "institution": "东方财富公开一致预期汇总(覆盖池17家)", |
| | | "report_date": "2026-08-13", |
| | | "include": true, |
| | | "core_assumption": "汇总快照不替代逐家研报;覆盖池数量不等于每个年度的有效样本数。", |
| | | "source_id": "SRC-EM-CONSENSUS-20260813", |
| | | "estimates": { |
| | | "2026": { |
| | | "eps": 5.506625, |
| | | "profit": 4309337598.99325 |
| | | }, |
| | | "2027": { |
| | | "eps": 7.5113125, |
| | | "profit": 5878152475.2526245 |
| | | }, |
| | | "2028": { |
| | | "eps": 10.031071428571, |
| | | "profit": 7850048489.833236 |
| | | } |
| | | } |
| | | } |
| | | ] |
| | | }, |
| | | "sources": [ |
| | | { |
| | | "id": "SRC-ANNUAL-2025", |
| | | "source_type": "cninfo", |
| | | "title": "2025年年度报告", |
| | | "publish_date": "2026-04-18", |
| | | "period_end": "2025-12-31", |
| | | "url": "https://static.cninfo.com.cn/finalpage/2026-04-18/1225117829.PDF", |
| | | "supports": [ |
| | | "financials.annual", |
| | | "business", |
| | | "profit_sources", |
| | | "risks" |
| | | ], |
| | | "revision_status": "current" |
| | | }, |
| | | { |
| | | "id": "SRC-CURRENT-2026Q1", |
| | | "source_type": "cninfo", |
| | | "title": "2026年一季度报告", |
| | | "publish_date": "2026-04-25", |
| | | "period_end": "2026-03-31", |
| | | "url": "https://static.cninfo.com.cn/finalpage/2026-04-25/1225177123.PDF", |
| | | "supports": [ |
| | | "financials.current_cumulative", |
| | | "financials.prior_year_same_period", |
| | | "balance_sheet", |
| | | "balance_sheet.equity" |
| | | ], |
| | | "revision_status": "current" |
| | | }, |
| | | { |
| | | "id": "SRC-LATEST-OPERATING", |
| | | "source_type": "financial_mirror", |
| | | "title": "2026年半年度业绩快报", |
| | | "publish_date": "2026-07-11", |
| | | "period_end": "2026-06-30", |
| | | "url": "https://file.finance.sina.com.cn/211.154.219.97%3A9494/MRGG/CNSESZ_STOCK/2026/2026-7/2026-07-11/12441232.PDF", |
| | | "supports": [ |
| | | "latest_operating_information", |
| | | "valuation.scenarios" |
| | | ], |
| | | "revision_status": "current" |
| | | }, |
| | | { |
| | | "id": "SRC-SHARES-A1", |
| | | "source_type": "szse", |
| | | "title": "2025年度权益分派实施公告(现有总股本证明)", |
| | | "publish_date": "2026-07-01", |
| | | "period_end": "2026-06-30", |
| | | "url": "https://disc.static.szse.cn/download/disc/disk03/finalpage/2026-07-01/d515dfa9-944e-45e0-adce-b7b4d6f678e0.PDF", |
| | | "supports": [ |
| | | "market.diluted_shares", |
| | | "market.shares_date" |
| | | ], |
| | | "revision_status": "current" |
| | | }, |
| | | { |
| | | "id": "SRC-LOCAL-FRONT-KLINE", |
| | | "source_type": "quote_provider", |
| | | "title": "trading_xuntou前复权日K完整收盘价", |
| | | "publish_date": "2026-08-13", |
| | | "period_end": "2026-08-13", |
| | | "url": "mysql://trading_xuntou/cn_stock_kline_1d_front", |
| | | "supports": [ |
| | | "market.price", |
| | | "market.price_timestamp", |
| | | "market.amount", |
| | | "analysis.kline" |
| | | ], |
| | | "revision_status": "current" |
| | | }, |
| | | { |
| | | "id": "SRC-EM-QUOTE-SHARES", |
| | | "source_type": "quote_provider", |
| | | "title": "东方财富当前总股本与总市值快照交叉核验", |
| | | "publish_date": "2026-08-13", |
| | | "period_end": "2026-08-13", |
| | | "url": "https://push2delay.eastmoney.com/api/qt/stock/get", |
| | | "supports": [ |
| | | "market.diluted_shares", |
| | | "market.platform_market_cap" |
| | | ], |
| | | "revision_status": "current" |
| | | }, |
| | | { |
| | | "id": "SRC-EM-CONSENSUS-20260813", |
| | | "source_type": "institution_aggregator", |
| | | "title": "东方财富盈利预测汇总", |
| | | "publish_date": "2026-08-13", |
| | | "period_end": "2026-08-13", |
| | | "url": "https://datacenter-web.eastmoney.com/api/data/v1/get?reportName=RPT_WEB_RESPREDICT", |
| | | "supports": [ |
| | | "institutions" |
| | | ], |
| | | "revision_status": "current" |
| | | } |
| | | ], |
| | | "analysis": { |
| | | "company_type": "输配电设备、保护自动化、电力电子、海外EPC与储能系统", |
| | | "primary_model": "2026年前瞻PE情景;TTM扣非、PB、现金流、最新半年预告/快报与反向利润交叉验证", |
| | | "cross_checks": [ |
| | | "最新半年预告/快报", |
| | | "机构一致预期", |
| | | "PB/ROE", |
| | | "经营现金流与资本开支", |
| | | "订单/合同负债/应收", |
| | | "前复权量价" |
| | | ], |
| | | "profit_sources": [ |
| | | "2025年开关类收入89.35亿元、变压器类46.33亿元、保护及自动化25.42亿元,是利润的主体;三类毛利率分别为36.88%、36.39%和35.11%。", |
| | | "电力电子、EPC和储能系统及元件收入分别15.25亿元、23.32亿元和15.31亿元;后两类增长快但毛利率仅约11.8%,对收入增长的贡献高于对利润的贡献。", |
| | | "2025年海外收入58.03亿元、同比增长85.84%,占收入26.94%;新增订单288.91亿元、同比增长34.64%,订单与海外扩张是未来利润的主要驱动。" |
| | | ], |
| | | "profit_source_quality": [ |
| | | "2025年经营现金流22.34亿元、低于归母净利润31.50亿元;TTM经营现金流23.11亿元,简化自由现金流15.41亿元,现金流为正但转化率不算高。", |
| | | "2025年末应收账款81.83亿元,占总资产27.42%;合同负债29.77亿元,2026Q1升至31.50亿元。较高预收支撑订单,但高应收和海外EPC拉长回款周期。", |
| | | "2026年半年业绩快报归母14.87亿元、同比增长15.03%,明显慢于收入27.14%;汇兑损失及思源东芝持股比例变更压低归母利润增速。", |
| | | "法定TTM归母32.54亿元、TTM扣非30.07亿元;主模型以最新半年信息和机构预期构造2026全年情景。", |
| | | "TTM经营现金流23.11亿元、资本开支7.70亿元、简化自由现金流15.41亿元。" |
| | | ], |
| | | "risks": [ |
| | | "2026H1归母利润仅增长15.03%,低于当前一致预期隐含的全年约37%增速,下半年需要明显加速才能兑现43亿元左右的机构预测。", |
| | | "应收账款规模高、海外EPC周期1至3年,存在回款、汇率、税务、施工、合同与分包风险。", |
| | | "铜铝等大宗原料、半导体器件和国际物流价格上涨,以及低毛利EPC/储能占比提高,可能压制整体利润率。", |
| | | "海外业务扩张带来汇兑与当地运营风险;2026H1已出现美元应收等外币资产的较大汇兑损失。", |
| | | "机构汇总口径不是法定事实,且覆盖池数量不等于每个年度的有效样本数。" |
| | | ], |
| | | "upgrade_triggers": [ |
| | | "新增订单持续接近公司2026年375亿元经营目标,合同负债与现金回款同步增长。", |
| | | "下半年归母利润增速回升至25%以上,开关、变压器等高毛利业务占比稳定,汇兑损失收窄。" |
| | | ], |
| | | "downgrade_triggers": [ |
| | | "2026年归母净利润低于38亿元,或收入增长继续快于利润而毛利率显著下行。", |
| | | "应收账款和海外EPC风险上升、经营现金流转弱,或思源东芝少数股权变化持续稀释归母利润。" |
| | | ], |
| | | "executive_conclusion": "167.58元位于基准合理区间126.25至184.01元内,判断为基本合理。当前结论依赖2026年利润兑现,不构成目标价或交易指令。", |
| | | "consensus_org_count": 17, |
| | | "consensus_coverage_note": "东方财富公开汇总覆盖池17家;2026E EPS 5.5066元,对应利润43.09亿元。", |
| | | "latest_operating_info_note": "快报口径:收入108.03亿元、归母14.87亿元、扣非14.19亿元、经营现金流2.25亿元。", |
| | | "consensus_target_range": "209.20至273.00元(仅作市场预期参照,不替代本报告合理区间)", |
| | | "kline_return_20d": 0.053432235353281454, |
| | | "kline_return_60d": -0.1405713113492999, |
| | | "ma60": 174.2086666666667, |
| | | "distance_to_ma60": -0.03805015441252446, |
| | | "amount_ratio_5d_to_60d": 0.6901672033011779, |
| | | "market_sample_count": 103, |
| | | "market_source_batch_id": "FKL_20260813_161015_179d5321_1d_20260813_00002", |
| | | "market_updated_at": "2026-08-13 16:17:25", |
| | | "ttm_cfo": 2310535952.64, |
| | | "ttm_capex": 769891199.02, |
| | | "ttm_fcf": 1540644753.62, |
| | | "total_equity_original": 16446933987.03, |
| | | "attributable_equity_used": 16117584323.550001, |
| | | "minority_interest_original": 329349663.48, |
| | | "report_shares": 782451182.0, |
| | | "share_proof_status": "MATCH_A1_CHANGE", |
| | | "information_cutoff": "2026-08-13T23:59:00+08:00" |
| | | } |
| | | } |
| | |
| | | - 综合优先级为国科军工、国睿科技、中无人机、北方导航、航天南湖;前三者中,中无人机仅列为高战略弹性的条件型观察,不代表当前价格便宜。 |
| | | - 8月7日日K齐全,但权威交易日历当前资产仅覆盖到8月6日;本批按正式交接授权的市场截止日保留8月7日实际行情和有界缺口,不写入每日估值台账。 |
| | | |
| | | 2026-08-13 德业股份与思源电气增量估值: |
| | | |
| | | - `20260813_deye_valuation/`:德业股份,使用2026-08-13前复权收盘价、2025年报、2026年一季报、2026年半年度业绩预告和23家机构覆盖池形成三情景估值。 |
| | | - `20260813_sieyuan_electric_valuation/`:思源电气,使用2026-08-13前复权收盘价、2025年报、2026年一季报、2026年半年度业绩快报和17家机构覆盖池形成三情景估值。 |
| | | - `20260813_deye_sieyuan_batch_valuation/`:两家公司估值、机构利润、量价位置和风险差异的横向汇总;两份统一内核QA均为PASS、错误0、警告0。 |
| | | - 两个正式估值版本已导入MySQL `stock_valuation`。因权威交易日历证据尚不能证明2026-08-13为可发布交易日,当日价格判定按门禁未写入,固定`latest.md/latest.csv/latest_gaps.csv`保持原有最新版本,未绕过或伪造日更结果。 |
| | | |
| | | 标准公司结果包包含人工可读报告、估值快照、来源证据manifest以及`calculation/`下的V1底稿、结果和运行manifest。高德红外、长城军工属于历史人工报告;铖昌科技和晶品特装按形成时实际产物保留,不倒填后续标准包字段。 |
| | | |
| | | 2026-08-05 新增 MySQL 每日台账及本地导出目录: |
| | |
| | | - `估值台账/latest.md`、`估值台账/latest.csv`:使用只读 `trading_xuntou.cn_stock_kline_1d_front` 的显式前复权完整日K生成;当前唯一版本为2026-08-07收盘后672只A股正式判定。合理区间未重估,仅选用各公司当日有效的最近正式估值版本刷新价格和判定。 |
| | | - `估值台账/latest_gaps.csv`:当前记录5只未进入当日数值判定的已评估主体:`03888.HK 金山软件`、`09880.HK 优必选`两只港股不在A股行情合同内,`300862.SZ 蓝盾光电`没有2026-08-07证据完整前复权日K,`688066.SH 航天宏图`无法形成常规估值区间,`688287.SH 观典防务`已经退市。 |
| | | - 2026-08-07判定分布:偏低53只、基本合理200只、偏贵161只、明显偏贵258只;672只A股价格、估值版本与标签公式一致,复算差异为0。MySQL当前为675只证券、686个估值版本,累计`daily_price=1468`、`daily_judgement=1468`。 |
| | | - 当前全量口径为677个已评估主体:672只在`latest.md/latest.csv`形成2026-08-07数值判定,5只在`latest_gaps.csv`保留明确状态和最近可用价格证据,无静默漏项。 |
| | | - 截至2026-08-13,全量口径为679个已评估主体:原677个主体加德业股份、思源电气;其中674个主体已形成数值合理区间,另2个特殊主体不能形成常规区间。固定日更文件仍是2026-08-07的672只数值判定和5只明确缺口,等待权威交易日历更新后再整体覆盖,无静默补写。 |
| | | - 按“当前价高于基准合理区间上沿即存在估值泡沫”的统一定义,当前672只数值标的中419只触发泡沫、253只未触发;419只分为轻度36只、中度69只、高度56只、超过乐观上沿的极端泡沫258只。逐股主要原因、次要放大因素、推断性质、置信度、量价显影和复核触发器已经写入固定`latest.md/latest.csv`。 |
| | | - 泡沫原因通过`../../../ai-valuation-analyst/tools/enrich_valuation_bubbles.py`逐份读取672份正式报告并结合前复权20/60日量价生成。除价格位置外,原因是“最可能解释”而非已证实资金流因果;完整定义和质量门见操作手册第三十三节。 |
| | | - 用户可见的日更估值判定只维护固定的`latest.md`、`latest.csv`和`latest_gaps.csv`,后续完整交易日直接覆盖这组三个稳定文件,不创建日期版、批次版或并列历史日更文档;数据库历史行和基础估值证据继续用于追溯。 |