> For the complete documentation index, see [llms.txt](https://quote.gitbook.io/quote-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://quote.gitbook.io/quote-docs/execution-strategies/participation-rate.md).

# Percentage of Volume

Execute at a target percentage of real-time market volume: trade when the market trades.

<figure><img src="https://4082675139-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhURgR92OECYWj7OaMgcs%2Fuploads%2FWJ1slgM02KfmQReDUquY%2FPOV.gif?alt=media&amp;token=11c6da17-74fd-477b-8586-e03319f75ae5" alt=""><figcaption></figcaption></figure>

`participation_rate` (POV, percentage of volume) keys your execution to **live** market activity. It observes traded volume in real time and submits clips sized to keep you at a target fraction of it. Busy tape → you trade more; quiet tape → you slow down. This bounds your footprint as a share of the market rather than as a schedule.

<figure><img src="https://4082675139-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhURgR92OECYWj7OaMgcs%2Fuploads%2FmiMYC0DDrbwZUEW21RqP%2FQuote%20Docs%20(3).png?alt=media&amp;token=0e12d269-f368-4269-99bc-7e9efe629d9b" alt=""><figcaption></figcaption></figure>

## Example

{% code title="POST /api/orders" %}

```json
{
  "symbol": "ETH",
  "side": "sell",
  "size": "12",
  "orderType": "limit",
  "strategy": "participation_rate",
  "params": {
    "participationRate": "0.15",
    "maxDurationSecs": 7200
  }
}
```

{% endcode %}

This targets 15% of observed ETH volume until 12 ETH is done or two hours elapse.

## Parameters

| Parameter           | Type           | Default        | Description                                                              |
| ------------------- | -------------- | -------------- | ------------------------------------------------------------------------ |
| `participationRate` | decimal string | `0.10`         | Target fraction of observed market volume (e.g. `"0.15"` = 15%)          |
| `maxDurationSecs`   | integer        | `3600`         | Hard stop; remaining size is left unexecuted after this                  |
| `clipSizePct`       | decimal        | `5`            | Max single-clip size as a percent of total order size                    |
| `passivePct`        | integer 0–100  | `80`           | Percent of each clip's life spent passive before the aggressive fallback |
| `limitOffsetBps`    | decimal        | `0`            | Offset from the touch for passive placement                              |
| `minIntervalMs`     | integer        | server default | Minimum spacing between clips                                            |
| `reduceOnly`        | boolean        | `false`        | Clips only reduce an existing position                                   |

## Behavior notes

* **Completion is volume-dependent.** If the market goes quiet, so do you. A strategy at 10% participation in a dead market may not finish inside `maxDurationSecs`. Check `filledQty` at terminal state.
* **Rate vs. footprint.** Higher participation finishes faster but moves the market more. A common institutional range is 10–20%; above \~25% your own flow starts dominating the tape you're measuring.
* Clips run the standard [passive → aggressive cycle](/quote-docs/execution-strategies/overview.md#the-passive-aggressive-cycle), so you're still capturing spread within the volume budget.

## When to use something else

* You must finish by a time regardless of volume → [Passive TWAP](/quote-docs/execution-strategies/passive-twap.md) with `guaranteedCompletion`.
* You want the historical volume curve, not live tape → [VWAP](/quote-docs/execution-strategies/vwap.md).
* Stealth matters more than pace → [Iceberg](/quote-docs/execution-strategies/iceberg.md) (which also supports a participation cap).
