LogoLogo
  • šŸ‘‹Welcome to Cetra Finance!
  • šŸ…Why Cetra?
  • šŸ–„ļøOfficial Links
  • ⚔Team
  • Cetra's Products
    • šŸ—ļøLiquidity as a service
      • Problems of Yield Farming
    • šŸÆHedging module
      • The lenging module principles
    • šŸ§žā€ā™‚ļøMarket making strategy
      • Overview
      • The key concepts
      • Chamber's superpower
      • Rebalancing
      • šŸŒ…Upcoming strategies
        • āš–ļøStrategy ā„–2
        • ✨Strategy ā„–3
          • The basic mechanics
          • Math deep dive
          • Comparison with existing algorithms
    • šŸŽ±Omipools Product
  • Tokenomics
    • āš™ļøUtility token
  • Mass Adoption with Cetra
    • šŸ¾Account Abstraction
  • The delta-neutral paradigm
    • Why delta-neutrality?
    • Long and short concepts intro
  • More Information
    • ā”FAQ
    • šŸŒ”ļøRisks
    • šŸ›”ļøSecurity
    • šŸ’½Deployment addresses
    • šŸ“„Whitepaper
  • Twitter
  • Github
  • Medium
Powered by GitBook
On this page
  1. Cetra's Products
  2. šŸ§žā€ā™‚ļøMarket making strategy
  3. šŸŒ…Upcoming strategies
  4. ✨Strategy ā„–3

Math deep dive

PreviousThe basic mechanicsNextComparison with existing algorithms

Last updated 3 years ago

CtrlK
  • Position constructing
  • 1'st subPosition (borrowing notional)
  • 2'nd subPosition (borrowing asset)
  • Delta-neutrality condition
  • Generalized equation for delta of position​
  • Rebalancing

Position constructing

EVāˆ’equityĀ value;DVāˆ’debtĀ value;PVāˆ’sumĀ valueĀ ofĀ assetsĀ inĀ liquidityĀ poolĀ ,associatedĀ withĀ position;Cāˆ’collateralĀ value;lāˆ’leverage;Sāˆ’currentĀ assetĀ price;S0āˆ’assetĀ priceĀ atĀ positionĀ opening;rBāˆ’borrowingĀ rate;rYāˆ’yieldĀ farmingĀ rate;Tāˆ’timeĀ fromĀ openingā€…ā€ŠBottomĀ indexesĀ correspondĀ toĀ 1′stĀ andĀ 2′ndĀ subāˆ’positionsEV - equity\ value;\\ DV - debt\ value;\\ PV - sum\ value\ of\ assets\ in\ liquidity\ pool\ , associated\ with\ position;\\ C - collateral\ value;\\ l - leverage; \\ S - current\ asset\ price; S_{0} - asset\ price\ at\ position\ opening;\\ r_{B} - borrowing\ rate; r_{Y} - yield\ farming\ rate;\\ T - time\ from\ opening\; \\ \\ Bottom\ indexes\ correspond\ to\ 1'st\ and\ 2'nd\ sub-positionsEVāˆ’equityĀ value;DVāˆ’debtĀ value;PVāˆ’sumĀ valueĀ ofĀ assetsĀ inĀ liquidityĀ poolĀ ,associatedĀ withĀ position;Cāˆ’collateralĀ value;lāˆ’leverage;Sāˆ’currentĀ assetĀ price;S0ā€‹āˆ’assetĀ priceĀ atĀ positionĀ opening;rBā€‹āˆ’borrowingĀ rate;rYā€‹āˆ’yieldĀ farmingĀ rate;Tāˆ’timeĀ fromĀ openingBottomĀ indexesĀ correspondĀ toĀ 1′stĀ andĀ 2′ndĀ subāˆ’positions

1'st subPosition (borrowing notional)

DV1=C1Ɨ(lāˆ’1)Ɨexp{rB1ƗT365};PV1=C1ƗlƗSS0;FarmingYieldValue1=C1ƗlƗexp{rY‾×T365};Delta1=āˆ‚EV1āˆ‚S=āˆ‚PV1āˆ‚S=C1ƗlƗ12SƗS0DV_{1}=C_{1}\times(l-1)\times exp\{\frac{r_{B1}\times T}{365}\};\\ PV_{1} = C_{1} \times l \times \sqrt{\frac{S}{S_{0}}};\\ Farming Yield Value_{1} = C_{1} \times l \times exp\{\frac{\overline{r_{Y}}\times T}{365}\};\\ Delta_{1} = \frac{\partial{EV_{1}}}{\partial{S}} = \frac{\partial{PV_{1}}}{\partial{S}} = C_{1} \times l \times \frac{1}{2\sqrt{S\times S_{0}}}DV1​=C1​×(lāˆ’1)Ɨexp{365rB1​×T​};PV1​=C1​×lƗS0​S​​;FarmingYieldValue1​=C1​×lƗexp{365rY​​×T​};Delta1​=āˆ‚Sāˆ‚EV1​​=āˆ‚Sāˆ‚PV1​​=C1​×lƗ2SƗS0​​1​

2'nd subPosition (borrowing asset)

DV2=C2Ɨ(lāˆ’1)Ɨexp{rB2ƗT365}ƗSS0;PV2=C2ƗlƗSS0;FarmingYieldValue2=C2ƗlƗexp{rY‾×T365};Delta2=āˆ‚EV2āˆ‚S=āˆ‚PV2āˆ‚S=C2Ɨl2SƗS0āˆ’C2Ɨ(lāˆ’1)S0Ɨexp{rB2ƗT365};DV_{2}=C_{2}\times(l-1)\times exp\{\frac{r_{B2}\times T}{365}\} \times \frac{S}{S_{0}};\\ PV_{2} = C_{2} \times l \times \sqrt{\frac{S}{S_{0}}};\\ Farming Yield Value_{2} = C_{2} \times l \times exp\{\frac{\overline{r_{Y}}\times T}{365}\};\\ Delta_{2} = \frac{\partial{EV_{2}}}{\partial{S}} = \frac{\partial{PV_{2}}}{\partial{S}} = \frac{C_{2} \times l} {2\sqrt{S\times S_{0}}} - \frac{C_{2}\times (l-1)}{S_{0}}\times exp\{\frac{r_{B2}\times T}{365}\};DV2​=C2​×(lāˆ’1)Ɨexp{365rB2​×T​}ƗS0​S​;PV2​=C2​×lƗS0​S​​;FarmingYieldValue2​=C2​×lƗexp{365rY​​×T​};Delta2​=āˆ‚Sāˆ‚EV2​​=āˆ‚Sāˆ‚PV2​​=2SƗS0​​C2​×lā€‹āˆ’S0​C2​×(lāˆ’1)​×exp{365rB2​×T​};

Delta-neutrality condition

Delta=Delta1+Delta2;Delta=lƗ(C1+C2)2SS0āˆ’C2Ɨ(lāˆ’1)S0Ɨexp{rB2ƗT365};Delta = Delta_{1} + Delta_{2};\\ Delta = \frac{l \times (C_{1}+C_{2})}{2\sqrt{S S_{0}}} - \frac{C_{2}\times (l-1)}{S_{0}}\times exp\{\frac{r_{B2}\times T}{365}\}; Delta=Delta1​+Delta2​;Delta=2SS0​​lƗ(C1​+C2​)ā€‹āˆ’S0​C2​×(lāˆ’1)​×exp{365rB2​×T​};

Taken Delta = 0 at opening (T=0):

that's why we put N/4 in first subPosition and 3N/4 in second.

C1C2=lāˆ’2l\frac{C_{1}}{C_{2}} = \frac{l-2}{l} C2​C1​​=llāˆ’2​

Generalized equation for delta of position​

Delta=CƗl2S0Ɨ(S0Sāˆ’exp{rB2ƗT365})Delta = \frac{C \times l}{2S_{0}}\times(\sqrt{\frac{S_{0}}{S}} - exp\{\frac{r_{B2}\times T}{365}\})Delta=2S0​CƗl​×(SS0ā€‹ā€‹ā€‹āˆ’exp{365rB2​×T​})

Rebalancing

Definitions in terms of typical LYF-protocol interface (Tulip, Francium, Alpaca, Tarot)

PositionĀ 1āˆ’positionĀ withĀ borrowedĀ stablecoin;PositionĀ 2āˆ’positionĀ withĀ borrowedĀ asset;PV1āˆ’positionĀ 1Ā valueĀ (inĀ stablecoins);Ā DV1āˆ’positionĀ 1Ā debtĀ valueĀ (inĀ stablecoins);PV2āˆ’positionĀ 2Ā valueĀ (inĀ assetĀ quantity);Ā DV2āˆ’positionĀ 2Ā debtĀ valueĀ (inĀ assetĀ quantity);Sāˆ’spotĀ price;Position\ 1 - position\ with\ borrowed\ stablecoin;\\ Position\ 2 - position\ with\ borrowed\ asset;\\ PV_{1} - position\ 1\ value\ (in\ stablecoins);\ DV_{1} - position\ 1\ debt\ value\ (in\ stablecoins);\\ PV_{2} - position\ 2\ value\ (in\ asset\ quantity);\ DV_{2} - position\ 2\ debt\ value\ (in\ asset\ quantity);\\ S - spot\ price;PositionĀ 1āˆ’positionĀ withĀ borrowedĀ stablecoin;PositionĀ 2āˆ’positionĀ withĀ borrowedĀ asset;PV1ā€‹āˆ’positionĀ 1Ā valueĀ (inĀ stablecoins);Ā DV1ā€‹āˆ’positionĀ 1Ā debtĀ valueĀ (inĀ stablecoins);PV2ā€‹āˆ’positionĀ 2Ā valueĀ (inĀ assetĀ quantity);Ā DV2ā€‹āˆ’positionĀ 2Ā debtĀ valueĀ (inĀ assetĀ quantity);Sāˆ’spotĀ price;

​

Positions' and debts' values after rebalancing:

PV1āˆ—=PV1+Ī”PV1;Ā DV1āˆ—=DV1+Ī”DV1;PV2āˆ—=PV2+Ī”PV2;Ā DV2āˆ—=DV2+Ī”DV2; PV_{1}^{*} = PV_{1} +\Delta PV_{1};\ DV_{1}^{*} = DV_{1} + \Delta DV_{1};\\ PV_{2}^{*} = PV_{2} +\Delta PV_{2};\ DV_{2}^{*} = DV_{2} + \Delta DV_{2};\\PV1āˆ—ā€‹=PV1​+Ī”PV1​;Ā DV1āˆ—ā€‹=DV1​+Ī”DV1​;PV2āˆ—ā€‹=PV2​+Ī”PV2​;Ā DV2āˆ—ā€‹=DV2​+Ī”DV2​;

How to calculate those value changes:

DV1āˆ—PV1āˆ—=23;Ā (subPOS1Ā leverageĀ ==Ā 3Ā afterĀ rabalance)DV2āˆ—PV2āˆ—=23;Ā (subPOS2Ā leverageĀ ==Ā 3Ā afterĀ rabalance)PV2āˆ—2+PV1āˆ—2Sāˆ’DV2āˆ—=0Ā (Deltaāˆ’neutralityĀ condition)Ī”PV1+Ī”PV2āˆ—Sāˆ’Ī”DV1āˆ’Ī”DV2āˆ—S=0Ā (WeĀ don′tĀ addĀ cashĀ fromĀ outside) \frac{DV_{1}^{*}}{PV_{1}^{*}} = \frac{2}{3};\ (subPOS1\ leverage\ ==\ 3\ after\ rabalance)\\ \frac{DV_{2}^{*}}{PV_{2}^{*}} = \frac{2}{3};\ (subPOS2\ leverage\ ==\ 3\ after\ rabalance)\\ \frac{PV_{2}^{*}}{2} + \frac{PV_{1}^{*}}{2S} - DV_{2}^{*} = 0\ (Delta-neutrality\ condition)\\ \Delta PV_{1} + \Delta PV_{2}*S - \Delta DV_{1} - \Delta DV_{2}*S =0 \ (We\ don't\ add\ cash\ from\ outside)\\PV1āˆ—ā€‹DV1āˆ—ā€‹ā€‹=32​;Ā (subPOS1Ā leverageĀ ==Ā 3Ā afterĀ rabalance)PV2āˆ—ā€‹DV2āˆ—ā€‹ā€‹=32​;Ā (subPOS2Ā leverageĀ ==Ā 3Ā afterĀ rabalance)2PV2āˆ—ā€‹ā€‹+2SPV1āˆ—ā€‹ā€‹āˆ’DV2āˆ—ā€‹=0Ā (Deltaāˆ’neutralityĀ condition)Ī”PV1​+Ī”PV2ā€‹āˆ—Sāˆ’Ī”DV1ā€‹āˆ’Ī”DV2ā€‹āˆ—S=0Ā (WeĀ don′tĀ addĀ cashĀ fromĀ outside)

The result

Ī”PV1=34(āˆ’13PV1āˆ’DV1+PV2ƗSāˆ’DV2ƗS)Ī”DV1=12(PV1āˆ’3DV1+PV2ƗSāˆ’DV2ƗS)Ī”PV2=94S(PV1āˆ’DV1+59PV2ƗSāˆ’DV2ƗS)Ī”DV2=32S(PV1āˆ’DV1+PV2ƗSāˆ’53DV2ƗS)\Delta PV_{1} = \frac{3}{4}(-\frac{1}{3}PV_{1}-DV_{1}+PV_{2}\times S - DV_{2}\times S)\\ \Delta DV_{1} = \frac{1}{2}(PV_{1} - 3DV_{1} + PV_{2}\times S - DV_{2}\times S)\\ \Delta PV_{2} = \frac{9}{4S}(PV_{1} - DV_{1} + \frac{5}{9}PV_{2}\times S - DV_{2}\times S)\\ \Delta DV_{2} = \frac{3}{2S}(PV_{1} - DV_{1} + PV_{2}\times S - \frac{5}{3}DV_{2}\times S)\\Ī”PV1​=43​(āˆ’31​PV1ā€‹āˆ’DV1​+PV2​×Sāˆ’DV2​×S)Ī”DV1​=21​(PV1ā€‹āˆ’3DV1​+PV2​×Sāˆ’DV2​×S)Ī”PV2​=4S9​(PV1ā€‹āˆ’DV1​+95​PV2​×Sāˆ’DV2​×S)Ī”DV2​=2S3​(PV1ā€‹āˆ’DV1​+PV2​×Sāˆ’35​DV2​×S)

This cash flows totally define the algorythm of rebalancing in general. It can be implemented in any LYF protocol after fitting to protocol's interface.

Here is the backtesting result of sample strategy, using Francium's SOL-USD pool characteristics with 3'rd leverage:

The up-diagonal line return is the reason, why we here!