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