摘 要: 論述了上海外資銀行外匯買賣系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),該系統(tǒng)汲取了國際銀行的管理經(jīng)驗(yàn),解決了外匯買賣外匯頭寸管理中的諸多課題。
關(guān)鍵詞: 城市商業(yè)銀行 資產(chǎn)負(fù)債管理 外匯買賣 外匯管理 VB與EXCEL編程
城市商業(yè)銀行與工行、農(nóng)行、中行、建行、交行等大型銀行不同之處在于它是以一個(gè)中心城市為經(jīng)營范圍的地方性銀行。由于銀行業(yè)務(wù)管理上的區(qū)別,它比同城的其他大型銀行分行面臨更多的挑戰(zhàn)。
銀行的外匯買賣管理是一個(gè)比較艱深的課題。如何評估外匯交易員所用損益計(jì)算方法正確性、如何知道任一時(shí)間銀行外匯買賣總的敞口是多少、如何評估這一時(shí)間外匯買賣總敞口的損益是否達(dá)到止損點(diǎn),以及在迅速變化的外匯市場上借助何種工具即時(shí)得到上述判斷以便果斷采取止損操作,這些都是銀行外匯管理的重大課題。
在本系統(tǒng)中融入了在美國紐約花旗銀行及JP摩根工作二十幾年、尤其在投資銀行業(yè)務(wù)系統(tǒng)方面有資深經(jīng)驗(yàn)的Evan先生給上海幾家外資銀行確定的外匯買賣敞口管理方案及Spread Sheet編程建議。Spread Sheet編程是通過對Excel進(jìn)行VB編程,實(shí)時(shí)抓取外匯買賣系統(tǒng)中的交易信息,根據(jù)設(shè)定的算法,讓外匯交易員即時(shí)輸入市場匯率,達(dá)成對外匯買賣損益的即時(shí)評估。同時(shí),也相應(yīng)提出并解決了外匯風(fēng)險(xiǎn)管理的難題。
1 調(diào)研與分析
外匯買賣根據(jù)交易對象可分為自營交易和對客交易,對客交易是為滿足客戶的需要而進(jìn)行的外匯買賣;自營交易是銀行對沖客戶交易產(chǎn)生的敞口或?yàn)橘Y產(chǎn)的保值增值而進(jìn)入外匯市場進(jìn)行的外匯買賣。根據(jù)外匯買賣的交割時(shí)間,可分為即期交易、遠(yuǎn)期交易和掉期交易。即期交易是成交后二個(gè)營業(yè)日內(nèi)交割的外匯買賣,遠(yuǎn)期交易是成交后二個(gè)營業(yè)日后交割的外匯買賣,掉期交易則由一個(gè)即期和對應(yīng)的一個(gè)遠(yuǎn)期交易組成。根據(jù)外匯的業(yè)務(wù)類型,可分為結(jié)售匯和套匯。結(jié)售匯是根據(jù)外匯管理的要求,與企業(yè)進(jìn)行人民幣和某一外國貨幣的買賣,套匯的交易貨幣則是二種外國貨幣。
二個(gè)外資銀行總行在日常業(yè)務(wù)中都涉及上述各種外匯買賣。在引入新系統(tǒng)前,一個(gè)是在UNIX環(huán)境下開發(fā)的單機(jī)式的會計(jì)記帳系統(tǒng),一個(gè)是基于NOVELL的多用戶簡單的業(yè)務(wù)系統(tǒng)。對于外匯買賣而言,舊系統(tǒng)只能記錄會計(jì)傳票,根本談不上對外匯交易的損益評估,只是在月底時(shí),人工計(jì)算重估的損益,再通過人工傳票錄入系統(tǒng)。而如何考核外匯交易員的損益計(jì)算方法是否正確、銀行的外匯交易敞口、當(dāng)天止損點(diǎn)是否達(dá)到等管理上的問題,由于沒有先進(jìn)的外匯管理理念和技術(shù)手段,目前尚處于粗放經(jīng)營的局面。
如何設(shè)計(jì)一個(gè)相對獨(dú)立,又與其新的核心系統(tǒng)能自動接口的外匯買賣系統(tǒng),它覆蓋所有的外匯買賣交易并能自動生成外匯交易會計(jì)傳票及客戶實(shí)時(shí)帳務(wù)接口送達(dá)核心系統(tǒng)。在此基礎(chǔ)上,外匯買賣系統(tǒng)通過Excel界面實(shí)現(xiàn)實(shí)時(shí)敞口監(jiān)控及損益評估,提升銀行外匯買賣管理的技術(shù)手段,而這樣的外匯買賣系統(tǒng)在其他商業(yè)銀行又具有通用性與可移植性,這便是整個(gè)系統(tǒng)設(shè)計(jì)與開發(fā)中的主題。
2 系統(tǒng)設(shè)計(jì)
2.1 聯(lián)機(jī)交易
為使業(yè)務(wù)人員操作方便,系統(tǒng)將即期、遠(yuǎn)期和掉期設(shè)計(jì)成二個(gè)主要交易畫面。由于即期交易和遠(yuǎn)期交易主要的不同之處在于交割日期,這里將之放在同一個(gè)交易畫面內(nèi),要求用戶輸入時(shí)選擇交易類型是即期還是遠(yuǎn)期。對于掉期交易,在一個(gè)交易畫面內(nèi),反映一筆即期交易和對應(yīng)的一筆遠(yuǎn)期交易,其外匯買賣的損益在交易時(shí)就已確定。
在交易畫面上,還有交易對手、對客/自營、銀行買入/賣出、買入幣種金額/賣出幣種金額、交易匯率、市場匯率、二個(gè)交易幣種的利率、交割方式、自動生成即時(shí)損益等要素。
對于即期交易或掉期交易的即期部分,如果在交易發(fā)生當(dāng)日即進(jìn)行交割,則要由系統(tǒng)即時(shí)計(jì)算出損益。其損益計(jì)算的算法是:由交易匯率確定的二個(gè)交易貨幣的金額,根據(jù)當(dāng)天對記帳本位幣的中間價(jià)(交易時(shí)的市價(jià))分別折成對應(yīng)的記帳本位幣的金額,則其差額即是外匯買賣的損益。
對于當(dāng)天不交割的即期交易或遠(yuǎn)期交易或掉期交易,系統(tǒng)在交易建立時(shí),不計(jì)算實(shí)時(shí)外匯買賣損益,只生成相應(yīng)的表外會計(jì)傳票。
以上介紹的是外匯買賣交易建立的基本功能,如果交易輸入有誤,系統(tǒng)還提供了修改功能,對于即期/遠(yuǎn)期/掉期在交易建立以后的交割,則有專門的交易做清算并計(jì)算外匯損益。對于由于來自交易對手的取消或銀行人員錯(cuò)誤輸入而導(dǎo)致的交易取消,系統(tǒng)提供了強(qiáng)大的處理功能。因?yàn)槿∠麜r(shí),對于這筆外匯買賣可能只記了表外帳,或已銷掉表外帳并記了表內(nèi)帳(包括損益),或?qū)τ诘羝诮灰卓赡芗雌诙既肓吮韮?nèi)、而遠(yuǎn)期還未交割,當(dāng)然,也有可能即期/遠(yuǎn)期/掉期全都交割后的取消,這一系列的取消帶來的客戶帳務(wù)及會計(jì)帳務(wù)的自動沖銷,系統(tǒng)均能自動處理。
系統(tǒng)還提供了強(qiáng)大的查詢功能,用戶可根據(jù)某種條件來查詢,并可按用戶自已喜歡的格式生成Word文檔并打印出來。
2.2 批處理交易
批處理主要實(shí)現(xiàn)二項(xiàng)功能:一是根據(jù)業(yè)務(wù)發(fā)生的情況生成外匯買賣的各種報(bào)表,二是在月底批處理時(shí),要能正確地重估外匯買賣的損益。
外匯買賣由批處理生成的靜態(tài)業(yè)務(wù)報(bào)表主要有:(1)當(dāng)天外匯買賣交易報(bào)表;(2)遠(yuǎn)期交易及掉期交易未交割清單;(3)本月外匯買賣交易報(bào)表;(4)遠(yuǎn)期外匯買賣未實(shí)現(xiàn)的損益評估報(bào)表;(5)按交易對手分類的交易額度報(bào)告;(6)收盤時(shí)外匯買賣頭寸表;(7)外匯買賣產(chǎn)生的現(xiàn)金流量預(yù)期報(bào)表;(8)月底外匯買賣重估明細(xì)清單;(9)每日外匯買賣會計(jì)傳票清單;(10)每日外匯買賣客戶帳務(wù)明細(xì)報(bào)表;(11)與核心系統(tǒng)接口數(shù)據(jù)對帳報(bào)表等。
這里,重點(diǎn)介紹對所有商業(yè)銀行具有借鑒意義的“遠(yuǎn)期外匯買賣未實(shí)現(xiàn)的損益評估報(bào)表”。如何評估遠(yuǎn)期外匯買賣未實(shí)現(xiàn)的損益,這確實(shí)對業(yè)務(wù)的水準(zhǔn)提出了很高的要求。根據(jù)美國花旗銀行和JP摩根的做法,由于遠(yuǎn)期交易中二個(gè)貨幣的金額是由現(xiàn)值加上貨幣的時(shí)間價(jià)值即利息而生成的在將來某一天的金額,故在到期交割的任一天評估其損益時(shí),應(yīng)首先根據(jù)到期時(shí)的交割金額分別根據(jù)交易日二個(gè)貨幣的利率和至交割日的天數(shù),計(jì)算出在交易日二個(gè)貨幣各自的現(xiàn)值,再加上至評估日二個(gè)原現(xiàn)值的累計(jì)利息,得到至評估日的現(xiàn)值,再與當(dāng)天的二個(gè)貨幣對記帳本位幣的中間價(jià)或收盤價(jià)分別換算成記帳本位幣后相比,從而得到正確的遠(yuǎn)期外匯買賣損益。
再有,如何在技術(shù)層面上正確看待掉期交易在月底時(shí),即期已經(jīng)交割,但遠(yuǎn)期尚未交割時(shí)對于外匯損益的影響,這對于許多銀行的月底外匯買賣損益重估有重大意義。對于此時(shí)的掉期交易評估,有的銀行根本只考慮已進(jìn)入資產(chǎn)負(fù)債表內(nèi)的即期部分,由其交割價(jià)格與月底重估匯率相比得到損益,而不考慮掉期的遠(yuǎn)期部分的損益(因?yàn)榇藭r(shí)遠(yuǎn)期部分尚在表外),這樣往往會在損益表上反映出較大的損益,其實(shí)這種評估方法是不對的。掉期交易實(shí)質(zhì)上已經(jīng)鎖定了銀行必是收益,如對于即期已經(jīng)交割,但遠(yuǎn)期尚未交割的情況在月底進(jìn)行損益重估,要么將未割的遠(yuǎn)期部分根據(jù)前面的現(xiàn)值加上累計(jì)利息的方案進(jìn)行評估,要么根據(jù)月底的評估匯率將其即期部分重新記帳,而將原先即期交割日的會計(jì)帳沖掉,因此這種掉期不參加月底的重估(當(dāng)然次日再沖回)。
2.3 實(shí)時(shí)外匯買賣敞口、匯率敏感性分析及外匯管理
如何知道任一時(shí)間銀行外匯買賣總的敞口是多少、如何評估這一時(shí)間外匯買賣總敞口的損益是否達(dá)到止損點(diǎn),以及在迅速變化的外匯市場上借助何種工具來即時(shí)達(dá)成上述判斷以便及時(shí)采取止損操作,這是此系統(tǒng)中最具挑戰(zhàn)性的課題之一。
所謂外匯買賣的敞口,是指由于外匯交易中對于某一交易貨幣累計(jì)的買多或賣多而導(dǎo)致的多頭或空頭未及時(shí)平盤而產(chǎn)生的頭寸。這部分頭寸將隨著匯率的波動而產(chǎn)生損益。如果敞口的金額較大,則暴露在匯率風(fēng)險(xiǎn)下的金額就較大。一般大型銀行在各城市的分行都在一天外匯營業(yè)終止之前,將一天產(chǎn)生的外匯敞口通過與上級行或總行做平盤交易,最終將敞口歸結(jié)到總行??傂袑⒆罱K的敞口軋差后,視情況在國際市場上做平盤交易,以控制風(fēng)險(xiǎn)暴露的頭寸。
根據(jù)美國花旗銀行的外匯敞口管理方法,本文設(shè)計(jì)了FX Sensitivity報(bào)表,以Excel界面方式實(shí)時(shí)從外匯交易系統(tǒng)中抓取敞口數(shù)據(jù)。系統(tǒng)自動計(jì)算出在任一評估時(shí)刻的外匯買賣敞口,允許用戶輸入即時(shí)匯率及遠(yuǎn)期點(diǎn),從而重估出各幣種項(xiàng)下的敞口產(chǎn)生的損益。在匯市行情急劇波動時(shí),這種實(shí)時(shí)采集數(shù)據(jù)并估算損益的方法,有助于銀行即時(shí)做出判斷,以便在行情不利時(shí)果斷采取止損操作,從而為二個(gè)外資銀行在風(fēng)云變幻的外匯市場中決勝千里提供了有力的武器。
此外,在以上外匯敞口基礎(chǔ)上,系統(tǒng)進(jìn)一步解決了外匯管理的難題。眾所周知,外匯管理主要是指匯率的變化對銀行產(chǎn)生的損益,它一方面包括外匯買賣交易產(chǎn)生敞口,另外還包括銀行本身的資產(chǎn)及負(fù)債在匯率風(fēng)險(xiǎn)中的暴露程度。外匯管理,是當(dāng)代銀行資產(chǎn)負(fù)債管理中的重要課題之一。它體現(xiàn)西方商業(yè)銀行從資產(chǎn)管理演變?yōu)樨?fù)債管理,再到資產(chǎn)負(fù)債比例管理的管理理論的漸進(jìn)。我國的商業(yè)銀行目前還處在存款立行的負(fù)債管理階段。
本系統(tǒng)用于風(fēng)險(xiǎn)仿真時(shí),主要是輸入市場匯率的預(yù)計(jì)變化,進(jìn)行匯率的壓力測試,觀察銀行外匯暴露變化趨勢。除了匯率這個(gè)變量外,還引進(jìn)了外匯交易模擬測試。另外,還研發(fā)了利率風(fēng)險(xiǎn)、到期日風(fēng)險(xiǎn)管理報(bào)表及其風(fēng)險(xiǎn)仿真。
在系統(tǒng)架構(gòu)上,將風(fēng)險(xiǎn)管理子系統(tǒng)與生產(chǎn)環(huán)境相獨(dú)立,因?yàn)轱L(fēng)險(xiǎn)管理系統(tǒng)需要采集生產(chǎn)環(huán)境中所有的資產(chǎn)業(yè)務(wù)及負(fù)債業(yè)務(wù)的數(shù)據(jù)明細(xì),并且在生成報(bào)表時(shí)對計(jì)算機(jī)的CPU、內(nèi)存的資源有比較大的影響。而生成風(fēng)險(xiǎn)管理報(bào)表時(shí),通過Oracle的數(shù)據(jù)庫鏈接(DBLINK)功能,實(shí)時(shí)地從生產(chǎn)環(huán)境中采集數(shù)據(jù)。
3 程序設(shè)計(jì)
3.1 系統(tǒng)基于的平臺與數(shù)據(jù)庫
外匯系統(tǒng)主機(jī)使用Windows 2000 Advanced Server,Oralce數(shù)據(jù)庫,各客戶電腦安裝Windows 2000 Professional及Oracle客戶端。對于外匯交易主管及稽核人員的電腦,因?yàn)橐\(yùn)行實(shí)時(shí)敞口及匯率敏感性Spread Sheet,還需安裝Excel。
3.2 主要算法
敞口由即期敞口和遠(yuǎn)期敞口組成。對于這二種不同的敞口,在重估時(shí)要采用不同的算法。對于即期敞口,只要使用重估時(shí)的市場即期匯率與即期敞口相乘得到記帳本位幣的敞口金額。而對于遠(yuǎn)期交易敞口,則要針對每一筆交易明細(xì)來評估,首先計(jì)算出至交割日的天數(shù)(Remaining lifetime to value date-R)。
如果R為1個(gè)月、3個(gè)月或6個(gè)月,則以輸入相應(yīng)的遠(yuǎn)期點(diǎn)加上即期匯率乘以金額得到記帳本位幣的敞口金額。
如果R在1個(gè)月、3個(gè)月或6個(gè)月的時(shí)間段之間,則可以用數(shù)學(xué)上的內(nèi)推法計(jì)算出其遠(yuǎn)期點(diǎn):
假設(shè)遠(yuǎn)期點(diǎn):1個(gè)月=50,3個(gè)月=30。例如今天為2003年1月3日,1個(gè)月后是2月3日,3個(gè)月是4月3日。則對于一個(gè)遠(yuǎn)期交割日在2月25日的交易,遠(yuǎn)期點(diǎn)按如下方法計(jì)算:(30-50)*(Feb 25-Feb 03)/(Apr 03-Feb 03)+50=-20*23/58+50=42.07
以這個(gè)遠(yuǎn)期點(diǎn)加上即期匯率,則可以得到2月25日的遠(yuǎn)期外匯買賣的市場價(jià)格。
對于6個(gè)月以后交割的外匯買賣,使用輸入的大于6個(gè)月的匯率,對于交割日在3天至1個(gè)月或1個(gè)月至3個(gè)月時(shí)間段內(nèi)的遠(yuǎn)期交易,可以使用數(shù)學(xué)上的外推法計(jì)算出畸零天數(shù)的遠(yuǎn)期市場匯率。
3.3 主要程序設(shè)計(jì)語言
為方便用戶,系統(tǒng)采用VB作為主要程序設(shè)計(jì)語言,而實(shí)時(shí)敞口及匯率敏感性、外匯管理Spread Sheet則采用支持Excel的VBA編程。
4 結(jié)束語
本系統(tǒng)于2001年12月在華一銀行總行投入運(yùn)行,于2002年11月在德富泰銀行總行投入使用。事實(shí)證明,它汲取了國際銀行的管理經(jīng)驗(yàn),解決了外匯買賣、外匯頭寸的管理中的諸多艱難課題。在中國加入WTO的今天,對各城市的商業(yè)銀行加強(qiáng)外匯買賣的管理以及外匯頭寸的管理具有現(xiàn)實(shí)的指導(dǎo)意義。
參考文獻(xiàn)
1 喻國寶.Microsoft Excel 2000 for VBA.北京:人民郵電出版社,1999
2 北京博彥科技發(fā)展有限責(zé)任公司.Office VBA.北京:北京大學(xué)出版社,2001
3 彼得.羅斯.商業(yè)銀行管理.北京:機(jī)械工業(yè)出版社,1998
4 吳俊德.外匯交易及資金管理.北京:中信出版社,2001
