BANF Stock Analysis: BancFirst | NASDAQ
Banks - Regional | NASDAQ, USA | Market Cap: 3.860m USD | 12M Return: -7.1% | Charts, Fundamentals & Technical Analysis
Avg Turnover: 17.8M
EPS Trend: 84.9%
Qual. Beats: 2
Rev. Trend: -35.4%
Qual. Beats: -1
Warnings
Tailwinds
Seasonality 10.5 years of data
How good or bad each month usually is (without trend). The score below shows how much you can trust it: 0 = pure chance, >40 gets interesting and >55 is strong.
BancFirst Corporation is a bank holding company headquartered in Oklahoma City that provides commercial banking services to retail customers and small to medium-sized businesses, primarily across non-metropolitan trade centers and metropolitan statistical areas in Oklahoma. The company operates through several divisions, including BancFirst Metropolitan Banks, BancFirst Community Banks, Pegasus, Worthington, and Other Financial Services, reflecting a community banking model that pairs local branch networks with specialized lending units.
The company offers a full suite of deposit products, such as checking, savings, money market, health savings, individual retirement, and sweep accounts, along with certificates of deposit and overdraft services. Its lending activities span commercial real estate, construction and development, agricultural, residential, oil and gas, commercial and industrial, energy, and consumer loans, including auto and home equity products.
In addition to traditional banking, BancFirst provides trust and investment management services for individuals, corporations, and employee benefit plans, and acts as bond trustee and paying agent for Oklahoma municipalities. The company also delivers correspondent banking, item processing, cash management, and commercial and personal insurance products, supporting both consumer and institutional clients within its regional footprint.
- Net interest margin compresses as Fed cuts rates
- Oklahoma commercial real estate loan portfolio faces credit cycle risk
- Energy lending exposure tied to oil and gas price volatility
- Mortgage banking revenue declines on higher rate environment
| Net Income: 251.8m TTM > 0 and > 6% of Revenue |
| FCF/TA: 0.04 > 0.02 and ΔFCF/TA 2.05 > 1.0 |
| NWC/Revenue: -1.64k% < 20% (prev -824.3%; Δ -814.0% < -1%) |
| CFO/TA 0.04 > 3% & CFO 284.2m > Net Income 251.8m |
| Net Debt (-5.24b) to EBITDA (263.6m): -19.87 < 3 |
| Current Ratio: 0.41 > 1.5 & < 3 |
| Outstanding Shares: last quarter (34.0m) vs 12m ago 0.73% < -2% |
| Gross Margin: 71.01% > 18% (prev 69.98%; Δ 1.03% > 0.5%) |
| Asset Turnover: 4.52% > 50% (prev 6.68%; Δ -2.15% > 0%) |
| Interest Coverage Ratio: 1.43 > 6 (EBIT TTM 252.3m / Interest Expense TTM 176.2m) |
| A: -1.19 (Total Current Assets 5.35b - Total Current Liabilities 12.9b) / Total Assets 6.38b |
| B: 0.25 (Retained Earnings 1.61b / Total Assets 6.38b) |
| C: 0.02 (EBIT TTM 252.3m / Avg Total Assets 10.2b) |
| D: 28.02 (Book Value of Equity 6.15b / Total Liabilities 219.4m) |
| Altman-Z'' = 22.63 = AAA |
As of July 28, 2026, the stock is trading at USD 115.96 with a total of 215,925 shares traded. Over the past week, the price has changed by -0.38%, over one month by +3.74%, over three months by +1.46% and over the past year by -7.11%.
Current recommended Stop Loss: 112.60 (which is 2.9% or 1.2 ATR below the current price).
BancFirst has received a consensus analysts rating of 3.00. Therefore, it is recommended to hold BANF.
- StrongBuy: 0
- Buy: 0
- Hold: 3
- Sell: 0
- StrongSell: 0
| Analysts Target Price | 124.3 | 7.2% |
P/E Trailing = 15.7857
P/E Forward = 18.9753
P/S = 5.5253
P/B = 2.0356
P/EG = 2.0928
Revenue TTM = 461.8m USD
EBIT TTM = 252.3m USD
EBITDA TTM = 263.6m USD
Long Term Debt = 98.2m USD (from longTermDebt, last fiscal year)
Short Term Debt = 14.4m USD (from shortTermDebt, last quarter)
Debt = 112.7m USD (corrected: LT Debt 98.2m + ST Debt 14.4m)
Net Debt = -5.24b USD (calculated: Debt 112.7m - CCE 5.35b)
Enterprise Value = 3.86b USD (floored to Market Cap, CCE > MCap+Debt)
Interest Coverage Ratio = 1.43 (Ebit TTM 252.3m / Interest Expense TTM 176.2m)
EV/FCF = 17.07x (Enterprise Value 3.86b / FCF TTM 226.1m)
FCF Yield = 5.86% (FCF TTM 226.1m / Enterprise Value 3.86b)
FCF Margin = 48.95% (FCF TTM 226.1m / Revenue TTM 461.8m)
Net Margin = 54.53% (Net Income TTM 251.8m / Revenue TTM 461.8m)
Gross Margin = 71.01% ((Revenue TTM 461.8m - Cost of Revenue TTM 133.9m) / Revenue TTM)
Gross Margin QoQ = none% (prev 73.21%)
Tobins Q-Ratio = 0.61 (Enterprise Value 3.86b / Total Assets 6.38b)
Interest Expense / Debt = 156.4% (Interest Expense 176.2m / Debt 112.7m)
Taxrate = 21.17% (67.6m / 319.5m)
NOPAT = 198.9m (EBIT 252.3m * (1 - 21.17%))
Current Ratio = 0.41 (Total Current Assets 5.35b / Total Current Liabilities 13.0b)
Debt / Equity = 0.02 (Debt 112.7m / totalStockholderEquity, last quarter 6.15b)
Debt / EBITDA = -19.87 (Net Debt -5.24b / EBITDA 263.6m)
Debt / FCF = -23.17 (Net Debt -5.24b / FCF TTM 226.1m)
Total Stockholder Equity = 2.92b (last 4 quarters mean from totalStockholderEquity)
RoA = 2.47% (Net Income 251.8m / Total Assets 6.38b)
RoE = 8.62% (Net Income TTM 251.8m / Total Stockholder Equity 2.92b)
RoCE = 8.35% (EBIT 252.3m / Capital Employed (Equity 2.92b + L.T.Debt 98.2m))
RoIC = 3.13% (NOPAT 198.9m / Invested Capital 6.36b)
WACC = 8.42% (E(3.86b)/V(3.97b) * Re(8.67%) + (debt cost/tax rate unavailable))
Discount Rate = 8.67% (= CAPM, Blume Beta Adj.)
Shares (quarterly) Correlation: 97.65 | Cagr: 0.70%
[DCF] Terminal Value 76.15% ; FCFF base≈219.6m ; Y1≈234.6m ; Y5≈281.2m
[DCF] Fair Price = 282.9 (EV 4.26b - Net Debt -5.24b = Equity 9.50b / Shares 33.6m; r=8.42% [WACC]; 5y FCF grow 7.70% → 2.50% )
EPS Correlation: 84.86 | EPS CAGR: 6.96% | SUE: 2.08 | # QB: 2
Revenue Correlation: -35.39 | Revenue CAGR: -7.11% | SUE: -3.84 | # QB: -1
EPS current Quarter (2026-09-30): EPS=1.88 | Chg30d=+0.81% | Revisions=+50% | Analysts=2
EPS current Year (2026-12-31): EPS=7.34 | Chg30d=+0.46% | Revisions=+40% | GrowthEPS=+3.2% | GrowthRev=+6.8%
EPS next Year (2027-12-31): EPS=7.53 | Chg30d=+2.96% | Revisions=+40% | GrowthEPS=+2.7% | GrowthRev=+5.9%
[Analyst] Revisions Ratio: +70% (up=7, down=0)