• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    鐵路資金管理系統(tǒng)中利息計(jì)算算法的設(shè)計(jì)與實(shí)現(xiàn)

    2016-02-15 09:57:04
    關(guān)鍵詞:計(jì)息本金利息

    吳 寧

    (中國(guó)鐵路信息技術(shù)中心,北京 100844)

    鐵路資金管理系統(tǒng)中利息計(jì)算算法的設(shè)計(jì)與實(shí)現(xiàn)

    吳 寧

    (中國(guó)鐵路信息技術(shù)中心,北京 100844)

    針對(duì)現(xiàn)有鐵路資金管理籌投資系統(tǒng)中利息計(jì)算不準(zhǔn)確的問(wèn)題,本文在利息手工計(jì)算方法的基礎(chǔ)上,優(yōu)化并詳細(xì)介紹了涵蓋各種利息計(jì)算場(chǎng)景的一套綜合算法,主要包括算法原理、算法設(shè)計(jì)和實(shí)現(xiàn)。經(jīng)過(guò)大量真實(shí)財(cái)務(wù)數(shù)據(jù)的驗(yàn)證測(cè)試,新的利息結(jié)付功能模塊能夠得到準(zhǔn)確的計(jì)息數(shù)據(jù)。

    籌資;算法;利息

    隨著鐵路建設(shè)發(fā)展,各類(lèi)在建、運(yùn)營(yíng)項(xiàng)目的資金管理變得日益重要。具體來(lái)講,資金管理主要包括對(duì)外籌資/投資、對(duì)內(nèi)資金調(diào)劑、資金結(jié)算等活動(dòng)。其中,籌/投資管理主要包括資金提款、資金還款及利息結(jié)付3個(gè)方面。由于算法漏洞,當(dāng)前籌投資系統(tǒng)中的利息結(jié)付模塊始終存在計(jì)算結(jié)果不準(zhǔn)確的問(wèn)題,為了從繁重的人工計(jì)息勞動(dòng)中解放出來(lái),業(yè)務(wù)部門(mén)迫切需要對(duì)利息結(jié)付模塊進(jìn)行重構(gòu)。

    1 需求分析

    1.1 業(yè)務(wù)需求分析

    對(duì)鐵路項(xiàng)目資金籌集業(yè)務(wù)的管理是以對(duì)籌資合同的簽訂和履行為管理標(biāo)的,依據(jù)籌資合同約定的日期和金額,執(zhí)行實(shí)際的本金提款和本金還款業(yè)務(wù);同時(shí),資金籌集部門(mén)需在合同期內(nèi)每個(gè)約定的結(jié)息日期,針對(duì)實(shí)際持有本金進(jìn)行計(jì)息、付息。本文所述利息計(jì)息算法即是完成在特定結(jié)息日期,每個(gè)籌資合同應(yīng)付的當(dāng)期利息數(shù)額的計(jì)算。

    1.2 算法要素分析

    準(zhǔn)確、便捷地獲得利息計(jì)算結(jié)果,需要從利息計(jì)算關(guān)鍵要素及其關(guān)聯(lián)入手。

    當(dāng)期應(yīng)結(jié)利息 = 結(jié)算區(qū)間×本金×利率

    結(jié)息區(qū)間:其取值完全取決于籌資合同指定的結(jié)息日期或方式,通常有按季結(jié)息、按年結(jié)息等,結(jié)息區(qū)間與當(dāng)期應(yīng)結(jié)利息可視為簡(jiǎn)單的正比例關(guān)系。

    本金:當(dāng)期應(yīng)結(jié)利息除了與結(jié)息區(qū)間首日的歷史提款余額有關(guān),還與結(jié)息區(qū)間期間是否發(fā)生提還款及其金額有關(guān)。同時(shí),提還款具體發(fā)生的日期也會(huì)影響當(dāng)期應(yīng)結(jié)利息的計(jì)算結(jié)果。

    利率:利率的取值首先取決于央行在合同期內(nèi)有效的基準(zhǔn)利率以及籌資合同內(nèi)約定的利息計(jì)算選用何種基準(zhǔn)利率,如3年定期、5年定期等;其次取決于在央行基準(zhǔn)利率發(fā)生調(diào)整時(shí),合同約定的利率調(diào)整方式,如隨央行調(diào)整,還是在固定的一個(gè)或幾個(gè)日期調(diào)整;最后,對(duì)于浮動(dòng)利率計(jì)息,還要考慮其具體浮動(dòng)方式,如按百分比浮動(dòng),還是按點(diǎn)數(shù)浮動(dòng)。

    由此可見(jiàn),如果按照影響利息計(jì)算結(jié)果的各關(guān)鍵要素進(jìn)行排列組合的話,將會(huì)有多達(dá)數(shù)百種利息計(jì)算場(chǎng)景和對(duì)應(yīng)算法。在實(shí)際的項(xiàng)目開(kāi)發(fā)中,這會(huì)造成大量冗余代碼和項(xiàng)目延期,為日后的項(xiàng)目維護(hù)升級(jí)也帶來(lái)隱患。

    2 算法設(shè)計(jì)

    2.1 算法原理

    利息算法通過(guò)將結(jié)息區(qū)間層層細(xì)分,直至利息計(jì)算中的各關(guān)鍵要素為定量,再據(jù)此給出涵蓋全部利息場(chǎng)景的綜合算法,算法設(shè)計(jì)原理如圖1所示。

    圖1 利息計(jì)算算法設(shè)計(jì)原理圖

    結(jié)息區(qū)間由兩個(gè)日期,即區(qū)間兩端的日期確定,該日期由合同約定,一般具有約定俗成的規(guī)律性。如合同約定按季結(jié)息,則每年有4次結(jié)息,結(jié)息區(qū)間分別為每年的12月21日~3月20日、3月21日~6月20日、6月21日~9月20日、9月21日~12月20日;在確定的結(jié)息區(qū)間內(nèi),利率未必確定,如果央行利率發(fā)生調(diào)整,還要依據(jù)合同約定的調(diào)整方式和日期,進(jìn)一步將結(jié)息區(qū)間細(xì)分為利率區(qū)間,在利率區(qū)間內(nèi)利率是固定不變的;但在利率確定的區(qū)間如果發(fā)生提還款業(yè)務(wù),則計(jì)息本金金額會(huì)發(fā)生變化,因此需依據(jù)提還款日期將利率區(qū)間進(jìn)一步細(xì)分為提款區(qū)間和還款區(qū)間,在這些提/還款區(qū)間及首日本金余額區(qū)間內(nèi),諸如本金、利率和區(qū)間起止日期,這些基本的利息計(jì)算要素都是確定已知的。

    2.2 算法比較

    本文提出對(duì)任一結(jié)息區(qū)間計(jì)算利息優(yōu)化算法:

    傳統(tǒng)手工計(jì)算任一結(jié)息區(qū)間利息的算法:

    傳統(tǒng)算法以提款/還款發(fā)生的日期作為劃分每個(gè)利息塊 k 分界,含頭不含尾。在計(jì)算每個(gè)利息塊 k 時(shí):(1)都要通過(guò)利率區(qū)間首日本金余額加/減本利息塊k首日及首日之前發(fā)生的所有提款/還款金額,以獲得該利息塊 k 的計(jì)息本金金額,這就需要頻繁訪問(wèn)數(shù)據(jù)庫(kù)內(nèi)的提還款數(shù)據(jù),或者開(kāi)辟緩沖內(nèi)存保存本利息塊首末日期間發(fā)生的提還款數(shù)據(jù),用以該利息塊 k 計(jì)算利息時(shí)循環(huán)調(diào)用;(2)利息塊k的計(jì)息起止日期也要通過(guò)頻繁循環(huán)訪問(wèn)數(shù)據(jù)庫(kù)內(nèi)提款/還款日期來(lái)獲得。即在計(jì)算每個(gè)利息塊時(shí),本金金額和起止日期都要重新計(jì)算、更新。

    相對(duì)于傳統(tǒng)算法每個(gè)利息塊 k 利息的計(jì)算都要頻繁計(jì)算更新利息要素參數(shù)相反,本文所提算法,每個(gè)計(jì)息區(qū)間的要素參數(shù)可通過(guò)對(duì)數(shù)據(jù)庫(kù)內(nèi)基本數(shù)據(jù)直接提取應(yīng)用,無(wú)需二次轉(zhuǎn)化計(jì)算和邏輯判斷控制,就可進(jìn)行利息計(jì)算。例如:所有計(jì)息區(qū)間的末日相同,直接采用利率區(qū)間的末日,即利率調(diào)整日;計(jì)息的首日則分別直接采用利率區(qū)間首日、提款日或還款日。所有計(jì)息區(qū)間的本金金額的計(jì)算,除首日本金余額區(qū)間的本金余額需要提取庫(kù)內(nèi)區(qū)間首日之前的提還款數(shù)據(jù)計(jì)算獲得,其他計(jì)息區(qū)間的本金金額直接采用提款、還款金額即可。作為基本的利息計(jì)算要素,這些都是籌投資合同數(shù)據(jù)庫(kù)內(nèi)已有的基本數(shù)據(jù)。連同利率調(diào)整方式、一年天數(shù)等其他利息計(jì)算要素,都以籌資合同號(hào)為關(guān)鍵字保存在數(shù)據(jù)庫(kù)內(nèi)。直接提取庫(kù)內(nèi)已有數(shù)據(jù),極大地簡(jiǎn)化了算法的邏輯難度。

    2.3 算法設(shè)計(jì)與實(shí)現(xiàn)難點(diǎn)

    2.3.1 算法設(shè)計(jì)

    按照利息計(jì)算中結(jié)息區(qū)間的細(xì)分過(guò)程,本文算法設(shè)計(jì)了5個(gè)功能模塊,逐層調(diào)用下層模塊并傳遞已經(jīng)確定的利息計(jì)算要素參數(shù),底層模塊借以計(jì)算最小提/還款區(qū)間的應(yīng)結(jié)利息并對(duì)這些計(jì)息區(qū)間的應(yīng)結(jié)利息累加求和,獲得對(duì)應(yīng)利率區(qū)間的應(yīng)結(jié)利息,進(jìn)一步對(duì)利率區(qū)間的應(yīng)結(jié)利息累加求和,即可獲得當(dāng)期結(jié)息區(qū)間的應(yīng)結(jié)利息,向頂層模塊返回利息計(jì)算結(jié)果。利息計(jì)算算法流程如2所示。

    圖2 利息計(jì)算算法流程框圖

    2.3.2 算法實(shí)現(xiàn)難點(diǎn)

    計(jì)息區(qū)間年化的算法:每個(gè)計(jì)息區(qū)間由首末日期確定,要根據(jù)年利率計(jì)算利息,還要將該區(qū)間折算成“年”。目前,業(yè)務(wù)上普遍有兩種年化方法:積數(shù)計(jì)息法和逐筆計(jì)息法。積數(shù)計(jì)息相對(duì)簡(jiǎn)單,計(jì)息區(qū)間年化值 = 實(shí)際包含天數(shù)/合同約定的一年天數(shù);逐筆計(jì)息采用業(yè)內(nèi)約定俗成的滿月按月的規(guī)則進(jìn)行年化,例如,計(jì)息區(qū)間始末日期為3月30日和6月20日,則滿月為3月30日~4月29日~5月29日,共計(jì)2個(gè)月,天數(shù)為5月30日~6月20日,共計(jì)22天。因此,年化值 = 2/12+22/約定一年天數(shù)。

    由于在實(shí)際業(yè)務(wù)中,存在計(jì)息區(qū)間的起止日期并非完全具有規(guī)律性、每月實(shí)際天數(shù)有差異以及計(jì)息區(qū)間跨年等多種可能,因此在區(qū)間年化的算法實(shí)現(xiàn)上要全面考慮各種特殊情況。另外,依據(jù)本文利息算法,每個(gè)計(jì)息區(qū)間從有效本金發(fā)生日開(kāi)始,截止日相同,再根據(jù)發(fā)生金額是提款,還是還款相應(yīng)進(jìn)行利息累加或累減,即先進(jìn)再退;而傳統(tǒng)算法的每個(gè)計(jì)息區(qū)間則是從本金變化日開(kāi)始,截止日為下一個(gè)本金變化日,而后進(jìn)行利息累加,即逐步前進(jìn)。本文算法在簡(jiǎn)化的同時(shí),也會(huì)造成年化值計(jì)算結(jié)果與傳統(tǒng)手工算法的年化值結(jié)果發(fā)生偏差。因此,在區(qū)間年化算法上也要考慮這種情況,予以更正。

    2.4 算法實(shí)現(xiàn)

    為了與既有資金管理系統(tǒng)更好地集成,本文算法在J2EE平臺(tái)上采用 Struts開(kāi)發(fā)框架實(shí)現(xiàn),開(kāi)發(fā)環(huán)境采用Myeclipse 8.5 + JDK 1.6 + Java。 前臺(tái)采用B/S模式訪問(wèn),用戶只需要輸入合同號(hào),算法即可利用該借款合同在庫(kù)內(nèi)已有的要素?cái)?shù)據(jù),計(jì)算并返回當(dāng)期應(yīng)結(jié)利息。數(shù)據(jù)庫(kù)采用Oracle 10g,在現(xiàn)有數(shù)據(jù)庫(kù)基礎(chǔ)上,新建相關(guān)數(shù)據(jù)表,并維護(hù)央行基準(zhǔn)利率等初始數(shù)據(jù),為算法的運(yùn)行建立基本的數(shù)據(jù)環(huán)境。

    3 結(jié)束語(yǔ)

    項(xiàng)目發(fā)布前,針對(duì)業(yè)務(wù)部門(mén)提供的數(shù)百個(gè)真實(shí)籌資合同的財(cái)務(wù)數(shù)據(jù),進(jìn)行了全面的測(cè)試。合同涵蓋了固定利率合同、浮動(dòng)利率合同中各種典型的利息計(jì)算場(chǎng)景,重點(diǎn)測(cè)試了浮動(dòng)利率合同中利率隨央行實(shí)時(shí)調(diào)整和利率在每年中指定的若干個(gè)日期調(diào)整兩種情況。本文算法的利息計(jì)算結(jié)果與實(shí)際財(cái)務(wù)付息數(shù)據(jù)完全一致,滿足了實(shí)際應(yīng)用的要求。相關(guān)細(xì)節(jié)功能還需要在投入使用的過(guò)程中進(jìn)一步細(xì)化完善。

    [1] 程 杰.大話設(shè)計(jì)模式[M].北京:清華大學(xué)出版社,2009.

    [2] 楊春暉.系統(tǒng)架構(gòu)設(shè)計(jì)師[M].北京:清華大學(xué)出版社,2012.

    [3] 石連運(yùn).新編企業(yè)財(cái)務(wù)管理[M].濟(jì)南: 山東大學(xué)出版社,1996.

    [4] 鐵道部資金清算中心.資金管理系統(tǒng)操作說(shuō)明書(shū)[S].北京:鐵道部資金清算中心,2006.

    責(zé)任編輯 徐侃春

    Interest computing algorithm in Railway Capital Management System

    WU Ning
    ( China Railway Information Technology Center,Beijing 100844,China)

    Aimed at the incorrect problem for the interest computing in the present Railway Capital Management System,this article put forward a comprehensive interest computing algorithm based on manual interest computing manner which could include nearly all kinds of interest computing occasions,given detail description on the principle,the design and implementation of the algorithm.After being tested and verifed by large amounts of factual accountant data,the new interest computing function module could be used to get absolutely accurate interest payment result.

    fund raise;algorithm;interest

    U29∶TP39

    A

    1005-8451(2016)01-0017-03

    2015-04-23

    吳 寧,工程師。

    猜你喜歡
    計(jì)息本金利息
    學(xué)中文
    六大國(guó)有商業(yè)銀行齊發(fā)公告,這類(lèi)存款業(yè)務(wù)清零
    名義利率與實(shí)際利率計(jì)息案例分析
    新生代(2018年21期)2018-10-16 07:48:56
    淺論個(gè)人住房貸款等額本金與等額本息還款方式的優(yōu)劣
    對(duì)貨幣時(shí)間價(jià)值的再認(rèn)識(shí)
    ——年計(jì)息n次的復(fù)利計(jì)息現(xiàn)值計(jì)算探討
    浮世繪
    方圓(2017年5期)2017-03-28 10:32:20
    “計(jì)息規(guī)則”帶來(lái)的利息差異研究
    利息
    幽你一默
    為您省錢(qián)
    ——買(mǎi)房還息的小技巧
    稻城县| 连城县| 天台县| 永安市| 苏州市| 原平市| 浏阳市| 周宁县| 潼南县| 灌南县| 银川市| 石首市| 郯城县| 棋牌| 个旧市| 武功县| 铜陵市| 那曲县| 天镇县| 开江县| 和龙市| 涟水县| 独山县| 石林| 卢龙县| 黔西县| 申扎县| 固阳县| 肥东县| 静安区| 乌鲁木齐县| 如皋市| 凤阳县| 黔东| 开远市| 彰化市| 运城市| 漾濞| 通渭县| 故城县| 鹤庆县|