Investment research

Five analyses published in April 2026, each with its Excel workbook or PDF memo and the Python code behind it. Prices and market data are as of April 23, 2026 and have not been updated since.

Portfolio risk study · April 2026

Defensive stock portfolio vs. the S&P 500, April 2021 to April 2026

Question: Can five low-beta, dividend-paying stocks keep pace with the market while falling less in a downturn?

Defensive portfolio vs. S&P 500 (SPY), April 2021 to April 2026
Metric PortfolioS&P 500 (SPY)
Annual return (CAGR)11.49%11.75%
Max drawdown smaller loss is better−15.7%−24.5%
Volatility12.5%17.1%
Sharpe ratio higher is better0.580.44
Beta to S&P 5000.361.00

Result: Nearly the same annual return (11.49% vs. 11.75%), a smaller worst fall (−15.7% vs. −24.5%), about 27% less volatility (12.5% vs. 17.1%).

Caveat: The five names were chosen in 2026, knowing how they had held up, so this is a backtest with selection bias. It describes how this kind of portfolio behaved over one five-year window; it is not a forecast.

Two charts, April 2021 to April 2026. Left: growth of one dollar, the portfolio and the S&P 500 end close together. Right: drawdown from peak, the S&P 500 falls to about −24.5% in 2022 while the portfolio bottoms near −15.7%.
Growth of one dollar and drawdown from the running peak, April 2021 to April 2026. Tap the chart to enlarge.
Method and full write-up for the portfolio study

Approach: Daily adjusted closes from Yahoo Finance (April 1, 2021 to April 1, 2026), simple daily returns, and an equal 20% weight in each name (rebalanced daily, no optimization). Annualized on 252 trading days. Sharpe uses a 4.25% risk-free rate (10-year Treasury, the same rate used in the WM DCF). Beta is cov(stock, SPY) / var(SPY). Tickers and weights are set at the top of analyze_portfolio.py.

Built with: Python (pandas, NumPy, yfinance, matplotlib), Excel

Bank research series, April 2026

Bank research series, part 1 of 3 · Sector comparison · April 2026

Pacific Northwest regional banks: Columbia, Banner and Heritage

Question: Same region, different strategies: which balance sheet would I rather own?

BANR ROE
10.04% COLB 7.02%
BANR P/E
11.4× lowest of three
BANR 5-year total return
+32.8% KRE +11.7%
HFWA equity/assets
13.23% highest; the defensive option

Market multiples as of April 23, 2026. Five-year total returns cover April 2021 to April 2026. Fundamentals are from each bank's most recent 10-K at the time.

Result: BANR stands out. It leads the group on every profitability measure in the table (ROA 1.19%, ROE 10.04%, estimated NIM 3.59%), has the lowest P/E of the three (11.4×), and returned +32.8% over five years vs. +11.7% for the KRE regional-bank ETF.

Caveat: Estimated NIM is net interest income over total assets, an approximation.

Two charts. Left: ROA, ROE and estimated NIM for COLB, BANR and HFWA, with BANR highest on all three (ROE 10.04%). Right: five-year total return, BANR +32.8%, KRE +11.7%, HFWA +10.6% and COLB −18.0%.
Profitability from each bank’s most recent fiscal year, and growth of one dollar from April 2021 to April 2026. Tap the chart to enlarge.
Method and full write-up for the bank comparison

Setup: Three publicly traded banks with heavy Oregon and Washington exposure: Columbia Banking System (COLB, $66.8B in assets, post-Umpqua merger), Banner Corp (BANR, $16.4B), and Heritage Financial (HFWA, $7.0B, the highest equity/assets of the three). Same geography, different strategies.

COLB is by far the largest, but it has the lowest ROE in the set (7.02%) and a −18.0% five-year total return. The case for it depends on post-Umpqua cost savings showing up in earnings, which gets harder if NIM compresses.

HFWA is the defensive option: the smallest by assets, but the highest equity/assets (13.23%) and the lowest beta (0.48). Its return tracked the benchmark (+10.6% vs. +11.7%). Not a growth story, but a capital cushion if commercial real estate credit weakens.

Approach: Fundamentals come from SEC EDGAR's XBRL companyfacts API (data.sec.gov). Banks report the same item under different XBRL tags, so the script checks a list of fallback tags (first_available()). Market multiples come from Yahoo Finance via yfinance. Estimated NIM is net interest income divided by total assets, an approximation (true NIM uses average earning assets).

Built with: Python (yfinance), SEC EDGAR XBRL API

Bank research series, part 2 of 3 · Stock pitch · April 2026

Banner Corporation (BANR): long pitch memo

Question: Is Banner priced below what its profitability supports?

Pitch dated April 23, 2026 at $67.76. Not updated since.

Price target (BUY)
$82.02 +21.1% from $67.76
Valuation
Average of 3 methods peer P/E, normalized P/E, P/B
ROE
10.04% highest of 3 peers
Dividend yield
3.09% payout under 50% of trailing earnings

Thesis in one line: The market prices BANR like an average regional bank, but its ROE is 43% higher than COLB's while it trades at about a 12% lower P/E.

What would break it: commercial real estate credit stress and deposit outflows.

Two charts. Left: BANR five-year total return rebased to 100, finishing above the KRE regional-bank ETF. Right: trailing P/E for COLB, BANR and HFWA, with BANR lowest at 11.4×.
Five-year total return from April 2021, and trailing P/E as of April 23, 2026. Tap the chart to enlarge.
Method and full write-up for the Banner pitch

Valuation, $82.02 target: (1) Peer P/E re-rate to 13.5× (COLB/HFWA average) → $80.26. (2) Normalized P/E (13.5x community-bank norm) → $80.19. (3) P/B re-rate to 1.5× for a 10%-ROE bank → $85.62. The target is the simple average of the three (+21.1% vs. $67.76). The two P/E methods use the same 13.5× multiple, so the price-to-book method and the separate takeout analysis are the real cross-checks.

Four-part thesis: (1) Highest ROE of the three peers, yet the lowest P/E. (2) Lower execution risk: no major integration underway as of April 2026, compared with COLB's post-Umpqua merger. (3) Equity/assets of 11.9% supports the dividend and buybacks and gives a cushion if credit turns. (4) A 3.09% dividend yield, with a payout under 50% of trailing earnings, pays you while waiting for a re-rating.

Risks & mitigants: Commercial real estate stress (the main risk to watch; community-bank CRE lending has a different profile than big-bank office exposure), deposit outflow (loans were 84% of deposits at fiscal 2025, below COLB's 87%), regional-bank contagion (equity/assets of 11.9%, a thicker capital cushion than the banks that failed in 2023), and NIM compression (it would hit peers too, so BANR's relative position holds).

Approach: The memo follows a standard pitch format: recommendation box (rating, target, upside), situation, numbered thesis, catalysts, valuation table, risks and mitigants, peer metrics, and bottom line. Fundamentals come from SEC EDGAR XBRL filings and market data from Yahoo Finance, using the same code as the Pacific Northwest bank comparison. build_pitch.py lays out the PDF with ReportLab.

Prices as of April 23, 2026. Five-year total returns cover April 2021 to April 2026. Fundamentals are from Banner's most recent 10-K at the time.

Built with: Python (ReportLab), SEC EDGAR XBRL API

Bank research series, part 3 of 3 · Valuation cross-check · April 2026

Banner Corporation: takeover-value cross-check

Question: What would a bank acquirer plausibly pay, and does that support my own $82.02 target?

P/TBV at pitch (April 23, 2026)
1.46×
Base-case takeout (1.55×)
$71.98
Strategic premium (1.80×)
$83.59
Standalone target
$82.02

Prices as of April 23, 2026. Tangible equity is from Banner's most recent 10-K at the time; shares outstanding are from Yahoo Finance.

Result: Only the strategic-premium case reaches the target, so a takeover is optionality, not extra upside.

Caveat: A framework exercise using general industry multiples. No deal is announced or rumored.

Football-field chart of implied takeout prices at four P/TBV multiples: $55.73 at 1.20×, $62.69 at 1.35×, $71.98 at 1.55× and $83.59 at 1.80×, against the $67.76 price on April 23, 2026.
Takeover multiples applied to tangible book value of $46.44 per share. Price as of April 23, 2026. Tap the chart to enlarge.
Method and full write-up for the Banner takeover cross-check

Why this exists: The BANR pitch reaches its $82.02 target with peer P/E, normalized P/E, and price-to-book. This memo asks a different question: what would a strategic acquirer plausibly pay? Price to tangible book value (P/TBV) is the standard bank-M&A yardstick, so it tests the target from a franchise-value angle instead of an earnings angle.

Finding, convergence rather than extra upside: BANR already trades at 1.46× P/TBV, above the routine-deal multiple used here (1.35×), so the market already prices in some takeover value. The base-case takeout of $71.98 is below the $82.02 standalone target. Only the strategic-premium scenario ($83.59) lines up with the long thesis. Takeaway: a takeover is optionality, not extra upside on top of the pitch.

Why BANR could be a target: (1) Size: $16.4B in assets, large enough to matter and small enough for a regional acquirer to absorb. (2) Franchise: a Washington, Oregon, California, and Idaho community-banking footprint that would be hard to replicate quickly. (3) Profitability: 10.04% ROE and 1.19% ROA, the highest of the three Pacific Northwest peers in the comparison. (4) Capital: equity/assets of 11.9%.

Plausible acquirers (illustrative): GBCI (Glacier Bancorp: Mountain West and Northwest community-bank focus, grows through acquisitions), ZION (Zions: western regional with a relatively small Oregon/Washington presence), FIBK (First Interstate: recent Great Western acquisition), and WAFD (WaFd Bank: recent Luther Burbank acquisition, neighboring footprint). None reflects any actual or reported interest.

Approach: BANR fundamentals come from SEC EDGAR XBRL, using the same code as the Pacific Northwest bank comparison. Goodwill ($373M) is subtracted from equity to get tangible equity, which is divided by shares outstanding for TBV per share. Banner's $1.5M of other intangibles was not deducted (about $0.04 per share). The four P/TBV scenarios (1.20×, 1.35×, 1.55×, 1.80×) are general industry ranges for community-bank deals, not multiples from specific comparable transactions. Outputs: a football-field chart (matplotlib), a three-sheet workbook (summary, acquirers, methodology), and a two-page deal memo PDF (ReportLab).

Caveats: This is a framework exercise, not a deal prediction; no transaction is announced or rumored. Bank Holding Company Act control rules make private-equity buyouts of banks rare, which is why it looks only at bank acquirers. Acquirer accretion/dilution is not modeled; that would require the acquirer's financials, purchase accounting, synergies, and financing mix.

Built with: Python (matplotlib, ReportLab), SEC EDGAR XBRL API

DCF valuation · April 2026

Waste Management: five-year DCF valuation

Question: What is a steady, low-beta business worth on its cash flows alone?

Model value
$122.72 base case
Market price (April 2026)
$232.80
WACC
6.58%
Terminal growth
2.50%

Market price as used in the model, April 2026.

Result: The base case comes out about 47% below the market price. No cell in the sensitivity grid (WACC 6.0% to 7.6%, terminal growth 2.0% to 3.3%) reaches the market price; the highest is about $208, at a 6.0% WACC and 3.3% growth.

Caveat: The gap reads less as a sell signal than as the market paying for qualities a mechanical DCF doesn't capture, like low beta and recession-resistant demand.

Two charts. Left: free cash flow to the firm, four reported years and five projected years. Right: implied share price across WACC from 6.0% to 7.6% and terminal growth from 2.0% to 3.3%; the highest cell, about $208, is still below the $232.80 market price.
Free cash flow to the firm, and the WACC by terminal-growth sensitivity grid. Market price April 2026. Tap the chart to enlarge.
Method and full write-up for the Waste Management DCF

Why WM: Waste Management is a steady, capital-intensive business with a low beta (0.55) and contract pricing that is often tied to inflation. That keeps the focus on valuation mechanics rather than on forecasting volatile revenue.

Approach: Four years of reported financials (FY2022 to FY2025, from WM's 10-K data via Yahoo Finance) as the base. Revenue growth fades from 8% to 5% (Stericycle acquisition tailwind early on), and EBIT margin expands 130 bps, from 17.2% to 18.5%. WACC comes from CAPM (risk-free 4.25%, equity risk premium 5.5%, beta 0.55) plus an after-tax cost of debt, and terminal value uses the Gordon growth model at 2.5%. All drivers sit on one Assumptions tab, so any input can be changed in Excel.

Built with: Python, Excel

Independent student research for learning purposes. Not investment advice or a recommendation to buy or sell any security. I am not a licensed financial professional. Data from SEC EDGAR filings and Yahoo Finance as of the dates shown.