(57)【要約】      （修正有）【課題】不正取引を精度高く検知できる不正取引検知装置、不正取引検知方法及び不正取引検知プログラムを提供する。【解決手段】不正取引検知装置８０は、取引データ標準化部８１と、学習部８２とを備えている。取引データ標準化部８１は、銘柄が同一かつ日付が同一の組合せごとにグループ化された取引データを、そのグループごとに標準化する。学習部８２は、標準化された取引データのうち、組合せの一部に対応するグループの取引データを学習データとして用いて、不正取引を検知するモデルを学習する。また、学習部８２は、選択されたグループに含まれる取引データのうち、正例と負例との割合が同等になるように学習データを選択する。【選択図】図５
2020154543.tif 000002
【特許請求の範囲】
【請求項１】
銘柄が同一かつ日付が同一の組合せごとにグループ化された取引データを、当該グループごとに標準化する取引データ標準化部と、
標準化された取引データのうち、前記組合せの一部に対応するグループの取引データを学習データとして用いて、不正取引を検知するモデルを学習する学習部とを備え、
前記学習部は、選択されたグループに含まれる取引データのうち、正例と負例との割合が同等になるように学習データを選択する
ことを特徴とする不正取引検知装置。
【請求項２】
取引データ標準化部は、グループごとに算出される取引データの平均および分散に基づいて、グループごとに取引データを標準化する
請求項１記載の不正取引検知装置。
【請求項３】
学習部は、取引データに含まれる説明変数のうち、予め指定された説明変数を用いてモデルを学習する
請求項１または請求項２記載の不正取引検知装置。
【請求項４】
学習部は、不正取引の種類に応じた正解ラベルが取引データに付加された学習データを用いて、前記不正取引の種類ごとにモデルを学習する
請求項１から請求項３のうちのいずれか１項に記載の不正取引検知装置。
【請求項５】
学習部は、確率的勾配降下法によりモデルを学習する
請求項１から請求項４のうちのいずれか１項に記載の不正取引検知装置。
【請求項６】
学習部は、選択されたグループに含まれる取引データの件数の合計のうち、当該合計の半数のデータを負例から重複せずに選択し、残りの半数のデータを正例から重複して繰り返し選択する
請求項１から請求項５のうちのいずれか１項に記載の不正取引検知装置。
【請求項７】
銘柄が同一かつ日付が同一の組合せごとにグループ化された取引データを、当該グループごとに標準化し、
標準化された取引データのうち、前記組合せの一部に対応するグループの取引データを学習データとして用いて、不正取引を検知するモデルを学習し、
前記モデルを学習する際、選択されたグループに含まれる取引データのうち、正例と負例との割合が同等になるように学習データを選択する
ことを特徴とする不正取引検知方法。
【請求項８】
グループごとに算出される取引データの平均および分散に基づいて、グループごとに取引データを標準化する
請求項７記載の不正取引検知方法。
【請求項９】
コンピュータに、
銘柄が同一かつ日付が同一の組合せごとにグループ化された取引データを、当該グループごとに標準化する取引データ標準化処理、および、
標準化された取引データのうち、前記組合せの一部に対応するグループの取引データを学習データとして用いて、不正取引を検知するモデルを学習する学習処理を実行させ、
前記学習処理で、選択されたグループに含まれる取引データのうち、正例と負例との割合が同等になるように学習データを選択させる
ための不正取引検知プログラム。
【請求項１０】
コンピュータに、
取引データ標準化処理で、グループごとに算出される取引データの平均および分散に基づいて、グループごとに取引データを標準化させる
請求項９記載の不正取引検知プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、株取引における不正取引を検知する不正取引検知装置、不正取引検知方法および不正取引検知プログラムに関する。
【背景技術】
【０００２】
近年、インターネットを介したオンライントレードが発達し、多くの投資家が容易に株取引を行えるようになっている。一方、株取引が容易になってきていることから、株式相場を意図的に操作するような不正な行為が行われる危険性も高まっているため、このような不正取引を適切に検知できることが望まれている。
【０００３】
例えば、特許文献１には、証券取引所における監視担当者が所望の有価証券取引情報を抽出する有価証券取引抽出装置が記載されている。特許文献１に記載された装置は、複数の取引状況ごとの抽出条件の入力を別々に受け付けて、各抽出条件に合致する有価証券取引情報を出力する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−１４６０９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載された装置を用いることで、個別に指定した条件に合致する不正取引を抽出することは可能である。しかし、取引データは膨大であるため、個別の条件を指定して不正が疑われる取引を抽出することは、多くのコストを要してしまうという問題もある。また、個別の条件を指定して抽出する方法では、一部の条件に合致しないような不正取引を見逃してしまう恐れもある。
【０００６】
このような問題に対し、取引データを用いた機械学習により不正取引を検知するようなモデルを生成することが考えられる。しかし、不正取引を示すデータは、正常な取引を示すデータに比べて遥かに件数が少ない。そのため、このような不均衡データを単純に用いて生成されたモデルを用いた場合、不正取引を精度高く検知できないおそれがある。
【０００７】
そこで、本発明は、不正取引を精度高く検知できる不正取引検知装置、不正取引検知方法および不正取引検知プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明による不正取引検知装置は、銘柄が同一かつ日付が同一の組合せごとにグループ化された取引データを、当該グループごとに標準化する取引データ標準化部と、標準化された取引データのうち、組合せの一部に対応するグループの取引データを学習データとして用いて、不正取引を検知するモデルを学習する学習部とを備え、学習部が、選択されたグループに含まれる取引データのうち、正例と負例との割合が同等になるように学習データを選択することを特徴とする。
【０００９】
本発明による不正取引検知方法は、銘柄が同一かつ日付が同一の組合せごとにグループ化された取引データを、そのグループごとに標準化し、標準化された取引データのうち、組合せの一部に対応するグループの取引データを学習データとして用いて、不正取引を検知するモデルを学習し、モデルを学習する際、選択されたグループに含まれる取引データのうち、正例と負例との割合が同等になるように学習データを選択することを特徴とする。
【００１０】
本発明による不正取引検知プログラムは、コンピュータに、銘柄が同一かつ日付が同一の組合せごとにグループ化された取引データを、そのグループごとに標準化する取引データ標準化処理、および、標準化された取引データのうち、組合せの一部に対応するグループの取引データを学習データとして用いて、不正取引を検知するモデルを学習する学習処理を実行させ、学習処理で、選択されたグループに含まれる取引データのうち、正例と負例との割合が同等になるように学習データを選択させることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、不正取引を精度高く検知できる。
【図面の簡単な説明】
【００１２】
【図１】本発明による不正取引検知装置の一実施形態の構成例を示すブロック図である。
【図２】取引データの例を示す説明図である。
【図３】生成された学習データの例を示す説明図である。
【図４】不正取引検知装置の動作例を示すフローチャートである。
【図５】本発明による不正取引検知装置の概要を示すブロック図である。
【図６】少なくとも１つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施形態を図面を参照して説明する。
【００１４】
図１は、本発明による不正取引検知装置の一実施形態の構成例を示すブロック図である。本実施形態の不正取引検知装置１００は、記憶部１０と、学習データ生成部２０と、学習部３０と、予測部４０とを備えている。
【００１５】
記憶部１０は、過去の取引データと、その取引データが不正取引か否かを識別する情報（以下、正解ラベルと記す。）とを対応付けて記憶する。本実施形態では、取引データとして、株取引に関する情報を扱うものとする。また、正解ラベルは、不正取引の種類に応じて設定される。
【００１６】
図２は、取引データの例を示す説明図である。図２に例示する取引データは、日付および取引所ごとに、ある銘柄に対して顧客が行った注文を示し、さらに、取引データには、その注文が不正取引か否かを示す正解ラベルが対応付けられている。具体的には、図２に例示する取引データは、説明変数として、法人か否かを示す法人区分コード、終了内容を示す終了区分コード、自身による発注か委託による発注かの別を示す自己・委託区分コード、信用取引の内容を示す信用区分コード、売り買いの別を示す売買コード、および、ザラ場か寄付かの別を示すザラ場・寄付コードを含む。これらの説明変数は、いずれもコード値で表されている。
【００１７】
さらに、図２に例示する取引データは、説明変数として、発注株数、発注値段、板存在時間（秒）、発注の変更回数、約定回数、反対売買の約定回数、市場関与率を含む。これらの説明変数は、いずれも数値データで表されている。なお、図２に示す取引データは例示であり、他の説明変数を含んでいてもよい。
【００１８】
株取引における不正取引の種類として、例えば、見せ玉、仮装売買、馴合売買、買い上がりなどが挙げられる。見せ玉は、売買を成立させる意図がないにも関わらず、特定の株式の売買が頻繁に行われていると他の投資家に錯覚させることを目的として、発注や取消、訂正などの大量の取引を頻繁に繰り返す行為を言う。
【００１９】
仮装売買は、特定の株式の売買が頻繁に行われていると他の投資家に錯覚させることを目的として、同一人物が権利の移転を目的としない取引を行うこと（例えば、同時期に同一価格で売買両方の注文を行う取引）を言う。馴合売買は、特定の株式の売買が頻繁に行われていると他の投資家に錯覚させることを目的として、周知の関係同士の売り主および買い主が、同時期に同一価格で売買両方の注文を行う取引のことを言う。買い上がりは、株式相場の上昇（下降）が発生していると他の投資家に錯覚させることを目的として、特定の株式の価格を意図的に高く（低く）する行為を言う。
【００２０】
図２に示す例では、注文ＩＤ＝ＸＸＸＸＸＸ２で識別される取引データが、不正取引のデータ（正解ラベル＝１）であることを示す。なお、記憶部１０は、例えば、磁気ディスク等により実現される。
【００２１】
本実施形態では、不正取引検知装置１００が取引データを記憶する記憶部１０を備えている場合を例示しているが、不正取引検知装置１００は、必ずしも記憶部１０を備えていなくともよい。不正取引検知装置１００は、例えば、外部ストレージ（図示せず）から、通信ネットワーク網を介して取引データを取得してもよい。
【００２２】
学習データ生成部２０は、記憶部１０から取引データを取得し、銘柄が同一かつ日付が同一の組合せごとに取引データをグループ化する。そして、学習データ生成部２０は、グループ化された取引データを、グループごとに標準化する。
【００２３】
具体的には、学習データ生成部２０は、グループごとに算出される取引データの平均および分散に基づいて、グループごとに取引データを標準化してもよい。すなわち、学習データ生成部２０は、以下に例示する式１を用いて、取引データを標準化してもよい。式１において、ベクトルｙは標準化後の取引データを示し、ベクトルｘが標準化前の取引データを示す。また、ｘバー（ｘの上付きバー）が取引データの平均を示し、σが取引データの分散を示す
【００２４】
【数１】
2020154543.tif 000003
【００２５】
このように、学習データ生成部２０は、取引データを標準化することから、取引データ標準化部と言うことができる。そして、学習データ生成部２０は、標準化された取引データに正解ラベルを付加したデータを学習データとして生成する。
【００２６】
一般に、株取引は銘柄ごとの取引特性を有し、その取引特性は時間に応じても変化する。一方、同一種類の不正取引は、銘柄等に関わらず、同一の取引傾向を示すことが知られている。さらに、不正取引を示すデータ（正例）は、正常な取引を示すデータ（負例）に比べて件数が大幅に少ないため、銘柄ごとの不正取引を検知するモデルを学習しようとしても、学習データが不足してしまうという問題がある。
【００２７】
一方、本実施形態では、学習データ生成部２０が、銘柄が同一かつ日付が同一の組合せごとにグループ化された取引データを、そのグループごとに標準化する。そのため、異なる銘柄の不正取引データを纏めて学習データとして利用できるため、不正取引を精度高く検知できるモデルを学習することが可能になる。
【００２８】
また、学習データ生成部２０は、取引データに含まれるコード値で表された説明変数を、該当有無を示す説明変数（例えば、１または０で表される説明変数）に変換してもよい。例えば、図２に例示する終了区分コードが、取消による終了（＝０）、約定による終了（＝１）、失効による終了（＝２）を表わしているとする。この場合、学習データ生成部２０は、終了区分コードを、それぞれ、取消による終了か否かを示す説明変数（終了区分コード＿取消）、約定による終了か否かを示す説明変数（終了区分コード＿約定）、および、失効による終了か否かを示す説明変数（終了区分コード＿失効）に変換してもよい。
【００２９】
図３は、学習データ生成部２０によって生成された学習データの例を示す説明図である。図３に示す例では、図２に例示する各コードで示される説明変数を、それぞれ、該当有無を示す説明変数に変換した例を示す。また、図３に示す例では、数値データで表されている説明変数を、銘柄および日付ごとに、それぞれ標準化して変換した例を示す。
【００３０】
学習部３０は、標準化された取引データを学習データとして用いて、不正取引を検知するモデルを学習する。また、本実施形態では、学習部３０は、標準化された取引データのうち、銘柄が同一かつ日付が同一の組合せの一部に対応するグループの取引データを学習データとして用いて、不正取引を検知するモデルを学習する。一部の銘柄と日付の組合せに制限することで、負例データを大まかに削除することが可能になる。
【００３１】
学習部３０が、組合せの一部を選択する方法は任意である。学習部３０は、例えば、正例の含まれていない銘柄と日付の組合せのグループを、学習データから除外するようにしてもよい。また、学習部３０は、正例の含まれている割合が高い銘柄と日付の組合せのグループを優先的に選択するようにしてもよい。
【００３２】
さらに、学習部３０は、選択されたグループに含まれる取引データのうち、正例と負例との割合が同等になるように学習データを選択し、不正取引の種類に応じて、不公正さの度合いを示すモデルを学習する。具体的には、学習部３０は、不正取引の種類に応じた正解ラベルが取引データに付加された学習データを用いて、不正取引の種類ごとにモデルを学習する。
【００３３】
学習部３０がモデルを学習する方法は任意である。なお、正例と負例との割合が同等になるように学習をするため、学習部３０は、例えば、確率的勾配降下法（ＳＧＤ：Stochastic Gradient Descent ）を用いてモデルを学習してもよい。具体的には、学習部３０は、確率的勾配降下法を用いて、正例と負例とを交互に選択することにより、モデルを学習してもよい。例えば、モデルがニューラルネットワークの場合、学習部３０は、正例と負例とが５０％ずつ現れるように学習データを選択しながら、層間の重みを更新してもよい。
【００３４】
以下、正例と負例との割合が同等になるように学習データを選択する方法の具体的一例を説明する。例えば、学習データとして選択された取引データのうち、負例が１０万件、正例が２００件であったとする。この場合、学習部３０は、選択されたグループに含まれる取引データの件数の合計を算出する。そして、学習部３０は、算出された合計の半数のデータを、負例から重複せずに選択し、残りの半数のデータを正例から重複して繰り返し選択してもよい。
【００３５】
ここで、選択された負例のデータを［負Ｎ］とし、選択された正例のデータを［正Ｎ］と表記する。なお、Ｎは自然数である。学習部３０は、学習に用いるデータを、例えば、［負１］→［正１］→［負２］→［正２］→［負３］→［正３］→…→［負２００］→［正２００］→［負２０１］→［正１］→［負２０２］→［正２］→…→［負５１０００］→［正２００］のように選択してもよい。この場合、負例は毎回新しいデータが使用されるのに対し、正例は同じデータが重複して繰り返して使用されるが、正例と負例との割合が同等になるように学習データが選択されることになる。
【００３６】
また、上述するように、不正取引を示すデータ（正例）は、正常な取引を示すデータ（負例）に比べて件数が大幅に少ない。そのため、図らずも正例に含まれていた説明変数を用いて学習することにより、過学習等により、モデルの精度を低下させてしまう恐れがある。そのため、学習部３０は、取引データに含まれる説明変数のうち、不正取引に影響を及ぼす可能性があるとして、ユーザ等により予め指定された説明変数を用いてモデルを学習してもよい。
【００３７】
予測部４０は、不正取引の種類ごとに生成されたモデルを用いて、対象とする取引データから不正取引を検知する。予測部４０は、不正取引の検知結果を表示装置（図示せず）に出力してもよい。
【００３８】
学習データ生成部２０と、学習部３０と、予測部４０とは、プログラム（不正取引検知プログラム）に従って動作するコンピュータのプロセッサ（例えば、ＣＰＵ（Central Processing Unit ）、ＧＰＵ（Graphics Processing Unit））によって実現される。
【００３９】
例えば、プログラムは、記憶部１０に記憶され、プロセッサは、そのプログラムを読み込み、プログラムに従って、学習データ生成部２０と、学習部３０と、予測部４０として動作してもよい。また、不正取引検知装置の機能がＳａａＳ（Software as a Service ）形式で提供されてもよい。
【００４０】
学習データ生成部２０と、学習部３０と、予測部４０とは、それぞれが専用のハードウェアで実現されていてもよい。また、各装置の各構成要素の一部又は全部は、汎用または専用の回路（circuitry ）、プロセッサ等やこれらの組合せによって実現されてもよい。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各装置の各構成要素の一部又は全部は、上述した回路等とプログラムとの組合せによって実現されてもよい。
【００４１】
また、不正取引検知装置の各構成要素の一部又は全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は、集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
【００４２】
次に、本実施形態の不正取引検知装置の動作例を説明する。図４は、本実施形態の不正取引検知装置１００の動作例を示すフローチャートである。学習データ生成部２０は、銘柄が同一かつ日付が同一の組合せごとにグループ化された取引データを、グループごとに標準化する（ステップＳ１１）。そして、学習部３０は、標準化された取引データのうち、組合せの一部に対応するグループの取引データを学習データとして用いて、正例と負例との割合が同等になるように学習データを選択しながら、不正取引を検知するモデルを学習する（ステップＳ１２）。
【００４３】
以上のように、本実施形態では、学習データ生成部２０が、銘柄が同一かつ日付が同一の組合せごとにグループ化された取引データを、そのグループごとに標準化する。そして、学習部３０が、標準化された取引データのうち、組合せの一部に対応するグループの取引データを学習データとして用いて、不正取引を検知するモデルを学習する。その際、学習部３０が、選択されたグループに含まれる取引データのうち、正例と負例との割合が同等になるように学習データを選択する。よって、不正取引を精度高く検知できる。
【００４４】
次に、本発明の概要を説明する。図５は、本発明による不正取引検知装置の概要を示すブロック図である。本発明による不正取引検知装置８０（例えば、不正取引検知装置１００）は、銘柄が同一かつ日付が同一の組合せごとにグループ化された取引データを、そのグループごとに標準化する取引データ標準化部８１（例えば、学習データ生成部２０）と、標準化された取引データのうち、組合せの一部に対応するグループの取引データを学習データとして用いて、不正取引を検知するモデルを学習する学習部８２（例えば、学習部３０）とを備えている。
【００４５】
学習部８２は、選択されたグループに含まれる取引データのうち、正例と負例との割合が同等になるように学習データを選択する。
【００４６】
そのような構成により、不正取引を精度高く検知できる。
【００４７】
また、取引データ標準化部８１は、グループごとに算出される取引データの平均および分散に基づいて（例えば、上記式１を用いて）、グループごとに取引データを標準化してもよい。
【００４８】
また、学習部８２は、取引データに含まれる説明変数のうち、予め指定された説明変数を用いてモデルを学習してもよい。
【００４９】
また、学習部８２は、不正取引の種類に応じた正解ラベルが取引データに付加された学習データを用いて、不正取引の種類ごとにモデルを学習してもよい。
【００５０】
また、学習部８２は、確率的勾配降下法によりモデルを学習してもよい。
【００５１】
また、学習部８２は、選択されたグループに含まれる取引データの件数の合計のうち、その合計の半数のデータを負例から重複せずに選択し、残りの半数のデータを正例から重複して繰り返し選択してもよい。このような方法により、正例と負例との割合が同等になるように学習データを選択できる。
【００５２】
図６は、少なくとも１つの実施形態に係るコンピュータの構成を示す概略ブロック図である。コンピュータ１０００は、プロセッサ１００１、主記憶装置１００２、補助記憶装置１００３、インタフェース１００４を備える。
【００５３】
上述の不正取引検知装置は、コンピュータ１０００に実装される。そして、上述した各処理部の動作は、プログラム（不正取引検知プログラム）の形式で補助記憶装置１００３に記憶されている。プロセッサ１００１は、プログラムを補助記憶装置１００３から読み出して主記憶装置１００２に展開し、当該プログラムに従って上記処理を実行する。
【００５４】
なお、少なくとも１つの実施形態において、補助記憶装置１００３は、一時的でない有形の媒体の一例である。一時的でない有形の媒体の他の例としては、インタフェース１００４を介して接続される磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ（Compact Disc Read-only memory ）、ＤＶＤ−ＲＯＭ（Read-only memory）、半導体メモリ等が挙げられる。また、このプログラムが通信回線によってコンピュータ１０００に配信される場合、配信を受けたコンピュータ１０００が当該プログラムを主記憶装置１００２に展開し、上記処理を実行してもよい。
【００５５】
また、当該プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、当該プログラムは、前述した機能を補助記憶装置１００３に既に記憶されている他のプログラムとの組み合わせで実現するもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【符号の説明】
【００５６】
１０  記憶部
２０  不正取引検知装置
３０  学習部
４０  予測部
【図１】
2020154543.tif 000004
【図２】
2020154543.tif 000005
【図３】
2020154543.tif 000006
【図４】
2020154543.tif 000007
【図５】
2020154543.tif 000008
【図６】
2020154543.tif 000009