---
name: "valuation_beta"
area: "valuation"
title: "Measure betas from prices"
price: "free"
method: "POST"
url: "https://api.conecto.chat/v1/tools/valuation_beta"
mcp_server: "https://api.conecto.chat/mcp/valuation"
auth: "Authorization: Bearer <conecto_sk_ key>"
docs_url: "https://conecto.chat/tools/valuation/valuation_beta"
---

# Measure betas from prices (`valuation_beta`)

Betas of listed peers from closing prices the business gives, with R squared, the t-statistic and the unlevered beta.

Betas of stocks against an index from closing prices the business gives (from its own data service): returns on the dates both have, or the last close of each week or month; the raw beta by least squares, the Blume-adjusted beta, alpha, R squared, standard error and t-statistic, whether it is significant at 95%, and the unlevered beta when debt and equity are given. Median and mean across the stocks.

Price: Free up to 1,000,000 reads a month for the whole account, then $0.50 per 10,000 reads. A call that fails costs nothing.

## Use it when

To measure peer betas from the business's own price data before working out the WACC.

- For the cost of capital itself, use [valuation_wacc](https://conecto.chat/tools/valuation/valuation_wacc.md).

## Say this to your agent

> Here are Rational's weekly closes and the CDAX for the last month. What beta do they give?

## Inputs

| Name | Type | Required | Description | Allowed values | Default |
|---|---|---|---|---|---|
| `index` | object | yes |  |  |  |
| `index.name` | string | yes, when `index` is given | 1 to 200 characters. |  |  |
| `index.prices` | array of objects | yes, when `index` is given | 4 to 3000 items. |  |  |
| `index.prices[].date` | string | yes, in each item of `index.prices` | Matches ^\\d{4}-\\d{2}-\\d{2}$. |  |  |
| `index.prices[].close` | number | yes, in each item of `index.prices` |  |  |  |
| `stocks` | array of objects | yes | 1 to 20 items. |  |  |
| `stocks[].name` | string | yes, in each item of `stocks` | 1 to 200 characters. |  |  |
| `stocks[].prices` | array of objects | yes, in each item of `stocks` | 4 to 3000 items. |  |  |
| `stocks[].prices[].date` | string | yes, in each item of `stocks[].prices` | Matches ^\\d{4}-\\d{2}-\\d{2}$. |  |  |
| `stocks[].prices[].close` | number | yes, in each item of `stocks[].prices` |  |  |  |
| `stocks[].debt` | number | no | At least 0. |  |  |
| `stocks[].equity` | number | no |  |  |  |
| `stocks[].tax_rate` | number | no | For unlevering. A decimal: 0.09 is 9%. 0 to 0.9. |  |  |
| `frequency` | string | no |  | `"as_given"`, `"weekly"`, `"monthly"` | `"as_given"` |
| `adjustment` | string | no |  | `"blume"`, `"none"` | `"blume"` |
| `relevering` | string | no |  | `"hamada"`, `"harris_pringle"` | `"hamada"` |
| `tax_rate` | number | no | For unlevering, where a stock gives none. A decimal: 0.09 is 9%. 0 to 0.9. |  |  |

## Example

Written for Hansen & Voss, a restaurant-equipment wholesaler in Hamburg with 60 staff.

MCP: call `valuation_beta` on the MCP server `https://api.conecto.chat/mcp/valuation` with these arguments:

```json
{
  "index": {
    "name": "CDAX",
    "prices": [
      {
        "date": "2026-09-04",
        "close": 1840.2
      },
      {
        "date": "2026-09-11",
        "close": 1862.7
      },
      {
        "date": "2026-09-18",
        "close": 1851.3
      },
      {
        "date": "2026-09-25",
        "close": 1879.9
      },
      {
        "date": "2026-10-02",
        "close": 1873.4
      }
    ]
  },
  "stocks": [
    {
      "name": "Rational AG",
      "debt": 12,
      "equity": 7200,
      "tax_rate": 0.28,
      "prices": [
        {
          "date": "2026-09-04",
          "close": 640.5
        },
        {
          "date": "2026-09-11",
          "close": 652.0
        },
        {
          "date": "2026-09-18",
          "close": 645.5
        },
        {
          "date": "2026-09-25",
          "close": 659.0
        },
        {
          "date": "2026-10-02",
          "close": 655.5
        }
      ]
    }
  ]
}
```

REST:

```bash
curl https://api.conecto.chat/v1/tools/valuation_beta \
  -H "Authorization: Bearer $CONECTO_KEY" \
  -H "Content-Type: application/json" \
  -d '{"index": {"name": "CDAX", "prices": [{"date": "2026-09-04", "close": 1840.2}, {"date": "2026-09-11", "close": 1862.7}, {"date": "2026-09-18", "close": 1851.3}, {"date": "2026-09-25", "close": 1879.9}, {"date": "2026-10-02", "close": 1873.4}]}, "stocks": [{"name": "Rational AG", "debt": 12, "equity": 7200, "tax_rate": 0.28, "prices": [{"date": "2026-09-04", "close": 640.5}, {"date": "2026-09-11", "close": 652.0}, {"date": "2026-09-18", "close": 645.5}, {"date": "2026-09-25", "close": 659.0}, {"date": "2026-10-02", "close": 655.5}]}]}'
```

## Response

```json
{
  "call_id": "5f0c8a2e-3b7d-4c1e-9a64-2d8e1f7b0c93",
  "tool": "valuation_beta",
  "status": "succeeded",
  "replayed": false,
  "cost_usd": "$0.00",
  "balance_usd": "$19.75",
  "result": {
    "index": "CDAX",
    "frequency": "as_given",
    "adjustment": "blume",
    "stocks": [
      {
        "name": "Rational AG",
        "observations": 4,
        "raw_beta": 1.448683,
        "adjusted_beta": 1.300618,
        "alpha": -0.000657,
        "r_squared": 0.997611,
        "standard_error": 0.050127,
        "t_statistic": 28.900093,
        "significant": true,
        "debt_to_equity": 0.001667,
        "unlevered_beta": 1.299059
      }
    ],
    "summary": {
      "adjusted_beta": {
        "median": 1.300618,
        "mean": 1.300618,
        "n": 1
      },
      "unlevered_beta": {
        "median": 1.299059,
        "mean": 1.299059,
        "n": 1
      }
    },
    "method": "Simple returns between the dates both series have; beta = covariance with the index / the index's variance (least squares). Blume adjustment: 0.67 x raw + 0.33. Significant when |t| is at least 1.96 (95%)."
  }
}
```

`result`: index, frequency, adjustment, stocks (observations, raw_beta, adjusted_beta, alpha, r_squared, standard_error, t_statistic, significant, debt_to_equity and unlevered_beta), summary (median and mean of adjusted_beta and unlevered_beta) and method.

## Errors

| Code | Status | When | Fix |
|---|---|---|---|
| `invalid_input` | 400 | A date is not a date, a close is zero or below, or the index never moved. | Send dates like 2026-10-02 and positive closes. |

The refusals every tool can give (401 key, 402 balance, 429 limits) are on the errors page: https://conecto.chat/docs/errors.md

## Related

- [valuation_dcf](https://conecto.chat/tools/valuation/valuation_dcf.md): A DCF valuation from free cash flows and a WACC: present values, terminal value, enterprise and equity value, and a sensitivity grid. Free up to 1,000,000 reads a month.
- [valuation_wacc](https://conecto.chat/tools/valuation/valuation_wacc.md): The WACC from the risk-free rate, the market premium and a beta relevered from peers, with each step written out. Free up to 1,000,000 reads a month.
- [valuation_rates](https://conecto.chat/tools/valuation/valuation_rates.md): Today's risk-free curve and its recent average from the Bundesbank, the ECB or the US Treasury, as decimals. Free up to 1,000,000 reads a month.
- [valuation_fx](https://conecto.chat/tools/valuation/valuation_fx.md): Amounts converted between currencies at the ECB's euro reference rates, on a date or at a past year's average. Free up to 1,000,000 reads a month.
- [valuation_multiples](https://conecto.chat/tools/valuation/valuation_multiples.md): Peer multiples with their quartiles and the enterprise and equity value they imply for the target, less any discount. Free up to 1,000,000 reads a month.
- [valuation_lbo](https://conecto.chat/tools/valuation/valuation_lbo.md): A buyout financed with debt, year by year: sources and uses, each debt tranche, the exit, MOIC, IRR and an IRR grid by entry and exit multiple. Free up to 1,000,000 reads a month.
- [valuation_benchmark](https://conecto.chat/tools/valuation/valuation_benchmark.md): The target's KPIs against its peers: quartiles, percentile, gap to the median and whether each is a strength or a potential. Free up to 1,000,000 reads a month.
- [valuation_scores](https://conecto.chat/tools/valuation/valuation_scores.md): Altman, Piotroski and Beneish scores from a company's figures, and whether it is growing, mature or distressed. Free up to 1,000,000 reads a month.
- [valuation_forecast](https://conecto.chat/tools/valuation/valuation_forecast.md): Model forecasts with 80% and 95% intervals for revenue, EBITDA or monthly sales, with a confidence label and the plan checked against the range. Free up to 1,000,000 reads a month.
- [valuation_football_field](https://conecto.chat/tools/valuation/valuation_football_field.md): The valuation ranges side by side, with the overall range, the overlap, markers and a slide for the deck. Free up to 1,000,000 reads a month.
