(57)【要約】 【課題】  動的なアルゴリズム取引に用いられるアルゴリズム要素の膨大な組合せに対処し、オンライン取引を行うことができるようにする。【解決手段】  アルゴリズム要素群における一のアルゴリズム要素による取引の個別シミュレーションを実行することにより、一の時間帯の約定結果を得る個別シミュレーション実行手段と、一日の取引における全ての時間帯それぞれについて前記アルゴリズム要素群のそれぞれのアルゴリズム要素を適用し、時間帯数とアルゴリズム要素数との積に相当する回数の個別シミュレーションを行うよう前記個別シミュレーション実行手段を制御する制御手段と、前記制御手段により制御された個別シミュレーション実行手段から得られる時間帯ごとの約定結果に基づいて、前記アルゴリズム要素の最良の組合せを選別する選別手段と、前記選別手段により選別されたアルゴリズム要素の最良の組合せによりオンライン発注を行う発注手段と、を具備する。【選択図】図１
2011215908.tif 000002
【特許請求の範囲】
【請求項１】
アルゴリズム要素群における一のアルゴリズム要素による取引の個別シミュレーションを実行することにより、一の時間帯の約定結果を得る個別シミュレーション実行手段と、
一日の取引における全ての時間帯それぞれについて前記アルゴリズム要素群のそれぞれのアルゴリズム要素を適用し、時間帯数とアルゴリズム要素数との積に相当する回数の個別シミュレーションを行うよう前記個別シミュレーション実行手段を制御する制御手段と、
前記制御手段により制御された個別シミュレーション実行手段から得られる時間帯ごとの約定結果に基づいて、前記アルゴリズム要素の最良の組合せを選別する選別手段と、
前記選別手段により選別されたアルゴリズム要素の最良の組合せによりオンライン発注を行う発注手段と、
を具備することを特徴とするアルゴリズム取引システム。
【請求項２】
前記回数の個別シミュレーション実行によって前記個別シミュレーション実行手段から得られる約定結果に基づいて、一日の取引における全ての時間帯それぞれに前記アルゴリズム要素群のそれぞれのアルゴリズム要素を適用した場合の全ての組合せの成績値集合を計算するシミュレーション補正手段をさらに具備し、
前記選別手段は、前記成績値集合に基づいて前記最良の組合せを選別することを特徴とする請求項１に記載のアルゴリズム取引システム。
【請求項３】
前記約定結果は約定価格と約定数を含んでおり、
前記約定価格と前記約定数とを乗算することにより時間帯ごとのＶＷＡＰ（出来高加重平均価格）を計算する個別ＶＷＡＰ計算手段と、
前記時間帯ごとのＶＷＡＰに時間帯ごとの約定数を乗じた値の全時間帯の総和を、全時間帯の累積約定数で除算することにより、全時間帯を通したＶＷＡＰを計算するシミュレーション補正手段と、をさらに具備し、
前記選別手段は、前記全時間帯を通したＶＷＡＰに基づいて前記最良の組合せを選別することを特徴とする請求項１に記載のアルゴリズム取引システム。
【請求項４】
個別シミュレーション実行手段が、アルゴリズム要素群における一のアルゴリズム要素による取引の個別シミュレーションを実行することにより一の時間帯の約定結果を得るステップと、
制御手段が、一日の取引における全ての時間帯それぞれについて前記アルゴリズム要素群のそれぞれのアルゴリズム要素を適用し、時間帯数とアルゴリズム要素数との積に相当する回数の個別シミュレーションを行うよう前記個別シミュレーション実行手段を制御するステップと、
選別手段が、前記制御手段により制御された個別シミュレーション実行手段から得られる時間帯ごとの約定結果に基づいて前記アルゴリズム要素の最良の組合せを選別するステップと、
発注手段が、前記選別手段により選別されたアルゴリズム要素の最良の組合せによりオンライン発注を行うステップと、
を具備することを特徴とするアルゴリズム取引方法。
【請求項５】
コンピュータを、
アルゴリズム要素群における一のアルゴリズム要素による取引の個別シミュレーションを実行することにより、一の時間帯の約定結果を得る個別シミュレーション実行手段、
一日の取引における全ての時間帯それぞれについて前記アルゴリズム要素群のそれぞれのアルゴリズム要素を適用し、時間帯数とアルゴリズム要素数との積に相当する回数の個別シミュレーションを行うよう前記個別シミュレーション実行手段を制御する制御手段、
前記制御手段により制御された個別シミュレーション実行手段から得られる時間帯ごとの約定結果に基づいて、前記アルゴリズム要素の最良の組合せを選別する選別手段、
前記選別手段により選別されたアルゴリズム要素の最良の組合せによりオンライン発注を行う発注手段、
として機能させるためのアルゴリズム取引プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータを利用したオンラインによる証券等のアルゴリズム取引に用いられるシステム、方法およびプログラムに関する。
【背景技術】
【０００２】
近年、株券の売買をコンピュータで自動的に実施するアルゴリズム取引のシステムが実現している。アルゴリズム取引システムを用いるためには、取引アルゴリズムを設計しコンピュータに実装しなければならない。アルゴリズムそのものの妥当性と実装の正しさを検証するためには、実際のマーケットに発注して損益を評価すればよいのであるが、アルゴリズムが不十分で実装に問題があった場合には、大きな損失をひきおこす可能性がある。アルゴリズムの適切な検証手段が無いことが、アルゴリズム取引導入の大きな課題であった。
【０００３】
実在する証券市場での株券受発注の記録（ティックデータ）を用いて、仮想的な証券市場を実現することができる。このようなシステムを約定シミュレーションシステムと言う。コンピュータによる自動売買システム（アルゴリズム取引システム）では、設計したアルゴリズムの妥当性とそのアルゴリズムの実装の妥当性を検証するために、この約定シミュレーションシステムを用いる。設計したアルゴリズムを実装し、約定シミュレーションシステムに自動発注し、成績を確認することでアルゴリズムそのものの妥当性と正しく実装されたかどうか判断できる。アルゴリズムの検証を正確に実施するために、市場の振る舞いをできるだけ忠実に再現できることが望ましい。特に、発注が市場価格に与える影響（マーケットインパクト）を正確に再現できることが重要である。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−２６２２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
株式市場の出来高は午前の開始直後（寄り付き）や午後の終了直前（大引け）に多くなることでも知られるように、市場の動きは時々刻々変化する。このため、アルゴリズム取引は、株式市場の時間的な変化に対応できることが有益である。ある一日のアルゴリズム取引の方法のひとつは、その一日における複数の時間帯それぞれについて、事前に準備された複数のアルゴリズムの構成要素（以下「アルゴリズム要素」と呼ぶ）からいずれかを選択して適用することである。このため、一日の取引において適用される一連のアルゴリズム要素すなわちアルゴリズム要素の組合せを、動的なアルゴリズム取引に用いられるアルゴリズムとして作成する手法が考えられている。作成されたアルゴリズムは、現実の証券取引に有効であるかどうかを評価する必要がある。具体的には、多数のアルゴリズム要素の組合せについて、複数日の証券取引データを利用して証券取引シミュレーションを行い、そのシミュレーション結果を統計的に評価する。
【０００６】
この場合、検証するアルゴリズム要素の組合せは数が多く、それぞれに組み合わせられる証券取引データを考慮すると、証券取引シミュレーションで処理すべきデータのサイズは膨大である。したがって、証券取引シミュレーションを実行するのに多大な時間がかかるという問題点がある。
【０００７】
本発明はこの問題を解決するためになされたものであり、動的なアルゴリズム取引に用いられるアルゴリズム要素の膨大な組合せに対処し、オンライン取引を行うことができるアルゴリズム取引システム、方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
一態様に係るアルゴリズム取引システムは、アルゴリズム要素群における一のアルゴリズム要素による取引の個別シミュレーションを実行することにより、一の時間帯の約定結果を得る個別シミュレーション実行手段と、一日の取引における全ての時間帯それぞれについて前記アルゴリズム要素群のそれぞれのアルゴリズム要素を適用し、時間帯数とアルゴリズム要素数との積に相当する回数の個別シミュレーションを行うよう前記個別シミュレーション実行手段を制御する制御手段と、前記制御手段により制御された個別シミュレーション実行手段から得られる時間帯ごとの約定結果に基づいて、前記アルゴリズム要素の最良の組合せを選別する選別手段と、前記選別手段により選別されたアルゴリズム要素の最良の組合せによりオンライン発注を行う発注手段と、を具備することを特徴とする。
【図面の簡単な説明】
【０００９】
【図１】実施形態に係るアルゴリズム取引システムの機能ブロック図
【図２】実施形態に係るアルゴリズム取引システムのハードウェア構成図
【図３】証券取引シミュレーションの実行タイミングおよび繰り返しについての模式図
【図４】板情報に基づく証券取引の模式図
【図５】市場取引シナリオ生成部により生成される発注シナリオを示す図
【図６】アルゴリズム要素記憶部に記憶されるアルゴリズム要素の２つの例を示す図
【図７】ある時間帯が終了した時点での板情報を示す図
【図８】取引アルゴリズム作成装置の動作手順を示すフローチャート
【図９】取引アルゴリズム作成装置の動作手順を示すフローチャート
【図１０】出来高の時間分布を示す図
【図１１】アルゴリズム要素の組合せの最良解を示す図
【図１２】各時刻の約定価格を示す図
【図１３】各時刻の出来高を示す図
【図１４】各時刻の買注文、売注文、および約定を示す図
【図１５】一の取引時間帯を前半と後半に分割した場合の一定約定価格を示す図
【図１６】一の取引時間帯を前半と後半に分割した場合の一定出来高を示す図
【図１７】アルゴリズム最終結果選別部による選別の基準を示す図
【図１８】アルゴリズム最終結果選別部により選別されたアルゴリズム最終結果を示す図
【図１９】アルゴリズム選択補正画面の一例を示す図
【発明を実施するための形態】
【００１０】
以下、図面を参照しながら本発明の種々の実施形態を説明する。
【００１１】
（第１の実施形態）  
図１は、実施形態に係るアルゴリズム取引システムを機能ブロック図によって表現したものである。本システムは、大別すると取引アルゴリズム作成装置２、オンライン発注装置３、操作端末４により構成される。証券会社のディーラー等のユーザが操作端末４から指示を行うことにより、取引アルゴリズムを用いた発注がネットワーク１６を介してマーケット２００に対して行われる。
【００１２】
取引アルゴリズム作成装置２は、個別シミュレーション実行部２０、市場取引シナリオ生成部２１、アルゴリズム発注生成部２２、アルゴリズム要素記憶部２３、シミュレーション補正部２４、個別シミュレーション結果記憶部２５、シミュレーション補正結果記憶部２６、制御部２７、アルゴリズム最終結果選別部２９、アルゴリズム最終結果記憶部３０を備え、動的なアルゴリズム取引に用いられるアルゴリズム要素の膨大な組合せに対処し、証券取引シミュレーションを高速に行って取引アルゴリズムを作成するものである。
【００１３】
オンライン発注装置３は、取引アルゴリズム作成装置２によって作成された複数の取引アルゴリズムからいずれかを選択したり、一の取引アルゴリズムを構成するアルゴリズム要素の組合せを補正したりするためのアルゴリズム選択補正部７と、操作端末４からの指示により、最終的な取引アルゴリズムを用いてマーケット２００に対するオンライン発注を行うアルゴリズム取引発注部８とを有する。オンライン発注装置３には、ネットワーク１６を介して情報提供会社２０１から提供された情報が蓄積され、該情報は操作端末４において表示することができる。
【００１４】
操作端末４は、証券会社のディーラー等のユーザがオンラインによりアルゴリズム取引に関する指示入力等を行う入力部５と、オンライン発注画面やアルゴリズム選択補正画面等を表示する表示するための表示部６を有する。
【００１５】
図２は、実施形態に係るアルゴリズム取引システムのハードウェア構成図である。主記憶装置１１からプログラムが補助記憶装置１２に読み込まれる。このプログラムは、コンピュータ１を、本実施形態に係るアルゴリズム取引システムとして機能させるためのものであって、ＣＰＵ１０により実行される。主記憶装置１１は、個別シミュレーション結果記憶部２５、シミュレーション補正結果記憶部２６、アルゴリズム最終結果記憶部３０等を実現するためのメモリ等の記憶手段である。また補助記憶装置１２は、磁気ディスク装置やＣＤ−ＲＯＭ装置等である。上記プログラムを機械読み取り可能な記録媒体から読み出して補助記憶装置１２に記憶するようにしてもよい。入力装置１３は、本実施形態に係るアルゴリズム取引システムを利用するユーザが種々の入力操作を行うためのキーボートやマウス等である。出力装置１４は、ＣＰＵ１０によって行われた演算の結果などを表示するディスプレイデバイスやプリンタデバイス等である。通信装置１５は、上記演算の結果などの処理結果をネットワーク１６を介してコンピュータ１から他のコンピュータへ送信するための通信手段である。
【００１６】
本実施形態に係るアルゴリズム取引システムは、１台のコンピュータによって実現することが可能であるが、複数のコンピュータによって実現してもよい。例えば、取引アルゴリズム作成装置２、オンライン発注装置３、操作端末４がそれぞれ別のコンピュータによって実現されてもよい。また主記憶装置１１が記憶するデータの一部を他のコンピュータによって記憶してもよい。この場合、複数のコンピュータ間でネットワーク１６を介してデータをやり取りする。
【００１７】
以下では、説明の便宜上、一の銘柄の株式を取引する場合を例にとって説明するが、複数の銘柄の取引も可能である。また、本装置で扱えるアルゴリズム取引の対象は、証券（株券等）に限定されない。
【００１８】
個別シミュレーション実行部２０は、証券取引のシミュレーション（以下、シミュレーションという）を実行する。個別シミュレーション実行部２０には、市場の取引を再現する市場取引シナリオに基づく発注と、アルゴリズム発注すなわちアルゴリズム要素によりなされた発注とが入力される。市場取引シナリオがＸ日分ある場合、個別シミュレーション実行部２０は、全Ｘ日それぞれの日の取引に関して、時間帯ごとの個別シミュレーションを実行する。
【００１９】
図３は、証券取引シミュレーションの実行タイミングおよび繰り返しについての模式図である。ここでは、一日の取引を６つの時間帯ａ１〜ａ６に分割している。個別シミュレーション実行部２０は、Ｘ日分の市場取引シナリオを利用し、時間帯ごとの個別シミュレーションを、複数のアルゴリズム要素（図３では、Ａ，Ｂ，Ｃ，Ｄの４つ）のそれぞれについて実行する。これにより各時間帯の終了時点において、取引成立結果（約定結果）と証券取引の情報（板情報）とが得られ、個別シミュレーション結果記憶部２５に記憶される。なお、時間帯の分割の仕方は図３に例示した６分割（ａ１〜ａ６）に限らない。一日の時間帯をどのように分割するかは任意である。複数の時間帯への分割数をより多くすれば、一日の取引においてアルゴリズム要素を細かく切り替えることができるが、アルゴリズム要素の組合せの数は増大する。一方、複数の時間帯への分割数をより少なくすれば、アルゴリズム要素の組合せの数を抑えることができるが、一日の取引においてアルゴリズム要素を細かく切り替えることはできない。
【００２０】
図４は、個別シミュレーション実行部２０により実行される、板情報に基づく証券取引の模式図である。個別シミュレーション実行部２０で行われる証券取引（の個別シミュレーション）は、同図のように売買を希望する値段（価格）ごとに売数量および買数量が並べられた板に基づいて行われる。９時３５分時点の板によると、値段１９０円で売数量が６０００株あり、買数量が２０００株あるため、この２０００株について売買が成立する。９時３６分時点の板によると、いずれの売買数量においても値段が等しくないため、売買が成立しない。個別シミュレーション実行部２０は、発注が市場取引シナリオからのものかアルゴリズム要素からのものかを区別する。９時３６分の板の買数量２５００の内訳において、先頭の発注４０は、市場取引シナリオからの数量１０００の発注であり、２番目の発注４１はアルゴリズム要素Ｂからの数量５００の発注であり、３番目の発注４２は、市場取引シナリオからの数量１０００の発注である。アルゴリズム要素からの発注４１については、アルゴリズム要素名４３、発注を行った時刻４４、発注内容の変更回数４５等の情報が含まれる。
【００２１】
図５に示すように、市場取引シナリオ生成部２１は、日付、時刻、売買種別、数量、値段によって構成される市場取引シナリオを生成する。同図は、Ｘ日分の市場取引シナリオのデータを示している。市場取引シナリオ生成部２１は、このようなＸ日分の市場取引シナリオのデータを、過去の実際の市場取引のデータに基づいて生成する。あるいは、事前に準備された仮想的な市場取引のデータに基づいて、市場取引シナリオのデータを生成してもよい。市場取引シナリオ生成部２１により生成された市場取引シナリオによる発注が、個別シミュレーション実行部２０に入力される。個別シミュレーション実行部２０はＸ日分の個別シミュレーションを繰り返すことから、第１日の個別シミュレーション実行に際して、第１の日付を有する１つまたは複数の市場取引シナリオのデータが発注データとして個別シミュレーション実行部２０に入力され、第２日の個別シミュレーション実行に際して、第２の日付を有する１つまたは複数の市場取引シナリオのデータが発注データとして個別シミュレーション実行部２０に入力される。
【００２２】
図６は、アルゴリズム要素記憶部２３に記憶されるアルゴリズム要素の２つの例を示している。アルゴリズム発注生成部２２は、アルゴリズム要素記憶部２３からこれらのようなアルゴリズム要素を取得し、アルゴリズム要素に基づく発注を生成して個別シミュレーション実行部２０に入力する。同図に示すように、アルゴリズム要素は、発注時の市場状態、売買指定、発注間隔（秒）、発注数量、発注形態（指値・成行指定）等の情報を含む。同図（ａ）に示すアルゴリズム要素Ａは、市場の状態が寄り付き・引け・ザラバそれぞれの状態での発注を行えるものである。寄り付きとザラバでは指値で発注を行うので、指値の位置（注文を出す価格の位置）を指定している。同図（ｂ）に示すアルゴリズム要素Ｂは、ザラバの発注のみを行うものである。アルゴリズム要素Ｂでは、発注時点から時間が経つと価格を変更して発注をしなおす。アルゴリズム要素Ｂにおいて、発注時指値は「最良気配値＋２ｔｉｃｋ」となっているが、この「ｔｉｃｋ」とは、取引価格の単位を表す。例えば、取引価格が１円単位ならば、１ｔｉｃｋは１円である。
【００２３】
各時間帯の終了時点のアルゴリズム要素による約定結果および市場全体の約定結果が個別シミュレーション実行部２０から出力され、個別シミュレーション結果記憶部２６に記憶される。アルゴリズム要素による約定結果は、アルゴリズム要素の発注による約定結果のみに相当し、日付および時間帯それぞれの、約定数および約定価格である。市場全体の約定結果は、アルゴリズム要素による発注と市場取引シナリオによる発注による全ての約定結果の和に相当し、日付および時間帯それぞれの、約定数および約定価格である。本実施形態のようにＸ日分の市場取引データについてシミュレーションが実行される場合、個別シミュレーション実行部２０から出力されるＸ日分の約定結果が個別シミュレーション結果情報記憶部２５に記憶されることになる。
【００２４】
図７は、ある時間帯が終了した時点での板情報の例を示している。同図８１はアルゴリズム要素に基づく発注の約定結果であり、同図８０，８２は市場全体の約定結果である。これら約定結果は、いずれも２００９年６月１日と６月２日の約定結果を示したものであるが、Ｘ日分の取引シミュレーションを行う場合、約定結果もＸ日分記憶される。なお、アルゴリズム要素に基づく発注の約定結果だけではなく市場全体の約定結果についても、同図８１に示すように、どのアルゴリズム要素が当該時間帯のシミュレーションに適用されているかが区別される。
【００２５】
図１に示すように、個別シミュレーション実行部２０は、個別ＶＷＡＰ計算部２８を有する。この個別ＶＷＡＰ計算部２８は、アルゴリズム要素による時間帯ごとの約定結果に基づいて、時間帯毎のＶＷＡＰ（以下、「時間帯ごとの個別ＶＷＡＰ」という）を計算する。ＶＷＡＰとは、Ｖｏｌｕｍｅ  Ｗｅｉｇｈｔｅｄ  Ａｖｅｒａｇｅ  Ｐｒｉｃｅ（出来高加重平均価格）の略であり、取引成立時の売買価格すなわち約定価格の出来高（約定数）に関する加重平均のことである。
【００２６】
シミュレーション補正部２４は、複数のアルゴリズム要素の組合せによる、ある１日の取引の全時間帯を通したＶＷＡＰ（以下、「アルゴリズム取引のＶＷＡＰ」という）、および市場全体における、ある１日の取引の全時間帯を通したＶＷＡＰ（以下、「市場全体のＶＷＡＰ」という）を計算する。
【００２７】
本実施形態のようにＸ日分のデータを用いたシミュレーションを行う場合の、それぞれの日の取引の時間帯ごとの個別ＶＷＡＰを個別ＶＷＡＰ計算部２８がどのように計算し、それぞれの日の取引の全時間帯を通したＶＷＡＰ（すなわちアルゴリズム取引のＶＷＡＰ）をシミュレーション補正部２４がどのように計算するかについては後述する。
【００２８】
制御部２７は、後述する動作手順に従って個別シミュレーションの実行およびシミュレーション補正を行うよう、個別シミュレーション実行部２０およびシミュレーション補正部２４を制御する。
【００２９】
アルゴリズム最終結果選別部２９は、シミュレーションが終了時刻に達した時点における制御部２７からの指示により、選別基準に基づいて最良の取引アルゴリズムを選別し、その結果をアルゴリズム最終結果記憶部３０に記憶する。アルゴリズム最終結果記憶部３０には、作成された複数の取引アルゴリズムが格納され、どの取引アルゴリズムが最良のものであるかが識別可能となっている。
【００３０】
図８および図９は、取引アルゴリズム作成装置２の動作手順を示すフローチャートである。以下、このフローチャートのステップに従って、本装置の動作手順を説明する。この動作手順では、特定の株式銘柄の取引に用いるための取引アルゴリズムを取引アルゴリズム作成装置２が生成するものとする。
【００３１】
個別シミュレーション実行部２０がシミュレーションを開始するにあたり、１日の取引時間を種々の時間帯に分割する幾つかの候補の中からいずれかを指定する（ステップＳ１０１）。この指定は、例えばユーザが取引アルゴリズム作成装置２の個別シミュレーション実行部２０に対して行う。本動作手順では、例えば午前の取引時間（前場）と午後の取引時間（後場）をそれぞれ２つの時間帯に分割する指定がユーザからなされたものとする。なお、１１時００分から１２時３０分までの時間帯に取引は行われていないものとし、当該時間帯についてのシミュレーションは行わない。またステップＳ１０１において、検証するアルゴリズム要素群をユーザが取引アルゴリズム作成装置２に対して指定する。本動作手順では、アルゴリズム要素Ａ、Ｂ、Ｃ、Ｄの４つのアルゴリズム要素群が指定されたものとする。これら４つのアルゴリズム要素Ａ、Ｂ、Ｃ、Ｄに基づいて、取引アルゴリズム作成装置２は最適な取引アルゴリズムを生成する。個々のアルゴリズム要素の例については図６に示している。またステップＳ１０１において、ユーザが取引アルゴリズム作成装置２に対して市場取引シナリオを指定する。これには、過去の実際のデータを市場取引シナリオとして利用する旨を指定する場合と、仮想的に生成されたデータを市場取引シナリオとして利用する旨を指定する場合とがある。例えば本動作手順では、過去の実際のデータを市場取引シナリオとして利用するシミュレーションを行うものとする。過去の実際のデータを利用する場合、その期間（上述したＸ日）を指定できるようにするのが好ましい。過去の実際のデータおよび仮想的に生成されたデータのいずれについても、市場取引シナリオは、１つまたは複数の取引日を有する。
【００３２】
ステップＳ１０２において、個別シミュレーション実行部２０は、シミュレーションを開始する初期の時間帯を設定する。ステップＳ１０３において、個別シミュレーション実行部２０は、ステップＳ１０１で設定されたアルゴリズム要素群のなかから、一のアルゴリズム要素を設定する。ステップＳ１０４において、個別シミュレーション実行部２０は、ステップＳ１０１で指定された市場取引シナリオの取引期間における一の取引日を設定する。また、市場取引シナリオ生成部２１から市場取引シナリオによる発注を受け取り、アルゴリズム要素取得部２２から当該アルゴリズム要素による発注を受け取る。以上の読み込みを終えた後、ステップＳ１０５において、制御部２７からの指示により個別シミュレーション実行部２０がシミュレーションを実行する。
【００３３】
取引日および時間帯ごとに個別に行われる個別シミュレーションが終了すると、ステップＳ１０６において、個別シミュレーション実行部２０から取引日および時間帯ごとの約定結果が出力され、個別シミュレーション結果記憶部２５に記憶される。
【００３４】
ステップＳ１０７において、制御部２７はシミュレーションを行った取引日が終了したかどうかを判定する。終了していない場合は、ステップＳ１０４に戻り、取引日を更新して個別シミュレーションを繰り返すように個別シミュレーション実行部２０を制御する。
【００３５】
ステップＳ１０４乃至Ｓ１０７が取引日終了まで繰り返されることにより、当該時間帯について、当該アルゴリズム要素を適用した場合の個別シミュレーション結果が取引日ごとに得られることになる。このようにステップＳ１０７のシミュレーションが全ての取引日で行われると、ステップＳ１０８において、個別ＶＷＡＰ計算部２８は、当該時間帯における当該アルゴリズム要素による個別ＶＷＡＰを計算する。
【００３６】
次にステップＳ１０９において、制御部２７は、当該時間帯についてシミュレーションを行っていないアルゴリズム要素が残っているかどうか判定する。当該時間帯についてシミュレーションを行っていないアルゴリズム要素が残っている場合はステップＳ１０３に戻る。ステップＳ１０４においては、当該時間帯についてシミュレーションを行っていないアルゴリズム要素がアルゴリズム要素群の中から選ばれて設定される。
【００３７】
当該時間帯についてシミュレーションを行っていないアルゴリズム要素が残っていない場合（ステップＳ１０９＝ＮＯ）、制御部２７は、シミュレーション時刻が当該取引日における最終の時間帯に到達したかどうかを判定する（ステップＳ１１０）。最終時間帯に到達していない場合（ステップＳ１１０＝ＮＯ）、制御部２７は、時間帯を次の時間帯に更新する（ステップＳ１１１）。
【００３８】
シミュレーション時刻が最終時間帯に到達すると（ステップＳ１１０＝ＹＥＳ）、制御部２７は、シミュレーション補正部２４に対し、個別シミュレーション結果に基づいてシミュレーション補正を行うよう指示する（ステップＳ１１２）。
【００３９】
ステップＳ１１２において、シミュレーション補正部２４は、取引日ごとに、１日の全時間帯を通したＶＷＡＰ（アルゴリズム取引のＶＷＡＰ）を計算する。これは、ステップＳ１０８で計算された時間帯ごとの個別ＶＷＡＰに、時間帯ごとの約定数を乗じた値の全時間帯の総和を、全時間帯の累積約定数で除算すること（シミュレーション補正）により行う。また、シミュレーション補正部２４は、アルゴリズム取引のＶＷＡＰと同様に市場全体のＶＷＡＰも算出する。
【００４０】
ステップＳ１１３において、アルゴリズム最終結果選別部２９は、全アルゴリズム要素の組合せの中から、選別基準を満たす最良の組合せを選別し（ステップＳ１１３）、アルゴリズム最終結果記憶部３０に記憶する（ステップＳ１１４）。この選別においては、ステップＳ１１２で計算されたアルゴリズム取引のＶＷＡＰと市場全体のＶＷＡＰを比較することにより行う。
【００４１】
本実施形態に係る取引アルゴリズム作成装置２は、１日の取引における全時間帯を通したシミュレーションを実行してシミュレーション結果を得るのではなく、時間帯ごとの個別シミュレーションのみ行い、これにより得られた個別シミュレーション結果（時間帯ごとの個別ＶＷＡＰ）を用いて取引アルゴリムの選定に必要な情報（アルゴリズム取引のＶＷＡＰ）を得るものである。つまり、個別シミュレーション実行部２０は、高々、（アルゴリズム要素の数）×（時間帯の数）回のシミュレーションを実行する。これにより、アルゴリズム要素の全ての組合せについてシミュレーションを実行する場合に比べて高速に、アルゴリズム要素の最良の組合せ（すなわち最終的な取引アルゴリズム）を得ることができる。このような本実施形態の特徴について詳細に説明する。
【００４２】
ＶＷＡＰ（出来高加重平均価格）で株を売却する場合を考える。１日において取引が行われる時間帯を９時００分から１０時００分、１０時００分から１２時００分、１２時３０分から１４時００分、１４時００分から１５時００分までの４つの時間帯ａ１〜ａ４に分割したとする。そして、各時間帯の出来高の累積が例えば図１０のようであるとする。図１０において、Ｌ１は１日を通した累積出来高を表し、Ｌ２は各時間帯の累積出来高を表している。９時００分から１０時００分までの時間帯ａ１において、Ｌ１とＬ２は一致している。日本の市場には、前場（９時００分から１２時００分）の寄り付き（９時００分）と後場（１２時３０分から１５時００分）の寄り付き（１４時３０分）で板寄せ取引による大量の約定が発生するという特徴がある。９時００分および１２時３０分において、累積約定が０から始まっていないのはそのためである。また、前場と後場の引け（１１時００分および１５時００分）においても大量の約定が生じやすい。このような特徴を考慮し、次のような３つのアルゴリズム要素を仮定する。
【００４３】
アルゴリズム要素Ａ：始めに大量約定、終わりに少量約定。
【００４４】
アルゴリズム要素Ｂ：始めに少量約定、終わりに大量約定。
【００４５】
アルゴリズム要素Ｃ：約定がほぼ一定。
【００４６】
上述したように１日において取引が行われる時間帯を９時００分から１０時００分、１０時００分から１２時００分、１２時３０分から１４時００分、１４時００分から１５時００分までの４つの時間帯ａ１〜ａ４に分割し、各時間帯にアルゴリズム要素Ａ〜Ｃのいずれかを適用する場合、その全ての組合せは、（Ａ，Ａ，Ａ，Ａ）（Ａ，Ａ，Ａ，Ｂ）（Ａ，Ａ，Ａ，Ｃ）（Ａ，Ａ，Ｂ，Ａ）（Ａ，Ａ，Ｂ，Ｂ）（Ａ，Ａ，Ｂ，Ｃ）…（Ｃ，Ｃ，Ｃ，Ｃ）のように８１通りとなる。
【００４７】
実際にこれだけの組合せを厳密に評価する必要はないと考えられる。このような多数の組合せを検証する必要があるのは、前段の評価が次の市場に影響する場合である。例えば、アルゴリズム要素のある組合せ（Ａ，Ａ）とアルゴリズム要素の別の組合せ（Ｂ，Ａ）とを考えたとき、前者の組合せでは最初にアルゴリズム要素Ａが適用され、後者の組合せでは最初にアルゴリズム要素Ｂが適用されることになる。このように最初にアルゴリズム要素Ａを適用したときとアルゴリズム要素Ｂを適用したときとで、次の時間帯の市場が大きく変わるのであれば、前者および後者の組合せを厳密に評価しなければならない。
【００４８】
しかしながら、アルゴリズム取引は、大量注文を少量注文に分割し、市場を大きく変えることを防ぐことを主な目的として行われるものである。また、株価はブラウン運動し、前の価格が後の価格に影響しないことが知られている。大量注文等で価格を大きく変えた場合、ブラウン運動するがために、先々の価格がどうなるか、予想はますます難しくなってしまう。そのためにも、市場を大きく変えるような大量発注は原則避けなければならない。したがって、４つの時間帯ａ１〜ａ４が独立したマーケットと仮定することができ、この場合３つのアルゴリズム要素Ａ，Ｂ，Ｃを評価して成績が最もよいもの、例えば図１１に示すようにアルゴリズム要素（Ａ，Ｃ，Ａ，Ｃ）の組合せが最良解となる。
【００４９】
より定量的にアルゴリズムの良否を判断するために、８１通りの組合せについて成績を評価する必要がある。この場合、時間帯ごとにアルゴリズム要素Ａ，Ｂ，Ｃについて個別シミュレーションを実行すると、その実行回数は３×４＝１２回である。ただし、４つの時間帯を通して評価した場合に比べて各時間帯の初期条件が異なる。前の時間帯で所定の株数をＶＷＡＰで売買できたかどうかはわからないからである。
【００５０】
例えば、アルゴリズム要素（Ｃ，Ｃ，Ｃ，Ｃ）の組合わせについて、売却をシミュレーションした場合を考えてみる。最初の時間帯ａ１は、初めに大量の注文があるにもかかわらず、少量の注文しか出されないので、結果的にはＶＷＡＰよりも安い価格で売却することになり、売り数量も予定より少なくなるはずである。その分だけ時間帯ａ１は損となる。次の時間帯ａ２では、アルゴリズム要素Ｃの適用は正解であるから時間帯ａ１で売却できなかった分も売却できると考えてよい。ある時間帯でのＶＷＡＰが前の時間帯の平均売却価格よりも高ければ益となり、逆に、ある時間帯でのＶＷＡＰが前の時間帯の平均売却価格（特に前の時間帯のＶＷＡＰ）よりも安ければ損となる。これは、少ない計算時間で補正することができ、あらためてシミュレーションする必要はない。したがって、１２回のシミュレーションと８１回の補正計算によって全ての場合についての成績を出すことができる。
【００５１】
現状では、市場の１時間の推移のシミュレーションに１分程度を要するシミュレータが多く、シミュレート自体が１分であるとすると、補正計算は１ミリ秒程度であろうから、全ての場合を通してシミュレーションを行う場合には８１分程度を要するのに対し、時間帯ごとの個別シミュレーションおよび補正計算を行う場合は、１２分＋８１×１ミリ秒であり、８１／１２倍の高速化を実現することができる。これまで、アルゴリズム要素の数と時間帯の数が少しでも増えると、アルゴリズム要素の組合せの数が爆発的に増加してシミュレーションに多大な時間を要することから、取引戦術や戦略の評価が十分に行えるものではなかった。これに対し本実施形態では、上記のように高速化によって、このような課題を解決することができる。
【００５２】
ここで、上記補正計算について詳細に説明する。なお、既に述べたように時間帯ごとの個別シミュレーションは個別シミュレーション実行部２０が実行する。上記補正計算は、シミュレーション補正部２４が行う。
【００５３】
証券市場では、売注文および買注文について、その価格および注文株数が時々刻々と提示され、それらの注文が合致すると、売買が成立（約定）する。図１２は約定の価格を示しており、図１３はそれぞれの約定に対する約定数（出来高）である。株価の動きは数学的関数で表すことはできず、せいぜいブラウン運動モデルが適用できるにすぎない。出来高についても、ある時間に大量の約定が成立することもあり、連続関数のような数学的関数で表すことはできない。
【００５４】
証券市場シミュレータは、価格の動きや出来高の動きを様々なモデルを駆使してシミュレートする。図１４に示すように、例えば東京証券取引所等の証券市場では、買注文（黒丸および破線）と売注文（四角および実線）が時々刻々と提示される。この図を例に説明すると、１０時２０分０８秒頃に売注文が３３１７０円で１９００株提示され、買注文が３３１３０円で３００株ほど提示されている。また、１０時２０分２２秒頃に３３１３０円の買注文が８００株になり、５００株の追加注文があったことがわかる。さらに、１０時２０分２４秒頃に３３１４０円で５００株の買注文が新規に発注され、１０時２０分３４秒頃に３３１５０円で１０００株の売注文が新規に発注され、売注文と買注文の価格差が最小（ここでは１０円）となり、１０時２０分３３秒頃に、３３１５０円で５００株の買注文が出されたため、この５００株が３３１５０円で売買成立（約定）している。その後、３３１５０円の売注文に対して、１００株の買注文が２回あり、３３１５０円の売注文は１００株づつ減り、４００株、３００株と変わっていく。証券市場シミュレータは、これらの値動きを模擬して、シミュレータの利用者が出した注文を市場ルールに則って約定させようとする。
【００５５】
まず、シミュレータで厳密にシミュレートしたときの４つの時間帯を通したＶＷＡＰをどのように計算するかについて説明する。
【００５６】
時間帯ａ１における約定価格×約定数を計算して第１の合計値αする。次に、時間帯ａ２における約定価格×約定数と第１の合計値αとを合計して第２の合計値αとするとともに、時間帯ａ２における全約定株数と時間帯ａ１における全約定株数とを合計して第２の合計値βとする。次に、時間帯ａ３における約定価格×約定数と第２の合計値αとを合計して第３の合計値αとするとともに、時間帯ａ３における全約定株数と第２の合計値βとを合計して第３の合計値βとする。そして、時間帯ａ４における約定価格×約定数と第３の合計値αとを合計して第４の合計値αとするとともに、時間帯ａ４における全約定株数と第３の合計値βとを合計して第４の合計値βとする。ここで、４つの時間帯を通したＶＷＡＰを第４の合計値α／第４の合計値βによって計算することができる。
【００５７】
証券市場シミュレータでは約定をモニターし、約定価格×約定株数を計算していくので、精密な市場シミュレータとなると、そのプロセスを単純な数式で表せるわけではないが、理解を容易にするために、次のように単純化して検討しても、本質を損ねることはない。図１５および図１６に示すように市場の４つの時間帯ａ１〜ａ４それぞれをさらに前半と後半の２つの時間帯に分割し、このように分割された時間帯における価格と出来高は一定とする（図１５における一定価格を示す点線Ｃ１１〜Ｃ４２，図１６における一定出来高を示す点線Ｄ１１〜４２）。
【００５８】
シミュレートする前には価格は全く予測できず、価格変化のパターンすら仮定もできないとする。また出来高も予測できないが、時間帯の前半と後半での大小のパターンを仮定できるとする。
【００５９】
以上の前提で、アルゴリズムの組合せについてＶＷＡＰで説明する。ＶＷＡＰは、取引する時間帯での出来高時間分布の予測の優劣で結果が変わる。その時間帯の出来高時間分布を正しく予想できることが重要である。
【００６０】
時間帯ａ１〜ａ４それぞれにおける前半と後半の時間帯について、出来高時間分布の３つの変化パターンを次のように想定する。
【００６１】
パターンＡ  前半：出来高大（全体の２／３），後半：出来高小（全体の１／３）
パターンＢ  前半と後半の出来高が同じ（１／２ずつ）
パターンＣ  前半：出来高小（全体の１／３），後半：出来高大（全体の２／３）
これら３つのパターンでＶＷＡＰの結果は異なってくるので、これらは同じＶＷＡＰではあるが、Ａ，Ｂ，Ｃの３つの異なるアルゴリズム要素であるとする。
【００６２】
ここで、４つの時間帯ａ１〜ａ４それぞれにアルゴリズム要素Ａ〜Ｃのいずれかを適用する場合、考えられるアルゴリズム要素Ａ〜Ｃの組合せは、３の４乗通りの８１通りとなる。
【００６３】
価格が次のように推移したとする。
【００６４】
【表１】
2011215908.tif 000003
【００６５】
出来高時間分布の変化パターンとして上記の通りパターンＡ〜Ｃの３通りを想定し、これを次のように表す。パターンＡ〜Ｃはそれぞれアルゴリズム要素Ａ〜Ｃに対応する。
【００６６】
【表２】
2011215908.tif 000004
【００６７】
例えば、時間帯ａ１にパターンＡが適用された場合、前半の価格は１０００円で約定数は２、後半の価格は９９０円で約定数は１である。時間帯ａ１にパターンＢが適用された場合、前半の価格は１０００円で約定数は１、後半の価格は９９０円で約定数は１である。時間帯ａ１にパターンＣが適用された場合、前半の価格は１０００円で約定数は１、後半の価格は９９０円で約定数は２である。
【００６８】
４つの時間帯ａ１〜ａ４において、出来高分布が全てパターンＡの場合、ＶＷＡＰは、以下のようにして求めることができる。
【００６９】
【表３】
2011215908.tif 000005
【００７０】
表３によると、各時間帯で個別にＶＷＡＰを計算できることがわかり、これを表４に示す。
【００７１】
【表４】
2011215908.tif 000006
【００７２】
上記表４のような各時間帯のＶＷＡＰを用いれば、シミュレータで再度約定数等を数え上げなくても、全時間帯を通したＶＷＡＰを次の表５のように計算することができる。
【００７３】
【表５】
2011215908.tif 000007
【００７４】
この例のように、時間帯ａ１からａ２について事前に個別のＶＷＡＰを計算しておけば、全時間帯を通したＶＷＡＰを計算することができる。この例は、出来高分布がパターンＡ，Ａ，Ａ，Ａという組合せである。Ａ，Ｂ，Ｃ，Ａというパターンの組合せについては、時間帯ａ１についてパターンＡの個別ＶＷＡＰを計算し、時間帯ａ２についてパターンＢの個別ＶＷＡＰを計算し、時間帯ａ３についてパターンＣの個別ＶＷＡＰを計算し、時間帯ａ４についてパターンＡの個別ＶＷＡＰを事前に計算しておけばよい。
【００７５】
上記のような計算手法が有効であるのは時間帯ａ１〜ａ４それぞれを独立にシミュレートしてよい場合である。時間帯ａ１でパターンＡの出来高分布を用いた場合と、パターンＢの出来高分布を用いた場合とで、時間帯ａ２での価格や出来高分布が変わるようであれば、独立にシミュレートすることは無意味である。このような場合が生じるのは、大量の注文を出したときである。アルゴリズム取引の最も重要な目的は、市場を乱さないように発注することであるから、時間帯ａ１〜ａ４それぞれについて独立にシミュレートしても、時間帯ａ１〜ａ４を通してシミュレートしても結果が変わらないことが理想である。
【００７６】
以上のように、個々の時間帯について独立にＶＷＡＰを求め、それらを用いて任意の出来高分布についてＶＷＡＰを求めることができる。またそうできるアルゴリズムが理想のアルゴリズムである。
【００７７】
図２に示した本実施形態の構成においては、上記計算を行うために個別シミュレーション実行部２０が（アルゴリズム要素数×時間帯数）に相当する１２通りの個別シミュレーション、すなわち
（時間帯ａ１−Ａ），（時間帯ａ２−Ａ），（時間帯ａ３−Ａ），（時間帯ａ４−Ａ），
（時間帯ａ１−Ｂ），（時間帯ａ２−Ｂ），（時間帯ａ３−Ｂ），（時間帯ａ４−Ｂ），
（時間帯ａ１−Ｃ），（時間帯ａ２−Ｃ），（時間帯ａ３−Ｃ），（時間帯ａ４−Ｃ）
を実行する。その結果、個別シミュレーション実行結果がそれぞれ得られる。個別シミュレーション実行結果は、当該時間帯に複数のアルゴリズム要素のいずれかを適用して取引を行って得られた約定結果（少なくとも約定数および約定価格を含む）である。
【００７８】
個別ＶＷＡＰ計算部２８は、上述したように当該時間帯の取引による約定価格に約定数を乗じた値を当該時間帯における約定数で除算することにより個別ＶＷＡＰを計算する。これにより計算された個別ＶＷＡＰは、個別シミュレーション実行結果としてそれぞれ個別シミュレーション実行結果記憶部２５に格納される。
【００７９】
シミュレーション補正部２４は、各時間帯について事前に計算された個別ＶＷＡＰに基づいて、全時間帯を通したＶＷＡＰを計算する。具体的には、シミュレーション補正部２４は、時間帯ごとの個別ＶＷＡＰに時間帯ごとの約定数を乗じた値の全時間帯の総和を、全時間帯の累積約定数で除算することにより計算する。各時間帯の個別ＶＷＡＰに約定数を乗算することは、全時間帯を通したＶＷＡＰを求める際の、個別時間帯でのＶＷＡＰを「補正」していると見ることができる。
【００８０】
例えばアルゴリズム要素Ａ，Ｂ，Ｂ，Ｃの組合せの場合、｛（時間帯ａ１−Ａの個別ＶＷＡＰ）×（時間帯ａ１の約定数）＋（時間帯ａ２−Ｂの個別ＶＷＡＰ）×（時間帯ａ２の約定数）＋（時間帯ａ３−Ｂの個別ＶＷＡＰ）×（時間帯ａ３の約定数）＋（時間帯ａ４−Ｃの個別ＶＷＡＰ）×（時間帯ａ４の約定数）｝／（全時間帯における累積約定数）によって全時間帯を通したＶＷＡＰを計算することができる。これにより計算されたＶＷＡＰは、Ａ，Ｂ，Ｂ，Ｃについて時間帯ａ１〜ａ４を通して連続的にシミュレーション実行することにより得られるＶＷＡＰとほぼ一致すると考えることができ、またそのような結果となるアルゴリズムが良いアルゴリズムである。
【００８１】
シミュレーション補正部２４は、制御部２７から指示されたアルゴリズム要素の任意の組合せ（例えばＡ，Ａ，Ａ，ＡであるとかＡ，Ｂ，Ａ，Ｂ）について、任意の日の全時間帯を通したＶＷＡＰを計算することができる。本実施形態において、上述したように１日において取引が行われる時間帯を９時００分から１０時００分、１０時００分から１２時００分、１２時３０分から１４時００分、１４時００分から１５時００分までの４つの時間帯ａ１〜ａ４に分割し、各時間帯にアルゴリズム要素Ａ〜Ｃのいずれかを適用する場合、その全ての組合せは８１通りとなる。制御部２７は、この全ての組合せをシミュレーション補正部２４に指示し、ある１日において取引が行われる全時間帯を通したＶＷＡＰを計算する。本実施形態のようにＸ日分のシナリオによって評価をする場合、Ｘ日分のＶＷＡＰ計算結果を得る。
【００８２】
シミュレーション補正部２４による上記ＶＷＡＰの計算結果は、シミュレーション補正結果としてシミュレーション補正結果記憶部２６に格納され、アルゴリズム最終結果選別部２９に与えられる。アルゴリズム最終結果選別部２９は、選別基準に基づいて最良の取引アルゴリズムを選別する。
【００８３】
図１７は、最良の取引アルゴリズムを選別するための選別基準の一例を示し、図１８は、該選別基準により選別されたアルゴリズム要素の組合せの例を示している。アルゴリズム最終結果選別部２９は、アルゴリズム取引のＶＷＡＰと市場全体のＶＷＡＰとの差を求め、アルゴリズム要素の最良の組合せ、すなわちアルゴリズム要素ＤＡＣＢＣＤを選別している。ただし、この例は、１日の取引の時間帯を６つの時間帯に分割した場合であって、４つのアルゴリズム要素Ａ〜Ｄのいずれかを適用する場合の組合せである。
【００８４】
（アルゴリズム取引システムにおける取引戦略等の評価支援）
現状では、取引アルゴリズムの種類は多岐にわたる上、発注タイミング設定値などの種々のパラメータを適宜設定する必要があることから、単独のアルゴリズムを長期間にわたって適用する状態にはなっていない。このためアルゴリズム取引では、多数のアルゴリズム要素が事前に用意され、これらの組合せを検証しなければならない。アルゴリズム要素の組合せは膨大であり、これら全ての組合せを検証するには膨大な計算時間を必要としていた。株の売買は、トレーダーの立場によって売買のパターンが大きく異なる。
【００８５】
トレーダーを分類すると大きく３つに分けることができる。第１は、零細な個人レベルのデイトレーダーと呼ばれる顧客を対象としたトレーダーである。彼らは、基本的に１日の売買で損益の決着をつける。第２は、マーケットメーカーと呼ばれるタイプのトレーダーである。現在、日本ではマーケットメーク型の証券市場は殆ど存在しないが、証券会社の自己売買部門はそれに近いと思われる。彼らは、１週間から１ケ月程度の期間で損益の決着をつける。第３は、年金運用機関等の機関投資家を顧客としたトレーダーである。彼らは、顧客の注文を正確に実施することがミッションである。数ヶ月から１年間にわたって買注文のみ、または売注文のみが発生し、かつ大量の売買を実施する。
【００８６】
トレーダーは、独自の売買戦略を持つばかりでなく、市場の状況に応じて多様な売買戦術を使いこなす。損益の基準も、自分で選択できる場合もあれば、顧客から設定され自分で選択できない場合もある。基本的には、顧客（自分も含む）からの指値以上で売れれば益、指値以下で買えれば益、その逆は損となるが、適切な指値を設定しにくいときは、出来高加重平均株価（ＶＷＡＰ）を基準とする場合もある。ＶＷＡＰは市場が閉まった後に公開されるので、独力でＶＷＡＰを常に評価し、ＶＷＡＰに影響しない私設取引所（ＰＴＳ）の活用も考慮しなければならない。日本ではＰＴＳでの取引は活発でないが、米国等でＰＴＳ（ＤＭＡ、ダークプールともいう）で活発な取引があり、これらの活用も重要となる。指値で取引する場合には、一度に大量の注文を出すと、自分の注文が市場を動かし、買／売に応じて市場価格が大きく上／下し指値で売買できないリスクがある。自分の注文が市場価格に与える影響（マーケットインパクト）を評価しながら小刻みに注文を出していかなければならない。先物のような証拠金取引では、証拠金の値洗いが終値を基準にするので、終値より有利な条件で売買できなければならない。終値もＶＷＡＰと同様に市場が閉まってから決まるので、引けに合わせて取引を集中させる手法が有効となる。このように、株の売買戦術は多岐にわたることがわかる。ここで挙げた戦術はＶＷＡＰ、指値、終値のような３つの基準に基づくものであるが、実際には、まだ多くの戦術が存在する。また、１つの戦術でも、これを実現するためには複数のアルゴリズムが存在する。アルゴリズムを適用する時間帯についても、１日あたり、最少でも前場（９時００分から１１時００分）と後場（１２時３０分から１５時００分）の２つがあり、状況によっては前場と後場をより詳細に分割することもありうる。一の取引について、アルゴリズム要素の数が１０、時間帯の数が１００程度の状況になることは希ではない。
【００８７】
このような状況に対し、本実施形態に係る取引アルゴリズム作成装置２によれば、アルゴリズム要素の全ての組合せについてシミュレーションを実行する場合に比べて高速に、アルゴリズム要素の組合せ（取引アルゴリズム）を評価することができ、その最良の組合せを選別してオンライン発注装置３に提供することができる（アルゴリズム最終結果記憶部３０）。
【００８８】
オンライン発注装置３は、トレーダーが操作する操作端末４に対し、アルゴリズム選択補正部７を通じて取引アルゴリズムの選択ならびにその補正を行うためのユーザーインタフェースを提供することにより上述したようなトレーダーによる取引の戦略ならびに戦術の評価を支援しつつ、アルゴリズム取引のオンライン発注を行うように構成される。
【００８９】
図２に示したように、東証や大証のような証券取引場であるマーケット２００から、注文、約定状況等の情報がネットワーク１６を介して本実施形態のアルゴリズム取引システムに提供される。この情報は、端末操作部４によってユーザである証券ディーラーに提示される。ロイター等の情報提供会社２０１からも情報が提供され、端末操作部４を介してディーラーに提供される。
【００９０】
ディーラーは、操作端末部４の入力部５（キーボードやマウス等）を操作することにより、売買の注文をオンライン発注装置３に対して与える。この発注に関する情報は、アルゴリズム選択補正部７に入力される。アルゴリズム選択補正部７は、アルゴリズム選択結果記憶部３０からいくつかのアルゴリズム要素の組合わせを読み出す。これらは、取引アルゴリズム作成装置２によって作成されたものであるが、取引を行うディーラーの立場を必ずしも完全に反映できるものであるとは限らない。例えば、取引アルゴリズム作成装置２に盛り込むことのできなかった企業のファンダメンタル情報、例えば、新聞のリーク記事等の緊急発表された情報等から、取引アルゴリズム作成装置２からの提示とは異なったアルゴリズム要素を選択することは十分にありうることである。
【００９１】
そこで、アルゴリズム選択補正部７は、アルゴリズム選択補正画面を操作端末４の表示部６に表示させる。操作端末４を操作するディーラーは、このアルゴリズム選択補正画面を通じて、取引アルゴリズム作成装置２によって作成されたアルゴリズム要素の組合せを変更することができる。
【００９２】
図１９は、アルゴリズム選択補正画面の一例を示す図である。この画面は、Ｎ種類のアルゴリズム要素Ａ−１〜Ａ−Ｎの組合せ１９０を、Ｎ通りの収益および出来高１９２が優れた順に一覧表示するものである。Ｔ−１〜Ｔ−Ｍは、分割されたＭ個の時間帯１９１を表している。ここで、銘柄企業の業績発表によってトレーダーが何らかの判断をし、最適なアルゴリズム要素の組合せを変更することができる。例えば、組合せ変更以前では、アルゴリズム要素（Ａ−１，Ａ−１，Ａ−１，…Ａ−１）の組合せは（収益−１，出来高−１）であり最良のものであると取引アルゴリズム作成装置２によって判定されたところ、トレーダーは、アルゴリズム要素の組合せを図中の網掛けのように（Ａ−１，Ａ−３，Ａ−１，…Ａ−３）に変更することができ、この場合に対応する（収益−３，出来高−３）を表示することができる。したがって、トレーダー自身の判断とシミュレータの判断との乖離が甚だしくないことを確認する手段を提供することができる。選択または補正された取引アルゴリズムは、アルゴリズム補正選択部７からアルゴリズム取引発注部８に送られる。アルゴリズム取引発注部８は、アルゴリズム補正選択部７から受け取った取引アルゴリズムを用い、マーケット２００に対してオンラインの発注を行う。
【００９３】
以上説明した実施形態によれば、動的なアルゴリズム取引に用いられるアルゴリズム要素の膨大な組合せに対処し、シミュレーションを高速に行って取引アルゴリズムを作成し、そのような取引アルゴリズムによるオンライン取引を行うことのできる取引アルゴリズム作成装置、方法およびプログラムを提供することができる。
【００９４】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【００９５】
１…コンピュータ
２…取引アルゴリズム作成装置
３…オンライン発注装置
４…操作端末
５…入力部
６…表示部
７…アルゴリズム選択補正部
８…アルゴリズム取引発注部
１６…ネットワーク
２０…個別シミュレーション実行部
２１…市場取引シナリオ生成部
２２…アルゴリズム発注生成部
２３…アルゴリズム要素記憶部
２４…シミュレーション補正部
２５…個別シミュレーション結果記憶部
２６…シミュレーション補正結果記憶部
２７…制御部
２８…個別ＶＷＡＰ計算部
２９…アルゴリズム最終結果選別部
３０…アルゴリズム最終結果記憶部
２００…マーケット
２０１…情報提供会社
【図１】
2011215908.tif 000008
【図２】
2011215908.tif 000009
【図３】
2011215908.tif 000010
【図４】
2011215908.tif 000011
【図５】
2011215908.tif 000012
【図６】
2011215908.tif 000013
【図７】
2011215908.tif 000014
【図８】
2011215908.tif 000015
【図９】
2011215908.tif 000016
【図１０】
2011215908.tif 000017
【図１１】
2011215908.tif 000018
【図１２】
2011215908.tif 000019
【図１３】
2011215908.tif 000020
【図１４】
2011215908.tif 000021
【図１５】
2011215908.tif 000022
【図１６】
2011215908.tif 000023
【図１７】
2011215908.tif 000024
【図１８】
2011215908.tif 000025
【図１９】
2011215908.tif 000026