> For the complete documentation index, see [llms.txt](https://docs.pancakeswap.finance/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.pancakeswap.finance/russian/dobro-pozhalovat-v-pancakeswap/how-to-guides/v3-v2-migration/how-v3-apr-is-calculated.md).

# Как рассчитывается APR в v3

{% hint style="info" %}
В V3 Ликвидности и Farms с новой нефункгибельной ликвидностью и настраиваемым ценовым диапазоном каждая позиция LP имеет собственный APR по комиссиям LP и APR по Yield Farming CAKE.
{% endhint %}

Итоговый APR складывается из APR по комиссиям LP и APR по наградам CAKE.

### Комиссии LP

Теоретически, при заданном ценовом диапазоне и объёме ликвидности, которую пользователь собирается добавить, мы можем оценить ожидаемые комиссии за следующие 7 дней следующим образом:

$$
fee\_{next7d} = fee\_{in} \frac{\Delta{L}}{L\_{in} + \Delta{L}}
$$

* $$fee\_{in}$$ : Сумма комиссий, накопленных в указанном пользователем ценовом диапазоне за последние 7 дней
* $$L\_{in}$$: Текущая ликвидность в указанном пользователем ценовом диапазоне
* $$\Delta{L}$$: Ликвидность, которую пользователь хочет добавить в ценовой диапазон

#### Комиссии в диапазоне

Для $$fee\_{in}$$ мы используем исторические данные о торговом объёме, уровень комиссии и исторические данные о ценах для оценки нахождения цены в диапазоне:

$$fee\_{in} = f\_tV\_{7d}\frac{T\_{in}}{T\_{7d}}$$

* $$f\_t$$: Уровень комиссии
* $$V\_{7d}$$: Общий торговый объём за последние 7 дней
* $$T\_{in}$$: Продолжительность (в секундах), в течение которой цены оставались в заданном ценовом диапазоне за последние 7 дней
* $$T\_{7d}$$: 7 дней в секундах

### APR по CAKE

#### Распределение наград пула

Общее количество CAKE в секунду в MC v3 использует upkeep и может быть получено через `latestPeriodCakePerSecond`

`cakePerSecond = lastestPeriodCakePerSecond / 1e12 / 1e18`

В каждом пуле можно использовать `poolInfo` для получения `poolWeight` путём деления `poolInfo.allocPoint / totalAllocPoint`

#### Глобальный APR CAKE

Глобальный APR рассчитывается с использованием общей суммы активной и застейканной ликвидности с учётом эмиссии наград CAKE пула.

`APR (global) = (cakePerSecond * 31536000) / (totalAllocPoint / pool.allocPoint) * 100 * cakeUSD / totalStakedLiquidityUSD`

`totalStakedLiquidityUSD` представляет текущую активную застейканную ликвидность пула в USD, состоящую из всех тиков позиций в диапазоне, размещённых в MasterChef v3.

#### APR CAKE для позиции

APR для отдельных позиций может варьироваться в зависимости от настроек ценового диапазона.

$$
ARP\_p = {\frac{USD\_{r}}{USD\_{p}}} {\frac{L\_{p}}{L\_{lm}}}
$$

* $$USD\_r$$: Награды CAKE в USD в год в пуле
* $$USD\_p$$: Общая стоимость позиции в USD
* $$L\_{p}$$: Ликвидность позиции
* $$L\_{lm}$$: Общая застейканная ликвидность, отслеживаемая LMPool


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.pancakeswap.finance/russian/dobro-pozhalovat-v-pancakeswap/how-to-guides/v3-v2-migration/how-v3-apr-is-calculated.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
