亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Python的兩項(xiàng)直達(dá)延期政策審計(jì)算法研究

        2021-10-30 11:52:24掌孝政
        中國內(nèi)部審計(jì) 2021年10期
        關(guān)鍵詞:商業(yè)銀行

        掌孝政

        [摘要]兩項(xiàng)直達(dá)延期政策審計(jì)需將審計(jì)期間商業(yè)銀行全部的貸款臺賬、商業(yè)銀行上報(bào)人民銀行領(lǐng)取補(bǔ)貼的臺賬進(jìn)行比對分析,由于審計(jì)數(shù)據(jù)量非常龐大、審計(jì)模型非常復(fù)雜,傳統(tǒng)的手工抽樣方式難以實(shí)現(xiàn)審計(jì)全覆蓋,存在審計(jì)風(fēng)險(xiǎn)。引入Python可以更好地解決兩項(xiàng)直達(dá)延期政策審計(jì)的問題。本文針對兩項(xiàng)直達(dá)延期政策審計(jì)的算法進(jìn)行了深入研究。延期政策包括展期、無還本續(xù)貸、借新還舊、三個(gè)工作日還舊借新等多種模型,在編寫代碼的時(shí)候要綜合考慮每種模型的特點(diǎn)。

        [關(guān)鍵詞]兩項(xiàng)直達(dá)貨幣政策工具? ?Python

        了加大金融對實(shí)體經(jīng)濟(jì)的支持、幫助小微企

        業(yè)渡過難關(guān),2020年6月1日,中國人民銀行推出了兩項(xiàng)直達(dá)貨幣政策。如何監(jiān)督商業(yè)銀行在兩項(xiàng)直達(dá)延期政策中的執(zhí)行情況成為新的審計(jì)難點(diǎn)。本文以人民銀行對***商業(yè)銀行兩項(xiàng)直達(dá)政策審計(jì)項(xiàng)目的實(shí)例,從數(shù)據(jù)準(zhǔn)備、代碼解析、輸出結(jié)果分析三個(gè)方面詳細(xì)闡述延期政策的審計(jì)方法。人民銀行審計(jì)部門可以通過數(shù)據(jù)比對分析監(jiān)督商業(yè)銀行在兩項(xiàng)直達(dá)政策中的執(zhí)行情況,商業(yè)銀行也可以通過代碼篩選出貸款臺賬中符合延期政策的貸款,具有較高的實(shí)用價(jià)值。

        一、數(shù)據(jù)準(zhǔn)備

        (一)被審計(jì)商業(yè)銀行的貸款臺賬

        兩項(xiàng)直達(dá)延期政策要求貸款的到期日期要大于等于2020年6月1日,而一般的銀行貸款年限為1—2年。所以,在審計(jì)中需要調(diào)取商業(yè)銀行貸款發(fā)放日期為2018年6月1日至審計(jì)日的所有貸款臺賬(以下簡稱大臺賬)。調(diào)取大臺賬的要素主要包括個(gè)人(企業(yè))的“證件號碼”“客戶名稱”“貸款金額”“貸款發(fā)放日期”“貸款到期日期”“貸款結(jié)清日期”“利率”“自助循環(huán)貸款標(biāo)識”“貸款產(chǎn)品名稱”“貸款用途”“逾期貸款標(biāo)識”“展期貸款標(biāo)識”等。大臺賬的格式如表1所示。

        (二)商業(yè)銀行上報(bào)人民銀行的臺賬

        商業(yè)銀行上報(bào)人民銀行的臺賬(以下簡稱小臺賬)是商業(yè)銀行領(lǐng)取延期政策獎勵的主要依據(jù),其格式如表2所示。

        二、代碼解析

        (一)數(shù)據(jù)預(yù)處理

        引入需要使用的Python庫函數(shù),代碼如下:

        import os

        import pandas as pd

        import numpy as np

        import datetime

        from datetime import datetime

        from chinese_calendar import is_holiday

        1.大臺賬數(shù)據(jù)預(yù)處理。首先,導(dǎo)入大臺賬,以變量df_nsls_yq進(jìn)行存儲。代碼如下:

        df_nsls_yq = pd.read_excel(r'201901-202106臺賬.xlsx')

        其次,通過strptime()函數(shù)將“貸款發(fā)放日期”“貸款到期日期”“貸款結(jié)清日期”轉(zhuǎn)換成可以計(jì)算的日期格式。這里要用到Python的datetime函數(shù),代碼如下:

        list1 = []

        for i in df_nsls_yq['貸款發(fā)放日期']:

        a = datetime.strptime(str(i),'%Y%m%d')

        list1.append(a)

        df_nsls_yq['貸款發(fā)放日期'] = list1

        list1 = []

        for i in df_nsls_yq['貸款到期日期']:

        a = datetime.strptime(str(i),'%Y%m%d')

        list1.append(a)

        df_nsls_yq['貸款到期日期'] = list1

        其中%Y%m%d是大臺賬中日期(如20190806)的原始格式(見表1),如果日期格式是2019-08-06,則需要改為%Y-%m-%d,格式要保持一致。這里的Y代表年,m代表月,d代表日。

        而“貸款結(jié)清日期”由于存在未結(jié)清貸款的數(shù)據(jù)是空白的情況,將需要空白的地方進(jìn)行填充,以方便后續(xù)進(jìn)行計(jì)算。代碼如下:

        dt2030 = datetime(2030, 1, 1, 0, 0)

        list1 = []

        for i in df_nsls_yq['貸款結(jié)清日期']:

        if len(str(i)) < 5:

        a = dt2030

        list1.append(a)

        else:

        b = datetime.strptime(str(i),'%Y%m%d')

        list1.append(b)

        df_nsls_yq['貸款結(jié)清日期'] = list1

        最后,檢查一下“貸款金額”是否為浮點(diǎn)型(float)數(shù)據(jù),如果是字符型(str)數(shù)據(jù)則需要轉(zhuǎn)換為浮點(diǎn)型數(shù)據(jù)。經(jīng)過處理后的大臺賬格式如表3所示。

        2.小臺賬的數(shù)據(jù)預(yù)處理。因?yàn)樯虡I(yè)銀行一般是按月進(jìn)行統(tǒng)計(jì),而小臺賬的數(shù)據(jù)格式是一致的,這里可以通過代碼將所有的小臺賬數(shù)據(jù)表格進(jìn)行合并,代碼如下所示:

        path = r'D:\小臺賬'

        files = os.listdir(path)

        list1 = []

        for i in files:

        df1 = pd.read_excel(i)

        list1.append(df1)

        df_yq = pd.concat(list1)

        將所有的小臺賬數(shù)據(jù)存放于D盤“小臺賬”這個(gè)文件夾中,方便進(jìn)行提取合并。

        最后檢查一下“延期本金”是否為浮點(diǎn)型(float)數(shù)據(jù),如果是字符型(str)數(shù)據(jù)則需要轉(zhuǎn)換為浮點(diǎn)型數(shù)據(jù)。

        (二)數(shù)據(jù)比對及存儲

        數(shù)據(jù)預(yù)處理完成以后,就可以進(jìn)行比對了。這里以許*的貸款臺賬為例,分為5個(gè)步驟進(jìn)行詳細(xì)說明。

        1.通過小臺賬中的“客戶名稱”,查找大臺賬中對應(yīng)名稱的所有貸款臺賬,代碼如下:

        dt202006 = datetime(2020, 6, 1, 0, 0)

        list_name = list(df_yq['企業(yè)名稱'])

        list_name = list(set(list_name))

        for k in list_name:

        df1 = df_nsls_yq[df_nsls_yq['客戶名稱'] == k]

        當(dāng)客戶名稱為許*時(shí),變量df1的數(shù)據(jù)如表4所示。

        通過臺賬中的“證件號碼”可以看出,“客戶名稱”為“許*”共有四個(gè)重名,證件號碼的尾號分別為14、31、32、36。

        2.計(jì)算許*貸款臺賬中符合展期條件的貸款金額,代碼如下:

        df33 = df1[df1['是否展期'] == '展期']

        df44 = df33[df33['自助'] != '自助放款']

        df55 = df44[df44['貸款到期日期'] >= dt202006]

        m_zq = sum(df55['貸款金額'])

        通過表4的臺賬可以看出,許*沒有展期貸款,所以變量m_zq等于初始值0。

        3.根據(jù)表4中的“證件號碼”對許*貸款臺賬進(jìn)行分類提取,代碼如下:

        df1 = df1[(df1['是否展期'] == '展期') | (df1['貸款到期日期'] >= dt202006)]

        df2 = df_yq[df_yq['企業(yè)名稱'] == k]

        a = sum(df2['延期本金'])*10000

        if len(df1) == 0:

        listn.append(df2)

        else:

        listzj = list(df1['證件號碼'])

        listzj = list(set(listzj))

        for x in listzj:

        dfx = df1[df1['證件號碼'] == x]

        dfx = dfx.reset_index(drop = True)

        4.分別計(jì)算每個(gè)證件號碼對應(yīng)的貸款臺賬中符合借新還舊、三個(gè)工作日還舊借新條件的金額,并將金額進(jìn)行相加,代碼如下:

        for i in range(0,len(dfx)):

        s = dfx['貸款發(fā)放日期'][i]

        z = dfx['自助'][i]

        for j in range(0,len(dfx)):

        e = dfx['貸款結(jié)清日期'][j]

        e1 = e + datetime.timedelta(days=1)

        e2 = e + datetime.timedelta(days=2)

        e3 = e + datetime.timedelta(days=3)

        e_0 = False

        e_1 = False

        e_2 = False

        e_3 = False

        if e != dt2030:

        e_0 = is_holiday(e)

        e_1 = is_holiday(e1)

        e_2 = is_holiday(e2)

        e_3 = is_holiday(e3)

        w = dfx['貸款結(jié)清日期'][j].weekday()

        c = (s -e).days

        if i != j:

        if e_0 == True or e_1 == True or e_2 == True or e_3 == True:

        if e_0 == True:

        h = 1

        bool_h =1

        while bool_h:

        bool_h = is_holiday(e + datetime.timedelta(days=h))

        h = h+1

        h = h - 1

        else:

        if e_1 == True:

        h = 1

        bool_h =1

        while bool_h:

        bool_h = is_holiday(e1 + datetime.timedelta(days=h))

        h = h+1

        else:

        if e_2 == True:

        h = 1

        bool_h =1

        while bool_h:

        bool_h = is_holiday(e2 + datetime.timedelta(days=h))

        h = h+1

        else:

        if e_3 == True:

        h = 1

        bool_h =1

        while bool_h:

        bool_h = is_holiday(e3 + datetime.timedelta(days=h))

        h = h+1

        if c <= (3+h) and c >= 0 and z != '自助放款':

        list1.append(i)

        list1.append(j)

        list2.append(e)

        list3.append(i)

        list4.append(j)

        else:

        if w == 6 or w == 0 or w == 1:

        if c <= 3 and c >= 0 and z != '自助放款':

        list1.append(i)

        list1.append(j)

        list2.append(e)

        list3.append(i)

        list4.append(j)

        elif w == 2 or w == 3 or w == 4:

        if c <= 5 and c >= 0 and z != '自助放款':

        list1.append(i)

        list1.append(j)

        list2.append(e)

        list3.append(i)

        list4.append(j)

        elif w == 5:

        if c <= 4 and c >= 0 and z != '自助放款':

        list1.append(i)

        list1.append(j)

        list2.append(e)

        list3.append(i)

        list4.append(j)

        same = [x for x in list3 if x in list4]

        same = list(set(same))

        if len(same) > 0:

        dfs = dfx.loc[same]

        same_m = sum(dfs['貸款金額'])

        list1 = list(set(list1))

        df11 = dfx.loc[list1]

        if len(df11) > 0:

        df11 = df11.reset_index(drop = True)

        for i in range(0,len(df11)):

        if df11['貸款結(jié)清日期'][i] in list2:

        list11.append(df11['貸款金額'][i])

        else:

        list22.append(df11['貸款金額'][i])

        m1 = sum(list11)

        m2 = sum(list22)+same_m

        mm = min(m1,m2)

        m = m + mm

        m = m + m_zq

        這里的核心代碼主要是三個(gè)工作日還舊借新,在計(jì)算三個(gè)工作日時(shí),要考慮到星期六、星期日和公共節(jié)假日等情況。首先,通過chinese_calendar庫中的is_holiday()函數(shù),判斷貸款結(jié)清日期與貸款發(fā)放日期之間是否存在公共節(jié)假日,若存在,則需要在“貸款發(fā)放日期”減去“貸款結(jié)清日期”差值的基礎(chǔ)上剔除公共節(jié)假日的天數(shù);其次,通過weekday()函數(shù)判斷貸款結(jié)清日期與貸款發(fā)放日期之間是否存在星期六、星期日,若存在,則需要在“貸款發(fā)放日期”減去“貸款結(jié)清日期”差值的基礎(chǔ)上剔除星期六、星期日的天數(shù)。

        5.將變量m的值與表2上報(bào)人民銀行許*的總金額96萬元進(jìn)行比對,查看金額是否一致。若上報(bào)人民銀行的金額小于或等于符合延期政策的金額,則提取出對應(yīng)“客戶名稱”的大臺賬;若上報(bào)人民銀行的金額大于符合延期政策的金額,則提取出對應(yīng)“客戶名稱”的小臺賬,代碼如下:

        if m >= a:

        listy.append(df11)

        listy.append(df33)

        else:

        listn.append(df2)

        if len (listy) > 0:

        dfy = pd.concat(listy)

        dfy.to_excel('比中臺賬.xls')

        if len(listn) > 0:

        dfn = pd.concat(listn)

        dfn.to_excel('未比中臺賬.xls')

        證件號碼的尾號為14、31的兩個(gè)貸款臺賬符合延期政策,經(jīng)過程序計(jì)算,變量m的值為960,000。與表2上報(bào)人民銀行許*的總金額96萬元進(jìn)行比對,發(fā)現(xiàn)完全一致。存儲為大臺賬格式,如表5所示。

        三、輸出結(jié)果分析

        通過上述代碼對***商業(yè)銀行的37萬余條大臺賬數(shù)據(jù)、4000余條小臺賬數(shù)據(jù)進(jìn)行比對篩選,最終導(dǎo)出比中臺賬與未比中臺賬,并對輸出的結(jié)果進(jìn)行分析。

        (一)比中臺賬分析

        比中臺賬為大臺賬格式,通過Excel的篩選功能查看比中的臺賬是否存在逾期(不良)貸款、消費(fèi)類貸款。

        根據(jù)兩項(xiàng)直達(dá)政策的規(guī)定,逾期(不良)貸款、消費(fèi)類貸款不能領(lǐng)取補(bǔ)貼。通過篩選,發(fā)現(xiàn)所有比中的臺賬不存在逾期貸款、消費(fèi)類貸款。

        (二)未比中臺賬分析

        未比中臺賬為小臺賬格式,將未比中臺賬中的客戶名稱逐一代入大臺賬,分析未比中原因。

        共有兩個(gè)客戶的臺賬未比中,分別是董**,王**。結(jié)合董**與王**的大小臺賬數(shù)據(jù)進(jìn)行分析,未比中的原因如下。

        1.多報(bào)金額。從董**的大臺賬可以看出,董**符合延期政策的貸款金額為308萬元(如表6所示),而上報(bào)人民銀行的臺賬為520萬元,多報(bào)了212萬元(如表7所示)。

        2.結(jié)清與發(fā)放日期不符合三個(gè)工作日換舊借新。從王**的大臺賬可以看出(如表8所示),王**的貸款結(jié)清日期與貸款發(fā)放日期不符合三個(gè)工作日換舊借新,沒有符合延期政策的貸款,而上報(bào)人民銀行的臺賬為60萬元,多報(bào)了60萬元(如表9所示)。

        四、總結(jié)

        兩項(xiàng)直達(dá)延期政策審計(jì)涉及的審計(jì)數(shù)據(jù)量龐大、審計(jì)模型復(fù)雜,以文中***商業(yè)銀行的審計(jì)項(xiàng)目為例,傳統(tǒng)的審計(jì)方法只能通過人工方式對小臺賬進(jìn)行逐一核實(shí)。經(jīng)過測算,核實(shí)一條臺賬的平均時(shí)間大約為2分鐘,假設(shè)審計(jì)人員每天工作8小時(shí),需要16天的時(shí)間才能完成。在實(shí)際的審計(jì)項(xiàng)目中,往往只能通過抽查的方式進(jìn)行審計(jì)。而通過Python進(jìn)行處理,可以實(shí)現(xiàn)審計(jì)的全覆蓋,1個(gè)小時(shí)以內(nèi)即可完成核實(shí)工作,極大地縮減了審計(jì)時(shí)間,提升了審計(jì)結(jié)果的準(zhǔn)確性。

        兩項(xiàng)直達(dá)延期政策的原始數(shù)據(jù)是商業(yè)銀行的貸款臺賬,其數(shù)據(jù)比較規(guī)整、格式基本一致,非常適合運(yùn)用Python進(jìn)行數(shù)據(jù)分析。在本次審計(jì)分析完成后,可以將代碼進(jìn)行保存,在下一次兩項(xiàng)直達(dá)延期政策審計(jì)中稍加修改就可以直接使用,有著極高的可延續(xù)性和可重復(fù)性。

        (作者單位:中國人民銀行連云港市中心支行,郵政編碼:222000,電子郵箱:271769150@qq.com)

        猜你喜歡
        商業(yè)銀行
        商業(yè)銀行資金管理的探索與思考
        支付機(jī)構(gòu)與商業(yè)銀行迎來發(fā)展新契機(jī)
        中國外匯(2019年10期)2019-08-27 01:58:00
        “商業(yè)銀行應(yīng)主動融入人民幣國際化進(jìn)程”
        中國外匯(2019年8期)2019-07-13 06:01:26
        基于因子分析法國內(nèi)上市商業(yè)銀行績效評
        關(guān)于建立以風(fēng)險(xiǎn)管理為導(dǎo)向的商業(yè)銀行內(nèi)部控制的思考
        關(guān)于加強(qiáng)控制商業(yè)銀行不良貸款探討
        國有商業(yè)銀行金融風(fēng)險(xiǎn)防范策略
        我國商業(yè)銀行海外并購績效的實(shí)證研究
        我國商業(yè)銀行風(fēng)險(xiǎn)管理研究
        發(fā)達(dá)國家商業(yè)銀行操作風(fēng)險(xiǎn)管理的經(jīng)驗(yàn)借鑒
        69堂在线无码视频2020| 欧美性xxxx极品高清| 国内精品人妻无码久久久影院导航| 日本一区不卡在线| 亚洲国产精品ⅴa在线观看| 日韩av精品国产av精品| 国产最新在线视频| 免费观看在线视频一区| 很黄很色的女同视频一区二区| 日本无码欧美一区精品久久| 亚洲丁香五月激情综合| 亚洲第一区二区快射影院| 少妇人妻无一区二区三区| 99麻豆久久久国产精品免费| 亚洲精品一区国产欧美| 正在播放国产对白孕妇作爱| 免费在线观看一区二区| 国产精品一二三区亚洲| 岛国av无码免费无禁网站| 久久久久亚洲av无码观看| 人人爽亚洲aⅴ人人爽av人人片 | 亚洲熟妇av一区二区在线观看| 国产成人无码18禁午夜福利p| 国产一在线精品一区在线观看| 久久精品国产一区二区蜜芽| 精品日本免费观看一区二区三区 | 青青草成人在线免费视频| 国产又黄又爽又色的免费| 久久精品国产91久久性色tv| 亚洲一区二区一区二区免费视频| 26uuu在线亚洲欧美| 台湾佬自拍偷区亚洲综合| 中文字幕久久久久久久系列| 美女被黑人巨大入侵的的视频| 欧美亚洲日本国产综合在线美利坚 | 色欲AV无码久久精品有码| 开心五月激情五月天天五月五月天 | 国产操逼视频| 美女超薄透明丝袜美腿| 今井夏帆在线中文字幕| 成人精品视频一区二区|