
oddly
Scan SEC filings for odd-lot tender offers. Claude Code skill with 11-gate AI evaluation. Backtest included.
Install with your AI
Paste into Claude Code, Cursor, or any agent — it reads the repo and wires the tool into your project.
Install and set up oddly (claude-skill project) into my current project. Found on https://claudeers.com/oddly Repo: https://github.com/KorroAi/oddly Homepage/docs: — Detected install method: claude-skill → # copy this skill into .claude/skills/oddly/ Category: finance. Platforms: cli, api, mobile. Read the repo's README for exact setup and env vars, then install it and wire it into my project. Claudeers Health Verdict: active; community-verified: false. Confirm the source before running anything.
# copy the skill dir into your project: # .claude/skills/oddly/ (or ~/.claude/skills/oddly/ for all projects)
git clone https://github.com/KorroAi/oddly
// compatibility
| Platforms | cli, api, mobile |
|---|---|
| Operating systems | — |
| AI compatibility | claude |
| License | AGPL-3.0 |
| Pricing | open-source |
| Language | Python |
Oddly
Discover odd-lot tender offers before they close.
What It Does
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.
Why It Exists
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.
When a Signal Passes All Gates
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.
Claude Code Skill
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.
Install
git clone https://github.com/KorroAi/oddly.git
cd oddly
pip install -e .
oddly setup
Python 3.10+. No API keys required.
Commands
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
11 Verification Gates
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? |
Research Paper
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.
Backtest
python -m oddly.backtest
30 trades, 27 with live yfinance data. Results saved to oddly/.backtests/.
Files
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
License
GNU AGPL-3.0. See LICENSE. Personal use permitted. Commercial proprietary use prohibited.
Links
// faq
What is oddly?
Scan SEC filings for odd-lot tender offers. Claude Code skill with 11-gate AI evaluation. Backtest included.. It is open-source on GitHub.
Is oddly free to use?
oddly is open-source under the AGPL-3.0 license, so it is free to use.
What category does oddly belong to?
oddly is listed under finance in the Claudeers registry of Claude-compatible tools.
// embed badge
[](https://claudeers.com/oddly)
// retro hit counter
[](https://claudeers.com/oddly)
// reviews
// guestbook
// related in Finance & Trading
An AI SKILL that provide design intelligence for building professional UI/UX multiple platforms
TradingAgents: Multi-Agents LLM Financial Trading Framework
AI-powered job application framework built on Claude Code. Fork it, fill in your profile, and let Claude evaluate jobs, tailor CVs, write cover letters, and…
"Vibe-Trading: Your Personal Trading Agent"