当前位置:首页>Excel>DCF在进化,它被AI重写:从一张Excel到一套估值生产线

DCF在进化,它被AI重写:从一张Excel到一套估值生产线

  • 2026-07-01 00:13:41
DCF在进化,它被AI重写:从一张Excel到一套估值生产线

如果说第一篇是在教你“0门槛看懂DCF”,把公司讲成一只能下金蛋的资产,把自由现金流(Free Cash Flow to Firm, FCFF)讲成未来的金蛋,把折现讲成“未来的钱要打折”;0门槛看懂学会投行级DCF估值法(附宁德时代完整案例、视频,python代码片段)

如果说第二篇是在提醒你,DCF一半是科学,一半是玄学:它能穿透利润表的化妆术,也会被垃圾假设、永续增长率(Perpetual Growth Rate, g)和折现率(Discount Rate)轻轻一拨就带偏;一半是科学,一半是玄学:这才是DCF模型的正确打开方式

如果说第三篇是在AI时代重新审判DCF:不是DCF死了,而是我们不能再用一张工业时代的旧地图,去丈量非线性增长、实物期权(Real Option)和商业叙事的风暴;DCF 已死?一场关于估值、信仰与 AI 时代的硬核对话

那么第四篇,我想继续往前推一步,而且这一步才是AI时代真正的重点:

AI不是来替你“拍脑袋算估值”的。AI真正能赋能DCF的地方,是把它从一张孤立Excel,升级成一条能读资料、拆假设、跑模型、做质检、反推市场预期、留下证据链的估值生产线。

这一步听起来没有“某家公司到底值多少钱”那么刺激,但它可能更接近研究的真相。

因为单票DCF回答的是:这家公司,我怎么看?

而AI赋能的工程化DCF回答的是:在一整个市场里,哪些公司值得我继续看?哪些结果看起来漂亮但其实不该信?哪些假设只是叙事,哪些成本会真实吞噬现金流?


一、前三篇之后,DCF还缺什么?

前三篇其实已经把DCF的核心矛盾讲透了。

它是价值投资的底层语言,因为一家公司的价值,最终必须回到未来能创造多少现金流。

它又是Excel里的危险艺术,因为增长率、加权平均资本成本(Weighted Average Cost of Capital, WACC)和终值(Terminal Value)只要微调一点,结论就可能大幅变化。

它在AI时代仍然有意义,因为再性感的叙事,最后也要落到自由现金流;但它不能机械地把过去线性外推到未来。

所以问题不再是“DCF有没有用”。

问题变成了:

我们如何让DCF少一点自嗨,多一点纪律?

答案不是再背一遍公式,而是给DCF加上一整套新的约束:

  1. 批量比较:不要只看一家公司,要把同一套口径放到一组公司里。
  2. 自动质检:不要只输出估值,要输出这个估值是否可靠。
  3. 假设留痕:不要只给结论,要知道每个关键变量从哪里来。
  4. 深度桥接:不要让筛选结果停在CSV里,要能进入更严肃的模型和报告。
  5. AI研究代理:不是让AI泛泛读资料,而是让它把年报、电话会、招股书、行业材料转成可验证的DCF输入假设,比如收入增长、毛利率、Capex强度、营运资本、WACC风险调整、终值逻辑和三情景假设,并给出来源和置信度。
  6. Token经济学:AI公司的成本结构里,token到底是资本开支(Capital Expenditure, Capex)还是运营开支(Operating Expense, Opex),必须进入DCF的现金流逻辑。
  7. 风险参数动态更新:不要把Beta、债务成本、股权风险溢价和国家风险溢价一次性填死,而要随利率、信用利差、波动率和公司基本面变化更新。
  8. 贝叶斯更新增长路径:不要把未来五年增长率写成一条静态曲线,而要让订单、留存、价格、产能、竞争和管理层指引不断修正增长假设。
  9. 概率分布化:不要只给base、upside、downside三个点,而要输出估值分布、置信区间和关键变量的敏感区间。
  10. 实时数据驱动:不要让DCF停留在季度报表更新频率,而要把利率、汇率、大宗商品、同业估值和重大事件变成可触发更新的输入。
  11. 多因子贴现率:不要只用一个静态WACC解释所有风险,而要把规模、质量、杠杆、盈利波动、国家风险、行业周期和流动性风险拆开处理。
  12. 网络效应建模:不要把平台公司和AI生态公司只当普通线性收入模型,而要显式建模用户密度、数据反馈、留存、边际成本和赢家通吃概率。
  13. 动态竞争博弈整合:不要假设竞争格局静止,而要把价格战、技术替代、监管变化、进入者威胁和对手资本投入放进情景概率里。

换句话说,AI研究代理和DCF的关系,不是“帮你写公司简介”,而是“帮你把外部信息翻译成模型变量”,再交给DCF去折现、压测和反向审讯。

这就是我最近这版DCF项目真正想解决的问题。


二、单票DCF的幻觉:精确到小数点,未必更接近真相

很多人做DCF,会非常执着于最后那个每股价值。

比如模型算出来是45.62元,就觉得比“40到50元区间”更专业。

但真实世界刚好相反。

一个精确到小数点后两位的DCF,如果背后的增长率是拍脑袋的,WACC是凑出来的,终值占比高到离谱,那么它不是精密仪器,而是一台穿着西装的许愿机。

DCF最危险的地方,不是它算不出数字。

它最危险的地方,是它太容易算出一个看起来很像真的数字。

所以我现在越来越少问:

这个票DCF值多少钱?

我更关心:

这个DCF结果凭什么值得信?

它的FCFF是不是来自可追溯的报表?资本开支有没有吞掉利润?营运资本是不是靠上下游占款撑出来的?ROIC能不能长期跑赢WACC?终值占比是不是已经把未来十年后的故事提前透支了?企业价值(Enterprise Value, EV)到股权价值(Equity Value)的桥接有没有对上?

这些问题,靠一张孤立Excel很难长期稳定地回答。

它需要系统。


三、DCF的第三种形态:不是计算器,也不只是审讯室,而是生产线

第一种DCF,是计算器。

输入收入增长、利润率、资本开支、WACC、g,输出EV、股权价值和每股价值。

这一步适合入门,但很容易让人迷信结果。

第二种DCF,是审讯室。

把商业叙事关进去,审问三个问题:现金流是真的吗?ROIC能不能超过WACC?当前价格隐含了什么增长假设?

这一步已经比单纯算数高级很多,因为它把DCF变成了思维纪律。

第三种DCF,我觉得应该是AI生产线。

它不是替你做最终投资判断,而是把一批公司按统一规则跑一遍,然后告诉你:

  • 哪些公司计算完整;
  • 哪些公司数据缺口太大;
  • 哪些公司看似便宜但终值依赖过高;
  • 哪些公司ROIC-WACC利差更健康;
  • 哪些公司可以进入下一轮人工深度研究。

这时DCF的目标不再是“一锤定音”,而是“批量排雷 + 假设审讯 + 证据留痕”。

它像一个研究雷达,不负责替你扣扳机,只负责告诉你哪里可能有东西,哪里只是噪声。


四、这一版系统:从批量DCF到IB模型桥接

截至这次迭代,我手里的DCF项目已经不是只跑单家公司了。

它现在有一条比较清晰的流水线:

  1. batch_run.py
     批量读取股票池,生成单家公司因子表、敏感性图和批量DCF报告。
  2. postprocess_dcf_summaries_v3.py
     把不同市场、不同批次的结果合成统一后处理表。
  3. verify_outputs.py
     检查统一表和批量报告是否符合字段契约,避免旧版本和新版本结果混在一起误读。
  4. shortlist_to_ib_plan.py
     从统一表里筛出候选公司,生成投资银行(Investment Banking, IB)DCF模型构建器可读取的plan.json
  5. 打开--run-workbooks后,还可以进一步生成screen-grade的DCF workbook。

这里最重要的不是“多了几个脚本”,而是DCF结果开始带质量标签。

统一后处理表里,现在会保留这些字段:

  • dcf_calculation_integrity
    :计算完整性;
  • dcf_decision_readiness
    :决策就绪度(Decision Readiness);
  • dcf_readiness_reason
    :为什么通过或不通过;
  • terminal_value_share
    :终值占比;
  • wacc_minus_g_effective
    :WACC和长期增长率之间的安全距离;
  • ev_to_equity_bridge_delta
    :EV到股权价值桥接差异;
  • per_share_tie_delta
    :每股价值勾稽差异。

这些字段本质上是在给DCF加“刹车片”。

以前模型只会说:这个票有多少上行空间。

现在系统还会追问:这个上行空间是不是建立在一个过高的终值占比上?是不是WACC和g离得太近?是不是股权价值桥接没对上?是不是只是screen-grade,而不是可以直接拍板的结论?

这一步,是从“会算”到“会怀疑”。


五、最新进展里的几个数字

这次统一后处理表已经形成了994行、93列的跨市场底表,覆盖CSI300、恒生指数(Hang Seng Index, HSI)、纳斯达克100(NASDAQ 100)和标普500(S&P 500)等样本输出。

小样本shortlist按每个指数选2家公司,共生成8份plan.json,验证结果是8份有效、0个错误。

进一步的workbook smoke test按每个指数选1家公司,共生成4份计划,并成功生成对应的screen-grade workbook。

注意,这里的screen-grade不是banker-grade。

它的意思不是“这个模型已经能拿去做交易决策”,而是“这个模型已经足够作为下一轮人工研究的入口”。

这点非常重要。

因为批量DCF最大的价值,不是替你选出“必涨股”,而是把研究从随机翻票,变成有纪律的候选池管理。

它先帮你过滤掉明显不可靠的结果,再把相对值得看的公司推到台前。


六、真正的筛选逻辑:先问能不能信,再问便不便宜

如果让我总结现在这套筛选逻辑,我会说:

先问能不能信,再问便不便宜。

很多模型喜欢直接按upside排序。

但这很危险。

因为upside最高的公司,往往可能是数据最脆弱、假设最激进、终值占比最高的公司。

所以更合理的顺序应该是:

第一,先排除硬错误。

关键字段缺失、FCFF无法支撑、EV到股权价值桥接异常、每股价值勾稽不一致,这些结果不能因为看起来有上行空间就进入候选池。

第二,看是否达到screen-grade。

screen-grade不是买入建议,只是说明它没有明显硬伤,值得进入下一轮。

第三,再看商业质量。

ROIC是否高于WACC?现金流质量是否稳定?资本开支是不是长期吞噬利润?营运资本改善是真效率,还是周期性占款?

第四,最后才看估值空间。

downside、base、upside三个情景之间的差距,不是“收益预测”,而是假设弹性的地图。

这就是工程化DCF和普通DCF最大的区别。

普通DCF容易把一个点当答案。

工程化DCF会先告诉你:这个点附近有多大一片不确定性。


七、AI赋能DCF:不是写总结,而是重构研究流程

很多人一说AI赋能DCF,第一反应是:

让AI帮我写一段公司简介,或者自动生成一份估值报告。

这当然有用,但太浅了。

真正的AI赋能,不是让AI在模型旁边写作文,而是让AI进入DCF的每一层。

第一层,资料读取。

AI可以读取年报、招股书、电话会纪要、券商报告、行业白皮书,把收入拆成业务线,把成本拆成变量成本和固定成本,把资本开支拆成维护性Capex和成长性Capex。

但这里必须加一句狠话:

AI读到的东西,不能直接变成假设。它必须变成“带来源、带置信度、带待验证项”的假设候选。

第二层,假设生成。

过去做DCF,增长率、利润率、Capex强度经常靠分析师手感。

AI可以做得更系统:把历史经营指标、行业增速、管理层指引、竞争格局和同业表现放在一起,生成base、downside、upside三组情景。

但AI不能拥有最终解释权。

它给出的不是答案,而是“可被审问的假设”。

第三层,反向DCF。

这是AI时代非常适合自动化的一步。

正向DCF问:在我的假设下,公司值多少钱?

反向DCF问:在当前股价下,市场到底相信了什么?

AI可以批量反推:当前价格隐含未来几年收入要增长多少、毛利率要抬到哪里、ROIC要维持多久、终值占比有多高。

这比单纯说“股价贵了”高级得多。

因为它把市场情绪翻译成了一组可以讨论的经营假设。

第四层,模型质检。

AI最适合做的,不是替你乐观,而是替你挑刺。

它应该像一个不近人情的风控同事,反复追问:

  • WACC和g是不是太接近;
  • 终值占比是不是超过合理区间;
  • FCFF是不是靠一次性营运资本释放撑起来;
  • 资本开支是不是被低估;
  • 股权价值桥接有没有漏掉净债务、少数股东权益、优先股或稀释股本;
  • 同样的假设放到同行公司里是否明显异常。

第五层,报告生成。

报告不是把结果写漂亮,而是把“不确定性”写清楚。

一个AI赋能的DCF报告,应该明确告诉读者:

  • 哪些结论来自报表;
  • 哪些来自模型推导;
  • 哪些来自管理层口径;
  • 哪些只是AI辅助生成的待验证假设;
  • 哪些变量一改,估值会立刻塌。

这样AI不是让DCF变得更玄,而是让DCF更可审计。


八、DCF最新的进化方向:动态化、概率化和博弈化

如果说传统DCF最大的弱点,是把一个活的公司压扁成一张静态表格,那么AI时代的DCF就应该反过来:

让模型随着新证据更新,让估值以概率分布呈现,让竞争格局进入现金流假设。

这不是为了把DCF搞得更复杂,而是为了减少一个危险错觉:好像只要填完五年收入增长率、利润率、WACC和g,未来就已经被锁定了。

第一,风险参数要动态更新。

传统DCF里,折现率经常像身份证号码一样,一填就是一个固定值。

但真实世界里,风险不是静态的。

利率上行会抬高无风险利率;信用利差扩大,会推高债务成本;公司杠杆上升,会改变资本结构;行业波动率上升,会影响Beta;海外收入占比提高,还可能引入汇率、国家风险和监管风险。

所以更合理的做法,是把WACC拆成一组可以更新的风险参数:

  • 无风险利率;
  • 股权风险溢价;
  • 行业Beta;
  • 公司杠杆;
  • 债务成本和信用利差;
  • 国家风险、汇率风险和监管风险。

这样做的意义很直接:当宏观利率、信用市场或公司资本结构发生变化时,DCF不需要从头重写,而是更新对应参数,再重新计算FCFF折现结果。

第二,增长路径要做贝叶斯更新(Bayesian Updating)。

很多DCF会在第一年到第五年写一组增长率,然后一路算到终值。

问题是,这组增长率一旦写进去,就很容易被当成事实。

但增长本来就应该是一个会被新证据修正的信念。

比如一家AI应用公司,原来假设未来三年收入复合增长50%。后来出现三类证据:

  • 企业客户续费率高于预期;
  • 单客户token消耗显著上升,但付费转化也在提升;
  • 新竞争者开始降价,获客成本上升。

这三条证据不能只写进研究员脑子里,而应该更新模型里的增长路径、毛利率、销售费用率和情景概率。

贝叶斯更新的核心不是炫数学,而是把DCF从“一次性判断”变成“证据不断进入、假设不断修正”的过程。

第三,估值应该概率分布化(Probabilistic Modeling)。

传统DCF最容易误导人的地方,是最后输出一个点。

但真正诚实的估值,不应该只有一个每股价值,而应该是一条分布。

收入增长率可能是一组分布,毛利率可能是一组分布,Capex强度可能是一组分布,WACC也可能是一组分布。

把这些变量组合起来,模型输出的就不是“公司值45.62元”,而是:

  • 最可能区间在哪里;
  • 左尾风险有多大;
  • 右尾期权有多大;
  • 当前股价处在分布的哪个分位;
  • 哪几个变量决定了估值分布的宽度。

这比单点DCF更接近真实投资判断。

因为投资人真正面对的不是一个确定未来,而是一组可能未来。

第四,DCF要被实时数据驱动(Real-time Data-driven Modeling),但不能被实时噪声牵着走。

利率、汇率、大宗商品价格、信用利差、同业估值、订单数据、App使用量、搜索热度、招聘变化、供应链价格,这些都可能改变未来现金流或折现率。

AI研究代理可以把这些信号接进模型,触发假设更新。

但这里要加一道纪律:

实时数据只能改变有明确经济含义的变量,不能因为新闻情绪波动就乱改估值。

比如美国国债收益率变化,可以影响无风险利率;GPU租赁价格下降,可以影响AI应用的token成本和毛利率;行业价格战,可以影响收入增长和毛利率。

但一条没有来源、没有持续性、没有变量映射的市场传闻,不应该直接进入DCF。

第五,折现率要从单一WACC走向多因子贴现率(Multi-factor Discount Rate)。

传统WACC很好用,但它太容易把所有风险塞进一个数字里。

一家现金流稳定、低杠杆、高留存的软件公司,和一家高杠杆、强周期、监管风险高的公司,不应该只是用同一个市场Beta轻轻带过。

更细的做法,是把贴现率拆成多因子风险溢价:

  • 市场风险;
  • 规模风险;
  • 杠杆风险;
  • 行业周期风险;
  • 盈利质量风险;
  • 国家和监管风险;
  • 流动性风险;
  • 技术替代风险。

这些因子不一定都要机械相加,但必须被显式讨论。

否则DCF会出现一个常见问题:现金流假设写得很细,风险假设却粗得像一句口号。

第六,网络效应(Network Effects)必须进入增长和再投资逻辑。

平台公司、AI生态公司、开发者工具、支付网络、社交产品、数据网络,不能简单按“今年收入乘以明年增长率”来外推。

网络效应会改变几个DCF变量:

  • 用户越多,获客效率可能越高;
  • 数据越多,模型效果可能越好;
  • 生态越强,留存率和定价权可能越强;
  • 规模越大,单位服务成本可能下降;
  • 但赢家通吃也会让尾部风险更极端。

所以网络效应不是一句“护城河很强”。

在DCF里,它应该落成更高的留存率、更低的获客成本、更好的毛利率、更长的高增长期,或者更高的右尾情景概率。

如果这些变量没有变化,那所谓网络效应就只是叙事,不是估值假设。

第七,动态竞争博弈(Dynamic Competitive Game)要整合进情景概率。

很多DCF假设竞争对手像背景板一样安静。

但真实商业世界不是这样。

你提价,对手可能降价;你扩产,对手可能抢先扩产;你推出新模型,对手可能开源;你进入新市场,监管可能改变规则。

这些反应都会改变现金流。

因此,动态竞争博弈进入DCF,不是让模型变成游戏论文,而是让情景假设更像真实世界:

  • 价格战情景下,收入增速和毛利率怎么变;
  • 技术替代情景下,Capex和研发费用怎么变;
  • 对手融资扩张后,销售费用率和获客成本怎么变;
  • 监管收紧后,增长期和终值假设怎么变;
  • 行业集中度提升后,ROIC能否更久地高于WACC。

这也是AI研究代理真正有用的地方。

它可以持续读取竞争对手公告、产品发布、价格政策、招聘变化、融资信息、渠道反馈和监管文件,再把这些外部变化翻译成DCF里的变量变化。

总结一下,这一节其实是在说同一件事:

AI时代的DCF,不应该只是自动填表,而应该从静态确定性模型,进化成动态证据模型、概率现金流模型和竞争情景模型。

这才是“DCF没有死”的真正含义。


九、Token经济学:token到底是Capex还是Opex?

讲AI赋能DCF,绕不开一个新问题:

token到底是成本,还是资产?到底算Capex,还是Opex?

这里先说清楚:本文说的token,主要指大模型推理和训练中的计算消耗单位,不是加密资产意义上的crypto token。假设 / 待验证项:如果讨论的是Web3项目发行的代币,资产确认、收入确认和公允价值计量会是另一套问题,需要单独看会计政策和监管口径。

从DCF视角看,答案不是一句“token一定是Opex”或“token一定是Capex”。

更准确的说法是:

token本身更像“被消耗的计算燃料”;它通常以Opex进入损益和FCFF,但支撑token生产能力的模型、GPU、数据中心和部分软件资产,可能体现为Capex或资本化投入。

拆开看就清楚了。

第一种情况:公司调用外部API,为用户请求消耗token。

这通常是Opex,而且更具体地说,往往接近收入成本(Cost of Revenue / COGS)。

比如一个AI应用,每回答一次用户问题,就要向模型服务商支付输入token和输出token费用。这个成本随着使用量增长而增长,本质上像云计算费、带宽费、支付通道费。

在DCF里,它应该影响毛利率,而不是放进Capex。

公式上可以这样想:

单位毛利 = 单次任务收入 - 单次任务token成本 - 其他可变服务成本

如果一个AI产品收入增长很快,但每次调用都要烧大量token,它的收入不是“轻资产SaaS收入”,更像带有强变量成本的AI服务收入。

第二种情况:公司预付了一大笔token额度。

会计上,它可能先表现为预付费用或合同资产;但经济实质上,它仍然会随着使用被消耗,最终进入费用。

所以在DCF里,不要因为它先挂在资产负债表上,就把它误当成真正的长期生产资产。

它更像“提前买的燃料”。

第三种情况:公司自建模型、购买GPU、建设数据中心。

这时问题变了。

GPU服务器、机房、网络设备、长期算力基础设施,通常更接近Capex。它们不是一次请求就消失,而是在未来多年提供推理和训练能力。

在DCF里,这部分会进入资本开支,随后通过折旧进入利润表,但FCFF里要直接扣掉当期Capex。

这就是AI公司估值里最容易被低估的地方:

表面上它是软件公司,实际上可能有很重的算力资本开支周期。

第四种情况:训练大模型本身。

这是最有争议的一块。

从管理会计角度看,训练基础模型像是在打造一项长期能力:模型权重、数据工程、评测体系、推理优化,都可能在未来多个产品中复用。

但从财务会计角度看,训练费用是否资本化,要看具体准则、研发阶段、可识别资产、未来经济利益、企业会计政策和审计判断。

所以这里必须标注为待验证项:不能简单说“训练token一定是Capex”。更稳妥的DCF处理,是把它拆成两层:

  • 现金流层面:训练消耗了真实现金,不管会计上费用化还是资本化,都要在FCFF里体现。
  • 经济实质层面:如果训练形成可复用模型能力,可以把它视为成长性投资,用更长周期评估回报。

第五种情况:企业内部员工用AI token提升效率。

这通常是Opex,类似办公软件、云服务、研发工具订阅。

但它会通过另一条路影响DCF:降低人力成本、提高研发效率、缩短销售和交付周期。

也就是说,它未必是资本开支,却可能提升经营杠杆。


十、Token成本怎么进DCF?

如果你要给AI公司做DCF,token不能只是脚注。

它应该进入模型的核心驱动项。

第一,看token成本占收入比例。

传统SaaS的好处是边际成本低,用户越多,毛利率越高。

但AI应用不一定如此。

如果每个用户每月都要消耗大量推理token,而公司又不能把成本完全转嫁给客户,那么收入增长越快,token成本也越快。

这时估值不能只看ARR,要看token-adjusted gross margin,也就是扣除推理成本后的真实毛利。

第二,看token效率。

同样完成一个任务,模型A需要10万token,模型B只需要2万token;同样服务一个客户,产品A每月调用100次,产品B通过缓存、检索增强生成(Retrieval-Augmented Generation, RAG)、小模型路由和批处理,把调用降到30次。

这不是技术细节,这是估值变量。

token效率越高,毛利率越高,经营杠杆越强,DCF里的未来FCFF越扎实。

第三,看价格曲线。

如果未来推理成本持续下降,AI应用的毛利率可能改善。

但这里不能无脑乐观。

因为推理成本下降的同时,用户可能会要求更复杂的任务、更长上下文、更高质量模型、更低延迟。

token单价下降,不等于token总成本下降。

真正要建模的是:

每个有效任务的总计算成本,而不是单个token的报价。

第四,看Capex替代Opex。

有些公司早期用API,token成本体现为Opex;规模上来后转向自建推理集群,Opex下降,但Capex上升。

这不是成本消失了,而是成本形态变了。

DCF里要防止一个错觉:

毛利率变好,不代表自由现金流一定变好。因为省下来的Opex,可能被GPU Capex吃掉。

第五,看token经济学和商业模式是否匹配。

如果公司按固定订阅收费,但token消耗不封顶,用户越重度,公司越亏。

如果公司按量收费,token成本可以转嫁,但客户预算敏感度会更高。

如果公司卖高价值工作流,比如法律、投研、药物研发、代码生成,那么单次任务token成本可能很高,但只要替代的人力价值更高,单位经济仍然成立。

所以AI公司的DCF不能只问“收入增长多快”。

还要问:

  • 每一元收入背后烧掉多少token;
  • token成本是在毛利里,还是被Capex换了一种形态;
  • token效率能否持续改善;
  • 用户价值是否足够覆盖计算成本;
  • 规模扩大后,边际成本是下降,还是被更高质量需求重新拉上去。

一句话总结:

token不是传统软件公司的小水电费,它可能是AI时代的原材料、云成本、生产燃料,也可能逼出新的资本开支周期。

如果DCF不建模token经济学,就很容易把AI公司误判成传统SaaS。


十一、AI时代,DCF更需要系统化

有人说,AI时代DCF不适用了,因为未来太非线性。

我觉得这句话只说对了一半。

AI公司的确不能简单用过去五年收入增长去外推未来十年。创新可能是跃迁,可能是断崖,也可能是实物期权。

但这并不意味着DCF没用。

恰恰相反,越是叙事汹涌的时代,越需要DCF这种“反叙事工具”。

它不一定能告诉你一家AI公司未来到底值多少钱,但它能逼你回答:

  • 当前价格隐含了多少增长;
  • 这个增长需要多少资本投入;
  • 毛利率和竞争格局能不能支撑长期ROIC;
  • 如果创新期权没有兑现,基本盘值多少;
  • 如果终值假设下调,估值会不会崩塌。

所以AI时代的DCF,不应该是旧公式硬套新世界。

它应该变成两层:

第一层,用DCF约束基本盘,看现金流、再投资、WACC和终值。

第二层,用期权思维理解创新盘,看不确定性、非线性和极端情景。

而工程化系统的意义,是把这两层区分开:哪些是已经能用现金流解释的价值,哪些只是叙事和期权,哪些必须标成低置信度假设。


十二、下一步:让DCF从screen-grade走向research-grade

当前这套系统还没有到终点。

它已经能批量跑、能合并后处理、能做字段验证、能输出shortlist、能生成IB模型计划,也能做workbook smoke test。

但它仍然有几个明显的升级方向:

  1. 提高source basis的证据强度,让每个关键假设都能回到明确来源;
  2. 把forecast从placeholder逐渐升级成行业逻辑驱动;
  3. 对高终值占比公司做更系统的压力测试;
  4. 把screen-grade workbook继续推进到更接近banker-grade的链接公式模型;
  5. 把反向DCF(Reverse DCF)加入批量筛选,反推市场价格隐含的增长预期。
  6. 加入AI公司专用的token economics模块,把推理成本、训练投入、算力Capex和token效率纳入FCFF。
  7. 加入动态风险参数模块,让Beta、债务成本、股权风险溢价、国家风险和行业风险随数据更新。
  8. 加入概率化DCF模块,把收入增长、利润率、Capex、WACC和终值输出为分布,而不是单点。
  9. 加入贝叶斯更新和动态竞争情景模块,让新证据可以更新增长路径、竞争假设和情景概率。

尤其是第五点,我觉得会非常有价值。

正向DCF问的是:在我的假设下,这家公司值多少钱?

反向DCF问的是:在当前股价下,市场到底相信了一个什么故事?

前者容易自恋,后者更像审讯。

如果能把反向DCF、终值占比、ROIC-WACC、现金流质量、多维估值验证、概率分布、动态竞争和token经济学放进同一个系统里,DCF就不再是一张孤零零的Excel,而是一套研究秩序。


结语:DCF没有死,死的是把它当神谕的用法

DCF不是神。

它不是水晶球,不会告诉你未来一定怎样。

它也不是废纸。只要商业世界最终还要回到现金流,它就仍然是估值里最重要的坐标系之一。

真正过时的,是那种把DCF当成单点答案的用法。

真正该进化的,是我们的使用方式:

从单票到批量;

从答案到纪律;

从Excel到AI生产线;

从“我觉得这家公司便宜”,到“我知道这个结论哪里可靠、哪里脆弱、哪里需要复核,哪里只是AI叙事还没有落成现金流”。

这就是第四篇想说的核心:

DCF没有死。它只是不能再一个人待在Excel里,也不能假装增长、风险、竞争和token成本都是静态的。

它该走进一条更透明、更克制、更可审计的估值生产线。

个人观点,仅供参考。

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-07-02 12:13:06 HTTP/2.0 GET : https://h.sjds.net/a/529716.html
  2. 运行时间 : 0.093592s [ 吞吐率:10.68req/s ] 内存消耗:4,378.18kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=003ddcf56103189d27740cddaea711a0
  1. /yingpanguazai/ssd/ssd1/www/h.sjds.net/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/h.sjds.net/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/h.sjds.net/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/h.sjds.net/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/h.sjds.net/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/h.sjds.net/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/h.sjds.net/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/h.sjds.net/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/h.sjds.net/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/h.sjds.net/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/h.sjds.net/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/h.sjds.net/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/h.sjds.net/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/h.sjds.net/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/h.sjds.net/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/h.sjds.net/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/h.sjds.net/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/h.sjds.net/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/h.sjds.net/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/h.sjds.net/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/h.sjds.net/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/h.sjds.net/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/h.sjds.net/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/h.sjds.net/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/h.sjds.net/runtime/temp/ad153693ed39fba6d1bda2fe72512cde.php ( 12.06 KB )
  140. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000739s ] mysql:host=127.0.0.1;port=3306;dbname=h_sjds;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000612s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000285s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000295s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000487s ]
  6. SELECT * FROM `set` [ RunTime:0.000186s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000520s ]
  8. SELECT * FROM `article` WHERE `id` = 529716 LIMIT 1 [ RunTime:0.000867s ]
  9. UPDATE `article` SET `lasttime` = 1782965586 WHERE `id` = 529716 [ RunTime:0.011700s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 65 LIMIT 1 [ RunTime:0.000282s ]
  11. SELECT * FROM `article` WHERE `id` < 529716 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.001540s ]
  12. SELECT * FROM `article` WHERE `id` > 529716 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000398s ]
  13. SELECT * FROM `article` WHERE `id` < 529716 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.001023s ]
  14. SELECT * FROM `article` WHERE `id` < 529716 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.005072s ]
  15. SELECT * FROM `article` WHERE `id` < 529716 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.002693s ]
0.095061s