摘 要: 針對(duì)銀行機(jī)構(gòu)反洗錢(qián)大額交易中存在的問(wèn)題設(shè)計(jì)了一個(gè)檢錯(cuò)系統(tǒng)。介紹了系統(tǒng)的主要功能和相關(guān)設(shè)計(jì),詳細(xì)分析了系統(tǒng)的數(shù)據(jù)處理技術(shù)。本系統(tǒng)已用于對(duì)銀行機(jī)構(gòu)的反洗錢(qián)檢查中。
關(guān)鍵詞: 反洗錢(qián);大額交易;數(shù)據(jù)處理
隨著2006年新反洗錢(qián)法規(guī)的出臺(tái),各家金融機(jī)構(gòu)紛紛或自行設(shè)計(jì)反洗錢(qián)監(jiān)測(cè)分析報(bào)告系統(tǒng)或購(gòu)買(mǎi)第三方機(jī)構(gòu)的相應(yīng)軟件,以輔助其履行反洗錢(qián)大額交易和可疑交易報(bào)告義務(wù)。在隨后幾年對(duì)多家銀行金融機(jī)構(gòu)的現(xiàn)場(chǎng)檢查中發(fā)現(xiàn)各機(jī)構(gòu)均不同程度地存在大額交易錯(cuò)報(bào)和漏報(bào)情況。究其原因發(fā)現(xiàn)各家機(jī)構(gòu)的大額交易均由系統(tǒng)自動(dòng)采集和報(bào)告,少有人工分析或干預(yù),且各家機(jī)構(gòu)都自認(rèn)為其反洗錢(qián)監(jiān)測(cè)分析報(bào)告系統(tǒng)能夠精確地采集大額交易并及時(shí)上報(bào),不會(huì)主動(dòng)采取措施檢查大額交易錯(cuò)報(bào)和漏報(bào)問(wèn)題,因此大額交易報(bào)告中存在的問(wèn)題也難以被發(fā)現(xiàn)。而銀行業(yè)的大額交易報(bào)告數(shù)量占所有大額交易報(bào)告量的99%以上,為提高大額交易的整體報(bào)告質(zhì)量,需要加強(qiáng)對(duì)銀行大額交易問(wèn)題的監(jiān)督和檢查。為提高相關(guān)檢查的質(zhì)量和效率,本設(shè)計(jì)開(kāi)發(fā)了銀行反洗錢(qián)大額交易檢錯(cuò)系統(tǒng),能夠快速地發(fā)現(xiàn)各銀行機(jī)構(gòu)大額交易存在的錯(cuò)報(bào)和漏報(bào)問(wèn)題。
1 系統(tǒng)功能
銀行反洗錢(qián)大額交易檢錯(cuò)系統(tǒng)能一次性發(fā)現(xiàn)大額交易監(jiān)測(cè)報(bào)告系統(tǒng)存在的所有關(guān)鍵問(wèn)題。系統(tǒng)使用人員可根據(jù)反饋結(jié)果剖析產(chǎn)生問(wèn)題的根源,從而幫助銀行改正其大額交易監(jiān)測(cè)報(bào)告系統(tǒng)中存在的問(wèn)題,減少錯(cuò)報(bào)漏報(bào)的可能。
銀行反洗錢(qián)大額交易檢錯(cuò)系統(tǒng)分為兩個(gè)部分:大額交易錯(cuò)報(bào)檢測(cè)部分和大額交易漏報(bào)檢測(cè)部分。
1.1 大額交易錯(cuò)報(bào)檢測(cè)
大額交易錯(cuò)報(bào)檢測(cè)部分對(duì)已經(jīng)上報(bào)的大額交易報(bào)告按條款進(jìn)行分析,根據(jù)《金融機(jī)構(gòu)大額交易和可疑交易報(bào)告管理辦法》中對(duì)大額交易條款的規(guī)定,查找不符合條款規(guī)定而已上報(bào)的大額交易,標(biāo)記出錯(cuò)報(bào)大額交易記錄和錯(cuò)誤原因。
1.2 大額交易漏報(bào)檢測(cè)
大額交易漏報(bào)檢測(cè)部分對(duì)銀行一段時(shí)間內(nèi)的部分交易數(shù)據(jù)進(jìn)行篩選,分析生成符合各規(guī)定條款的大額交易,再與銀行同時(shí)間已報(bào)送的大額交易進(jìn)行比對(duì),反饋未能報(bào)送(即漏報(bào))的大額交易記錄。
2 系統(tǒng)設(shè)計(jì)
2.1 總體架構(gòu)
銀行反洗錢(qián)大額交易檢錯(cuò)系統(tǒng)存在以下特點(diǎn):
?。?)處理的數(shù)據(jù)量大。根據(jù)銀行大小的不同,采集的銀行一段時(shí)間內(nèi)的交易數(shù)據(jù)一般為幾百萬(wàn)至上千萬(wàn)條不等,大多數(shù)時(shí)候需要系統(tǒng)處理的數(shù)據(jù)量巨大。
?。?)需要一定的響應(yīng)時(shí)速。
?。?)保障數(shù)據(jù)的安全。無(wú)論是銀行已報(bào)的大額交易報(bào)告,還是銀行的業(yè)務(wù)交易數(shù)據(jù),都極其敏感且決不能向外泄露,因此要從數(shù)據(jù)、系統(tǒng)以及使用人員上都要保證數(shù)據(jù)的安全。
?。?)數(shù)據(jù)基本不需要維護(hù)。除必要的用戶與日志數(shù)據(jù)需要管理外,被處理的銀行數(shù)據(jù)基本是一次性被使用的。
?。?)系統(tǒng)使用范圍小。該系統(tǒng)主要用于對(duì)銀行的反洗錢(qián)檢查工作中,使用者僅限于內(nèi)部工作人員。
系統(tǒng)存在的以上特點(diǎn)適合采用傳統(tǒng)的C/S兩層結(jié)構(gòu)。系統(tǒng)的兩層結(jié)構(gòu)說(shuō)明如下:
?。?)應(yīng)用層:為系統(tǒng)應(yīng)用程序,包含用戶功能命令、數(shù)據(jù)入庫(kù)前處理、數(shù)據(jù)庫(kù)訪問(wèn)服務(wù)等。系統(tǒng)應(yīng)用界面設(shè)計(jì)采用Visual C# 2005完成。
?。?)數(shù)據(jù)層:為數(shù)據(jù)庫(kù)服務(wù)程序,負(fù)責(zé)數(shù)據(jù)存取和數(shù)據(jù)處理。系統(tǒng)數(shù)據(jù)庫(kù)使用SQL Server 2005,數(shù)據(jù)處理采用存儲(chǔ)過(guò)程完成。
2.2功能模塊設(shè)計(jì)
銀行反洗錢(qián)大額交易檢錯(cuò)系統(tǒng)的主要功能菜單如表1所示。
為保證對(duì)數(shù)據(jù)的安全與適當(dāng)使用,特別增加了日志管理,將系統(tǒng)使用人員的每次操作都進(jìn)行了記錄,以便追溯與監(jiān)督。
2.3 數(shù)據(jù)庫(kù)設(shè)計(jì)
鑒于銀行自動(dòng)集中采集核心交易數(shù)據(jù)可能會(huì)導(dǎo)致大額錯(cuò)報(bào)和漏報(bào)問(wèn)題,大額交易檢錯(cuò)系統(tǒng)采集了銀行易出錯(cuò)業(yè)務(wù)的原始交易數(shù)據(jù),并直接在原始交易數(shù)據(jù)上篩選符合規(guī)定條款的大額交易。涉及的原始業(yè)務(wù)交易包括人民幣匯款交易、人民幣現(xiàn)金交易、跨境匯款、外幣兌換等。
銀行反洗錢(qián)大額交易檢錯(cuò)系統(tǒng)涉及的主要數(shù)據(jù)表以及核心屬性如表2所示。
為便于數(shù)據(jù)處理,數(shù)據(jù)庫(kù)表中涉及金額的屬性的數(shù)據(jù)類(lèi)型均設(shè)置為數(shù)字,涉及日期的屬性的數(shù)據(jù)類(lèi)型均設(shè)置為8位字符,其他屬性的數(shù)據(jù)類(lèi)型均設(shè)置為可變字符。
3 數(shù)據(jù)處理
3.1 存儲(chǔ)過(guò)程
銀行反洗錢(qián)大額交易檢錯(cuò)系統(tǒng)涉及處理的數(shù)據(jù)量大,并需要對(duì)數(shù)據(jù)進(jìn)行大量的查詢和更新,且查詢和更新都有較為復(fù)雜的判斷條件,為提高SQL語(yǔ)句的執(zhí)行速度和保證數(shù)據(jù)的安全,該系統(tǒng)的數(shù)據(jù)處理基本采用編寫(xiě)存儲(chǔ)過(guò)程的方式來(lái)執(zhí)行完成。
下面簡(jiǎn)單例舉系統(tǒng)中查詢錯(cuò)報(bào)大額交易的存儲(chǔ)過(guò)程和C#語(yǔ)言實(shí)現(xiàn)的相關(guān)執(zhí)行代碼。
?。?)存儲(chǔ)過(guò)程
CREATE PROCEDURE proc_ERSelect
AS
select*from tb_Report
where ErrorTag<>′0′
//ErrorTag為0標(biāo)示大額交易正確報(bào)送
order by RDate,CIDNumber
?。?)相關(guān)執(zhí)行代碼
……
sqlConn=new System.Data.SqlClient.SqlConnection();
sqlCommand=sqlConn.CreateCommand();
connectString conStr=new connectString();
sqlConn.ConnectionString=conStr.getConnstr();
//獲取數(shù)據(jù)庫(kù)連接字符串
QueryValue=new DataSet();//查詢結(jié)果數(shù)據(jù)集
string sqlQuery="Exec proc_ERSelect";
//執(zhí)行存儲(chǔ)過(guò)程語(yǔ)句
sqlConn.Open();
sqlCommand.CommandText=sqlQuery;
sqlAdapter=new System.Data.SqlClient.SqlDataAdapter();
sqlAdapter.SelectCommand=sqlCommand;
QueryValue.Clear();
sqlAdapter.Fill(QueryValue);
sqlConn.Close();
……
3.2 數(shù)據(jù)預(yù)處理
銀行反洗錢(qián)大額交易檢錯(cuò)系統(tǒng)需要對(duì)銀行提交過(guò)來(lái)的原始數(shù)據(jù)進(jìn)行預(yù)處理,主要包括兩個(gè)關(guān)鍵部分:涉及外幣交易的交易金額轉(zhuǎn)換為美元金額和匯總客戶當(dāng)天單向(資金進(jìn)或者資金出)交易金額。前部分在應(yīng)用程序中處理并作為數(shù)據(jù)記錄的一個(gè)屬性值導(dǎo)入到數(shù)據(jù)庫(kù)中,后部分通過(guò)編寫(xiě)存儲(chǔ)過(guò)程來(lái)執(zhí)行完成。
3.3 數(shù)據(jù)分類(lèi)處理
人民銀行規(guī)定的大額交易特征明確給出了相關(guān)的屬性和屬性值,且屬性之間相互依賴,如交易方式(現(xiàn)金或轉(zhuǎn)賬)的不同、賬戶屬性(單位或個(gè)人)的不同、幣種(人民幣或外幣)的不同都會(huì)導(dǎo)致大額交易的交易金額閾值不一樣[2],因此可根據(jù)這些屬性以及屬性間的關(guān)系來(lái)進(jìn)行分類(lèi)。而大額交易特征涉及的屬性少,并且屬性值已量化,所以其數(shù)據(jù)分類(lèi)規(guī)則非常適合采用決策樹(shù)進(jìn)行描述。
下面以人民幣匯款交易篩選大額交易為例,制作一棵如圖1所示的決策樹(shù),決策樹(shù)的每條分支是一個(gè)分類(lèi)規(guī)則,規(guī)則之間并列,是邏輯或的關(guān)系。
在系統(tǒng)數(shù)據(jù)分類(lèi)規(guī)則中對(duì)交易對(duì)手采用的是按其名稱長(zhǎng)度來(lái)判斷,所以分類(lèi)的準(zhǔn)確率不能達(dá)到100%,極少數(shù)結(jié)果需要人工判斷。
本系統(tǒng)所有的分類(lèi)規(guī)則均采用編寫(xiě)存儲(chǔ)過(guò)程來(lái)實(shí)現(xiàn)。
本系統(tǒng)已應(yīng)用于對(duì)多家銀行機(jī)構(gòu)的反洗錢(qián)檢查中,系統(tǒng)發(fā)現(xiàn)大額交易的錯(cuò)報(bào)和漏報(bào)速度快且準(zhǔn)確率高,大大提高了反洗錢(qián)檢查的速度和質(zhì)量,從而也能很快地幫助銀行機(jī)構(gòu)改正其大額交易監(jiān)測(cè)報(bào)告系統(tǒng)存在的問(wèn)題。
參考文獻(xiàn)
[1] 銀行業(yè)大額交易和可疑交易報(bào)告數(shù)據(jù)報(bào)送接口規(guī)范[Z].2008(修訂版).
[2] 金融機(jī)構(gòu)大額交易和可疑交易報(bào)告管理辦法[Z].中國(guó)人民銀行令(2006)第2號(hào).