Python年利率计算器【N日年化收益率】

现在有闲钱的人,按照聪明等级从低到高排序应该是

  1. 钱买股票,一年利率约为-20%

  1. 钱放银行活期,年利率约为0.3%

  1. 钱放银行定期,一年利率约为1.5%

  1. 钱放余额宝(支付宝)或零钱通(微信),随时支取且年利率约为1.8%

  1. 钱买理财,一年利率约为3%

  1. 钱买股票,一年利率约为20%

我不聪明,但是经人点拨也开始买理财,支付宝,微信,银行的理财产品都有涉猎。

但是各家的APP,都不肯显示当前的年化收益。这里简要科普一下最常见的七日年化是怎么计算的。

比如2023年2月10日买入某理财10000元,11日开始产生收益,到2月17日共有7天的收益(非工作日不显示收益,但是会在周一结算上周六周日的收益),假设七天的收益金额为6元,那么七日年化收益率为

%3.13%

更一般地,

年化收益率=利息本金天数365100%

为了方便计算,我使用python的Tkinter库制作了一个年化利率计算器,代码如下(部分代码由ChatGPT完成)。

import tkinter as tk
from datetime import datetime

class RateCalculator:
    def __init__(self, master):
        self.master = master
        master.title("年利率计算器")

        # 创建标签和输入框
        self.buy_date_label = tk.Label(master, text="买入日期(格式为2020-01-13)")
        self.buy_date_label.grid(row=0, column=0, sticky=tk.W)
        self.buy_date_entry = tk.Entry(master)
        self.buy_date_entry.grid(row=0, column=1)

        self.buy_amount_label = tk.Label(master, text="买入金额:")
        self.buy_amount_label.grid(row=1, column=0, sticky=tk.W)
        self.buy_amount_entry = tk.Entry(master)
        self.buy_amount_entry.grid(row=1, column=1)

        self.current_date_label = tk.Label(master, text="当前日期(格式为2021-10-01)")
        self.current_date_label.grid(row=2, column=0, sticky=tk.W)
        self.current_date_entry = tk.Entry(master)
        self.current_date_entry.grid(row=2, column=1)

        self.profit_label = tk.Label(master, text="收益:")
        self.profit_label.grid(row=3, column=0, sticky=tk.W)
        self.profit_entry = tk.Entry(master)
        self.profit_entry.grid(row=3, column=1)

        self.result_label = tk.Label(master, text="")
        self.result_label.grid(row=4, column=0, columnspan=2)

        # 创建计算按钮
        self.calculate_button = tk.Button(master, text="计算", command=self.calculate_rate)
        self.calculate_button.grid(row=5, column=0, columnspan=2)

    def calculate_rate(self):
        # 获取输入值
        buy_date_str = self.buy_date_entry.get()
        buy_amount_str = self.buy_amount_entry.get()
        current_date_str = self.current_date_entry.get()
        profit_str = self.profit_entry.get()

        # 将日期字符串转换为日期对象
        buy_date = datetime.strptime(buy_date_str, "%Y-%m-%d")
        current_date = datetime.strptime(current_date_str, "%Y-%m-%d")

        # 计算持有天数和年化收益率
        hold_days = (current_date - buy_date).days
        buy_amount = float(buy_amount_str)
        profit = float(profit_str)
        annual_rate = (profit / buy_amount) / (hold_days / 365) * 100

        # 显示结果
        self.result_label.config(text="年化利率为:{:.2f}%".format(annual_rate))

# 创建主窗口并运行
root = tk.Tk()
root.resizable(width=0, height=0)
my_calculator = RateCalculator(root)
root.mainloop()

界面如图,按要求输入买入日期,买入金额,当前日期和当前总收益,点击计算就会得到年化利率

代码及打包好的可运行的exe文件,可以在这下载python基于Tkinter库的年化利率计算器-Python文档类资源-CSDN文库

猜你喜欢

转载自blog.csdn.net/qq_42276781/article/details/129204049