Python
import plotly.graph_objects as go
import numpy as np

loops = np.arange(1, 13)
borrow_aprs = [0.05, 0.09, 0.12, 0.15]
supply_apy = 0.165
ltv = 0.925

# Calculează APY net
apy_net = {}
for borrow_apr in borrow_aprs:
    apy = []
    for loop in loops:
        leverage = sum([ltv**i for i in range(loop)]) + 1
        net_apy = (supply_apy * leverage - borrow_apr * (leverage - 1)) * 100
        apy.append(net_apy)
    apy_net[borrow_apr] = apy

# Creează grafic
fig = go.Figure()
colors = ['green', 'blue', 'orange', 'red']
for i, borrow_apr in enumerate(borrow_aprs):
    fig.add_trace(go.Scatter(x=loops, y=apy_net[borrow_apr], mode='lines+markers',
                             name=f'Borrow APR {borrow_apr*100}%', line=dict(color=colors[i])))

fig.update_layout(
    title='APY Net from Looping xEGLD via XOXNO e-Mode - 92.5% LTV',
    xaxis_title='Number of loops',
    yaxis_title='APY Net (%)',
    yaxis_range=[0, 120],
    showlegend=True,
    template='plotly_dark'
)
fig.show()