---
title: "Signal History"
method: GET
path: "/signals-history/{ticker}"
tags: ["Signals"]
---

# Signal History

`GET /signals-history/{ticker}`

## Request

- Base URL: `https://api.falpha.ai`
- URL: `https://api.falpha.ai/signals-history/{ticker}`
- Auth: one of:
  - API key in query parameter `api_key`
  - API key in header `X-API-Key`

Get historical signals and sentiment for a ticker. If no date range is provided, returns the last 7 calendar days by default.

## Path parameters

- `ticker` string, required

## Query parameters

- `period` string: Signal horizon: 5d, 15d, or 2m
- `regime` string: Market regime: neutral, bear, or bull
- `include_sentiment` boolean: Include sentiment enrichment from daily sentiment data. Defaults to false; set to true to include sentiment lookups.
- `include_quality` boolean: Include signal quality metrics (Sharpe/Sortino/IIS). Defaults to false; when true the `quality` field is populated (individual metrics may still be null).
- `include_performance` boolean: Include realized performance fields (pnl, ticker_return, index_return, release_date). Defaults to false. Values are backfilled once returns are realized, so recent rows return nulls.
- `start_date` string, nullable: Start date (YYYY-MM-DD, inclusive). If both dates are omitted, history endpoints default to the last 7 calendar days. The maximum allowed range between start_date and end_date for this endpoint is 365 days; larger ranges are rejected with HTTP 400.
- `end_date` string, nullable: End date (YYYY-MM-DD, inclusive). If both dates are omitted, history endpoints default to the last 7 calendar days. The maximum allowed range between start_date and end_date for this endpoint is 365 days; larger ranges are rejected with HTTP 400.

## Response `200`

Successful Response

- SignalHistory
  - `ticker` string, required
  - `regime` string, required
  - `period` string, required
  - `predictions` SignalItem[], required
    - `date` string, date-time, required
    - `signal` string, required
    - `confidence` number, required
    - `sentiment` number, nullable: Average daily sentiment score (null when unavailable)
    - `quality` QualityMetrics: Signal quality metrics for one signal row. Only populated when the request sets include_quality=true; otherwise the parent `quality` key is null. Individual metrics are null when unavailable for that row.
      - `sharpe_ratio` number, nullable: Risk-adjusted measure of the signal's recent strength (a Sharpe-ratio proxy). Higher is better; can be negative.
      - `sortino_ratio` number, nullable: Downside-risk-adjusted counterpart to the Sharpe ratio.
      - `iis_score` number, nullable: Information-strength score for the signal at this horizon.
      - `normalized_iis` number, nullable: IIS score normalized for cross-ticker comparison.
      - `percent_positive_pnl` number, nullable: Percentage of recent signal-following outcomes with positive PnL (0-100).
    - `performance` PerformanceMetrics: Realized performance for a historical signal row. These values are backfilled once returns are realized, so recent rows legitimately return nulls. Only populated when the request sets include_performance=true.
      - `pnl` number, nullable: Realized signal-following PnL for this row's horizon. Null until realized.
      - `ticker_return` number, nullable: Realized ticker gross-return ratio over the horizon (1.05 = +5%). Null until realized.
      - `index_return` number, nullable: Realized benchmark index gross-return ratio over the same window (1.05 = +5%). Null until realized.
      - `release_date` string, date-time, nullable: When realized returns were backfilled for this row.

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/falpha/apis/falpha-ai-api.md) · [All operations](https://skmtc.dev/falpha/apis/falpha-ai-api/llms.txt) · [OpenAPI document](https://skmtc.dev/falpha/apis/falpha-ai-api/revisions/d437fee1fac5?raw)
