← Back to projects

Black-Scholes + Sentiment Options Signal

Feb 2026
PythonNLPFlask

An automated pipeline that flags mispriced options by combining Black-Scholes theoretical pricing with real-time news and social sentiment.

Won the Bank of New York finance prize at TartanHacks 2026 (Carnegie Mellon University), out of 1,050+ participants.

Pricing

For every contract in a ticker's live options chain (pulled via yfinance), the pipeline computes a Black-Scholes theoretical price from the option's strike, spot price, time to expiry, and implied volatility, then compares it to the market's actual mid price. The gap between the two is the raw mispricing signal.

Sentiment

Headlines are pulled from Yahoo Finance or NewsAPI.ai and scored with FinBERT, a finance-domain sentiment model. That's blended with a lightweight, rule-based sentiment score pulled from Reddit, StockTwits, and financial RSS feeds, so the signal also picks up on retail and social sentiment alongside the news.

Opportunity Score

Each contract's mispricing, sentiment alignment (bullish sentiment favors calls, bearish favors puts), liquidity (volume + open interest), and bid/ask spread are combined and normalized into a single opportunity score from -100 to 100. Contracts with wide spreads or thin liquidity get flagged as high-risk regardless of score, so the top-ranked opportunities are ones a trader could realistically fill.

Product

The scoring pipeline runs behind a Flask REST API, with a frontend that lets users browse sectors and tickers and see ranked options with their scores and risk flags.

The stock detail view: price chart, sentiment-driven evaluation, and ranked options with buy recommendations.
The stock detail view: price chart, sentiment-driven evaluation, and ranked options with buy recommendations.

Demo