from tkinter import *
root = Tk()
root.geometry("500x400")
root.resizable(0, 0)
root.config(bg="#1a5259")
root.title("Rácio de Sharpe")
titulo = Label(text="Rácio de Sharpe",
font=("Arial", "39", "bold"),bg="#1a5259",fg="#25d2e8")
titulo.place(relx=0.08, rely=0.05)
texto_sub1 = Label(text="Rentabilidade da Carteira:",
font=("Arial", "15", "bold"),bg="#1a5259",fg="#25d2e8")
texto_sub1.place(relx=0.2, rely=0.3)
texto_sub2 = Label(text="Taxa Livre de Risco:",
font=("Arial", "15", "bold"),bg="#1a5259",fg="#25d2e8")
texto_sub2.place(relx=0.33, rely=0.45)
texto_sub3 = Label(text="Desvio-Padrão do portfólio:",
font=("Arial", "15", "bold"),bg="#1a5259",fg="#25d2e8")
texto_sub3.place(relx=0.18, rely=0.6)
Rentabilidade_Carteira = DoubleVar()
Rentabilidade_Carteira_entrada = Entry(textvariable=Rentabilidade_Carteira,
font=("Arial", "12", "bold"),
bg="white", fg="blue", justify='center')
Rentabilidade_Carteira_entrada.place(relx=0.75, rely=0.3, relwidth=0.2)
Taxa_Livre_Risco = DoubleVar()
Taxa_Livre_Risco_entrada = Entry(textvariable=Taxa_Livre_Risco,
font=("Arial", "12", "bold"),
bg="white", fg="blue", justify='center')
Taxa_Livre_Risco_entrada.place(relx=0.75, rely=0.45, relwidth=0.2)
Desvio_Padrão = DoubleVar()
Desvio_Padrão_entrada = Entry(textvariable=Desvio_Padrão,
font=("Arial", "12", "bold"),
bg="white", fg="blue", justify='center')
Desvio_Padrão_entrada.place(relx=0.75, rely=0.6, relwidth=0.2)
def app():
dp=Desvio_Padrão.get()
taxa_sem_risco=Taxa_Livre_Risco.get()
rentabilidade =Rentabilidade_Carteira.get()
Sharpe = (rentabilidade - taxa_sem_risco) / dp
mensalidade = f"Rácio Sharpe: {Sharpe:.4f}"
resultado.set(mensalidade)
def limpar():
Desvio_Padrão_entrada.delete(0, END)
Taxa_Livre_Risco_entrada.delete(0, END)
Rentabilidade_Carteira_entrada.delete(0, END)
resultado.set("")
but1 = Button(text="Calcular", bd=2, bg='#107db2', fg='white',
font=('verdana', 12, 'bold'), command=app)
but1.place(relx=0.05, rely=0.7, relwidth=0.25, relheight=0.1)
but_limpar = Button(text="Limpar", bd=2, bg='#107db2', fg='white',
font=('verdana', 12, 'bold'), command=limpar)
but_limpar.place(relx=0.35, rely=0.7, relwidth=0.25, relheight=0.1)
but_sair = Button(text="Sair", bd=2, bg='#107db2', fg='white',
font=('verdana', 12, 'bold'), command=root.destroy)
but_sair.place(relx=0.65, rely=0.7, relwidth=0.25, relheight=0.1)
resultado = StringVar()
resultado_texto = Label(textvariable=resultado,
font=("Arial", 12, "bold"), bg="#cfe2f3")
resultado_texto.place(relx=0.05, rely=0.85, relwidth=0.9,relheight=0.1)
root.mainloop()