Bank valuation
Skill build-with-dhiraj/ai-workflow-framework-portability-kit/Skills/bank-valuation
Use when valuing a BANK, NBFC, small-finance bank, or insurer — any financial-services stock where ROCE and free-cash-flow break down and the stock-onboarding v2 machinery's `bank` model applies (CSBBANK, UJJIVANSFB, NORTHARC, KOTAKBANK, HDFCLIFE, etc.). Provides the equity-side method a financial-firm analyst uses — justified-P/B / excess-return / equity-DCF, through-cycle provisioning, the regulatory-capital growth constraint, and the deposit-franchise moat read. This is the fix for the vault being thin on bank principles (the least-grounded IVs on the dashboard). Triggers: "value this bank", "bank IV", "justified P/B", "how do I value an NBFC/insurer", grading any `--model bank` name.From its SKILL.md
npx -y skills add build-with-dhiraj/ai-workflow-framework-portability-kit --skill bank-valuationAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
3 things to look at
- reads credentialsReads from 1 credential source: `/Users/Dhiraj/dev/invest/.env`.
- 4 stars4 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
- runs commandsInstructs the agent to run 1 command, including `set -a && source /Users/Dhiraj/dev/invest/.env && set +a && /Users/Dhiraj/dev/invest/.venv/bin/python \ /Users/Dhiraj/dev/invest/data/scripts/32_consult_brain.py \ --company "<bank name>" --model `.
SKILL.md
9.1 KB, ~2.2k tokens by cl100k_base, as published. Nobody here has run it
Bank / Financial-Firm Valuation (the finance-desk "bank analyst")
The binding Munger/Buffett vault is thin on bank-specific valuation, so bank IVs were the weakest numbers on the Action Dashboard. This skill encodes Damodaran's free financial-firm method as a reusable procedure. Ground every step in the canon (below) — never free-hand a bank IV.
STEP 0 — Pull the canon (binding-safe) — ALWAYS with --role banks
The Damodaran "Valuing Financial Service Firms" method-atomics are in the canon layer, tagged
analyst_role: banks. Pass --role banks on every bank brain query — the --role filter is INCLUSIVE
(it admits the bank canon AND keeps the binding/perspective atoms on relevance), and the financial-firm canon
is invisible to a blended query without it:
set -a && source /Users/Dhiraj/dev/invest/.env && set +a && /Users/Dhiraj/dev/invest/.venv/bin/python \
/Users/Dhiraj/dev/invest/data/scripts/32_consult_brain.py \
--company "<bank name>" --model bank --step intrinsic-value --corpus blended --role banks \
--json-out extracted/grilling/<TICKER>_bankval.json
cites_principles ⊂ the returned slugs. ALSO run the normal binding consult (--corpus binding,
the Munger/Buffett CIO) for conviction/moat — the canon is the method, the CIO is the judge.
Hard rule (load-bearing): a bank brain query without --role banks is invalid — it returns 0 Damodaran
financial-firm atomics and the agent will silently free-hand the IV, which is the exact failure this skill exists to fix.
STEP 0.5 — Pull the CIO bank-temperament gate (binding, qualitative)
Before computing any number, retrieve the binding bank-character atoms and treat them as a gate the IV must
survive, not flavour text: discipline-in-lending-creates-extraordinary-returns,
avoid-fads-and-bad-loans-in-banking, complexity-increases-risk-of-error-and-fraud,
prioritize-corporate-culture-and-morality. This operationalises "the CIO is the judge": a numerically high IV
on a fad-chasing, low-culture, or opaque lender is capped or rejected regardless of the math. Banking
is a business where a few years of undisciplined lending quietly destroys a decade of book value — the
temperament read precedes the valuation.
WHY firm-DCF fails for banks (the core insight)
For a bank, debt is raw material, not financing — you can't separate operating from financing flows, capex/working-capital are ill-defined, and FCFF is meaningless. So value EQUITY directly, in this order of preference:
METHOD (preferred → fallback)
- Excess-return (justified-value) model — PREFERRED.
Value of equity = Book Equity + PV[ (ROE − Ke) × Book Equity ], the excess return growing at g. In steady state this collapses to the justified price-to-book:Justified P/B = (ROE − g) / (Ke − g). A bank only deserves P/B > 1 when ROE > Ke; if ROE ≤ Ke it is worth ≤ book (and conviction caps at 2). Worked sketch: ROE 15%, Ke 13%, g 8% → P/B = (0.15−0.08)/(0.13−0.08) = 1.4× book. - Equity-DCF / Dividend-Discount. Discount FCFE (≈ net income − reinvestment needed to hold regulatory capital) — or dividends if payout is stable — at the cost of EQUITY (Ke), never WACC.
- Relative (sanity-check). P/B vs ROE across comparable Indian banks/NBFCs; a high-ROE franchise should trade at a justified premium, not the sector median.
THE THREE ADJUSTMENTS THAT MATTER
- Normalize provisioning THROUGH THE CYCLE — but forensic-screen the book FIRST
(
[[normalize-bank-provisioning-through-cycle]]). Current ROE is distorted by where the credit cycle is — under-provisioning inflates ROE (and IV), over-provisioning deflates it. Use a mid-cycle credit cost, not the latest quarter. This is the single biggest bank-IV error. Gate it: before normalizing, screen the book for evergreening / hidden-NPA / under-provisioning — a normalized credit cost computed on a managed book is fiction (complexity-increases-risk-of-error-and-fraud,greater-due-diligence-required-for-financials). Hand off the asset-quality red-flag check toforensic-accounting-redflagsand only normalize on a book that survives it. - Regulatory capital is FORCED reinvestment (
[[regulatory-capital-is-forced-reinvestment]]). Growth needs retained equity to keep CAR above the RBI minimum, so sustainable g ≤ ROE × retention ratio. A bank can't grow faster than its capital allows without dilution — model the dilution if it raises equity. Unlike a capital-light compounder, a bank cannot choose to return this capital; it is conscripted to fund the balance sheet, which is why a high headline ROE with thin capital is not the same quality as a self-funding franchise. - Cost of equity (Ke) via CAPM, India:
Ke = rf (~6.9%) + β × ERP (~5.5%). Use a bank-appropriate β (leverage + regulatory risk push it up). Be conservative — a too-low Ke is how banks get over-valued.
THE MOAT READ (for conviction, not just IV)
The deposit franchise IS the bank's float ([[deposit-franchise-is-bank-float]]; Munger
use-float-for-compounding): a sticky, low-cost CASA base is cheap, semi-permanent capital the bank
compounds on — that float, not the loan book, is the durable moat, and it is what lets a disciplined lender earn
ROE > Ke through-cycle (underappreciated-moats-in-commodity-businesses — even in "commodity" banking a real
funding edge produces unexpectedly high returns). Assess deposit stickiness, CASA ratio trend, and cost-of-funds
vs peers; cross-link moat-analysis for the switching-cost/scale lens behind a sticky deposit base. A lender
with no funding advantage is a commodity. Per the v2 rubric: ROE below cost-of-equity → cap conviction at 2;
no funding moat → narrow moat.
INDIA / SFB CAVEAT (an acknowledged vault hole — stay honest)
The canon is Damodaran's 2009-vintage, US-framed financial-firm method. There is NO India-specific atomic in the brain for NIM, CASA dynamics, the NPA cycle, ECL provisioning, or RBI / SFB capital-adequacy (CAR) minimums. So you must hand-supply current Indian regulatory inputs (RBI CAR floor, SFB priority-sector + CRR/SLR drag, ECL norms) and mark them explicitly as un-grounded assumptions in the output — never present a hand-supplied India regulatory number with canon-like authority. Apply the regulatory-capital constraint with current RBI minimums and flag them as agent-supplied. Default conservative when the India input is uncertain.
OUTPUT (feeds the v2 machinery)
Return a conservative IV range (iv_low / iv_base / iv_high) as a justified equity value (or P/B × book).
buy_below = iv_base × (1 − required_MoS) (conviction-scaled); sell = iv_high. Honor the IRR-beats-~10%-Nifty
gate. State the ROE, Ke, mid-cycle credit cost, and g assumptions explicitly — a bank IV with hidden assumptions
is not a real number.
Hard rules
- Never use FCFF/WACC/ROCE for a bank — equity-side only (Ke, FCFE, justified-P/B).
- Always normalize provisioning to mid-cycle before computing ROE — and only on a book that has survived the
forensic evergreening/hidden-NPA screen (
forensic-accounting-redflags); a normalized credit cost on a managed book is fiction. - Always query with
--role banks— a bank brain query without it returns 0 financial-firm canon and the IV gets free-handed. Cite only canon slugs the consult actually returns; ifprinciplesis thin, flag it and stay conservative. Hand-supplied India regulatory inputs (NIM/CASA/NPA/CAR) are labelled un-grounded. - Discount every pitch-side re-rating thesis. A high-ROE bank framed as "mispriced on mix-shift / fortress
balance sheet" enters
iv_baseONLY if the excess return is structurally sustainable through-cycle — route it throughleverage-magnifies-errorsfirst (on a levered financial a wrong re-rating call is amplified into a large equity error) ([[discount-the-bank-re-rating-pitch]]). Perspective voices are inputs to be discounted, never the verdict. - The IV must survive the STEP 0.5 CIO temperament gate (culture / lending-discipline / opacity). The
Munger/Buffett binding CIO remains the arbiter of moat/verdict; this skill supplies the number, not the
verdict. Desk atomics (
vault/desk/banks/atomic/…) are referenced via[[slug]]as connective tissue — not authored or edited here.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.
Gives 0 of the 12 instructions most finance skills give in ~2.2k tokens
Counted across 469 of the 469 authors here whose files we hold, read 2026-08-07
- Extract date vendor amount and descriptionin 15 of 469, across 3 files
- Scan folder for invoice filesin 14 of 469, across 2 files
- Rename files to standard formatin 14 of 469, across 2 files
- Show organization plan before movingin 14 of 469, across 2 files
- Generate summary CSVin 14 of 469, across 2 files
- Organize files by categoryin 13 of 469, across 1 file
- Preserve original filesin 13 of 469, across 1 file
- Flag files missing critical infoin 13 of 469, across 1 file
- Produce the requested output filein 9 of 469, across 4 files
- Build best, base, and worst case scenariosin 9 of 469, across 5 files
- Implement backoff if rate limit errors occurin 8 of 469, across 3 files
- Determine the weighted average cost of capitalin 8 of 469, across 4 files
Said here and by no other author read
- pass role banks on every brain query
- value equity directly avoiding firm cash flow
- use excess return or justified price to book model
- discount free cash flow to equity at cost of equity
- normalize provisioning to mid cycle before computing returns
- screen asset quality before normalizing provisioning
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.