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()