> ## Documentation Index
> Fetch the complete documentation index at: https://docs.bigdata.com/llms.txt
> Use this file to discover all available pages before exploring further.

# bigdata_portfolio_tearsheet

> Returns financial data across a portfolio of companies in a single consolidated data grid.

> **🧪 Beta Release** - This tool is in Beta and actively being refined based on user feedback.

## Overview

The Portfolio Tearsheet turns a list of companies - a watchlist, portfolio, or comps set - into a single, consolidated data grid. Instead of calling a tearsheet company by company, it returns one row per company covering price, 1-day price change, latest quarterly EPS, and the analyst consensus price target.

## When to Use

The Portfolio Tearsheet is ideal for:

* **Cross-portfolio views:** Getting a quick view of price and performance across many companies at once
* **Daily monitoring:** Tracking a fund, watchlist, or portfolio on a recurring basis
* **Universe screening:** Screening a large universe or comps set before drilling into individual names for deeper research

<Tip>
  This is a multi-entity grid, not a single-entity deep dive. To research one company in depth, use [`bigdata_company_tearsheet`](/mcp-reference/tools/bigdata-company-tearsheet), [`bigdata_sentiment_tearsheet`](/mcp-reference/tools/bigdata-sentiment-tearsheet), or [`bigdata_search`](/mcp-reference/tools/bigdata-search).
</Tip>

## How It Works

The Portfolio Tearsheet follows a multi-step process to resolve every company in the list before retrieving the grid:

1. **Optionally**: Name the metric columns you need, which drops the fetches behind the columns you leave out. Omitting `metrics` asks for every column
2. **Call**: A call is made to `find_securities` (or `get_securities`) to resolve each company name, ticker, or ISIN
3. **Extract**: The `id` field is extracted from each result and used as an `rp_entity_id`
4. **Call**: A single call is made to `bigdata_portfolio_tearsheet` with the full list of `rp_entity_id` values

This workflow resolves the whole list up front, so the grid is retrieved in one call instead of one call per company.

## Parameters

| Parameter       | Type             | Required | Description                                                                                                                                                                               |
| --------------- | ---------------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `rp_entity_ids` | array of strings | Yes      | RavenPack entity IDs - one grid row each. Each ID is exactly 6 alphanumeric characters (for example `["D8442A", "228D42"]`). Must be obtained from `find_securities` or `get_securities`. |
| `metrics`       | array of strings | No       | Metric columns to include: `PRICE`, `PRICE_CHANGE_1D`, `EPS`, `PRICE_TARGET`. Omit to return every column. Identity columns (RP entity ID, company name, ticker) are always present.      |

### How many companies you can ask for

The limit depends on the columns, because they are not fetched the same way. Price and 1-day change come back in bulk, so those grids take up to **3,000 companies**. EPS and the price target are fetched one company at a time, so a request naming either is limited to **100 companies**.

<Warning>
  Omitting `metrics` asks for every column, so it is subject to the 100-company limit. For a watchlist larger than that, either request `["PRICE", "PRICE_CHANGE_1D"]`, or ask for EPS and the price target over a shortlist.
</Warning>

### Important Notes

* Each `rp_entity_id` must be exactly 6 characters - always obtain IDs from `find_securities` or `get_securities`
* Companies without market data (for example ETFs or unlisted entities) keep their row, with blank cells rather than an error
* Malformed IDs are skipped and reported back in the response
* A column whose data a provider could not return comes back blank for that company rather than failing the grid
* As a Beta tool, uptime and SLA expectations are not yet guaranteed

## Data Returned

The Portfolio Tearsheet returns a single data grid with one row per company:

| Column                | Description                                                                                                                          |
| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| **RP Entity ID**      | The RavenPack entity ID the row was requested under                                                                                  |
| **Company**           | Company name                                                                                                                         |
| **Ticker**            | Exchange ticker symbol                                                                                                               |
| **Price**             | Latest intraday price and currency                                                                                                   |
| **Price Change 1D %** | 1-day price change, in percent                                                                                                       |
| **EPS**               | Latest reported EPS, with currency and the fiscal period it covers (for example `1.85$ (Q4 FY2025)`)                                 |
| **Price Target**      | Analyst consensus price target, with the analysts' spread beside it (for example `245.00$ (low 180.00, median 240.00, high 310.00)`) |

Only the columns you asked for are present. The response reports the columns it actually returned, which can be fewer than requested.

## Practical Tips

### Reducing Latency on Large Lists

A metric you leave out is not fetched, so naming only the columns you need keeps the response smaller and faster - useful when monitoring hundreds or thousands of names. `["PRICE", "PRICE_CHANGE_1D"]` is the cheapest combination and the only one that scales to a 3,000-name watchlist.

### Reading the Price Target

The consensus target is the headline figure; the low, median and high beside it are the spread of analyst estimates, all quoted in the same currency as the consensus. A wide spread is worth more attention than the consensus alone - it is disagreement about the name, not a single view of it. Compare the consensus against the **Price** column to see implied upside or downside.

### From Grid to Deep Dive

Use the grid to identify which names warrant attention - notable movers, outliers, unexpected EPS, or a price far from its consensus target - then follow up on those names individually:

* [`bigdata_company_tearsheet`](/mcp-reference/tools/bigdata-company-tearsheet): Full financial and market intelligence picture for a single company
* [`bigdata_sentiment_tearsheet`](/mcp-reference/tools/bigdata-sentiment-tearsheet): Media sentiment and the narratives driving it
* [`bigdata_search`](/mcp-reference/tools/bigdata-search): News, filings, and transcripts explaining a move

### Frequency of Monitoring

* **Daily:** For active fund, watchlist, or portfolio monitoring
* **Weekly:** For broader universe screening and comps review
