---
title: "Percentile Rank"
method: POST
path: "/assets/indicators/transformation/percentile-rank"
tags: ["Assets / Indicators Transformation"]
---

# Percentile Rank

`POST /assets/indicators/transformation/percentile-rank`

## Request

- Base URL: `https://api.portfoliooptimizer.io/v1`
- URL: `https://api.portfoliooptimizer.io/v1/assets/indicators/transformation/percentile-rank`
- Auth: API key in header `X-API-Key`

Transform the values of an asset indicator into percentile ranks.

References
* [Cakici, Nusret and Zaremba, Adam, Getting the Target Right in Return Prediction (April 20, 2026)](https://papers.ssrn.com/sol3/papers.cfm?abstract_id=6615698)

## Request body

- object
  - `assets` object[], required
    - `assetIndicatorValue` number, required: The asset indicator value
  - `assetsIndicatorValuesPercentileRankOrderingType` 'ascending' | 'descending': The type of ordering to apply to the asset indicator values when transforming them into percentile ranks

## Response `200`

OK

- object
  - `assets` object[], required
    - `assetIndicatorValue` number, required: The percentile rank of the asset indicator value

## Changes

- **2026-09-05** `dc61548270fb`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/portfoliooptimizer/apis/portfolio-optimizer/changes/assets/indicators/transformation/percentile-rank/post.md)

---

[API](https://skmtc.dev/portfoliooptimizer/apis/portfolio-optimizer.md) - [All operations](https://skmtc.dev/portfoliooptimizer/apis/portfolio-optimizer/llms.txt) - [OpenAPI document](https://skmtc.dev/portfoliooptimizer/apis/portfolio-optimizer/revisions/9d075aa717bf?raw)
