Skip to content
Hero Background Light

What is Alternative Data? A Guide for Investors

What is Alternative Data? A Guide for Investors

Alternative data has transformed how institutional investors gain an edge. By analyzing non-traditional data sources—from satellite imagery to app store ratings—investors can uncover insights before they appear in quarterly reports.

What is Alternative Data?

Alternative data refers to any data used for investment decisions that doesn’t come from traditional sources like financial statements, SEC filings, or analyst reports.

Traditional data:

  • Earnings reports
  • Balance sheets
  • Analyst ratings
  • Price and volume

Alternative data:

  • Satellite imagery
  • Social media sentiment
  • App store metrics
  • Web traffic
  • Employee reviews
  • Credit card transactions

Why Alternative Data Matters

Traditional financial data is backward-looking—it tells you what already happened. Alternative data can provide real-time or forward-looking signals.

Traditional DataAlternative Data
Quarterly revenue (90-day lag)Daily app downloads (real-time)
Annual headcount (in 10-K)Weekly LinkedIn employee count
Earnings call sentimentDaily news sentiment scores
Analyst price targetsReal-time options flow

The Information Advantage

Markets are efficient at processing traditional data. When earnings are released, prices adjust within seconds. But alternative data sources are:

  • Less accessible – Requires specialized collection and processing
  • Less standardized – Harder to interpret at scale
  • More timely – Available before official disclosures

Types of Alternative Data

1. App Store Data

Mobile app metrics can predict company performance:

from finbrain import FinBrainClient
fb = FinBrainClient(api_key="YOUR_API_KEY")
# Track app ratings and downloads
df = fb.app_ratings.ticker("S&P 500", "UBER", as_dataframe=True)
print(df.tail())
# playStoreScore playStoreRatingsCount appStoreScore playStoreInstallCount
# date
# 2024-01-15 4.3 32500000 4.7 500000000

Use cases:

  • Detect declining user satisfaction
  • Track growth in emerging markets
  • Compare competitors

2. LinkedIn Data

Employee and follower counts reveal company health:

# Track workforce changes
df = fb.linkedin_data.ticker("S&P 500", "META", as_dataframe=True)
print(df.tail())
# employeeCount followersCount
# date
# 2024-01-15 67000 12500000
# Detect hiring trends
df["employee_change"] = df["employeeCount"].pct_change()

Use cases:

  • Identify hiring freezes before announcements
  • Track layoff impacts
  • Gauge market interest via follower growth

3. Congressional Trading

Track what elected officials are buying:

# House Representatives trades
house_df = fb.house_trades.ticker("S&P 500", "NVDA", as_dataframe=True)
# Senate trades
senate_df = fb.senate_trades.ticker("S&P 500", "NVDA", as_dataframe=True)

Use cases:

  • Follow “smart money” in Congress
  • Identify stocks with bipartisan interest
  • Track large purchases before legislative events

4. Insider Transactions

SEC Form 4 filings reveal executive confidence:

# Track insider buying and selling
df = fb.insider_transactions.ticker("S&P 500", "AAPL", as_dataframe=True)
# Filter for purchases
purchases = df[df["transaction"].str.contains("Buy", na=False)]

Use cases:

  • Detect cluster buying by multiple insiders
  • Track C-suite conviction
  • Identify accumulation patterns

5. News Sentiment

Quantify the mood of financial news:

# Get sentiment scores
df = fb.sentiments.ticker("S&P 500", "TSLA", as_dataframe=True)
# Current sentiment
print(f"Current sentiment: {df['sentiment'].iloc[-1]:.2f}")

Use cases:

  • Gauge market mood in real-time
  • Identify sentiment extremes for contrarian trades
  • Confirm momentum with positive coverage

6. Options Flow

Put/call ratios reveal market positioning:

# Get options data
df = fb.options.put_call("S&P 500", "SPY", as_dataframe=True)
# Analyze put/call ratio
print(f"Current P/C ratio: {df['ratio'].iloc[-1]:.2f}")

Use cases:

  • Gauge hedging activity
  • Identify fear/greed extremes
  • Confirm directional bias

Building an Alternative Data Strategy

Step 1: Identify Your Edge

Choose data sources that align with your strategy:

Strategy TypeRelevant Alt Data
Growth investingApp downloads, LinkedIn growth
Value investingInsider buying, sentiment extremes
MomentumNews sentiment, options flow
Event-drivenCongressional trades, insider filing

Step 2: Combine Multiple Sources

Single data sources can give false signals. Combining multiple sources increases conviction:

def combined_signal(market, ticker):
"""Generate signal from multiple alternative data sources"""
fb = FinBrainClient(api_key="YOUR_API_KEY")
signals = []
# Sentiment
sent_df = fb.sentiments.ticker(market, ticker, as_dataframe=True)
if not sent_df.empty:
if sent_df["sentiment"].iloc[-1] > 0.3:
signals.append("sentiment_bullish")
elif sent_df["sentiment"].iloc[-1] < -0.3:
signals.append("sentiment_bearish")
# Insider transactions
insider_df = fb.insider_transactions.ticker(market, ticker, as_dataframe=True)
if not insider_df.empty:
purchases = insider_df[insider_df["transaction"].str.contains("Buy", na=False)]
if len(purchases) > 0:
signals.append("insider_buying")
# Aggregate
bullish = sum(1 for s in signals if "bullish" in s or "buying" in s)
bearish = sum(1 for s in signals if "bearish" in s)
if bullish >= 2:
return "strong_buy"
elif bullish > bearish:
return "buy"
elif bearish >= 2:
return "strong_sell"
elif bearish > bullish:
return "sell"
else:
return "neutral"

Step 3: Backtest Before Deploying

Always validate signals with historical data before trading.

Key Takeaways

  1. Alternative data provides insights not found in traditional financial reports
  2. Common sources include app metrics, social data, insider filings, and sentiment
  3. Alt data is more timely but requires specialized processing
  4. Combining multiple data sources increases signal reliability
  5. Always backtest strategies before deploying capital

Explore FinBrain’s alternative data offerings: App Ratings, LinkedIn Metrics, Insider Transactions, and News Sentiment.