Discover odd-lot tender offers before they close.
Oddly scans SEC EDGAR filings to find tender offers with odd-lot provisions. These are corporate buyback offers where shareholders holding 99 shares or fewer get priority acceptance at a fixed price. No proration. No partial fills.
You see something like this:
Symbol: GBCS
Company: Selectis Health Inc.
Filing: SC TO-T (2026-07-15)
Tender Price: $5.75
Market Price: $5.30
Premium: +8.5%
Max Shares: 99 (odd-lot)
Cost: $524.70
Expected: $44.55 profit
Verdict: REJECTED — premium below 10% minimum
Most filings are rejected. The tool applies 11 verification gates. A filing either has an odd-lot provision or it does not. The premium is either above your threshold or it is not. No guessing.
SEC Rule 14d-10(f) allows tender offers to give priority to holders of 99 shares or fewer. A fund managing billions cannot use a 99-share allocation. The regulation was written to protect small shareholders. It accidentally created a structural asymmetry that only retail investors can act on.
Oddly automates the discovery. Claude Code provides the analysis. You make the decision.
The skill presents the opportunity. Then you act:
-
Open your brokerage (Fidelity, Schwab, Vanguard, IBKR, E*TRADE — any broker that supports corporate actions). Buy the shares like any normal stock purchase. You can buy 1 to 99 shares. 99 maximizes profit. Fewer still qualifies.
-
Record the position:
oddly buy SYM price shares tender_price --deadline YYYY-MM-DD -
After buying, find the tender offer in your broker's Corporate Actions section. If it does not appear within a few days, call your broker and say "I hold shares of X. There is an active tender offer at $Y. I want to participate." Brokers are required to process this.
-
Your shares are sold at the tender price when the offer closes. Record the exit:
oddly sell SYM exit_price --reason tendered
No special accounts. No special platforms. The shares are regular stocks. The tender is a corporate action processed by your existing broker.
Type /oddly to run the full pipeline. The skill checks your configuration, scans EDGAR, downloads each filing, applies all 11 gates, and presents a verdict with quotes from the filing text. If a filing passes all gates, the skill walks you through exactly what to do — how many shares to buy, where, and how to tender them.
git clone https://github.com/KorroAi/oddly.git
cd oddly
pip install -e .
oddly setupPython 3.10+. No API keys required.
oddly scan Scan EDGAR for tender offers and spin-offs
oddly setup Configure capital and minimum premium
oddly portfolio View positions and deadlines
oddly analyze SYM Open the SEC filing for a ticker
oddly buy ... Record a position
oddly sell ... Close a position
Gates are sequential. Any failure stops evaluation.
| Gate | Check |
|---|---|
| G0 | Filing still active? |
| G1 | Odd-lot provision explicitly stated? |
| G2 | 100% cash consideration? |
| G3 | Affordable with 50% of capital? |
| G4 | Premium above 10%? |
| G5 | Deadline within 60 days? |
| G6 | NYSE or NASDAQ listed? |
| G7 | Two specific failure scenarios identified? |
| G8 | Tender price confirmed from filing text? |
| G9 | No red flags (insider selling, lawsuits)? |
| G10 | Explainable in two sentences? |
PAPER.pdf documents the regulatory basis, academic literature, methodology, and a 30-trade backtest of closed-end fund tender arbitrage (2024-2026). Also available as Markdown.
python -m oddly.backtest30 trades, 27 with live yfinance data. Results saved to oddly/.backtests/.
oddly/
oddly/
sec_filings.py EDGAR client, filing parser
config.py Configuration, portfolio tracking
cli.py Command-line interface
backtest.py Backtest engine
SKILL.md Claude Code skill
PAPER.pdf Research paper
GNU AGPL-3.0. See LICENSE. Personal use permitted. Commercial proprietary use prohibited.
