NPA / 法拍 估值定价(轻量版)
把"纸面折扣"翻译成真金白银的 IRR。任何法拍标的、不良资产包、困境资产,填一组假设即出: 三情景 IRR + MOIC 双指标、敏感性矩阵、折价可修复性打分、投标上限反推。
触发条件
- 法拍房 / 法拍股权 / 不良债权包"要不要买、出多少"
- 需要把折价率换算成 IRR / MOIC
- 客户问不良资产投资逻辑、投标上限、处置回报
- 批量筛选一堆标的,按风险调整后回报排名
三条铁律(做之前先背下来)
铁律一:先对口径,否则全错
| 口径 | 定义 | 谁在用 |
|---|---|---|
| 折扣率(本工具采用) | 成交价 ÷ 评估价 | 千际投行、中指研究院 |
| 折价幅度 | 1 − 成交价 ÷ 评估价 | 克而瑞 |
两者互为 1 的补数。同一句"折价率 74.1%",两种口径下含义相差近 3 倍。
第二层陷阱(更致命):评估价 ≠ 市场价 —— 法院评估价普遍滞后且偏高。 "相对评估价折 26%" ≠ "相对市场价便宜 26%"。必须另算【真实折价率 = 成交价 ÷ 对标市场价】,这才是真安全边际。
铁律二:只有可主动修复的折价才是真收益
| 要素 | 可修复性 | 修复抓手 |
|---|---|---|
| 信息折价 | 高 ★★★★★ | 尽调补齐产权/占用/欠费/税费 |
| 时间折价 | 中 ★★★☆☆ | 垫资提速、预清场、缩短过户 |
| 流动性折价 | 低 ★☆☆☆☆ | 只能选城市/选地段——低分即风险 |
| 风险折价 | 中高 ★★★★☆ | 交易结构与条款对冲 |
用打分卡算"可修复折价占比":>50% 才值得做,<30% 放弃。 流动性折价几乎不可修复 —— 所以远郊房、老破小、低能级城市商业资产,折得再深也不该碰。
铁律三:三情景 + IRR/MOIC 双指标,决策看保守情景
- 三层:情景(保守/基准/乐观)→ 现金流(回款节奏 + 税费/诉讼/运营)→ 门槛(叠加资金成本与机会成本)
- 决策看保守情景,乐观只估上行空间
- IRR 看效率、MOIC 看倍数;背离时(倍数高但 IRR 低)= 钱压得久,这是法拍最常见的死法
- 反推投标上限:给定门槛 IRR,反解最高可出价
环境依赖
pip install openpyxl
# 国内网络建议加镜像:-i https://pypi.tuna.tsinghua.edu.cn/simple
openpyxl:生成 xlsx 模型(必需,脚本只用这一个第三方库)
工具链
生成模型 — scripts/build_model.py
python scripts/build_model.py --config deal.json --out model.xlsx
python scripts/build_model.py --demo --out model.xlsx # 内置示例
python scripts/build_model.py --config deal.json --print-config # 回显合并后配置
产出 5 表:使用说明 / 输入假设 / 三情景现金流 / 敏感性分析 / 折价打分卡。
输入模板见 templates/deal_template.json;只填已知字段,缺的走默认值。
asset_type 支持 住宅 / 商办 / 工业 / 股权,自动切换折价要素默认权重。
标准流程
- 拿标的信息 → 拷
deal_template.json填数(评估价、起拍价、预估成交价、对标市场价) build_model.py生成模型 → 核对「真实折价率」(成交价 ÷ 对标市场价) —— 法院评估价普遍滞后偏高,名义折扣里可能有一大半是评估价虚高造成的- 看折价打分卡:可修复折价占比 > 50% 才值得做,< 30% 直接放弃 (流动性折价几乎不可修复——远郊房、老破小、低能级城市商业资产,折得再深也不该碰)
- 读结论:保守情景 IRR 是否达标?(决策看保守情景,乐观只估上行空间)
完整版另有:投标上限反推(给定门槛 IRR 反解最高出价)、批量标的排序(多标的按风险调整后回报排名)、独立验证链(LibreOffice + Python 双向重算比对,偏差 < 1e-12,未通过不交付)。
核心公式(可审计)
- 资产处置价值 = 可实现市场价值 − 交易与交付成本 − 风险损失 − 资金时间成本
- 年化 IRR = (1 + 季度IRR) ^ 4 − 1(现金流按季度排布)
- MOIC = 总回收 ÷ 总投入
- 投标上限:令保守情景 IRR = 门槛,反解买入价
踩过的坑
- 公式行号必须动态捕获:openpyxl 生成多表模型时硬编码行号,插一行就全表静默错位(openpyxl 不求值、不报错)
- 文本以
=开头会被 Excel/LibreOffice 当公式解析 → Err:501;说明性文字用全角= - LibreOffice 对 OOXML 默认不重算(OOXMLRecalcMode=never),转换后公式缓存值恒为 0,会误判成"模型算不出数";解法:先给工作簿打
fullCalcOnLoad标志再转 - soffice 转换时源文件与输出目录不能同名同目录,否则静默失败
- Excel
IRR()返回的是季度 IRR,年化须(1+q)^4-1 - 打印/转 PDF 要设
landscape + fitToWidth=1,否则长文本列断页
边界与风险
- 模型不产生数据:三情景假设质量取决于尽调深度,垃圾进垃圾出
- 税费是最大暗坑:原产权人为公司可能触发土地增值税、企业所得税;"所有税费由买受人承担"条款可让实际成本远超成交价
- 腾退失败、户口滞留属"回款归零"风险,模型用情景系数覆盖,须单独设红线
- 非标资产(商办/工业/股权)缺乏可比成交,售价系数最难估——先做住宅标准化标的建立模型可信度
- 本工具为决策辅助,不构成投资建议
关于作者与定制服务
本技能由 九品锦锂e 出品(公众号:初五Agent)。
这里提供的是通用标准版,覆盖大多数常规场景。如果你遇到下面这些情况,通用版会不够用:
- 多个项目 / 多家公司并行,需要分别留痕、分开管账
- 要接你自己的数据源、台账或历史底稿
- 输出件要套你们单位或客户的固定模板
- 需要和现有系统打通,或者要有人陪着把流程真跑起来
需要按你的业务定制 + 落地陪跑,可加微信 ly5419495,说一下你的场景就行。
