本金乘以利率產生利息,然後就會出現超出精度的小數字,
那麼如何確保銀行對賬能相差最低呢?
數學上又如何稱呼這個問題?
對於這種問題又產生了什麼樣的數學模型,又衍生了什麼樣的問題?
ps:如乙個典型的還貸款問題:
總量是8萬,系統的精度是兩位小數字。
80000(總量) x 0.015(利率) = 1200(利息)。
然後該總量放貸給n個人。
然後客戶還款的時候,出現如下情況:
123.3(借款數) x 0.015 (利率)= 1.8495 (利息)
如果四捨五入的話。使用者還款就是1.85了
這樣的話就多了0.0005 的數量。
如果每乙個客戶的金額都會產生超出系統精度的小數字。
那麼該總量平攤的越多,最後還款的總和會大於1200.
雖然銀行多得到了錢,但這樣是對不上總賬的。
反過來,如果銀行是借客戶這麼多錢呢?那麼銀行需要多掏錢給客戶了。
如果不採取四捨五入呢?
123.3(借款數) x 0.015 (利率)= 1.8495 (利息)
不採取四捨五入,客戶還1.84,少了0.0095.
那麼結果是客戶沒有還夠系統的利息,對賬時,總還款金額會變少。
捨去位的數值小於5時,直接捨去;
捨去位的數值大於等於6時,進製後捨去;
當捨去位的數值等於5時,分兩種情況:5後面還有其他數字(非0),則進製後捨去;若5後面是0(即5是最後一位),則根據5前一位數的奇偶性來判斷是否需要進製,奇數進製,偶數捨去。
這樣如果假設從四捨五入位開始+後兩位:000——999出現的概率是相同的(平均分布)。
(例如0.51元要捨入到0元或1元)
那麼捨去末兩位,銀行所獲得的收益,與進一位,銀行所獲得的損失,總計是相等的。
可以類似把x01——x49與x99——x51的損益相對應,正好相互抵消(x=0,1。。。9)。
剩餘050,150,250。。。950這十個數,逢奇進,逢偶舍。
則050,250。。。850銀行共獲利(捨去)50*5=250
150,350。。。950銀行共損失(進製)50*5=250
這十個數的損益同樣相互抵銷,所以捨去和進製的總損益相加為0。
所以如採用這種捨入方法,銀行理論上總體是不賺不虧的,而傳統的四捨五入,銀行在平均分布的假設下損失是大於收益的。
當然在實際中000——999是否接近平均分布,這是可以進一步討論的。
參考資料:建議25: 不要讓四捨五入虧了一方
捨去位的數值小於5時,直接捨去;
捨去位的數值大於等於6時,進製後捨去;
當捨去位的數值等於5時,分兩種情況:5後面還有其他數字(非0),則進製後捨去;若5後面是0(即5是最後一位),則根據5前一位數的奇偶性來判斷是否需要進製,奇數進製,偶數捨去。
這樣如果假設從四捨五入位開始+後兩位:000——999出現的概率是相同的(平均分布)。
(例如0.51元要捨入到0元或1元)
那麼捨去末兩位,銀行所獲得的收益,與進一位,銀行所獲得的損失,總計是相等的。
可以類似把x01——x49與x99——x51的損益相對應,正好相互抵消(x=0,1。。。9)。
剩餘050,150,250。。。950這十個數,逢奇進,逢偶舍。
則050,250。。。850銀行共獲利(捨去)50*5=250
150,350。。。950銀行共損失(進製)50*5=250
這十個數的損益同樣相互抵銷,所以捨去和進製的總損益相加為0。
所以如採用這種捨入方法,銀行理論上總體是不賺不虧的,而傳統的四捨五入,銀行在平均分布的假設下損失是大於收益的。
當然在實際中000——999是否接近平均分布,這是可以進一步討論的。
參考資料:建議25: 不要讓四捨五入虧了一方
金融和銀行領域一般不用四捨五入,而是用四捨六入五成雙法。
四捨六入好理解,"五成雙"比較繞,如果保留位是5的話,根據5後面的數字來定,當5後有數時,舍5向前入1;當5後無有效數字時,分兩種情況來講:
第一種情況:5前為奇數,舍5入1;
第二種情況:5前為偶數,5捨去不進製(0是偶數)。
編輯於 2019-04-29
銀行會把存款貸款利息按科目分別彙總,但是根本不會算利息和本金的關係,實際上關係也不大,一筆存款存了34天另一筆244天,活期還有本金變動,利率也不一致,貸款利率是需要分別定價的,根本沒法核算本金利息利率的關係。
必要時可以提高精度,當不差不少錢的時候不解決,算一整天不夠電費的呢。關鍵看對誤差的容忍度。
比如我們買肉,零頭抹了。買包子就不能抹。
而且抹了錢也不會憑空消失,乙個人佔了便宜乙個人吃了虧,但是兩個人樂意,就行。
我們只碰到過匯率精度問題,美金換乙個什麼很水的錢的時候,精度用少了,誤差不可接受。改decimal就沒事了。除不盡一般不是問題。
ORACLE如何處理海量資料
當前資料存在的問題 一 資料量過大,資料中什麼情況都可能存在。如果說有10條資料,那麼大不了每條去逐一檢查,如果資料上到千萬級別,甚至過億,那不是手工能解決的了,必須通過工具或者程式進行處理,尤其海量的資料 二 軟硬體要求高,系統資源佔用率高。對海量的資料進行處理,除了好的方法,最重要的就是合理使用...
資料分析 如何處理髒資料
種類 1.通過對資料區間進行限定,排除明顯異常的資料 2.通過系統的內部邏輯結構查詢不符合格式的資料 3.通過建立匹配規則,匹配不統一的資料 通過將資料規範化,將髒資料中合格的部分篩選出來,如 將日期資料2020 01 01規範化,可以篩選出年份 月份 日期 資料之間應該有關聯性,通過相互關聯的資料...
如何處理不平衡資料
過取樣 過擬合 學習到小類別樣本中的雜訊 欠取樣 欠擬合 丟失大類別樣本中的重要資料 找到小類別樣本中的k個近鄰,然後在他們之間的連線上取點,作為新的樣本。缺點 容易過擬合 其與smote的不同是 smote是對每乙個minority樣本產生綜合新樣本,而borderline smote僅對靠近邊界...