溫騰灝,鄭亮,朱婧雯,曾昭平
(上海立信會(huì)計(jì)金融學(xué)院,上海 201209)
當(dāng)前,各家銀行都推出了各種各樣的理財(cái)產(chǎn)品,供人們?nèi)ミx擇購(gòu)買(mǎi)。但是,面對(duì)如此多的理財(cái)產(chǎn)品,許多用戶在購(gòu)買(mǎi)時(shí)無(wú)從下手。同時(shí)這些理財(cái)產(chǎn)品之間實(shí)際上的差異不大。一個(gè)能夠提供對(duì)理財(cái)產(chǎn)品信息進(jìn)行篩選并整合,最后能供用戶進(jìn)行挑選、購(gòu)買(mǎi)理財(cái)產(chǎn)品的系統(tǒng)這時(shí)就變得非常重要[1]。
信息聚合技術(shù)常用來(lái)同質(zhì)信息的管理及整合。最常見(jiàn)的應(yīng)用之處在管理圖書(shū)方面,為了能夠快速便捷的找到需要的數(shù)據(jù),圖書(shū)館采用信息聚合技術(shù)[2-4]。但是在理財(cái)產(chǎn)品方面,國(guó)內(nèi)的信息聚合技術(shù)的應(yīng)用就比較缺乏。通過(guò)瀏覽商業(yè)銀行的關(guān)于理財(cái)產(chǎn)品的網(wǎng)頁(yè)發(fā)現(xiàn)網(wǎng)站只是將理財(cái)產(chǎn)品根據(jù)收益率、期限等指標(biāo)進(jìn)行簡(jiǎn)單排序呈現(xiàn),并沒(méi)有做到聚合成類(lèi)的。其他的理財(cái)平臺(tái),如京東金融、支付寶理財(cái)和360理財(cái),前兩者同樣是和商業(yè)銀行的網(wǎng)站一樣簡(jiǎn)單的根據(jù)一項(xiàng)指標(biāo)排序,將全部的數(shù)據(jù)直接呈現(xiàn)給用戶,而360理財(cái)主要提供理財(cái)網(wǎng)頁(yè)的導(dǎo)航,根據(jù)理財(cái)產(chǎn)品種類(lèi)的不同,提供方不同,分別提供導(dǎo)航。
本文設(shè)計(jì)了一個(gè)銀行理財(cái)產(chǎn)品管理系統(tǒng),用來(lái)解決當(dāng)下理財(cái)產(chǎn)品信息太過(guò)繁雜,用戶很難精確找到自己所需要的產(chǎn)品的問(wèn)題。本系統(tǒng)通過(guò)采集不同商業(yè)銀行的理財(cái)產(chǎn)品信息,提取產(chǎn)品特征進(jìn)行信息聚合展示,同時(shí)構(gòu)建一個(gè)理財(cái)產(chǎn)品的評(píng)價(jià)體系,并且通過(guò)收集分析用戶行為對(duì)理財(cái)產(chǎn)品進(jìn)行綜合評(píng)價(jià)排序。
系統(tǒng)將管理員和用戶的登錄分開(kāi)操作。管理員能夠直接管理用戶信息,還可以對(duì)爬取數(shù)據(jù)的管理,對(duì)信息進(jìn)行聚合及其評(píng)價(jià)從而進(jìn)行聚合效果管理、聚合結(jié)果管理、查看理財(cái)產(chǎn)品信息聚合,還可進(jìn)行點(diǎn)擊量管理和產(chǎn)品或產(chǎn)品組收藏管理。
用戶登錄系統(tǒng)可查詢到個(gè)人信息、理財(cái)產(chǎn)品資料和自己的交易記錄,更改個(gè)人信息,還可以購(gòu)買(mǎi)理財(cái)產(chǎn)品。用戶可對(duì)理財(cái)產(chǎn)品進(jìn)行評(píng)論、點(diǎn)贊與分享。管理員主要負(fù)責(zé)對(duì)理財(cái)產(chǎn)品進(jìn)行爬取和管理,并管理用戶權(quán)限。
本系統(tǒng)采用三層設(shè)計(jì),主要根據(jù)其實(shí)現(xiàn)層次劃分為數(shù)據(jù)層、業(yè)務(wù)層和界面層。
●數(shù)據(jù)層:本系統(tǒng)數(shù)據(jù)層是設(shè)計(jì)系統(tǒng)底層基礎(chǔ)環(huán)境的搭建,選擇要采用的操作系統(tǒng)和數(shù)據(jù)庫(kù),其中數(shù)據(jù)庫(kù)采用MySQL為數(shù)據(jù)庫(kù)服務(wù)器支撐軟件,為數(shù)據(jù)存儲(chǔ)和管理的核心部分,也是決定整個(gè)系統(tǒng)總體性能的關(guān)鍵所在。提供用戶和管理員進(jìn)行增刪改查。
●業(yè)務(wù)層:該層是根據(jù)系統(tǒng)的需求,把各個(gè)模塊細(xì)分到各自的服務(wù)上,整體將系統(tǒng)分成日常管理、系統(tǒng)管理、查詢管理、報(bào)表管理、產(chǎn)品信息管理、數(shù)據(jù)緩存、日常交易監(jiān)控、日終報(bào)表八個(gè)模塊。主要提供用戶登錄注冊(cè)、購(gòu)買(mǎi)產(chǎn)品的業(yè)務(wù)邏輯以及系統(tǒng)通用日志服務(wù)、權(quán)限管理控制。將使用Spring Boot集成。
●界面層:該層提供用戶接口,使用HTML+Java Script組件完成系統(tǒng)界面的開(kāi)發(fā),使用Spring MVC完成系統(tǒng)API接口的實(shí)現(xiàn)。
系統(tǒng)管理員是針對(duì)理財(cái)產(chǎn)品管理系統(tǒng)本身進(jìn)行管理的模塊,主要實(shí)現(xiàn)各類(lèi)理財(cái)產(chǎn)品的爬取、清洗、存儲(chǔ)功能,用戶信息權(quán)限的設(shè)置管理功能以及理財(cái)產(chǎn)品的設(shè)置、修改、查詢功能。
管理員是系統(tǒng)的核心管理人員,要求在網(wǎng)上各大銀行或外企爬取理財(cái)產(chǎn)品,并進(jìn)行清洗整合后保存到本地?cái)?shù)據(jù)庫(kù)。主要爬取的對(duì)象有招商銀行、中國(guó)銀行、美國(guó)的Lending Club、Prosper和英國(guó)的Zopa。還要求提供管理員對(duì)用戶和產(chǎn)品進(jìn)行相應(yīng)的管理功能,例如用戶賬號(hào)管理、用戶購(gòu)買(mǎi)權(quán)限管理設(shè)置等。
用戶是本系統(tǒng)的主要使用者。用戶可以在本系統(tǒng)進(jìn)行登錄注冊(cè),查詢自己的個(gè)人信息、理財(cái)產(chǎn)品的信息,購(gòu)買(mǎi)理財(cái)產(chǎn)品后可以進(jìn)行點(diǎn)評(píng)與分享,在個(gè)人界面能查詢到具體的交易記錄。
該功能最終實(shí)現(xiàn)的是通過(guò)使用爬蟲(chóng)采集商業(yè)銀行的理財(cái)產(chǎn)品的信息,經(jīng)過(guò)數(shù)據(jù)預(yù)處理以及聚合算法,對(duì)理財(cái)產(chǎn)品進(jìn)行聚合分析顯示。功能的具體實(shí)現(xiàn)通過(guò)四個(gè)步驟:數(shù)據(jù)采集、數(shù)據(jù)預(yù)處理、聚類(lèi)分析及結(jié)果顯示。
(1)數(shù)據(jù)采集
本系統(tǒng)使用爬蟲(chóng)完成數(shù)據(jù)的采集,爬蟲(chóng)的實(shí)現(xiàn)通過(guò)使用Scrapy框架。第一步:搭建爬蟲(chóng)項(xiàng)目框架。第二步:框架配置文件編寫(xiě)。第三步:數(shù)據(jù)存儲(chǔ)文件編寫(xiě)。第四步:管道文件的編寫(xiě)。第五步:蜘蛛文件的編寫(xiě)。第六步:Scrapy項(xiàng)目與Django項(xiàng)目的API連接。
(2)數(shù)據(jù)預(yù)處理
第一步:讀取原始數(shù)據(jù):本系統(tǒng)通過(guò)引入pandas包來(lái)讀取并且操作數(shù)據(jù)。
第二步:變量編碼。數(shù)據(jù)千奇百怪,有中文表示的,有英文表示的,還有數(shù)字表示的,為了方便計(jì)算機(jī)處理,統(tǒng)一處理成數(shù)字格式的。
第三步:缺失值處理。根據(jù)觀察爬取的原始數(shù)據(jù)得出預(yù)期年化收益率這一特征的缺失率較為嚴(yán)重,必須經(jīng)過(guò)缺失值處理。
(3)無(wú)監(jiān)督學(xué)習(xí)-聚類(lèi)分析
本系統(tǒng)選擇的聚類(lèi)分析算法為K-means算法[5],該算法對(duì)于給定的樣本集,選定k個(gè)初識(shí)質(zhì)心,迭代計(jì)算每個(gè)樣本點(diǎn)距離最近的質(zhì)心并且標(biāo)記自己的所屬的簇,直到質(zhì)心不再發(fā)生變化。本系統(tǒng)將經(jīng)過(guò)預(yù)處理的數(shù)據(jù)進(jìn)行訓(xùn)練,按照想要聚成的簇?cái)?shù),將具有相似性的理財(cái)產(chǎn)品聚合在一起,在算法的實(shí)現(xiàn)方面,直接調(diào)用sklearn庫(kù)所提供的方法即可實(shí)現(xiàn)聚類(lèi)分析,代碼如下所示:
km=KMeans(n_clusters=10).fit(X_scaled)
(4)信息聚合展示
理財(cái)產(chǎn)品聚合結(jié)果前臺(tái)展示頁(yè)面,該功能主要上將訓(xùn)練好的數(shù)據(jù)顯示在前臺(tái),提供給用戶。由于剛訓(xùn)練好的數(shù)據(jù)在數(shù)值上是經(jīng)過(guò)預(yù)處理的,不能直接呈現(xiàn)給用戶,所以需要定義一個(gè)類(lèi),完成前臺(tái)和后臺(tái)數(shù)據(jù)之間的轉(zhuǎn)換匹配,使得用戶能夠得到所需要的、有意義的數(shù)據(jù)。
該功能通過(guò)系統(tǒng)自動(dòng)評(píng)價(jià)以及用戶行為來(lái)綜合評(píng)價(jià)聚合結(jié)果。
(1)系統(tǒng)自動(dòng)評(píng)價(jià)
該功能通過(guò)輪廓系數(shù)來(lái)評(píng)價(jià)聚合結(jié)果。輪廓系數(shù)是用來(lái)評(píng)估K-means聚類(lèi)算法好壞的,輪廓系數(shù)計(jì)算公式(1):
其中,a(i)為樣本i到同簇其他樣本的平均距離,b(i)為樣本i到其他簇的所有樣本的平均距離。s(i)越接近1,說(shuō)明樣本i聚類(lèi)越合理。
本系統(tǒng)通過(guò)用戶在信息聚合展示頁(yè)面的頁(yè)面點(diǎn)擊操作來(lái)分析用戶的行為。通過(guò)用戶評(píng)價(jià)功能模塊獲取點(diǎn)擊事件以此觸發(fā)本功能模塊。在此功能中,通過(guò)公式(2)計(jì)算每一個(gè)收藏組的總點(diǎn)擊量,并且根據(jù)此數(shù)據(jù)進(jìn)行收藏組與組之間的排序。在每個(gè)收藏組中,單個(gè)理財(cái)產(chǎn)品是根據(jù)單個(gè)理財(cái)產(chǎn)品的點(diǎn)擊量的大小進(jìn)行簡(jiǎn)單排序,計(jì)算公式(2):
其中,c(i)為每一個(gè)收藏組的總點(diǎn)擊量,n為每個(gè)收藏組中理財(cái)產(chǎn)品的總個(gè)數(shù),a(x)為單個(gè)理財(cái)產(chǎn)品點(diǎn)擊量,b(x)為單個(gè)理財(cái)產(chǎn)品收藏量,d(i)為用戶點(diǎn)擊第 i個(gè)“收藏組”按鈕的總次數(shù),w的取值為0.25,v的取值為0.3。將a(x)和b(x)的權(quán)重縮小的原因是存在某種情況,一個(gè)收藏組中的產(chǎn)品個(gè)數(shù)遠(yuǎn)遠(yuǎn)大于另一個(gè)收藏組中的產(chǎn)品個(gè)數(shù),對(duì)于后一個(gè)收藏組是不公平的。所以為了排序的公平性,對(duì)于數(shù)值要加上適合的權(quán)重,將a(x)和 b(x)的重要度減少。w 取值為 0.25,v取值為0.3的原因是點(diǎn)擊量和收藏量相比收藏量更能說(shuō)明該理財(cái)產(chǎn)品的對(duì)用戶的吸引程度。
(2)用戶行為評(píng)價(jià)
該功能完成的是通過(guò)頁(yè)面點(diǎn)擊事件收集用戶行為,傳送給后端進(jìn)一步分析。本系統(tǒng)對(duì)于以下具體事件進(jìn)行記錄分析:
第一,用戶點(diǎn)擊“了解更多”按鈕,說(shuō)明用戶對(duì)于該產(chǎn)品抱有一定的興趣,想去了解關(guān)于該理財(cái)產(chǎn)品的更多信息,甚至是想要去購(gòu)買(mǎi)該理財(cái)產(chǎn)品。
第二,用戶點(diǎn)擊“收藏組”按鈕,說(shuō)明了兩點(diǎn)。其一,說(shuō)明了用戶對(duì)于這一組的理財(cái)產(chǎn)品都有興趣,這一組理財(cái)產(chǎn)品的種類(lèi)對(duì)于用戶更具有吸引力。其二,說(shuō)明了這一組的理財(cái)產(chǎn)品聚合的效果比較好,同類(lèi)相聚的較多,令用戶比較滿意。
第三,用戶點(diǎn)擊“收藏”按鈕,說(shuō)明了用戶已經(jīng)了解過(guò)或者想要去了解該理財(cái)產(chǎn)品,他將之收藏于個(gè)人收藏處,處于觀望、比較、選擇狀態(tài)。展現(xiàn)出了對(duì)于該理財(cái)產(chǎn)品的興趣,極有可能產(chǎn)生下一步的購(gòu)買(mǎi)操作。
本系統(tǒng)運(yùn)用了機(jī)器學(xué)習(xí)算法實(shí)現(xiàn)聚合的效果,將理財(cái)產(chǎn)品信息聚合展示給用戶,提供用戶挑選,總的來(lái)說(shuō)給用戶帶來(lái)了便捷。但是本系統(tǒng)還有很大的擴(kuò)展空間,后期可以完成更多銀行理財(cái)產(chǎn)品信息的爬取,并且可以根據(jù)用戶行為個(gè)性化推薦相應(yīng)的理財(cái)產(chǎn)品,這將更加靠近國(guó)外理財(cái)公司提供的智能投顧服務(wù)。