Asignación de Fondos

Reglas de Asignación de Fondos

  • Los fondos de liquidez de alto rendimiento tienen prioridad de asignación.

  • El capital invertido en un único fondo de liquidez no puede superar el 20% del total de activos gestionados.

  • El capital asignado a un único fondo de liquidez no puede superar el 50% de su cantidad existente bloqueada.

  • El capital total invertido en diferentes fondos de liquidez del mismo protocolo no puede superar el 30% del total de activos gestionados.

  • La asignación de fondos se ajusta automáticamente para asegurar la posición más rentable.

Mecanismo de Asignación de Fondos

doHardWork

doHardWork también se conoce como la primera asignación de fondos en estrategias. Las entradas en el ajuste de posición del algoritmo son el APY oficial del protocolo de terceros, el gas necesario para la inversión de cada estrategia, el límite de deslizamiento de cambio y las reglas de asignación de fondos. Mientras tanto, la estrategia y la cantidad de los fondos a invertir son las salidas.

Parámetros

Parámetros EstablecidosETHPolygon

Ciclo de activación de tareas programadas

7 am diariamente, excepto los Lunes

7 am diariamente, excepto los Lunes

Cálculo costo-beneficio Periodo X (Si el beneficio de la inversión X días >= costo, se puede hacer "doHardwork")

365 días

365 días

Asignación / Ajuste de Posición

En comparación con doHardWork, la asignación tiene un paso adicional: retira los fondos de la estrategia de APY bajo, luego utiliza el APY oficial de los protocolos de terceros, el gas requerido para la inversión de cada estrategia, el límite de deslizamiento de cambio, las reglas de asignación de fondos y el algoritmo de ajuste de posición como entradas, y las salidas son la estrategia y la cantidad de los fondos de inversión en espera.

Procedimiento

El proceso de ajuste de posiciones incluye principalmente los siguientes pasos:

  1. Invocar el algoritmo de ajuste óptimo, asignar los fondos de la Bóveda y emitir un informe de ajuste de posición.

  2. Bloqueo; los usuarios no podrán realizar operaciones de inversión y canje en este momento.

  3. De acuerdo con el informe de ajuste de posición, realizar la operación de canje en la estrategia que necesita retirar fondos para devolver los fondos a la Bóveda.

  4. Calcular las monedas (tipo(s) de token) y el importe necesario para las inversiones de las estrategias.

  5. Ejecutar el intercambio de tokens.

  6. Invertir los fondos (tokens intercambiados) en las estrategias.

  7. Finalizar el bloqueo y completar el ajuste de posiciones.

Parámetros

Parámetros EstablecidosETHPolygon

Tiempo de activación del informe de posición preajustado

cada Domingo (luego de doHardWork)

cada Domingo (luego de doHardWork)

Ciclo de activación de tareas programadas

7 am cada Lunes

7 am cada Lunes

Cálculo costo-beneficio periodo X (Si el beneficio de reequilibrar X días >= costo, se puede realizar la "asignación".

30 días

30 días

Algoritmo de Asignación de Fondos

VariableSignificado

"durationDays"

El ciclo de reequilibrio tiene que garantizar que en un ciclo después del reequilibrio, elbeneficiodespuésdelreequilibrio - elbeneficioantesdelreequilibrio - elcostedelreequilibrio > 0 (tiene que ser mayor que 0)

"yearDays"

365 días

"asset1"

Los activos originales de la estrategia

"apr1"

El APR de la estrategia antes del ajuste de posición (APY necesita ser convertido en APR). El valor actual del APY del algoritmo de ajuste de posición es la media de 7 días del APY calculado fuera de la cadena de la estrategia

"deltaAsset"

Asumido como el valor de cambio de capital del reequilibrio de la estrategia

"poolAssets1"

El TVL del fondo de inversión objetivo estratégico se utiliza como parámetro para el cambio de APR tras el ajuste de posición

Beneficio antes del ajuste de posición

gain1=asset1×apr1×durationDaysyearDaysgain1 = \frac{asset1 \times apr1 \times durationDays}{yearDays}

Cambios en las ganancias

gain2=(asset1+deltaAssetexchangeLoss)×apr2×durationDaysyearDaysgain2 = \frac{ (asset1+deltaAsset-exchangeLoss)\times apr2 \times durationDays}{yearDays}

Cambio en APR

apr2=apr1×poolAssets1(poolAssets1+deltaAssetexchangeLoss)apr2 = \frac{apr1 \times poolAssets1}{(poolAssets1+deltaAsset-exchangeLoss)}

Después de sustituir apr2 en gain2 utilizando la ecuación anterior:

gain2=apr1×durationDays/yearDays×(asset1+deltaAsset)×poolAssets1poolAssets1+deltaAssetexchangeLossgain2=\frac{apr1 \times durationDays/yearDays \times (asset1+deltaAsset) \times poolAssets1}{poolAssets1+deltaAsset-exchangeLoss}

Por lo tanto, la relación entre los ingresos modificados de una estrategia única y los activos modificados es la siguiente:

deltaGain=gain2gain1=deltaAsset×(poolAsset1asset1)×apr1×durationDays(poolAsset1+deltaAssetexchangeLoss)×yearDaysdeltaGain = gain2-gain1 = \frac{deltaAsset \times (poolAsset1-asset1) \times apr1 \times durationDays}{(poolAsset1+deltaAsset-exchangeLoss) \times yearDays}

Coste del cambio de fondos para una única estrategia

Nombre de la VariableDetalles

withdrawFee

Comisión por retiro de fondos

lendFee

Comisión por préstamos

exchangeLoss

Pérdidas por deslizamiento del intercambio de divisas

harvestFee

Comisión por "cosecha"

profitChangeFee

Costo por cambio de capital

withdrawGas

Gas consumido por la operación "retirar", calculada previamente

lendGas

Gas consumido por la operación "lend", calculado previamente

exchangeLossrate

Canje del deslizamiento

profitChangeFee=withdrawFee+lendFee+exchangeLoss+harvestFeeprofitChangeFee = withdrawFee + lendFee + exchangeLoss + harvestFee
withdrawFee=gasPrice×withdrawGaswithdrawFee = gasPrice \times withdrawGas
lendFee=gasPrice×lendGaslendFee= gasPrice \times lendGas
exchangeLoss=deltaAsset×exchangeLossRateexchangeLoss=deltaAsset \times exchangeLossRate
harvestFee=harvestGas×durationDaysharvestFee=harvestGas \times durationDays

Encuentre la suma máxima de deltaGain para todas las estrategias:

profitChange=MAXi=1m(deltaGainiwithdrawFeeilendFeeiexchangeLossiharvestFeei)profitChange=MAX\sum_{i=1}^m(deltaGain_i -withdrawFee_i-lendFee_i - exchangeLoss_i-harvestFee_i)
profitChange=MAXi=1m(deltaAsseti×(poolAssetiasseti)×apridurationDaysi(poolAsseti+deltaAssetiexchangeLossi)×yearDaysiprofitChange=MAX\sum_{i=1}^m(\frac{deltaAsset_i \times (poolAsset_i-asset_i) \times apr_i * durationDays_i}{(poolAsset_i+deltaAsset_i-exchangeLoss_i) \times yearDays_i}
operateFeeiexchangeLossiharvestFeei)- operateFee_i - exchangeLoss_i - harvestFee_i)

En la fórmula anterior (profitChange), la única variable es el deltaAsset de cada estrategia. Mientras tanto, la solución debe ser limitada por:

Restricciones

  1. Los fondos de la misma estrategia de protocolo (restricciones múltiples) no superan el 30% de los fondos totales.

  2. La suma de todos los cambios de activos entrantes y salientes es 0.

Las condiciones límite

  1. Los activos estratégicos no superan el 20% de los activos totales.

  2. Los fondos estratégicos no superan el 50% de los activos del fondo elegido.

Utilice optimize.minimize de python scipy para encontrar el esquema de reequilibrio óptimo actual.

Configuración de parámetros públicos

Parámetros EstablecidosETHPolygon

Cálculo de la asignación de fondos. Ajustes del deslizamiento de divisas

0,15%

0,15%

Configuración del gas (incluida la estrategia de depósito y retirada de gas, intercambio de gas, costo de la cosecha)

0 (se convierte en gas real cuando el activo > 5 millones de dólares)

Gas Actual

Cálculo del APY de la estrategia

Los beneficios de la estrategia se obtienen principalmente de las cuatro fuentes de rendimiento que se indican a continuación:

  • Recompensas de tokens de gobierno.

  • Comisiones de creación de mercado DEX.

  • Intereses de préstamos sobrecolateralizados.

  • Recompensas de las apuestas de ETH2.0.

En particular, para el protocolo ConvexIronBank, BoC necesita pagar un interés de préstamo, por lo que los rendimientos son negativos.

Reglas oficiales de cálculo del APY

Rendimiento de los tokens de gobierno

  1. Obtener la tasa de emisión y el periodo de cobertura de emisión del fondo del bloque inicial y del bloque final, respectivamente.

  2. De acuerdo con los datos obtenidos en el Paso 1 anterior, calcular la tasa de emisión media en un día, y calcular el número total de tokens de gobernanza que puede recibir el fondo en un día.

  3. Basándose en la cantidad ponderada totalSupply en 24 horas, se calcula el principal total del fondo de recompensas.

  4. Dividir el valor total de tokens de gobernanza recibidos por el fondo por el principal total del fondo, y anualizar el ingreso para obtener el APR recompensado por Curve (CRV).

  5. Convierta el APR en APY.

Tasas de creación de mercado DEX

Para obtener la tasa de cambio del contrato elegido del fondo de liquidez en valor neto. Tomando como ejemplo los ingresos de liquidez proporcionados por Curve, el programa obtiene las alturas de los dos bloques dentro de las 24 horas del último día, y obtiene el virtualPrice de los dos bloques utilizando getVirtualPrice(). A continuación, se calcula la tasa de variación y se anualiza

baseApr=startSupplyTokenData[0]endSupplyTokenData[0]2baseApr = \frac{startSupplyTokenData[0] - endSupplyTokenData[0]}{2}

Recompensas de las apuestas ETH2.0

Las estrategias de protocolo que mantienen wstETH y rETH disfrutarán de las recompensas de las apuestas de ETH2.0. Tomando como ejemplo la estrategia de protocolo que mantiene wstETH, el programa obtiene las dos alturas de bloque en 24 horas en el último día, y utiliza stEthPerToken() para obtener el cambio del valor neto de los dos bloques antes de anualizarlos.

baseApr=endsEthPerTokenstartstEthPerTokenstartstEthPerToken×365baseApr = \frac{endsEthPerToken - startstEthPerToken}{startstEthPerToken} \times 365

Préstamo de intereses

Con el fin de evitar la exposición al riesgo de mantener tokens de divisas [en particular el protocolo ConvexIronBank-like(Convex)], las divisas se tomarán prestadas colateralizando USDC en el protocolo IronBank. Por lo tanto, BoC necesita pagar un interés de préstamo, el rendimiento es por lo tanto negativo.

El programa obtiene la tasa de préstamo de las dos alturas de bloque en el contrato de tokens extranjeras de IronBank dentro de 24 horas en el último día usando getBorrowInterest(), y anualizando el valor promedio de eso para pedir prestado el interés.

baseApr=endBorrowInterest+startBorrowInterest2×oneDayBlocks×365baseApr = - \frac{endBorrowInterest + startBorrowInterest}{2} \times oneDayBlocks \times 365

Rendimiento de los tokens de gobernanza

Los ingresos de tokens de gobernanza de la estrategia se recuperan ejecutando el método harvest().

Web3 soporta la simulación del método de escritura de llamada al contrato para obtener el resultado devuelto, que es la base para que el programa obtenga el APY no realizado. El programa calcula el método harvest() bajo los bloques diarios de inicio y fin para obtener el tipo y cantidad de tokens de gobernanza que pueden ser recuperados por la estrategia en esa cosecha concreta.

La lógica operativa de la estrategia actual es hacer la cosecha a las 22:00:00 UTC. Independientemente de que la estrategia haga la Cosecha ese día, la estrategia tendrá APY no realizado diariamente. Esto se debe a la presencia de beneficios no cubiertos después de la cosecha de la estrategia entre UTC 22:00:00~UTC 23:59:59, que también se categoriza como APY No Realizado.

En cuanto al rendimiento del APY no realizado, dado que no hay ninguna acción de venta real, el APY del día se estima y se calcula obteniendo el tipo de cambio del token de gobernanza a USD/ETH en el bloque actual, y la próxima vez que se realice la venta real, el precio se volverá a escribir y se actualizará. El APY no realizado también se verificará y convertirá en APY realizado.

Comisiones de creación de mercado DEX

El ingreso básico del día se calcula acumulando los ingresos durante el periodo de operación de la estrategia en ese día. Por defecto, los ingresos de creación de mercado DEX se emiten en tiempo real, lo que se categoriza como APY realizado. Tomando como ejemplo la renta de liquidez proporcionada por Curve, el proceso principal de cálculo es el siguiente:

  1. Leer diariamente las operaciones de la estrategia: prestar/retirar/devolver/cosechar.

  2. Calcular el beneficio en cada segmento de operación dentro del rango de un día mediante getVirtualPrice() de Curve.

  3. Una vez acumulados los ingresos de cada segmento, calcular el APR con el principal ponderado del día.

Intereses de los préstamos sobrecolateralizados

De forma similar a los ingresos por creación de mercado DEX, el programa calcula el APR acumulando la suma de intereses de todos los periodos operativos de la estrategia dentro de un día y el principal ponderado de ese día. El interés por defecto se carga en tiempo real, que se clasifica como APY realizado.

Recompensas de las apuestas ETH2.0

De forma similar a los ingresos de creación de mercado DEX, el programa calcula el APR acumulando las recompensas de staking de todos los periodos operativos de la estrategia dentro de un día y el principal ponderado de ese día. La recompensa de apostar por defecto se carga en tiempo real, lo que se categoriza como APY realizado.

Préstamo de intereses

De forma similar a los ingresos por creación de mercado DEX, el programa calcula el APR acumulando la suma de intereses prestados de todos los periodos operativos de la estrategia dentro de un día y el principal ponderado de ese día. El interés prestado por defecto se carga en tiempo real, lo que se categoriza como APY Realizado.

Last updated