韓雙
摘要:通過運用AO審計軟件和語句,分析證券公司股東賬戶和資金賬戶,發(fā)現(xiàn)一個股東賬戶對應(yīng)多個資金賬號,或一個資金賬戶與多個股東賬戶發(fā)生聯(lián)系的行為,進(jìn)而進(jìn)一步核查有無違規(guī)行為。
關(guān)鍵詞:證券審計;AO審計軟件;計算機輔助審計
中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2014)01-0001-03
金融企業(yè)審計的特點之一是數(shù)據(jù)量大,證券公司審計也是如此。運用計算機輔助審計技術(shù)對大數(shù)據(jù)進(jìn)行分析就顯得尤為必要。證券公司的賬戶數(shù)量眾多,運用計算機審計技術(shù)對其進(jìn)行篩選勢在必行,從股東和資金賬戶入手也是證券審計的基本方法之一。宋偉民,李丙泉在《證券審計的十個必查》中認(rèn)為,“一個股東賬戶對應(yīng)多個資金賬號,或一個數(shù)額較大的資金賬戶與多個股東賬戶發(fā)生聯(lián)系”是證券審計的必查點之一。原因是這種做法可能“一是出于轉(zhuǎn)移、隱匿資金的目的,二是迫于股票一級市場的申購數(shù)量限制。由于這些賬戶往往是機構(gòu)資金,涉及金額較大,故應(yīng)成為審計關(guān)注對象”。
在審計實踐中,從賬戶入手確實是一種有效的審計方法。在王秀芬的《運用計算機技術(shù)開展證券公司的審計》中提到“國債回購資金的審計”,通過計算機技術(shù)檢索出國債回購中“7 戶與證券公司有關(guān)聯(lián)的單位在各營業(yè)部的資金賬戶共計 60 多個”,通過分析初步判斷,“其中三個資金賬戶可能為證券公司的主要國債回購賬戶,這三個賬戶中總計國債回購融入資金約30 億元”。
1 了解審計需求,確定審計目標(biāo)
通過查找在同一營業(yè)部或證券公司擁有多個資金賬戶或多個股東賬號的客戶信息,進(jìn)一步檢查證券營業(yè)機構(gòu)可能產(chǎn)生的違規(guī)行為,檢查是否存在擅自動用投資者賬戶買賣記名證券、拖延劃撥及占用投資者的現(xiàn)金紅利等資金、擅自將投資者的證券帳戶予以指定或撤銷指定、虛假開戶、冒用客戶信息等違規(guī)行為。除檢查多開立資金賬戶、股東賬戶本身的違規(guī)問題外,進(jìn)一步延伸調(diào)查了證券經(jīng)營機構(gòu)可能產(chǎn)生的違規(guī)行為,對違規(guī)行為進(jìn)行打擊,對證券經(jīng)營機構(gòu)的日常操作的規(guī)范化起到了督促作用。
2 整理審計數(shù)據(jù),做好分析準(zhǔn)備
根據(jù)本次的審計目標(biāo),整理出所需的兩張所需的基礎(chǔ)表。
基礎(chǔ)表一,客戶資金流水表。
數(shù)據(jù)元素:[CLIENT_ID]客戶編號,[FUND_ACCOUNT]資金賬號,[SERIAL_NO]序列號,[INIT_DATE]交易日期,[BUSINESS_TIME]交易時間,[BUSINESS_FLAG]交易標(biāo)志,[STOCK_CODE]股票代碼,[BUSINESS_AMOUNT]交易數(shù)量,[BUSINESS_BALANCE]交易金額,[POST_AMOUNT]股票余量,[CLEAR_BALANCE]清算金額,[POST_BALANCE]賬戶余額,[FARE0]傭金,營業(yè)部名稱。
基礎(chǔ)表二,某營業(yè)部客戶信息表。
數(shù)據(jù)元素:客戶編號,客戶姓名,證件號碼,聯(lián)系電話,家庭電話,辦公室電話,開戶日期,滬A股東賬號,滬A基金賬號,滬B股東賬號,深A(yù)股東賬號,深A(yù)基金賬號。
3 根據(jù)審計目標(biāo),進(jìn)行審計分析
1) 數(shù)據(jù)整理準(zhǔn)備。整理好兩張基礎(chǔ)表的信息,確保關(guān)鍵數(shù)據(jù)的完整準(zhǔn)確。
2) 關(guān)聯(lián)交易流水表和某一營業(yè)部的客戶信息表,生成該營業(yè)部有交易記錄的資金賬號表,且沒有重復(fù)記錄。通過與交易流水表的關(guān)聯(lián)初步篩選掉了一部分無效的客戶信息。
3) 根據(jù)生成的資金股東賬號表統(tǒng)計同一證件號碼下的資金賬號個數(shù),然后關(guān)聯(lián)客戶信息表,生成開立多個資金賬戶的客戶信息,加入疑點庫以備進(jìn)一步核實并分析原因。
4) 生成已統(tǒng)計出滬市A股股東賬戶個數(shù)的滬A中間表,統(tǒng)計多開立資金賬號的人員中開戶滬市A股股東賬號的情況。關(guān)聯(lián)開立多個資金賬戶表和滬A股東賬戶個數(shù)表,生成多開滬市股東賬戶表,對這部分客戶信息進(jìn)行進(jìn)一步核實。
4 按照審計步驟,運用AO分析
1) 關(guān)聯(lián)交易流水表和某一營業(yè)部的客戶信息表,生成該營業(yè)部有交易記錄的資金賬號表
var SqlStr; //定義變量
Begin
SqlStr:='select distinct a.client_id,a.FUND_ACCOUNT,b.客戶姓名,b.證件號碼,b.滬A股東賬號 from 客戶資金流水表a join 某營業(yè)部客戶信息表 b on a.client_id=b.客戶編號 where a.營業(yè)部名稱 like ''某營業(yè)部'''; //Sql語句賦值給變量
CreateTempTable('資金股東賬號表',SqlStr); //生成臨時表
end.
2) 根據(jù)生成的資金股東賬號表統(tǒng)計同一證件號碼下的資金賬號個數(shù)
var SqlStr;
Begin
SqlStr:='select 證件號碼,COUNT(fund_account) as 資金賬戶個數(shù) from 資金股東賬號表 group by 證件號碼';
CreateTempTable('某營業(yè)部資金賬戶個數(shù)表',SqlStr);
end.
3) 生成開立多個資金賬戶的客戶信息,加入疑點庫以備進(jìn)一步核實
var CurQuery,IsEmpty,CurNum,SqlStr;
Begin
SqlStr:='select a.*,b.資金賬戶個數(shù) from 資金股東賬號表 a join 某營業(yè)部資金賬戶個數(shù)表 b on a.證件號碼=b.證件號碼 where 資金賬戶個數(shù)>1';
CreateTempTable('開立多個資金賬戶表',SqlStr); //執(zhí)行查詢SQL
CurQuery:=createq(SqlStr,-1);
IsEmpty:=qeof(CurQuery); //查詢結(jié)果集是否為空
if IsEmpty#1 then
begin
repeat //循環(huán)將查詢結(jié)果放入業(yè)務(wù)疑點臨時庫
AddTransRslt(CurQuery,'開立多個資金賬戶 查詢結(jié)果');
IsEmpty:=qmov(CurQuery,1);
IsEmpty:=qeof(CurQuery);
until IsEmpty=1;
TransBatch(CurQuery,'開立多個資金賬戶 查詢結(jié)果'); //將臨時庫結(jié)果集放入疑點庫
end;
end.
4) 生成滬市A股股東賬戶中間表,以備在開立多個資金賬戶表中篩選出擁有多個滬市A股股東賬號的人員
var SqlStr;
Begin
SqlStr:='select distinct 證件號碼,滬A股東賬號 from 開立多個資金賬戶表 where 滬A股東賬號 not like ''''';
CreateTempTable('滬A股東賬戶中間表',SqlStr);
end.
5) 統(tǒng)計多開立資金賬號的人員中開戶滬市A股股東賬號的情況
var SqlStr;
Begin
SqlStr:='select 證件號碼,count(證件號碼) as 滬A股東賬戶個數(shù) from 滬A股東賬戶中間表 group by 證件號碼';
CreateTempTable('滬A股東賬戶個數(shù)表',SqlStr);
end.
6) 關(guān)聯(lián)開立多個資金賬戶表和滬A股東賬戶個數(shù)表,生成多開滬市股東賬戶表
var CurQuery,IsEmpty,CurNum,SqlStr;
Begin
SqlStr:='select a.*,b.滬A股東賬戶個數(shù) from 開立多個資金賬戶表 a join 滬A股東賬戶個數(shù)表 b on a.證件號碼=b.證件號碼 where 滬A股東賬戶個數(shù)>1';
CreateTempTable('多開滬市股東賬戶表',SqlStr);
CurQuery:=createq(SqlStr,-1);
IsEmpty:=qeof(CurQuery);
if IsEmpty#1 then
begin
repeat
AddTransRslt(CurQuery,'多開滬市股東賬戶 查詢結(jié)果');
IsEmpty:=qmov(CurQuery,1);
IsEmpty:=qeof(CurQuery);
until IsEmpty=1;
TransBatch(CurQuery,'多開滬市股東賬戶 查詢結(jié)果');
end;
end.
5 提出審計建議,實現(xiàn)審計目的
一個自然人開立多個資金賬戶甚至滬市股東賬號問題,部分因為自然人開立證券賬號時開立了資金賬戶,開立基金賬號時又開立了資金賬戶,部分因為資金賬戶未及時清理。部分賬戶已轉(zhuǎn)為小額休眠戶,這部分賬戶將進(jìn)一步核實。
建議開戶時加強信息核實,確保一個自然人只開立一個資金賬戶。因上海證券交易所實行全面制定交易制度,更需要進(jìn)一步核實客戶開戶信息,確保一個自然人只對應(yīng)一個滬市股東賬號。
對于可疑賬戶,則需大膽猜測,小心求證,作進(jìn)一步核實,追查其資金去向及用途,排除審計風(fēng)險。
參考文獻(xiàn):
[1] 王秀芬.運用計算機技術(shù)開展證券公司的審計[J].經(jīng)濟師,2012(12).
[2] 本書編寫組.AO2011實用手冊[M].北京:清華大學(xué)出版社,2011.
[3] 何玉潔.數(shù)據(jù)庫基礎(chǔ)及應(yīng)用技術(shù) [M].2版.北京:清華大學(xué)出版社,2004.
[4] 宋偉民,李丙泉.證券審計的十個必查[J].中國審計,1988(12).
CurQuery:=createq(SqlStr,-1);
IsEmpty:=qeof(CurQuery); //查詢結(jié)果集是否為空
if IsEmpty#1 then
begin
repeat //循環(huán)將查詢結(jié)果放入業(yè)務(wù)疑點臨時庫
AddTransRslt(CurQuery,'開立多個資金賬戶 查詢結(jié)果');
IsEmpty:=qmov(CurQuery,1);
IsEmpty:=qeof(CurQuery);
until IsEmpty=1;
TransBatch(CurQuery,'開立多個資金賬戶 查詢結(jié)果'); //將臨時庫結(jié)果集放入疑點庫
end;
end.
4) 生成滬市A股股東賬戶中間表,以備在開立多個資金賬戶表中篩選出擁有多個滬市A股股東賬號的人員
var SqlStr;
Begin
SqlStr:='select distinct 證件號碼,滬A股東賬號 from 開立多個資金賬戶表 where 滬A股東賬號 not like ''''';
CreateTempTable('滬A股東賬戶中間表',SqlStr);
end.
5) 統(tǒng)計多開立資金賬號的人員中開戶滬市A股股東賬號的情況
var SqlStr;
Begin
SqlStr:='select 證件號碼,count(證件號碼) as 滬A股東賬戶個數(shù) from 滬A股東賬戶中間表 group by 證件號碼';
CreateTempTable('滬A股東賬戶個數(shù)表',SqlStr);
end.
6) 關(guān)聯(lián)開立多個資金賬戶表和滬A股東賬戶個數(shù)表,生成多開滬市股東賬戶表
var CurQuery,IsEmpty,CurNum,SqlStr;
Begin
SqlStr:='select a.*,b.滬A股東賬戶個數(shù) from 開立多個資金賬戶表 a join 滬A股東賬戶個數(shù)表 b on a.證件號碼=b.證件號碼 where 滬A股東賬戶個數(shù)>1';
CreateTempTable('多開滬市股東賬戶表',SqlStr);
CurQuery:=createq(SqlStr,-1);
IsEmpty:=qeof(CurQuery);
if IsEmpty#1 then
begin
repeat
AddTransRslt(CurQuery,'多開滬市股東賬戶 查詢結(jié)果');
IsEmpty:=qmov(CurQuery,1);
IsEmpty:=qeof(CurQuery);
until IsEmpty=1;
TransBatch(CurQuery,'多開滬市股東賬戶 查詢結(jié)果');
end;
end.
5 提出審計建議,實現(xiàn)審計目的
一個自然人開立多個資金賬戶甚至滬市股東賬號問題,部分因為自然人開立證券賬號時開立了資金賬戶,開立基金賬號時又開立了資金賬戶,部分因為資金賬戶未及時清理。部分賬戶已轉(zhuǎn)為小額休眠戶,這部分賬戶將進(jìn)一步核實。
建議開戶時加強信息核實,確保一個自然人只開立一個資金賬戶。因上海證券交易所實行全面制定交易制度,更需要進(jìn)一步核實客戶開戶信息,確保一個自然人只對應(yīng)一個滬市股東賬號。
對于可疑賬戶,則需大膽猜測,小心求證,作進(jìn)一步核實,追查其資金去向及用途,排除審計風(fēng)險。
參考文獻(xiàn):
[1] 王秀芬.運用計算機技術(shù)開展證券公司的審計[J].經(jīng)濟師,2012(12).
[2] 本書編寫組.AO2011實用手冊[M].北京:清華大學(xué)出版社,2011.
[3] 何玉潔.數(shù)據(jù)庫基礎(chǔ)及應(yīng)用技術(shù) [M].2版.北京:清華大學(xué)出版社,2004.
[4] 宋偉民,李丙泉.證券審計的十個必查[J].中國審計,1988(12).
CurQuery:=createq(SqlStr,-1);
IsEmpty:=qeof(CurQuery); //查詢結(jié)果集是否為空
if IsEmpty#1 then
begin
repeat //循環(huán)將查詢結(jié)果放入業(yè)務(wù)疑點臨時庫
AddTransRslt(CurQuery,'開立多個資金賬戶 查詢結(jié)果');
IsEmpty:=qmov(CurQuery,1);
IsEmpty:=qeof(CurQuery);
until IsEmpty=1;
TransBatch(CurQuery,'開立多個資金賬戶 查詢結(jié)果'); //將臨時庫結(jié)果集放入疑點庫
end;
end.
4) 生成滬市A股股東賬戶中間表,以備在開立多個資金賬戶表中篩選出擁有多個滬市A股股東賬號的人員
var SqlStr;
Begin
SqlStr:='select distinct 證件號碼,滬A股東賬號 from 開立多個資金賬戶表 where 滬A股東賬號 not like ''''';
CreateTempTable('滬A股東賬戶中間表',SqlStr);
end.
5) 統(tǒng)計多開立資金賬號的人員中開戶滬市A股股東賬號的情況
var SqlStr;
Begin
SqlStr:='select 證件號碼,count(證件號碼) as 滬A股東賬戶個數(shù) from 滬A股東賬戶中間表 group by 證件號碼';
CreateTempTable('滬A股東賬戶個數(shù)表',SqlStr);
end.
6) 關(guān)聯(lián)開立多個資金賬戶表和滬A股東賬戶個數(shù)表,生成多開滬市股東賬戶表
var CurQuery,IsEmpty,CurNum,SqlStr;
Begin
SqlStr:='select a.*,b.滬A股東賬戶個數(shù) from 開立多個資金賬戶表 a join 滬A股東賬戶個數(shù)表 b on a.證件號碼=b.證件號碼 where 滬A股東賬戶個數(shù)>1';
CreateTempTable('多開滬市股東賬戶表',SqlStr);
CurQuery:=createq(SqlStr,-1);
IsEmpty:=qeof(CurQuery);
if IsEmpty#1 then
begin
repeat
AddTransRslt(CurQuery,'多開滬市股東賬戶 查詢結(jié)果');
IsEmpty:=qmov(CurQuery,1);
IsEmpty:=qeof(CurQuery);
until IsEmpty=1;
TransBatch(CurQuery,'多開滬市股東賬戶 查詢結(jié)果');
end;
end.
5 提出審計建議,實現(xiàn)審計目的
一個自然人開立多個資金賬戶甚至滬市股東賬號問題,部分因為自然人開立證券賬號時開立了資金賬戶,開立基金賬號時又開立了資金賬戶,部分因為資金賬戶未及時清理。部分賬戶已轉(zhuǎn)為小額休眠戶,這部分賬戶將進(jìn)一步核實。
建議開戶時加強信息核實,確保一個自然人只開立一個資金賬戶。因上海證券交易所實行全面制定交易制度,更需要進(jìn)一步核實客戶開戶信息,確保一個自然人只對應(yīng)一個滬市股東賬號。
對于可疑賬戶,則需大膽猜測,小心求證,作進(jìn)一步核實,追查其資金去向及用途,排除審計風(fēng)險。
參考文獻(xiàn):
[1] 王秀芬.運用計算機技術(shù)開展證券公司的審計[J].經(jīng)濟師,2012(12).
[2] 本書編寫組.AO2011實用手冊[M].北京:清華大學(xué)出版社,2011.
[3] 何玉潔.數(shù)據(jù)庫基礎(chǔ)及應(yīng)用技術(shù) [M].2版.北京:清華大學(xué)出版社,2004.
[4] 宋偉民,李丙泉.證券審計的十個必查[J].中國審計,1988(12).