计算逾期付款的利息(在多个时间范围内使用不同的百分比)

时间:2019-06-04 17:50:19

标签: python python-3.x math

我需要计算延迟付款的利息。问题在于,在波兰,它被称为法定权益,而且会随着时间的推移而变化(如果百分比与多个日期范围不同,那么百分比会变化)。为了简化计算,我们可以同意每年有365天。

因此,由于存在许多不同的费率,因此我必须以某种方式存储它们,所以我有:

STATUTORY_INTEREST_PERCENT = [
    {
        'start': '09.10.2014',
        # no end value, as its current (so use today date)
        'percent': 8
    },
    {
        'start': '04.07.2013',
        'end': '08.10.2014',
        'percent': 10
    },
    {
        'start': '06.06.2013',
        'end': '03.07.2013',
        'percent': 10.5
    },
    {
        'start': '09.05.2013',
        'end': '05.06.2013',
        'percent': 11
    },
    {
        'start': '07.03.2013',
        'end': '08.05.2013',
        'percent': 11.5
    },
    {
        'start': '07.02.2013',
        'end': '06.03.2013',
        'percent': 12.5
    },
    # stripped many values as there many of them back to 1989...
]

现在,对于给定的日期(付款截止日期)和金额,我需要计算今天(当前日期)的利息价值。

例如,对于付款截止日期06.01.2019和金额2000,应计算:

06.01.2019,04.06.2019,150,8,00%-> 65,75

(截止日期,当前日期,天数,用于检测范围的利率)

所以它很简单(一个范围)。

但是对于日期付款截止日期(例如03.06.2013),它应该使用更多范围,因此计算应类似于:

09.10.2014, 04.06.2019, 1700,   8,00%,  745,21

04.07.2013, 08.10.2014, 462,    10,00%, 253,15

06.06.2013, 03.07.2013, 28,     10,50%, 16,11

03.06.2013, 05.06.2013, 3,      11,00%, 1,81

因此应计算的总利息金额为1016,28

有什么想法如何在Python中快速计算它?

0 个答案:

没有答案