Install
openclaw skills install @lingyu9495-source/npa-valuation-engine法拍与不良资产全栈估值定价引擎:折价口径对齐、折价可修复性打分、三情景 IRR/MOIC、投标上限反推,并生成可审计的 xlsx 估值模型。触发词:法拍、不良资产、NPL、资产包、投标上限、折价率、IRR、MOIC、处置、尽调、债权转让、AMC、回收率、抵押物、个贷不良、对公不良。
openclaw skills install @lingyu9495-source/npa-valuation-engine把「纸面折扣」翻译成真金白银的 IRR。
任何法拍标的、不良资产包、困境资产,填一组假设即出:三情景 IRR + MOIC 双指标、敏感性矩阵、折价可修复性打分、投标上限反推;另外配一套从形成机制到处置退出的全栈知识库兜底——不靠感觉出价。
输入:标的基本信息、债务人与抵押物情况、所在区域 输出:估值区间与建议出价上限、处置路径建议、尽调重点清单、可审计的 xlsx 估值模型
| 口径 | 定义 | 谁在用 |
|---|---|---|
| 折扣率(本引擎采用) | 成交价 ÷ 评估价 | 千际投行、中指研究院 |
| 折价幅度 | 1 − 成交价 ÷ 评估价 | 克而瑞 |
两者互为 1 的补数。同一句「折价率 74.1%」,两种口径下含义相差近 3 倍。
第二层陷阱(更致命):评估价 ≠ 市场价。法院评估价普遍滞后且偏高。「相对评估价折 26%」不等于「相对市场价便宜 26%」。
必须另算【真实折价率 = 成交价 ÷ 对标市场价】,这才是真安全边际。模型里单独做了这一列。
| 要素 | 可修复性 | 修复抓手 |
|---|---|---|
| 信息折价 | 高 ★★★★★ | 尽调补齐产权 / 占用 / 欠费 / 税费 |
| 时间折价 | 中 ★★★☆☆ | 垫资提速、预清场、缩短过户 |
| 流动性折价 | 低 ★☆☆☆☆ | 只能选城市、选地段——低分即风险 |
| 风险折价 | 中高 ★★★★☆ | 交易结构与条款对冲 |
用打分卡算「可修复折价占比」:> 50% 才值得做,< 30% 直接放弃。
流动性折价几乎不可修复 —— 所以远郊房、老破小、低能级城市的商业资产,折得再深也不该碰:那不是便宜,那是市场在给「卖不掉」定价。
pip install openpyxl numpy_financial
# 国内网络加镜像:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple openpyxl numpy_financial
| 依赖 | 用途 | 是否必需 |
|---|---|---|
openpyxl | 生成 xlsx 估值模型 | 必需 |
numpy_financial | IRR / NPV 独立自算比对 | 必需 |
LibreOffice(soffice) | verify_model.py 换引擎重算比对 | 可选,未安装则该脚本进入降级模式(退出码 2),其余功能不受影响 |
bid-quick-calc.py、disposal-decision-model.py、regional-valuation.py 只用标准库,无需安装任何包。
六个脚本,全部只用命令行参数,不依赖交互输入(bid-quick-calc.py 不传参数时才进入交互模式)。
scripts/build_model.py# 先用内置示例试跑,确认环境没问题
python scripts/build_model.py --demo --out model.xlsx
# 正式标的:拷模板填数后跑
python scripts/build_model.py --config deal.json --out model.xlsx
# 回显合并默认值之后的完整配置,用于检查假设有没有填错
python scripts/build_model.py --config deal.json --print-config
产出 5 张表:使用说明 / 输入假设 / 三情景现金流 / 敏感性分析 / 折价打分卡。
templates/deal_template.json,只填已知字段,缺的走默认值asset_type 支持 住宅 / 商办 / 工业 / 股权,自动切换四要素折价的默认权重0.15 = 15%)scripts/verify_model.pypython scripts/verify_model.py --model model.xlsx # 人类可读
python scripts/verify_model.py --model model.xlsx --json # 机器可读
python scripts/verify_model.py --model model.xlsx --allow-degraded # 缺 LibreOffice 时也返回 0
做五件事:LibreOffice 重算 → Python(numpy_financial)独立自算比对,偏差应 < 1e-12;反推投标上限;全表错误单元格扫描;公式存在性检查。
退出码:0 = 完整双验通过;1 = 验证不通过(模型有偏差或结构缺失);2 = 降级通过——本机没装 LibreOffice,重算与缓存值比对无法执行,但 Python 独立自算与公式存在性检查已过,脚本会明确打印「降级模式」并给出 Python 侧 IRR/MOIC/NPV 供核对。这不是模型不合格,是环境缺件;装上 LibreOffice 重跑即得完整结论。
未通过验证(退出码 1)的模型不得对外交付。
scripts/screen_deals.py# 直接用样例跑通
python scripts/screen_deals.py --deals templates/deals_sample.json
# 只看保守情景 IRR ≥ 15% 的标的,并导出结果
python scripts/screen_deals.py --deals deals.json --min-conservative-irr 0.15 --out-xlsx result.xlsx
# 机器可读输出,便于接进别的流程
python scripts/screen_deals.py --deals deals.json --json
按保守情景 IRR 降序排名,输出三情景 IRR / MOIC、投标上限、价差空间、可修复占比、判定结论。多标的输入格式见 templates/deals_sample.json。
scripts/bid-quick-calc.pypython scripts/bid-quick-calc.py # 交互模式
python scripts/bid-quick-calc.py --amount 120000000 --recovery 0.15 --discount 0.12 --term 2 --cost 0.05
python scripts/bid-quick-calc.py --preset 个贷包 --amount 120000000
预设类型(--preset):个贷包 / 对公抵押 / 一线住宅抵押(还有更多内置类型,不传 --preset 时脚本会列出)。竞价前 30 秒出一档可出价区间,用于银登中心、司法拍卖平台的现场报价。
scripts/disposal-decision-model.pypython scripts/disposal-decision-model.py
五维评分(资产质量 / 法律状态 / 处置效率 / 回收确定性 / 成本效益)→ 加权总分与评级 → 推荐处置策略 TOP 3 → 方案对比(回收率 × 周期 × 成本 → 毛利与 IRR)→ 敏感性分析。
脚本内的资产字典就是输入模板,改字段即可换成自己的案子。
scripts/regional-valuation.py# 单点:某城市能级下,1 亿公允价值 / 8000 万不良本金的估值
python scripts/regional-valuation.py --fair-value 100000000 --bad-debt 80000000 --tier 一线
# 横向对比五个城市能级,看同一笔资产放在不同城市的估值差
python scripts/regional-valuation.py --fair-value 100000000 --bad-debt 80000000 --compare
# 指定资产类型(住宅/商办/工业用地/产业园/商业综合/酒店/制造业贷款/个贷/城投债/股权)
python scripts/regional-valuation.py --fair-value 50000000 --bad-debt 30000000 --tier 二线 --asset-type 住宅
# 无参数运行 = 演示模式
python scripts/regional-valuation.py
--tier 只接受 一线 / 新一线 / 二线 / 三线 / 四线。--batch 目前仍走演示模式。
templates/deal_template.json 填数(评估价、起拍价、预估成交价、对标市场价)build_model.py 生成模型 → 看「真实折价率」是否与城市锚偏离过大@references/market-anchors.md)校核退出售价系数与处置周期verify_model.py 双验 → 未通过不交付screen_deals.py 排序,先做风险调整后回报最高的那个按主题分组,用到哪块读哪块。
| 文件 | 什么时候读 |
|---|---|
@references/valuation-methods.md | 选估值方法:交易案例比较法 / 专家判断法 / 现金流折现分别适用什么场景 |
@references/asset-valuation.md | 三重折价模型的完整推导,折价拆解的底层逻辑 |
@references/valuation-case-studies.md | 要有可比案例支撑估值结论时 |
@references/valuation-params-sensitivity.md | 参数取值区间怎么定、敏感性怎么设 |
@references/market-anchors.md | 每次建模都要:用城市折价率锚校核假设是否离谱 |
@references/recovery-modeling.md | 回收率怎么量化建模、不同资产类型的回收分布 |
| 文件 | 什么时候读 |
|---|---|
@references/bidding-valuation-strategy.md | 竞价博弈下的报价策略、动态报价节奏 |
@references/valuation-negotiation.md | 价格谈判阶段的话术与让步结构 |
| 文件 | 什么时候读 |
|---|---|
@references/disposal-strategies.md | 处置策略总览与选择逻辑 |
@references/disposal-techniques-30.md | 30 种处置技术的适用场景、周期、回收差异 |
@references/classification-disposal-mapping.md | 已知资产分类,反查该走哪条处置路径 |
@references/npl-lifecycle-framework.md | 从收购到退出的全生命周期视角,做长周期规划时读 |
| 文件 | 什么时候读 |
|---|---|
@references/due-diligence.md | 尽调要点与红线 |
@references/due-diligence-workflow.md | 尽调实操七步法,按步骤执行 |
@references/legal-framework-l1.md | 查法律监管框架与权利顺位问题时 |
templates/valuation-due-diligence-checklist.md | 直接当尽调作业清单用,打勾交付 |
| 文件 | 什么时候读 |
|---|---|
@references/fundamentals-classification.md | 基础概念、按来源 / 按形态分类的口径 |
@references/formation-mechanism.md | 不良是怎么形成的,判断资产包成因时读 |
@references/knowledge-cards-l1.md | 快速过一遍核心概念,适合给新手 / 客户做科普底稿 |
@references/knowledge-cards-l5.md | 个贷不良批转市场的前沿速查 |
| 文件 | 什么时候读 |
|---|---|
@references/trading-market-pricing.md | 交易市场结构与定价机制,含区域差异 |
@references/market-participants.md | 六类参与主体(AMC / 银行 / 服务商 / 投资人等)的诉求差异 |
@references/npl-ecosystem-2026-map.md | 2026 年生态图谱,看自己在链条里的位置 |
@references/transaction-workflow.md | 从出表到交割的交易实务全流程 |
| 文件 | 什么时候读 |
|---|---|
@references/npl-four-cycles-history.md | 1999 年至今四轮周期的历史沿革,判断当前处在哪一阶段 |
@references/four-cycle-case-studies.md | 四轮周期的标杆案例速查,给结论找历史参照 |
| 文件 | 什么时候读 |
|---|---|
@references/ai-retail-npl-tech.md | 个贷不良批量处置的科技手段与成本结构 |
@references/tech-reshaping-market.md | 科技怎么改变市场底层逻辑,判断趋势时读 |
尽调千头万绪,但这三件没查清,其他都是细节:
完整清单直接打开 templates/valuation-due-diligence-checklist.md 逐项打勾;估值方案成稿模板见 templates/valuation-template.md。
税费是最大暗坑:原产权人为公司可能触发土地增值税、企业所得税;「所有税费由买受人承担」这一条可以让实际成本远超成交价——建模时务必单独列项。
= 开头会被 Excel / LibreOffice 当公式解析 → Err:501;说明性文字用全角 =OOXMLRecalcMode=never),转换后公式缓存值恒为 0,会误判成「模型算不出数」;解法:先给工作簿打 fullCalcOnLoad 标志再转soffice 转换时源文件与输出目录不能同名同目录,否则静默失败IRR() 返回的是季度 IRR,年化须 (1+q)^4-1landscape + fitToWidth=1,否则长文本列断页本引擎为决策辅助工具,输出结果基于使用者输入的假设,不构成投资建议、法律意见或估值报告。具体估值结论与法律判断请以具备资质的专业机构出具的正式意见为准。
本技能由 九品锦锂e 出品(公众号:初五Agent)。
这里提供的是通用标准版,覆盖大多数常规场景。如果你遇到下面这些情况,通用版会不够用:
需要按你的业务定制 + 落地陪跑,可加微信 ly5419495,说一下你的场景就行。