技術情報とニュースレター

MATLABでのデータ解析の自動化によるシステム的な不正の検出

著者Jan艾格斯MathWorks


マドフのポンジスキームや最近注目の金利操作スキャンダルが示すように,不正は金融関連の組織,政府機関および個人投資家にとって重大な脅威です。金融サービスおよびその他の組織は,不正の検出にさらに力を注ぐことで対応しています。

システム的な不正の検出には,いくつかの課題があります。最初に,不正の検出方法には複雑な調査が必要であり,これには大量の異種データの処理が伴います。データは複数のソースから生成され,金融,経済,ビジネスおよび法律などの複数の知識領域にわたります。このデータを手動で収集して処理すると非常に時間がかかり,誤りが発生しやすくなります。2番目に、不正の事件に起因するデータはほんのわずかであるため、不正は “干し草の山の中の針” の問題です。膨大な量の通常データ、つまり、不正ではないソースから生成されるデータは、不正の事例に紛れ込みがちです。3 番目に、詐欺師は自分の方法を継続的に変更します。つまり。検出戦略はしばしば何歩か後手に回りがちです。

この記事ではヘッジファンドデータを例にとり,不正検出データの取得と解析のプロセスを自動化するためにMATLAB®をどのように使用するかを具体的に示します。異種データをインポートおよび集計して,不正の可能性を示すインジケーターを特定するためにモデルを構築およびテストして,ファンドを不正または不正ではないものとして分類するために計算されたインジケーターを機械学習アルゴリズムに学習させる方法を示します。

説明する統計的な手法とワークフローは,小売およびロジスティック解析におけるデータマイニングおよび運用リサーチタスク,国防情報および医療情報を含む,さまざまなソースの大量の異種データの詳細な解析が必要な領域に適用できます。

ヘッジファンドのケーススタディ

ヘッジファンドの数はここ数年で急激に増加しています。ユーリカヘッジデータベースは,全世界で約20000のアクティブなファンドがあることを示しています。1ヘッジファンドは最低限の規制が行われている金融商品であり,したがって,不正の第一のターゲットです。たとえば,ヘッジファンドのマネージャーは,高利益が得られている錯覚を作り出し,より多くの投資者を引き付けるために利益データを偽造する可能性があります。

3次のつのヘッジファンドの1991年1月から2008年10月までの月次利益データを使用します。

  • ゲートウェイファンド
  • グロースファンドオブアメリカ
  • フェアフィールドセントリーファンド

フェアフィールドセントリーファンドは,偽のデータが計上されていることで知られるマドフファンドです。それ自体は,不正検出メカニズムの有効性を確認するためのベンチマークを提供しています。

異種データの収集

ゲートウェイファンドのデータはNatixisのWebサイトから,ファンドの月次の純資産総額(NAV)を含むMicrosoft®Excel®ファイルとしてダウンロードできます。MATLABデータインポートツールを使用して,データのインポート方法を定義します(図1)。データインポートツールはMATLABコードを自動的に生成して,定義されたインポートスタイルを再現します。

FraudDetection_fig1_w.jpg

図 1.MATLABデータインポートツールによるファイルからの対話的なデータのインポート。

ゲートウェイファンドのNAVをインポートしてから,次のコードを使用して月次の利益を計算します。

%月次の利益を計算gatewayReturns = tick2ret (gatewayNAV);

グロースファンドオブアメリカの場合は,数据处理工具箱™を使用してYahoo !金融でこのファンドのティッカーシンボル(AGTHX)関連フィールドの名前(調整後終値)および利息期間を指定してデータを取得します。

% Yahoo !に接続してデータをフェッチc =雅虎;data =获取(c,“AGTHX”的亲密的startDate可以,endDate);

残念なことにYahoo !では,1991年1月から1993年2月までの期間のデータが提供されません。この期間については,データを手作業で収集しなければなりません。

金融工具箱™の金融時系列オブジェクトを使用して,インポートされた日次データを必要な月次の頻度に変換します。

%月次の利益に変換tsobj = fints(date, agthxClose); / /结束tsobj = tomonthly (tsobj);

最後に,フェアフィールドセントリーファンドの計上データをインポートします。2つの無料で利用できるJava™クラス,PDFBoxおよびFontBoxを使用して、PDF版のフェアフィールドセントリーファンドのファクトシートからテキストを読み取ります。

%必要なクラスをインスタンス化pdfdoc = org.apache.pdfbox.pdmodel.PDDocument;读者= org.apache.pdfbox.util.PDFTextStripper;
%データを読み取りpdfdoc = pdfdoc.load (FilePath);pdfstr = reader.getText (pdfdoc);

テキストをインポートしてから,利益のデータを含む部分,つまり月次の利益のテーブルを抽出します。

不正データのテストでは,ファンドの利益データと標準の市場データの比較が必要です。上記の手法を使用して,各ファンドのベンチマークデータをインポートします。

データがインポートされて利用可能になると,たとえば,すべての3つのファンドの正規化された実績を比較することでその一貫性を評価できます(図2)。

FraudDetection_fig2_w.jpg

図 2.検討中のファンドの実績を比較するプロット。

プロットを表示するだけで,定性的評価が可能です。たとえば,マドフファンドは著しく円滑な成長を示し,高利益が挙がっています。さらに,根底にあるデータの不整合を明らかに示すものはありません。これは,不正行為を検出するために有効な方法を使用できることを意味します。

利益データの解析

ヘッジファンドにおける不適切または不法な行為自体が,主に誤って計上されたデータに現れるため,学術研究者は,操作されている可能性があるファンドの利益を解析してそれにフラグを設定するための方法を考案することに焦点を置いています。博伦と池2によって導入された指標を計算し,計上されたヘッジファンドの利益に対する不正の潜在的なインジケーターとして使用します。例:

    • ファンドの利益の分布における零点での不連続性
    • その他の資産との相関関係が薄く,市場のトレンドと矛盾
    • 想定されるトレンドよりも平滑となる,無条件および条件付きの系列相関
    • 利益がゼロのデータが多い
    • 負の連続した同一データが多い
    • 最初の1桁の分布(ベンフォードの法則に従っているかどうか?)および計上済み利益の末尾の1桁(均一かどうか?)

    これらの手法について説明するために,零点での不連続性に注目します。

    零点での不連続性の検証

    正の利益が多いファンドはより多くの資本を引き付けることから,ファンドマネージャーは,負の利益を回避するために実績を誤って計上しようとします。これは,零点での不連続性が不正の潜在的なインジケーターとなることを意味します。

    そのような不連続性のテストの1つは,3つの隣り合うビン(ゼロの左側の2つと右側の1つ)にある利益のデータの数を数えることです。中央のビンにあるデータの数は,前後の2つのビンの平均とほぼ等しくなければなりません。中央のビンのデータの大幅な不足にはフラグを設定しなければなりません。

    図3はファンドの利益のヒストグラムをゼロの前後の2つのビンを強調して表示します。緑の棒はフラグがないことを示し,赤の棒は不正の可能性があることを示します。このテストに合格しなかったのはマドフファンドのみでした。

    FraudDetection_fig3_w.jpg

    図 3.検証している各ファンドの月次の利益のヒストグラム。

    検証している各ファンドの実績

    マドフファンドには,10のテストのうち9つにフラグが立っていますが,他の2つのファンドにもフラグが立っています。フラグの立ったテスト結果によって,指定のヘッジファンドには不正行為が伴っていたことは証明されません。ただし図4に示すような表は,さらに調査を行う価値があるファンドを示します。

    FraudDetection_fig4_w.jpg

    図 4.検証している各ファンドのテスト実績。赤いボックスは,フラグが立った結果を示します。

    マドフファンドには,10のテストのうち9つにフラグが立っていますが,他の2つのファンドにもフラグが立っています。フラグの立ったテスト結果によって,指定のヘッジファンドには不正行為が伴っていたことは証明されません。ただし図4に示すような表は,さらに調査を行う価値があるファンドを示します。

    機械学習による解析結果の分類

    これで,不正のためのインジケーターとして使用される一連のフラグが用意できました。この解析を自動化すると,大きなデータセットを調査し,ファンドを不正または不正ではないものとして分類するために計算されたフラグを使用できます。この分類の問題には,たとえば,统计和机器学习工具箱™でTreeBaggerアルゴリズムを使用して,バギングされた決定木などの機械学習の方法を使用して対応します。TreeBaggerアルゴリズムには、モデルの学習のために教師あり学習用のデータが必要です。この例では、3 つのファンドのみのデータを使用していることに注意してください。バギングされた決定木またはその他の機械学習の方法を実際の問題に適用するには、この説明のための少数のセットよりもかなり多くのデータが必要です。

    ファンドを不正または不正ではないものとして分類するためにモデルを構築して,”利益データの解析“のセクションで説明したようにインジケーターを予測子とします。モデルを作成するには,学習のデータセットが必要です。不正または不正ではないものとして知られるM個のヘッジファンドについて考えます。この情報をM行1列のベクトルyTrainに格納して,対応するインジケーターのM行N列のマトリックスxTrainを計算します。それから次のコードを使用して,バギングされた決定木のモデルを作成します。

    %学習データに基づいて不正検出モデルを作成fraudModel = TreeBagger (nTrees xTrain yTrain);

    ここでは,nTreesは学習データのブートストラップされたサンプルに基づいて作成された決定木の数です。nTrees決定木の出力は1つの分類に集計されます。

    ここで,新しいファンドについては,以下によって分類を実行できます。

    %不正検出モデルを新しいデータに適用isFraud = predict(fraudModel, xNew);

    不正検出モデルを使用して,利益データのみに基づいてヘッジファンドを分類できます。モデルが自動化されているため,多数のファンドに拡張できます。

    大局的な概念

    この記事は,ヘッジファンドの利益に基づく不正検出のための完全に自動化されたアルゴリズムの開発プロセスの概要について説明しています。この手法は,MATLAB并行服务器™およびApache™Hadoop®などの大規模なデータ処理ソリューションを使用してさらに大規模なデータセットに適用できます。両方の技術により単一のマシン上で利用可能なメモリ両を超えるデータを処理できます。

    アルゴリズムが配布される方法は,アプリケーションのユースケースによって大いに異なります。主にExcelを使用しているファンドマネージャーのファンドでは,アルゴリズムをExcelアドインとして配布することが好まれる場合があります。今後の投資について検討する際に,モジュールを使用してファンドを調査できます。監督官庁は,不正検出スキームをプロダクションシステムに統合して,ここで新しいデータに対する解析を定期的に実行し,自動的に生成されたレポートで結果の概要を説明できます。

    高度な統計を使用して個々の不正インジケーターを検証し,機械学習を使用して分類モデルを作成しました。ここで説明したバギングされた決定木に加えて,MATLAB、统计和机器学习工具箱および深度学习工具箱™ではその他の多くの機械学習手法を利用できます。これにより,プロジェクトの要件に応じて,提案されたソリューションの拡張または変更が可能です。

    1Eurekahedge的数据

    2 . Bollen, Nicolas P. B.和Pool, Veronika K..“可疑模式在对冲基金的回报和风险的欺诈”(2011年11月)。https://www2.owen.vanderbilt.edu/nick.bollen/

    2014 - 92196 v00公開年

    関連する産業分野の記事を見る