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