Meridianmeridian

Basis Points

finance.rate.basis_points

Financial rate expressed in basis points (bps or bp). One basis point = 0.01% = 0.0001 in decimal. Standard in fixed-income markets, central bank data, and debt analysis. Common in Bloomberg, Reuters, and central bank feeds.

Domain
finance
Category
rate
Casts to
VARCHAR
Scope
Universal

Try it

CLI
$ finetype infer -i "125 bps"
→ finance.rate.basis_points

DuckDB

Detect
SELECT finetype('125 bps');
-- → 'finance.rate.basis_points'
Cast expression
CAST(REGEXP_REPLACE({col}, '\s*(bps|bp)$', '') AS DECIMAL(18,4)) / 10000
Safe cast pipeline
-- Normalise and cast in one step
SELECT TRY_CAST(finetype_cast(my_column) AS VARCHAR) AS clean_value
FROM my_table
WHERE finetype(my_column) = 'finance.rate.basis_points';

Struct Expansion

Expression
decimal_rate: CAST(REGEXP_REPLACE({col}, '\s*(bps|bp)$', '') AS DECIMAL(18,4)) / 10000
raw_bps: CAST(REGEXP_REPLACE({col}, '\s*(bps|bp)$', '') AS DECIMAL(10,2))

JSON Schema

finetype schema finance.rate.basis_points
{
  "$id": "https://meridian.online/schemas/finance.rate.basis_points",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "description": "Financial rate expressed in basis points (bps or bp). One basis point = 0.01% = 0.0001 in decimal. Standard in fixed-income markets, central bank data, and debt analysis. Common in Bloomberg, Reuters, and central bank feeds.",
  "examples": [
    "125 bps",
    "25.5 bps",
    "-50 bp",
    "100 bps"
  ],
  "pattern": "^-?[0-9]+(\\.[0-9]+)?\\s?(bps|bp)$",
  "title": "Basis Points",
  "type": "string",
  "x-finetype-broad-type": "VARCHAR",
  "x-finetype-transform": "CAST(REGEXP_REPLACE({col}, '\\s*(bps|bp)$', '') AS DECIMAL(18,4)) / 10000"
}

Examples

125 bps25.5 bps-50 bp100 bps

Aliases

bps