JP2011215908A - Algorithm transaction system, method and program - Google Patents

Algorithm transaction system, method and program Download PDF

Info

Publication number
JP2011215908A
JP2011215908A JP2010083791A JP2010083791A JP2011215908A JP 2011215908 A JP2011215908 A JP 2011215908A JP 2010083791 A JP2010083791 A JP 2010083791A JP 2010083791 A JP2010083791 A JP 2010083791A JP 2011215908 A JP2011215908 A JP 2011215908A
Authority
JP
Japan
Prior art keywords
algorithm
time zone
simulation
individual
transaction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2010083791A
Other languages
Japanese (ja)
Inventor
Yuji Uenohara
雄二 植之原
Ken Shida
健 志田
Toru Yano
亨 矢野
Yusuke Kuroki
裕介 黒木
Takeichiro Nishikawa
武一郎 西川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Digital Solutions Corp
Original Assignee
Toshiba Solutions Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Solutions Corp filed Critical Toshiba Solutions Corp
Priority to JP2010083791A priority Critical patent/JP2011215908A/en
Publication of JP2011215908A publication Critical patent/JP2011215908A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide an algorithm transaction system that copes with enormous combinations of algorithm elements to be used for dynamic algorithm transactions and conducts on-line transactions.SOLUTION: The algorithm transaction system includes: an individual simulation execution means for obtaining a contract result of one time zone by executing individual simulation of a transaction based on one algorithm element in an algorithm element group; a control means for applying algorithm elements in the algorithm element group to all time zones in transactions of a day, and controlling the individual simulation execution means to perform individual simulation the number of times corresponding to a product of the number of time zones and the number of algorithm elements; a selection means for selecting the best combination of algorithm elements based on the contract result in each time zone which is obtained from the individual simulation execution means controlled by the control means; and an ordering means for placing an order on line by the best combination of algorithm elements selected by the selection means.

Description

本発明は、コンピュータを利用したオンラインによる証券等のアルゴリズム取引に用いられるシステム、方法およびプログラムに関する。   The present invention relates to a system, method, and program used for algorithmic transactions such as online securities using a computer.

近年、株券の売買をコンピュータで自動的に実施するアルゴリズム取引のシステムが実現している。アルゴリズム取引システムを用いるためには、取引アルゴリズムを設計しコンピュータに実装しなければならない。アルゴリズムそのものの妥当性と実装の正しさを検証するためには、実際のマーケットに発注して損益を評価すればよいのであるが、アルゴリズムが不十分で実装に問題があった場合には、大きな損失をひきおこす可能性がある。アルゴリズムの適切な検証手段が無いことが、アルゴリズム取引導入の大きな課題であった。   In recent years, an algorithmic trading system has been realized in which stock certificates are bought and sold automatically by a computer. In order to use an algorithmic trading system, a trading algorithm must be designed and implemented on a computer. In order to verify the validity of the algorithm itself and the correctness of the implementation, it is only necessary to place an order on the actual market and evaluate the profit and loss, but if the algorithm is insufficient and there is a problem with the implementation, there is a big problem. Potential loss. The lack of appropriate algorithm verification means was a major issue in introducing algorithmic trading.

実在する証券市場での株券受発注の記録(ティックデータ)を用いて、仮想的な証券市場を実現することができる。このようなシステムを約定シミュレーションシステムと言う。コンピュータによる自動売買システム(アルゴリズム取引システム)では、設計したアルゴリズムの妥当性とそのアルゴリズムの実装の妥当性を検証するために、この約定シミュレーションシステムを用いる。設計したアルゴリズムを実装し、約定シミュレーションシステムに自動発注し、成績を確認することでアルゴリズムそのものの妥当性と正しく実装されたかどうか判断できる。アルゴリズムの検証を正確に実施するために、市場の振る舞いをできるだけ忠実に再現できることが望ましい。特に、発注が市場価格に与える影響(マーケットインパクト)を正確に再現できることが重要である。   A virtual stock market can be realized by using a stock certificate order record (tick data) in a real stock market. Such a system is called an execution simulation system. In a computer automated trading system (algorithm trading system), this execution simulation system is used to verify the validity of the designed algorithm and the implementation of the algorithm. By implementing the designed algorithm, automatically placing an order with the contract simulation system, and checking the results, the validity of the algorithm itself and whether it has been implemented correctly can be determined. In order to perform algorithm validation accurately, it is desirable to be able to reproduce the market behavior as faithfully as possible. In particular, it is important to be able to accurately reproduce the impact of the ordering on the market price (market impact).

特開2009−26225号公報JP 2009-26225 A

株式市場の出来高は午前の開始直後(寄り付き)や午後の終了直前(大引け)に多くなることでも知られるように、市場の動きは時々刻々変化する。このため、アルゴリズム取引は、株式市場の時間的な変化に対応できることが有益である。ある一日のアルゴリズム取引の方法のひとつは、その一日における複数の時間帯それぞれについて、事前に準備された複数のアルゴリズムの構成要素(以下「アルゴリズム要素」と呼ぶ)からいずれかを選択して適用することである。このため、一日の取引において適用される一連のアルゴリズム要素すなわちアルゴリズム要素の組合せを、動的なアルゴリズム取引に用いられるアルゴリズムとして作成する手法が考えられている。作成されたアルゴリズムは、現実の証券取引に有効であるかどうかを評価する必要がある。具体的には、多数のアルゴリズム要素の組合せについて、複数日の証券取引データを利用して証券取引シミュレーションを行い、そのシミュレーション結果を統計的に評価する。   Stock movements change from moment to moment, as it is known that stock market volumes increase immediately after the start of the morning (close) and immediately before the end of the afternoon (close). For this reason, it is beneficial for algorithmic trading to be able to cope with changes in the stock market over time. One method of algorithm trading for a day is to select one of a plurality of algorithm components (hereinafter referred to as “algorithm elements”) prepared in advance for each of a plurality of time zones in the day. Is to apply. For this reason, a method of creating a series of algorithm elements applied in a daily transaction, that is, a combination of algorithm elements, as an algorithm used for dynamic algorithm trading is considered. It is necessary to evaluate whether the created algorithm is effective for actual securities trading. Specifically, for a combination of a large number of algorithm elements, a securities transaction simulation is performed using securities transaction data for a plurality of days, and the simulation results are statistically evaluated.

この場合、検証するアルゴリズム要素の組合せは数が多く、それぞれに組み合わせられる証券取引データを考慮すると、証券取引シミュレーションで処理すべきデータのサイズは膨大である。したがって、証券取引シミュレーションを実行するのに多大な時間がかかるという問題点がある。   In this case, there are a large number of combinations of algorithm elements to be verified, and the size of data to be processed in the securities transaction simulation is enormous considering the securities transaction data to be combined. Therefore, there is a problem that it takes a long time to execute the securities trading simulation.

本発明はこの問題を解決するためになされたものであり、動的なアルゴリズム取引に用いられるアルゴリズム要素の膨大な組合せに対処し、オンライン取引を行うことができるアルゴリズム取引システム、方法およびプログラムを提供することを目的とする。   The present invention has been made to solve this problem, and provides an algorithm trading system, method and program capable of dealing with an enormous combination of algorithm elements used in dynamic algorithm trading and performing online trading. The purpose is to do.

一態様に係るアルゴリズム取引システムは、アルゴリズム要素群における一のアルゴリズム要素による取引の個別シミュレーションを実行することにより、一の時間帯の約定結果を得る個別シミュレーション実行手段と、一日の取引における全ての時間帯それぞれについて前記アルゴリズム要素群のそれぞれのアルゴリズム要素を適用し、時間帯数とアルゴリズム要素数との積に相当する回数の個別シミュレーションを行うよう前記個別シミュレーション実行手段を制御する制御手段と、前記制御手段により制御された個別シミュレーション実行手段から得られる時間帯ごとの約定結果に基づいて、前記アルゴリズム要素の最良の組合せを選別する選別手段と、前記選別手段により選別されたアルゴリズム要素の最良の組合せによりオンライン発注を行う発注手段と、を具備することを特徴とする。   An algorithm trading system according to an aspect includes an individual simulation executing means for obtaining a contract result in one time zone by executing individual simulation of trading by one algorithm element in an algorithm element group, and all the trading in a day trading. Control means for controlling the individual simulation execution means to apply each algorithm element of the algorithm element group for each time zone, and to perform individual simulations a number of times corresponding to the product of the number of time zones and the number of algorithm elements; Selection means for selecting the best combination of the algorithm elements based on the execution result for each time zone obtained from the individual simulation execution means controlled by the control means, and the best combination of the algorithm elements selected by the selection means Online Characterized in that it comprises a and ordering means for placing an order.

実施形態に係るアルゴリズム取引システムの機能ブロック図Functional block diagram of algorithmic trading system according to an embodiment 実施形態に係るアルゴリズム取引システムのハードウェア構成図Hardware configuration diagram of algorithm trading system according to an embodiment 証券取引シミュレーションの実行タイミングおよび繰り返しについての模式図Schematic diagram of execution timing and repetition of securities trading simulation 板情報に基づく証券取引の模式図Schematic diagram of securities trading based on board information 市場取引シナリオ生成部により生成される発注シナリオを示す図Diagram showing order scenario generated by market transaction scenario generator アルゴリズム要素記憶部に記憶されるアルゴリズム要素の2つの例を示す図The figure which shows two examples of the algorithm element memorize | stored in an algorithm element memory | storage part ある時間帯が終了した時点での板情報を示す図Figure showing board information at the end of a certain time zone 取引アルゴリズム作成装置の動作手順を示すフローチャートFlow chart showing operation procedure of transaction algorithm creation device 取引アルゴリズム作成装置の動作手順を示すフローチャートFlow chart showing operation procedure of transaction algorithm creation device 出来高の時間分布を示す図Diagram showing volume distribution of time アルゴリズム要素の組合せの最良解を示す図Diagram showing the best solution for a combination of algorithm elements 各時刻の約定価格を示す図Diagram showing the contract price at each time 各時刻の出来高を示す図Diagram showing the volume at each time 各時刻の買注文、売注文、および約定を示す図Diagram showing buy, sell, and fill orders at each time 一の取引時間帯を前半と後半に分割した場合の一定約定価格を示す図Figure showing a fixed contract price when one trading time is divided into the first half and the second half 一の取引時間帯を前半と後半に分割した場合の一定出来高を示す図A figure showing the fixed volume when one trading time is divided into the first half and the second half アルゴリズム最終結果選別部による選別の基準を示す図The figure which shows the standard of selection by the algorithm final result selection part アルゴリズム最終結果選別部により選別されたアルゴリズム最終結果を示す図The figure which shows the algorithm final result which is sorted by the algorithm final result sorter アルゴリズム選択補正画面の一例を示す図Diagram showing an example of algorithm selection correction screen

以下、図面を参照しながら本発明の種々の実施形態を説明する。   Hereinafter, various embodiments of the present invention will be described with reference to the drawings.

(第1の実施形態)
図1は、実施形態に係るアルゴリズム取引システムを機能ブロック図によって表現したものである。本システムは、大別すると取引アルゴリズム作成装置2、オンライン発注装置3、操作端末4により構成される。証券会社のディーラー等のユーザが操作端末4から指示を行うことにより、取引アルゴリズムを用いた発注がネットワーク16を介してマーケット200に対して行われる。
(First embodiment)
FIG. 1 is a functional block diagram illustrating an algorithm trading system according to an embodiment. The system is roughly divided into a transaction algorithm creation device 2, an online ordering device 3, and an operation terminal 4. When a user such as a dealer of a securities company gives an instruction from the operation terminal 4, an order using a transaction algorithm is made to the market 200 via the network 16.

取引アルゴリズム作成装置2は、個別シミュレーション実行部20、市場取引シナリオ生成部21、アルゴリズム発注生成部22、アルゴリズム要素記憶部23、シミュレーション補正部24、個別シミュレーション結果記憶部25、シミュレーション補正結果記憶部26、制御部27、アルゴリズム最終結果選別部29、アルゴリズム最終結果記憶部30を備え、動的なアルゴリズム取引に用いられるアルゴリズム要素の膨大な組合せに対処し、証券取引シミュレーションを高速に行って取引アルゴリズムを作成するものである。   The transaction algorithm creation device 2 includes an individual simulation execution unit 20, a market transaction scenario generation unit 21, an algorithm order generation unit 22, an algorithm element storage unit 23, a simulation correction unit 24, an individual simulation result storage unit 25, and a simulation correction result storage unit 26. , A control unit 27, an algorithm final result selection unit 29, and an algorithm final result storage unit 30, which deal with a huge combination of algorithm elements used for dynamic algorithm trading and perform a securities trading simulation at high speed. To create.

オンライン発注装置3は、取引アルゴリズム作成装置2によって作成された複数の取引アルゴリズムからいずれかを選択したり、一の取引アルゴリズムを構成するアルゴリズム要素の組合せを補正したりするためのアルゴリズム選択補正部7と、操作端末4からの指示により、最終的な取引アルゴリズムを用いてマーケット200に対するオンライン発注を行うアルゴリズム取引発注部8とを有する。オンライン発注装置3には、ネットワーク16を介して情報提供会社201から提供された情報が蓄積され、該情報は操作端末4において表示することができる。   The online ordering device 3 selects any one of a plurality of trading algorithms created by the trading algorithm creation device 2 and corrects an algorithm selection correction unit 7 for correcting a combination of algorithm elements constituting one trading algorithm. And an algorithm transaction ordering unit 8 that places an online order with respect to the market 200 using a final transaction algorithm in accordance with an instruction from the operation terminal 4. In the online ordering apparatus 3, information provided from the information providing company 201 via the network 16 is accumulated, and the information can be displayed on the operation terminal 4.

操作端末4は、証券会社のディーラー等のユーザがオンラインによりアルゴリズム取引に関する指示入力等を行う入力部5と、オンライン発注画面やアルゴリズム選択補正画面等を表示する表示するための表示部6を有する。   The operation terminal 4 includes an input unit 5 on which a user such as a dealer of a securities company inputs an instruction regarding algorithm trading online, and a display unit 6 for displaying an online ordering screen, an algorithm selection correction screen, and the like.

図2は、実施形態に係るアルゴリズム取引システムのハードウェア構成図である。主記憶装置11からプログラムが補助記憶装置12に読み込まれる。このプログラムは、コンピュータ1を、本実施形態に係るアルゴリズム取引システムとして機能させるためのものであって、CPU10により実行される。主記憶装置11は、個別シミュレーション結果記憶部25、シミュレーション補正結果記憶部26、アルゴリズム最終結果記憶部30等を実現するためのメモリ等の記憶手段である。また補助記憶装置12は、磁気ディスク装置やCD−ROM装置等である。上記プログラムを機械読み取り可能な記録媒体から読み出して補助記憶装置12に記憶するようにしてもよい。入力装置13は、本実施形態に係るアルゴリズム取引システムを利用するユーザが種々の入力操作を行うためのキーボートやマウス等である。出力装置14は、CPU10によって行われた演算の結果などを表示するディスプレイデバイスやプリンタデバイス等である。通信装置15は、上記演算の結果などの処理結果をネットワーク16を介してコンピュータ1から他のコンピュータへ送信するための通信手段である。   FIG. 2 is a hardware configuration diagram of the algorithm trading system according to the embodiment. A program is read from the main storage device 11 into the auxiliary storage device 12. This program is for causing the computer 1 to function as the algorithm trading system according to the present embodiment, and is executed by the CPU 10. The main storage device 11 is a storage unit such as a memory for realizing the individual simulation result storage unit 25, the simulation correction result storage unit 26, the algorithm final result storage unit 30, and the like. The auxiliary storage device 12 is a magnetic disk device, a CD-ROM device, or the like. The program may be read from a machine-readable recording medium and stored in the auxiliary storage device 12. The input device 13 is a keyboard, a mouse, or the like for a user who uses the algorithm trading system according to the present embodiment to perform various input operations. The output device 14 is a display device, a printer device, or the like that displays the results of calculations performed by the CPU 10. The communication device 15 is a communication means for transmitting processing results such as the result of the above calculation from the computer 1 to another computer via the network 16.

本実施形態に係るアルゴリズム取引システムは、1台のコンピュータによって実現することが可能であるが、複数のコンピュータによって実現してもよい。例えば、取引アルゴリズム作成装置2、オンライン発注装置3、操作端末4がそれぞれ別のコンピュータによって実現されてもよい。また主記憶装置11が記憶するデータの一部を他のコンピュータによって記憶してもよい。この場合、複数のコンピュータ間でネットワーク16を介してデータをやり取りする。   The algorithm trading system according to the present embodiment can be realized by a single computer, but may be realized by a plurality of computers. For example, the transaction algorithm creation device 2, the online ordering device 3, and the operation terminal 4 may be realized by separate computers. A part of the data stored in the main storage device 11 may be stored by another computer. In this case, data is exchanged between a plurality of computers via the network 16.

以下では、説明の便宜上、一の銘柄の株式を取引する場合を例にとって説明するが、複数の銘柄の取引も可能である。また、本装置で扱えるアルゴリズム取引の対象は、証券(株券等)に限定されない。   In the following, for convenience of explanation, a case where a stock of one brand is traded will be described as an example. However, trading of a plurality of brands is also possible. The target of algorithmic transactions that can be handled by this apparatus is not limited to securities (stock certificates, etc.).

個別シミュレーション実行部20は、証券取引のシミュレーション(以下、シミュレーションという)を実行する。個別シミュレーション実行部20には、市場の取引を再現する市場取引シナリオに基づく発注と、アルゴリズム発注すなわちアルゴリズム要素によりなされた発注とが入力される。市場取引シナリオがX日分ある場合、個別シミュレーション実行部20は、全X日それぞれの日の取引に関して、時間帯ごとの個別シミュレーションを実行する。   The individual simulation execution unit 20 executes a securities transaction simulation (hereinafter referred to as simulation). The individual simulation execution unit 20 receives an order based on a market transaction scenario for reproducing a market transaction and an algorithm order, that is, an order made by an algorithm element. When there are market transaction scenarios for X days, the individual simulation execution unit 20 executes individual simulation for each time zone with respect to transactions on all X days.

図3は、証券取引シミュレーションの実行タイミングおよび繰り返しについての模式図である。ここでは、一日の取引を6つの時間帯a1〜a6に分割している。個別シミュレーション実行部20は、X日分の市場取引シナリオを利用し、時間帯ごとの個別シミュレーションを、複数のアルゴリズム要素(図3では、A,B,C,Dの4つ)のそれぞれについて実行する。これにより各時間帯の終了時点において、取引成立結果(約定結果)と証券取引の情報(板情報)とが得られ、個別シミュレーション結果記憶部25に記憶される。なお、時間帯の分割の仕方は図3に例示した6分割(a1〜a6)に限らない。一日の時間帯をどのように分割するかは任意である。複数の時間帯への分割数をより多くすれば、一日の取引においてアルゴリズム要素を細かく切り替えることができるが、アルゴリズム要素の組合せの数は増大する。一方、複数の時間帯への分割数をより少なくすれば、アルゴリズム要素の組合せの数を抑えることができるが、一日の取引においてアルゴリズム要素を細かく切り替えることはできない。   FIG. 3 is a schematic diagram of the execution timing and repetition of the securities transaction simulation. Here, the daily transaction is divided into six time zones a1 to a6. The individual simulation execution unit 20 uses the market transaction scenario for X days, and executes an individual simulation for each time zone for each of a plurality of algorithm elements (in FIG. 3, four of A, B, C, and D). To do. As a result, at the end of each time zone, a transaction establishment result (contract result) and securities transaction information (board information) are obtained and stored in the individual simulation result storage unit 25. Note that the method of dividing the time zone is not limited to the six divisions (a1 to a6) illustrated in FIG. How to divide the time zone of the day is arbitrary. If the number of divisions into a plurality of time zones is increased, the algorithm elements can be finely switched in a daily transaction, but the number of combinations of algorithm elements increases. On the other hand, if the number of divisions into a plurality of time zones is further reduced, the number of combinations of algorithm elements can be suppressed, but the algorithm elements cannot be switched in detail in a daily transaction.

図4は、個別シミュレーション実行部20により実行される、板情報に基づく証券取引の模式図である。個別シミュレーション実行部20で行われる証券取引(の個別シミュレーション)は、同図のように売買を希望する値段(価格)ごとに売数量および買数量が並べられた板に基づいて行われる。9時35分時点の板によると、値段190円で売数量が6000株あり、買数量が2000株あるため、この2000株について売買が成立する。9時36分時点の板によると、いずれの売買数量においても値段が等しくないため、売買が成立しない。個別シミュレーション実行部20は、発注が市場取引シナリオからのものかアルゴリズム要素からのものかを区別する。9時36分の板の買数量2500の内訳において、先頭の発注40は、市場取引シナリオからの数量1000の発注であり、2番目の発注41はアルゴリズム要素Bからの数量500の発注であり、3番目の発注42は、市場取引シナリオからの数量1000の発注である。アルゴリズム要素からの発注41については、アルゴリズム要素名43、発注を行った時刻44、発注内容の変更回数45等の情報が含まれる。   FIG. 4 is a schematic diagram of the securities transaction based on the board information executed by the individual simulation execution unit 20. The securities transaction (individual simulation) performed in the individual simulation execution unit 20 is performed based on a plate in which the sold quantity and the purchased quantity are arranged for each price (price) desired to be bought and sold as shown in FIG. According to the board at 9:35, there are 6000 shares sold at a price of 190 yen, and 2000 shares bought, so the sale of these 2000 shares is concluded. According to the board at 9:36, the price is not equal in any trading volume, so trading is not established. The individual simulation execution unit 20 distinguishes whether the order is from a market transaction scenario or an algorithm element. In the breakdown of the board purchase quantity 2500 of 9:36, the first order 40 is an order of quantity 1000 from the market transaction scenario, and the second order 41 is an order of quantity 500 from the algorithm element B, The third order 42 is an order for a quantity of 1000 from a market transaction scenario. The order 41 from the algorithm element includes information such as the algorithm element name 43, the time 44 when the order was placed, and the number 45 of changes in the order contents.

図5に示すように、市場取引シナリオ生成部21は、日付、時刻、売買種別、数量、値段によって構成される市場取引シナリオを生成する。同図は、X日分の市場取引シナリオのデータを示している。市場取引シナリオ生成部21は、このようなX日分の市場取引シナリオのデータを、過去の実際の市場取引のデータに基づいて生成する。あるいは、事前に準備された仮想的な市場取引のデータに基づいて、市場取引シナリオのデータを生成してもよい。市場取引シナリオ生成部21により生成された市場取引シナリオによる発注が、個別シミュレーション実行部20に入力される。個別シミュレーション実行部20はX日分の個別シミュレーションを繰り返すことから、第1日の個別シミュレーション実行に際して、第1の日付を有する1つまたは複数の市場取引シナリオのデータが発注データとして個別シミュレーション実行部20に入力され、第2日の個別シミュレーション実行に際して、第2の日付を有する1つまたは複数の市場取引シナリオのデータが発注データとして個別シミュレーション実行部20に入力される。   As shown in FIG. 5, the market transaction scenario generation unit 21 generates a market transaction scenario configured by date, time, trade type, quantity, and price. The figure shows data of a market transaction scenario for X days. The market transaction scenario generation unit 21 generates data of market transaction scenarios for X days based on past actual market transaction data. Alternatively, market transaction scenario data may be generated based on virtual market transaction data prepared in advance. The order based on the market transaction scenario generated by the market transaction scenario generation unit 21 is input to the individual simulation execution unit 20. Since the individual simulation execution unit 20 repeats the individual simulation for X days, when executing the individual simulation on the first day, the data of one or more market transaction scenarios having the first date is used as the order simulation data for the individual simulation execution unit. When executing the individual simulation on the second day, data of one or a plurality of market transaction scenarios having the second date is input to the individual simulation executing unit 20 as order data.

図6は、アルゴリズム要素記憶部23に記憶されるアルゴリズム要素の2つの例を示している。アルゴリズム発注生成部22は、アルゴリズム要素記憶部23からこれらのようなアルゴリズム要素を取得し、アルゴリズム要素に基づく発注を生成して個別シミュレーション実行部20に入力する。同図に示すように、アルゴリズム要素は、発注時の市場状態、売買指定、発注間隔(秒)、発注数量、発注形態(指値・成行指定)等の情報を含む。同図(a)に示すアルゴリズム要素Aは、市場の状態が寄り付き・引け・ザラバそれぞれの状態での発注を行えるものである。寄り付きとザラバでは指値で発注を行うので、指値の位置(注文を出す価格の位置)を指定している。同図(b)に示すアルゴリズム要素Bは、ザラバの発注のみを行うものである。アルゴリズム要素Bでは、発注時点から時間が経つと価格を変更して発注をしなおす。アルゴリズム要素Bにおいて、発注時指値は「最良気配値+2tick」となっているが、この「tick」とは、取引価格の単位を表す。例えば、取引価格が1円単位ならば、1tickは1円である。   FIG. 6 shows two examples of algorithm elements stored in the algorithm element storage unit 23. The algorithm order generation unit 22 acquires such algorithm elements from the algorithm element storage unit 23, generates an order based on the algorithm elements, and inputs the order to the individual simulation execution unit 20. As shown in the figure, the algorithm elements include information such as the market status at the time of ordering, trade designation, order interval (seconds), order quantity, order form (limit price / marketing designation), and the like. The algorithm element A shown in FIG. 5A is for placing an order in a market state where the market state is close, close, or zaraba. Since close orders and Zaraba place orders at the limit price, the position of the limit price (position of the price for placing the order) is specified. The algorithm element B shown in FIG. 5B only orders Zaraba. In the algorithm element B, the price is changed and the order is re-ordered as time passes from the time of order placement. In the algorithm element B, the limit price at the time of ordering is “best bid price + 2 tick”, and this “tick” represents a unit of transaction price. For example, if the transaction price is in units of 1 yen, 1 tick is 1 yen.

各時間帯の終了時点のアルゴリズム要素による約定結果および市場全体の約定結果が個別シミュレーション実行部20から出力され、個別シミュレーション結果記憶部26に記憶される。アルゴリズム要素による約定結果は、アルゴリズム要素の発注による約定結果のみに相当し、日付および時間帯それぞれの、約定数および約定価格である。市場全体の約定結果は、アルゴリズム要素による発注と市場取引シナリオによる発注による全ての約定結果の和に相当し、日付および時間帯それぞれの、約定数および約定価格である。本実施形態のようにX日分の市場取引データについてシミュレーションが実行される場合、個別シミュレーション実行部20から出力されるX日分の約定結果が個別シミュレーション結果情報記憶部25に記憶されることになる。   A contract result by an algorithm element at the end of each time zone and a contract result of the entire market are output from the individual simulation execution unit 20 and stored in the individual simulation result storage unit 26. The execution result by the algorithm element corresponds to only the execution result by ordering the algorithm element, and is the execution constant and the execution price for the date and time zone, respectively. The execution result of the entire market corresponds to the sum of all the execution results of the order by the algorithm element and the order by the market transaction scenario, and is the execution constant and the execution price for each date and time zone. When the simulation is executed for the market transaction data for X days as in the present embodiment, the execution result for X days output from the individual simulation execution unit 20 is stored in the individual simulation result information storage unit 25. Become.

図7は、ある時間帯が終了した時点での板情報の例を示している。同図81はアルゴリズム要素に基づく発注の約定結果であり、同図80,82は市場全体の約定結果である。これら約定結果は、いずれも2009年6月1日と6月2日の約定結果を示したものであるが、X日分の取引シミュレーションを行う場合、約定結果もX日分記憶される。なお、アルゴリズム要素に基づく発注の約定結果だけではなく市場全体の約定結果についても、同図81に示すように、どのアルゴリズム要素が当該時間帯のシミュレーションに適用されているかが区別される。   FIG. 7 shows an example of the board information at the end of a certain time period. FIG. 81 shows the execution result of the order based on the algorithm elements, and FIGS. 80 and 82 show the execution results of the entire market. Each of these contract results shows the contract results of June 1, 2009 and June 2, 2009. When a transaction simulation for X days is performed, the contract results are also stored for X days. As shown in FIG. 81, which algorithm element is applied to the simulation of the time zone is distinguished not only for the execution result of the order based on the algorithm element but also for the execution result of the entire market.

図1に示すように、個別シミュレーション実行部20は、個別VWAP計算部28を有する。この個別VWAP計算部28は、アルゴリズム要素による時間帯ごとの約定結果に基づいて、時間帯毎のVWAP(以下、「時間帯ごとの個別VWAP」という)を計算する。VWAPとは、Volume Weighted Average Price(出来高加重平均価格)の略であり、取引成立時の売買価格すなわち約定価格の出来高(約定数)に関する加重平均のことである。   As illustrated in FIG. 1, the individual simulation execution unit 20 includes an individual VWAP calculation unit 28. The individual VWAP calculation unit 28 calculates a VWAP for each time zone (hereinafter referred to as “individual VWAP for each time zone”) based on a contract result for each time zone by an algorithm element. VWAP is an abbreviation for Volume Weighted Average Price (volume-weighted average price), and is a weighted average related to the trading price at the time of transaction establishment, that is, the volume (contracted constant) of the contract price.

シミュレーション補正部24は、複数のアルゴリズム要素の組合せによる、ある1日の取引の全時間帯を通したVWAP(以下、「アルゴリズム取引のVWAP」という)、および市場全体における、ある1日の取引の全時間帯を通したVWAP(以下、「市場全体のVWAP」という)を計算する。   The simulation correction unit 24 uses a combination of a plurality of algorithm elements to perform VWAP (hereinafter referred to as “algorithm trading VWAP”) throughout a certain day trading period, and a certain day trading period in the entire market. VWAP through all time zones (hereinafter referred to as “VWAP for the entire market”) is calculated.

本実施形態のようにX日分のデータを用いたシミュレーションを行う場合の、それぞれの日の取引の時間帯ごとの個別VWAPを個別VWAP計算部28がどのように計算し、それぞれの日の取引の全時間帯を通したVWAP(すなわちアルゴリズム取引のVWAP)をシミュレーション補正部24がどのように計算するかについては後述する。   When the simulation using the data for X days as in the present embodiment is performed, how the individual VWAP calculation unit 28 calculates the individual VWAP for each time zone of the transaction for each day, and the transaction for each day How the simulation correction unit 24 calculates VWAP through all the time periods (that is, VWAP of algorithm trading) will be described later.

制御部27は、後述する動作手順に従って個別シミュレーションの実行およびシミュレーション補正を行うよう、個別シミュレーション実行部20およびシミュレーション補正部24を制御する。   The control unit 27 controls the individual simulation execution unit 20 and the simulation correction unit 24 so that the individual simulation is executed and the simulation correction is performed according to an operation procedure described later.

アルゴリズム最終結果選別部29は、シミュレーションが終了時刻に達した時点における制御部27からの指示により、選別基準に基づいて最良の取引アルゴリズムを選別し、その結果をアルゴリズム最終結果記憶部30に記憶する。アルゴリズム最終結果記憶部30には、作成された複数の取引アルゴリズムが格納され、どの取引アルゴリズムが最良のものであるかが識別可能となっている。   The algorithm final result sorting unit 29 sorts the best trading algorithm based on the sorting criteria according to an instruction from the control unit 27 when the simulation reaches the end time, and stores the result in the algorithm final result storage unit 30. . The algorithm final result storage unit 30 stores a plurality of created trading algorithms, and can identify which trading algorithm is the best.

図8および図9は、取引アルゴリズム作成装置2の動作手順を示すフローチャートである。以下、このフローチャートのステップに従って、本装置の動作手順を説明する。この動作手順では、特定の株式銘柄の取引に用いるための取引アルゴリズムを取引アルゴリズム作成装置2が生成するものとする。   FIG. 8 and FIG. 9 are flowcharts showing the operation procedure of the transaction algorithm creation device 2. The operation procedure of the present apparatus will be described below according to the steps of this flowchart. In this operation procedure, it is assumed that the trading algorithm creation device 2 generates a trading algorithm to be used for trading of a specific stock name.

個別シミュレーション実行部20がシミュレーションを開始するにあたり、1日の取引時間を種々の時間帯に分割する幾つかの候補の中からいずれかを指定する(ステップS101)。この指定は、例えばユーザが取引アルゴリズム作成装置2の個別シミュレーション実行部20に対して行う。本動作手順では、例えば午前の取引時間(前場)と午後の取引時間(後場)をそれぞれ2つの時間帯に分割する指定がユーザからなされたものとする。なお、11時00分から12時30分までの時間帯に取引は行われていないものとし、当該時間帯についてのシミュレーションは行わない。またステップS101において、検証するアルゴリズム要素群をユーザが取引アルゴリズム作成装置2に対して指定する。本動作手順では、アルゴリズム要素A、B、C、Dの4つのアルゴリズム要素群が指定されたものとする。これら4つのアルゴリズム要素A、B、C、Dに基づいて、取引アルゴリズム作成装置2は最適な取引アルゴリズムを生成する。個々のアルゴリズム要素の例については図6に示している。またステップS101において、ユーザが取引アルゴリズム作成装置2に対して市場取引シナリオを指定する。これには、過去の実際のデータを市場取引シナリオとして利用する旨を指定する場合と、仮想的に生成されたデータを市場取引シナリオとして利用する旨を指定する場合とがある。例えば本動作手順では、過去の実際のデータを市場取引シナリオとして利用するシミュレーションを行うものとする。過去の実際のデータを利用する場合、その期間(上述したX日)を指定できるようにするのが好ましい。過去の実際のデータおよび仮想的に生成されたデータのいずれについても、市場取引シナリオは、1つまたは複数の取引日を有する。   When the individual simulation execution unit 20 starts the simulation, one of several candidates for dividing the daily transaction time into various time zones is designated (step S101). This designation is performed by the user with respect to the individual simulation execution unit 20 of the transaction algorithm creation device 2, for example. In this operation procedure, for example, it is assumed that the user has specified that the transaction time in the morning (previous) and the transaction time in the afternoon (late) be divided into two time zones, respectively. In addition, it is assumed that no transaction is performed in the time zone from 11:00 to 12:30, and the simulation for the time zone is not performed. In step S <b> 101, the user designates an algorithm element group to be verified to the transaction algorithm creation device 2. In this operation procedure, it is assumed that four algorithm element groups of algorithm elements A, B, C, and D are designated. Based on these four algorithm elements A, B, C, and D, the transaction algorithm creation device 2 generates an optimal transaction algorithm. Examples of individual algorithm elements are shown in FIG. In step S101, the user designates a market transaction scenario for the transaction algorithm creation device 2. In this case, there are a case where designation is made to use past actual data as a market transaction scenario, and a case where designation is made to use virtually generated data as a market transaction scenario. For example, in this operation procedure, it is assumed that a simulation using past actual data as a market transaction scenario is performed. When using past actual data, it is preferable that the period (the above-mentioned X days) can be designated. For both historical actual data and virtually generated data, the market trading scenario has one or more trading dates.

ステップS102において、個別シミュレーション実行部20は、シミュレーションを開始する初期の時間帯を設定する。ステップS103において、個別シミュレーション実行部20は、ステップS101で設定されたアルゴリズム要素群のなかから、一のアルゴリズム要素を設定する。ステップS104において、個別シミュレーション実行部20は、ステップS101で指定された市場取引シナリオの取引期間における一の取引日を設定する。また、市場取引シナリオ生成部21から市場取引シナリオによる発注を受け取り、アルゴリズム要素取得部22から当該アルゴリズム要素による発注を受け取る。以上の読み込みを終えた後、ステップS105において、制御部27からの指示により個別シミュレーション実行部20がシミュレーションを実行する。   In step S102, the individual simulation execution unit 20 sets an initial time zone for starting the simulation. In step S103, the individual simulation execution unit 20 sets one algorithm element from the algorithm element group set in step S101. In step S104, the individual simulation execution unit 20 sets one transaction date in the transaction period of the market transaction scenario specified in step S101. Further, an order based on the market transaction scenario is received from the market transaction scenario generation unit 21, and an order based on the algorithm element is received from the algorithm element acquisition unit 22. After the above reading is completed, the individual simulation execution unit 20 executes the simulation in accordance with an instruction from the control unit 27 in step S105.

取引日および時間帯ごとに個別に行われる個別シミュレーションが終了すると、ステップS106において、個別シミュレーション実行部20から取引日および時間帯ごとの約定結果が出力され、個別シミュレーション結果記憶部25に記憶される。   When the individual simulation performed individually for each transaction date and time period is completed, the execution result for each transaction date and time period is output from the individual simulation execution unit 20 and stored in the individual simulation result storage unit 25 in step S106. .

ステップS107において、制御部27はシミュレーションを行った取引日が終了したかどうかを判定する。終了していない場合は、ステップS104に戻り、取引日を更新して個別シミュレーションを繰り返すように個別シミュレーション実行部20を制御する。   In step S107, the control unit 27 determines whether or not the transaction date on which the simulation is performed has ended. If not completed, the process returns to step S104, and the individual simulation execution unit 20 is controlled to update the transaction date and repeat the individual simulation.

ステップS104乃至S107が取引日終了まで繰り返されることにより、当該時間帯について、当該アルゴリズム要素を適用した場合の個別シミュレーション結果が取引日ごとに得られることになる。このようにステップS107のシミュレーションが全ての取引日で行われると、ステップS108において、個別VWAP計算部28は、当該時間帯における当該アルゴリズム要素による個別VWAPを計算する。   By repeating steps S104 to S107 until the end of the transaction date, an individual simulation result when the algorithm element is applied is obtained for each transaction date for the time zone. As described above, when the simulation in step S107 is performed on all transaction dates, the individual VWAP calculation unit 28 calculates the individual VWAP based on the algorithm element in the time zone in step S108.

次にステップS109において、制御部27は、当該時間帯についてシミュレーションを行っていないアルゴリズム要素が残っているかどうか判定する。当該時間帯についてシミュレーションを行っていないアルゴリズム要素が残っている場合はステップS103に戻る。ステップS104においては、当該時間帯についてシミュレーションを行っていないアルゴリズム要素がアルゴリズム要素群の中から選ばれて設定される。   Next, in step S109, the control unit 27 determines whether or not algorithm elements that have not been simulated for the time period remain. If algorithm elements that have not been simulated for the time period remain, the process returns to step S103. In step S104, an algorithm element that is not simulated for the time zone is selected and set from the algorithm element group.

当該時間帯についてシミュレーションを行っていないアルゴリズム要素が残っていない場合(ステップS109=NO)、制御部27は、シミュレーション時刻が当該取引日における最終の時間帯に到達したかどうかを判定する(ステップS110)。最終時間帯に到達していない場合(ステップS110=NO)、制御部27は、時間帯を次の時間帯に更新する(ステップS111)。   When there is no remaining algorithm element that has not been simulated for the time period (step S109 = NO), the control unit 27 determines whether the simulation time has reached the last time period on the transaction date (step S110). ). When the final time zone has not been reached (step S110 = NO), the control unit 27 updates the time zone to the next time zone (step S111).

シミュレーション時刻が最終時間帯に到達すると(ステップS110=YES)、制御部27は、シミュレーション補正部24に対し、個別シミュレーション結果に基づいてシミュレーション補正を行うよう指示する(ステップS112)。   When the simulation time reaches the final time zone (step S110 = YES), the control unit 27 instructs the simulation correction unit 24 to perform simulation correction based on the individual simulation result (step S112).

ステップS112において、シミュレーション補正部24は、取引日ごとに、1日の全時間帯を通したVWAP(アルゴリズム取引のVWAP)を計算する。これは、ステップS108で計算された時間帯ごとの個別VWAPに、時間帯ごとの約定数を乗じた値の全時間帯の総和を、全時間帯の累積約定数で除算すること(シミュレーション補正)により行う。また、シミュレーション補正部24は、アルゴリズム取引のVWAPと同様に市場全体のVWAPも算出する。   In step S <b> 112, the simulation correction unit 24 calculates VWAP (algorithm transaction VWAP) through the entire time period of each day for each transaction day. This is to divide the sum of all time zones by the value obtained by multiplying the individual VWAP for each time zone calculated in step S108 by the approximate constant for each time zone by the cumulative approximate constant for all time zones (simulation correction). To do. The simulation correction unit 24 also calculates the VWAP for the entire market in the same way as the VWAP for algorithmic trading.

ステップS113において、アルゴリズム最終結果選別部29は、全アルゴリズム要素の組合せの中から、選別基準を満たす最良の組合せを選別し(ステップS113)、アルゴリズム最終結果記憶部30に記憶する(ステップS114)。この選別においては、ステップS112で計算されたアルゴリズム取引のVWAPと市場全体のVWAPを比較することにより行う。   In step S113, the algorithm final result selection unit 29 selects the best combination that satisfies the selection criteria from the combinations of all algorithm elements (step S113), and stores it in the algorithm final result storage unit 30 (step S114). This selection is performed by comparing the VWAP of the algorithm transaction calculated in step S112 with the VWAP of the entire market.

本実施形態に係る取引アルゴリズム作成装置2は、1日の取引における全時間帯を通したシミュレーションを実行してシミュレーション結果を得るのではなく、時間帯ごとの個別シミュレーションのみ行い、これにより得られた個別シミュレーション結果(時間帯ごとの個別VWAP)を用いて取引アルゴリムの選定に必要な情報(アルゴリズム取引のVWAP)を得るものである。つまり、個別シミュレーション実行部20は、高々、(アルゴリズム要素の数)×(時間帯の数)回のシミュレーションを実行する。これにより、アルゴリズム要素の全ての組合せについてシミュレーションを実行する場合に比べて高速に、アルゴリズム要素の最良の組合せ(すなわち最終的な取引アルゴリズム)を得ることができる。このような本実施形態の特徴について詳細に説明する。   The trading algorithm creation device 2 according to the present embodiment does not execute a simulation through all time zones in a daily transaction and obtains a simulation result, but only performs an individual simulation for each time zone, and thus obtained. Information necessary for selecting a trading algorithm (algorithm trading VWAP) is obtained using an individual simulation result (individual VWAP for each time zone). That is, the individual simulation execution unit 20 executes at most (number of algorithm elements) × (number of time zones) simulations. As a result, the best combination of algorithm elements (that is, the final trading algorithm) can be obtained at a higher speed than when simulation is performed for all combinations of algorithm elements. Such features of the present embodiment will be described in detail.

VWAP(出来高加重平均価格)で株を売却する場合を考える。1日において取引が行われる時間帯を9時00分から10時00分、10時00分から12時00分、12時30分から14時00分、14時00分から15時00分までの4つの時間帯a1〜a4に分割したとする。そして、各時間帯の出来高の累積が例えば図10のようであるとする。図10において、L1は1日を通した累積出来高を表し、L2は各時間帯の累積出来高を表している。9時00分から10時00分までの時間帯a1において、L1とL2は一致している。日本の市場には、前場(9時00分から12時00分)の寄り付き(9時00分)と後場(12時30分から15時00分)の寄り付き(14時30分)で板寄せ取引による大量の約定が発生するという特徴がある。9時00分および12時30分において、累積約定が0から始まっていないのはそのためである。また、前場と後場の引け(11時00分および15時00分)においても大量の約定が生じやすい。このような特徴を考慮し、次のような3つのアルゴリズム要素を仮定する。   Consider selling stocks at VWAP (volume weighted average price). There are four time periods during which transactions are made in one day, from 9:00 to 10:00, 10:00 to 12:00, 12:30 to 14:00, and 14:00 to 15:00. Assume that the band is divided into bands a1 to a4. Then, it is assumed that the cumulative volume of each time zone is, for example, as shown in FIG. In FIG. 10, L1 represents the cumulative volume throughout the day, and L2 represents the cumulative volume for each time period. In a time zone a1 from 9:00 to 10:00, L1 and L2 match. In the Japanese market, it is possible to get close to the front (9:00 to 12:00) (9:00) and to the back (12:30 to 15:00) (14:30) by boarding It is characterized by a large amount of executions. This is why the cumulative commitments do not start from 0 at 9:00 and 12:30. Also, a large amount of contracts are likely to occur at the closing of the front and back (11:00 and 15:00). Considering such characteristics, the following three algorithm elements are assumed.

アルゴリズム要素A:始めに大量約定、終わりに少量約定。   Algorithm element A: A large amount at the beginning and a small amount at the end.

アルゴリズム要素B:始めに少量約定、終わりに大量約定。   Algorithm element B: a small amount at the beginning and a large amount at the end.

アルゴリズム要素C:約定がほぼ一定。   Algorithm element C: Execution is almost constant.

上述したように1日において取引が行われる時間帯を9時00分から10時00分、10時00分から12時00分、12時30分から14時00分、14時00分から15時00分までの4つの時間帯a1〜a4に分割し、各時間帯にアルゴリズム要素A〜Cのいずれかを適用する場合、その全ての組合せは、(A,A,A,A)(A,A,A,B)(A,A,A,C)(A,A,B,A)(A,A,B,B)(A,A,B,C)…(C,C,C,C)のように81通りとなる。   As mentioned above, trading hours in a day are from 9:00 to 10:00, 10:00 to 12:00, 12:30 to 14:00, 14:00 to 15:00 Are divided into four time zones a1 to a4, and any one of the algorithm elements A to C is applied to each time zone, all combinations thereof are (A, A, A, A) (A, A, A , B) (A, A, A, C) (A, A, B, A) (A, A, B, B) (A, A, B, C) ... (C, C, C, C) There are 81 ways.

実際にこれだけの組合せを厳密に評価する必要はないと考えられる。このような多数の組合せを検証する必要があるのは、前段の評価が次の市場に影響する場合である。例えば、アルゴリズム要素のある組合せ(A,A)とアルゴリズム要素の別の組合せ(B,A)とを考えたとき、前者の組合せでは最初にアルゴリズム要素Aが適用され、後者の組合せでは最初にアルゴリズム要素Bが適用されることになる。このように最初にアルゴリズム要素Aを適用したときとアルゴリズム要素Bを適用したときとで、次の時間帯の市場が大きく変わるのであれば、前者および後者の組合せを厳密に評価しなければならない。   In fact, it is not considered necessary to strictly evaluate such combinations. It is necessary to verify such a large number of combinations when the previous evaluation affects the next market. For example, when considering a combination (A, A) of algorithm elements and another combination (B, A) of algorithm elements, algorithm element A is applied first in the former combination, and algorithm first in the latter combination. Element B will be applied. In this way, if the market in the next time zone changes greatly between when algorithm element A is first applied and when algorithm element B is applied, the combination of the former and the latter must be strictly evaluated.

しかしながら、アルゴリズム取引は、大量注文を少量注文に分割し、市場を大きく変えることを防ぐことを主な目的として行われるものである。また、株価はブラウン運動し、前の価格が後の価格に影響しないことが知られている。大量注文等で価格を大きく変えた場合、ブラウン運動するがために、先々の価格がどうなるか、予想はますます難しくなってしまう。そのためにも、市場を大きく変えるような大量発注は原則避けなければならない。したがって、4つの時間帯a1〜a4が独立したマーケットと仮定することができ、この場合3つのアルゴリズム要素A,B,Cを評価して成績が最もよいもの、例えば図11に示すようにアルゴリズム要素(A,C,A,C)の組合せが最良解となる。   However, algorithmic trading is performed mainly for the purpose of preventing large changes in the market by dividing large orders into small orders. Also, it is known that stock prices are in Brownian motion, and the previous price does not affect the later price. If the price is greatly changed due to a large order, etc., it will become more difficult to predict what will happen in the future because of the Brownian movement. To that end, in principle, large orders that greatly change the market must be avoided. Therefore, it can be assumed that the four time zones a1 to a4 are independent markets. In this case, the three algorithm elements A, B, and C are evaluated, and the best result is obtained, for example, as shown in FIG. The combination of (A, C, A, C) is the best solution.

より定量的にアルゴリズムの良否を判断するために、81通りの組合せについて成績を評価する必要がある。この場合、時間帯ごとにアルゴリズム要素A,B,Cについて個別シミュレーションを実行すると、その実行回数は3×4=12回である。ただし、4つの時間帯を通して評価した場合に比べて各時間帯の初期条件が異なる。前の時間帯で所定の株数をVWAPで売買できたかどうかはわからないからである。   In order to judge the quality of the algorithm more quantitatively, it is necessary to evaluate the results for 81 combinations. In this case, when the individual simulation is executed for the algorithm elements A, B, and C for each time zone, the number of executions is 3 × 4 = 12 times. However, the initial conditions in each time zone are different from those in the case of evaluation through four time zones. This is because it is not known whether or not a predetermined number of shares could be traded by VWAP in the previous time zone.

例えば、アルゴリズム要素(C,C,C,C)の組合わせについて、売却をシミュレーションした場合を考えてみる。最初の時間帯a1は、初めに大量の注文があるにもかかわらず、少量の注文しか出されないので、結果的にはVWAPよりも安い価格で売却することになり、売り数量も予定より少なくなるはずである。その分だけ時間帯a1は損となる。次の時間帯a2では、アルゴリズム要素Cの適用は正解であるから時間帯a1で売却できなかった分も売却できると考えてよい。ある時間帯でのVWAPが前の時間帯の平均売却価格よりも高ければ益となり、逆に、ある時間帯でのVWAPが前の時間帯の平均売却価格(特に前の時間帯のVWAP)よりも安ければ損となる。これは、少ない計算時間で補正することができ、あらためてシミュレーションする必要はない。したがって、12回のシミュレーションと81回の補正計算によって全ての場合についての成績を出すことができる。   For example, consider a case where a sale is simulated for a combination of algorithm elements (C, C, C, C). In the first time zone a1, only a small amount of orders are placed even though there are a large number of orders at the beginning. As a result, it will be sold at a price lower than VWAP, and the sales volume will also be less than planned. It should be. The time zone a1 is lost as much. In the next time zone a2, the application of the algorithm element C is correct, so it may be considered that the portion that could not be sold in the time zone a1 can be sold. If VWAP in a certain time zone is higher than the average selling price in the previous time zone, it will be profitable. Conversely, VWAP in a certain time zone will be more than the average selling price in the previous time zone (especially VWAP in the previous time zone). If it is cheap, it will be a loss. This can be corrected with a small calculation time and does not need to be simulated again. Therefore, the results for all cases can be obtained by 12 simulations and 81 correction calculations.

現状では、市場の1時間の推移のシミュレーションに1分程度を要するシミュレータが多く、シミュレート自体が1分であるとすると、補正計算は1ミリ秒程度であろうから、全ての場合を通してシミュレーションを行う場合には81分程度を要するのに対し、時間帯ごとの個別シミュレーションおよび補正計算を行う場合は、12分+81×1ミリ秒であり、81/12倍の高速化を実現することができる。これまで、アルゴリズム要素の数と時間帯の数が少しでも増えると、アルゴリズム要素の組合せの数が爆発的に増加してシミュレーションに多大な時間を要することから、取引戦術や戦略の評価が十分に行えるものではなかった。これに対し本実施形態では、上記のように高速化によって、このような課題を解決することができる。   At present, there are many simulators that require about 1 minute to simulate the transition of one hour in the market. If the simulation itself is 1 minute, the correction calculation will be about 1 millisecond, so the simulation is performed in all cases. When it is performed, it takes about 81 minutes, but when performing individual simulation and correction calculation for each time zone, it is 12 minutes + 81 × 1 millisecond, and 81/12 times speedup can be realized. . So far, if the number of algorithm elements and the number of time zones increase even a little, the number of combinations of algorithm elements will explode and the simulation will take a lot of time. I couldn't do it. In contrast, in the present embodiment, such a problem can be solved by increasing the speed as described above.

ここで、上記補正計算について詳細に説明する。なお、既に述べたように時間帯ごとの個別シミュレーションは個別シミュレーション実行部20が実行する。上記補正計算は、シミュレーション補正部24が行う。   Here, the correction calculation will be described in detail. As described above, the individual simulation for each time zone is executed by the individual simulation execution unit 20. The simulation correction unit 24 performs the correction calculation.

証券市場では、売注文および買注文について、その価格および注文株数が時々刻々と提示され、それらの注文が合致すると、売買が成立(約定)する。図12は約定の価格を示しており、図13はそれぞれの約定に対する約定数(出来高)である。株価の動きは数学的関数で表すことはできず、せいぜいブラウン運動モデルが適用できるにすぎない。出来高についても、ある時間に大量の約定が成立することもあり、連続関数のような数学的関数で表すことはできない。   In the stock market, the price and the number of stocks ordered are shown momentarily for a sell order and a buy order, and when those orders match, the sale is concluded (contracted). FIG. 12 shows the price of the contract, and FIG. 13 shows the contract constant (volume) for each contract. The movement of stock prices cannot be expressed by a mathematical function, and the Brownian motion model can be applied at best. As for the volume, a large amount of contracts may be established at a certain time, and cannot be expressed by a mathematical function such as a continuous function.

証券市場シミュレータは、価格の動きや出来高の動きを様々なモデルを駆使してシミュレートする。図14に示すように、例えば東京証券取引所等の証券市場では、買注文(黒丸および破線)と売注文(四角および実線)が時々刻々と提示される。この図を例に説明すると、10時20分08秒頃に売注文が33170円で1900株提示され、買注文が33130円で300株ほど提示されている。また、10時20分22秒頃に33130円の買注文が800株になり、500株の追加注文があったことがわかる。さらに、10時20分24秒頃に33140円で500株の買注文が新規に発注され、10時20分34秒頃に33150円で1000株の売注文が新規に発注され、売注文と買注文の価格差が最小(ここでは10円)となり、10時20分33秒頃に、33150円で500株の買注文が出されたため、この500株が33150円で売買成立(約定)している。その後、33150円の売注文に対して、100株の買注文が2回あり、33150円の売注文は100株づつ減り、400株、300株と変わっていく。証券市場シミュレータは、これらの値動きを模擬して、シミュレータの利用者が出した注文を市場ルールに則って約定させようとする。   The stock market simulator simulates price movements and volume movements using various models. As shown in FIG. 14, for example, in a securities market such as the Tokyo Stock Exchange, buy orders (black circles and broken lines) and sell orders (squares and solid lines) are presented every moment. Taking this figure as an example, around 10:20:08, a sell order is presented for 1900 shares at 33170 yen, and a buy order is presented for about 300 shares at 33130 yen. Also, it can be seen that around 10:20:22, the purchase order for 33,130 yen was 800 shares, and there was an additional order for 500 shares. At around 10:20:24, a new 500-share buy order was placed at 33140 yen, and at around 10:20:34, a new 1000-share sell order was placed at 33150 yen. The price difference of the order became the minimum (here 10 yen), and a buy order for 500 shares was issued at 33150 yen at around 10:20:33, so this 500 shares were sold (contracted) at 33150 yen. Yes. After that, there are two buy orders for 100 shares for a sell order of 33150 yen, and the sell order for 33150 yen decreases by 100 shares, changing to 400 shares and 300 shares. The stock market simulator simulates these price movements and tries to execute an order placed by a user of the simulator according to a market rule.

まず、シミュレータで厳密にシミュレートしたときの4つの時間帯を通したVWAPをどのように計算するかについて説明する。   First, a description will be given of how to calculate VWAP through four time zones when simulated strictly by a simulator.

時間帯a1における約定価格×約定数を計算して第1の合計値αする。次に、時間帯a2における約定価格×約定数と第1の合計値αとを合計して第2の合計値αとするとともに、時間帯a2における全約定株数と時間帯a1における全約定株数とを合計して第2の合計値βとする。次に、時間帯a3における約定価格×約定数と第2の合計値αとを合計して第3の合計値αとするとともに、時間帯a3における全約定株数と第2の合計値βとを合計して第3の合計値βとする。そして、時間帯a4における約定価格×約定数と第3の合計値αとを合計して第4の合計値αとするとともに、時間帯a4における全約定株数と第3の合計値βとを合計して第4の合計値βとする。ここで、4つの時間帯を通したVWAPを第4の合計値α/第4の合計値βによって計算することができる。   The contract price × the contract constant in the time zone a1 is calculated to obtain the first total value α. Next, the contract price in the time zone a2 × the contract constant and the first total value α are summed to obtain a second total value α, and the total number of contracts in the time zone a2 and the total number of contracts in the time zone a1 To be a second total value β. Next, the contract price in the time zone a3 × the contract constant and the second total value α are summed to obtain a third total value α, and the total number of contracted shares and the second total value β in the time zone a3 are The total is the third total value β. Then, the contract price in the time slot a4 × the contract constant and the third total value α are added to obtain the fourth total value α, and the total number of contracted shares in the time slot a4 and the third total value β are totaled. To a fourth total value β. Here, VWAP through four time zones can be calculated by the fourth total value α / the fourth total value β.

証券市場シミュレータでは約定をモニターし、約定価格×約定株数を計算していくので、精密な市場シミュレータとなると、そのプロセスを単純な数式で表せるわけではないが、理解を容易にするために、次のように単純化して検討しても、本質を損ねることはない。図15および図16に示すように市場の4つの時間帯a1〜a4それぞれをさらに前半と後半の2つの時間帯に分割し、このように分割された時間帯における価格と出来高は一定とする(図15における一定価格を示す点線C11〜C42,図16における一定出来高を示す点線D11〜42)。   In the securities market simulator, the execution is monitored and the execution price x the number of executed shares is calculated, so if it becomes a precise market simulator, the process cannot be expressed by a simple mathematical formula. Even if it simplifies and considers like this, the essence is not spoiled. As shown in FIG. 15 and FIG. 16, each of the four time zones a1 to a4 in the market is further divided into two time zones, the first half and the second half, and the price and volume in this divided time zone are constant ( Dotted lines C11 to C42 indicating a fixed price in FIG. 15, and Dotted lines D11 to D42 indicating a fixed volume in FIG.

シミュレートする前には価格は全く予測できず、価格変化のパターンすら仮定もできないとする。また出来高も予測できないが、時間帯の前半と後半での大小のパターンを仮定できるとする。   It is assumed that the price cannot be predicted at all before simulation, and even the pattern of price change cannot be assumed. Also, the volume cannot be predicted, but it is possible to assume large and small patterns in the first and second half of the time zone.

以上の前提で、アルゴリズムの組合せについてVWAPで説明する。VWAPは、取引する時間帯での出来高時間分布の予測の優劣で結果が変わる。その時間帯の出来高時間分布を正しく予想できることが重要である。   Based on the above assumptions, the combination of algorithms will be described with VWAP. The results of VWAP change depending on the superiority or inferiority of the volume time distribution prediction in the trading time zone. It is important to be able to correctly predict the volume time distribution in that time zone.

時間帯a1〜a4それぞれにおける前半と後半の時間帯について、出来高時間分布の3つの変化パターンを次のように想定する。   Three change patterns of the volume time distribution are assumed as follows for the first and second half time zones in each of the time zones a1 to a4.

パターンA 前半:出来高大(全体の2/3),後半:出来高小(全体の1/3)
パターンB 前半と後半の出来高が同じ(1/2ずつ)
パターンC 前半:出来高小(全体の1/3),後半:出来高大(全体の2/3)
これら3つのパターンでVWAPの結果は異なってくるので、これらは同じVWAPではあるが、A,B,Cの3つの異なるアルゴリズム要素であるとする。
Pattern A First half: Large trading volume (2/3 overall), Second half: Small trading volume (1/3 overall)
Pattern B Same volume in first half and second half (1/2 each)
Pattern C First half: Small volume (1/3 overall) Second half: Large volume (2/3 overall)
Since the results of VWAP differ in these three patterns, these are the same VWAP, but are three different algorithm elements A, B, and C.

ここで、4つの時間帯a1〜a4それぞれにアルゴリズム要素A〜Cのいずれかを適用する場合、考えられるアルゴリズム要素A〜Cの組合せは、3の4乗通りの81通りとなる。   Here, when any one of the algorithm elements A to C is applied to each of the four time zones a1 to a4, there are 81 possible combinations of the algorithm elements A to C, which are 3 to the 4th power.

価格が次のように推移したとする。   Suppose the price changes as follows.

Figure 2011215908
Figure 2011215908

出来高時間分布の変化パターンとして上記の通りパターンA〜Cの3通りを想定し、これを次のように表す。パターンA〜Cはそれぞれアルゴリズム要素A〜Cに対応する。   As the change pattern of the volume time distribution, three patterns A to C are assumed as described above, and this is expressed as follows. Patterns A to C correspond to algorithm elements A to C, respectively.

Figure 2011215908
Figure 2011215908

例えば、時間帯a1にパターンAが適用された場合、前半の価格は1000円で約定数は2、後半の価格は990円で約定数は1である。時間帯a1にパターンBが適用された場合、前半の価格は1000円で約定数は1、後半の価格は990円で約定数は1である。時間帯a1にパターンCが適用された場合、前半の価格は1000円で約定数は1、後半の価格は990円で約定数は2である。   For example, when the pattern A is applied to the time zone a1, the first half price is 1,000 yen and the constant is 2, and the second half price is 990 yen and the constant is 1. When the pattern B is applied to the time zone a1, the first half price is 1,000 yen and the constant is 1, and the second half price is 990 yen and the constant is 1. When the pattern C is applied to the time zone a1, the first half price is 1,000 yen and the constant is 1, the latter half price is 990 yen and the constant is 2.

4つの時間帯a1〜a4において、出来高分布が全てパターンAの場合、VWAPは、以下のようにして求めることができる。   In the four time zones a1 to a4, when the volume distribution is all pattern A, VWAP can be obtained as follows.

Figure 2011215908
Figure 2011215908

表3によると、各時間帯で個別にVWAPを計算できることがわかり、これを表4に示す。   According to Table 3, it can be seen that VWAP can be calculated individually in each time zone, and this is shown in Table 4.

Figure 2011215908
Figure 2011215908

上記表4のような各時間帯のVWAPを用いれば、シミュレータで再度約定数等を数え上げなくても、全時間帯を通したVWAPを次の表5のように計算することができる。   If VWAP for each time zone as shown in Table 4 above is used, VWAP for all time zones can be calculated as shown in Table 5 below without counting the constants again by the simulator.

Figure 2011215908
Figure 2011215908

この例のように、時間帯a1からa2について事前に個別のVWAPを計算しておけば、全時間帯を通したVWAPを計算することができる。この例は、出来高分布がパターンA,A,A,Aという組合せである。A,B,C,Aというパターンの組合せについては、時間帯a1についてパターンAの個別VWAPを計算し、時間帯a2についてパターンBの個別VWAPを計算し、時間帯a3についてパターンCの個別VWAPを計算し、時間帯a4についてパターンAの個別VWAPを事前に計算しておけばよい。   As in this example, if individual VWAPs are calculated in advance for time zones a1 to a2, VWAPs for all time zones can be calculated. In this example, the volume distribution is a combination of patterns A, A, A, and A. For the combination of patterns A, B, C, A, the individual VWAP of pattern A is calculated for time zone a1, the individual VWAP of pattern B is calculated for time zone a2, and the individual VWAP of pattern C is calculated for time zone a3. The individual VWAP of the pattern A may be calculated in advance for the time zone a4.

上記のような計算手法が有効であるのは時間帯a1〜a4それぞれを独立にシミュレートしてよい場合である。時間帯a1でパターンAの出来高分布を用いた場合と、パターンBの出来高分布を用いた場合とで、時間帯a2での価格や出来高分布が変わるようであれば、独立にシミュレートすることは無意味である。このような場合が生じるのは、大量の注文を出したときである。アルゴリズム取引の最も重要な目的は、市場を乱さないように発注することであるから、時間帯a1〜a4それぞれについて独立にシミュレートしても、時間帯a1〜a4を通してシミュレートしても結果が変わらないことが理想である。   The above calculation method is effective when each of the time zones a1 to a4 may be simulated independently. If the price distribution in the time zone a2 and the volume distribution in the time zone a2 change between the case A distribution using the pattern A in the time zone a1 and the case where the volume distribution in the pattern B is used, the simulation can be performed independently. Meaningless. Such a case occurs when a large number of orders are placed. The most important purpose of algorithmic trading is to place an order so as not to disturb the market. Therefore, the results can be obtained by simulating independently for each of the time zones a1 to a4 or simulating through the time zones a1 to a4. The ideal is not to change.

以上のように、個々の時間帯について独立にVWAPを求め、それらを用いて任意の出来高分布についてVWAPを求めることができる。またそうできるアルゴリズムが理想のアルゴリズムである。   As described above, VWAP can be obtained independently for each time zone, and VWAP can be obtained for any volume distribution using them. An algorithm that can do so is the ideal algorithm.

図2に示した本実施形態の構成においては、上記計算を行うために個別シミュレーション実行部20が(アルゴリズム要素数×時間帯数)に相当する12通りの個別シミュレーション、すなわち
(時間帯a1−A),(時間帯a2−A),(時間帯a3−A),(時間帯a4−A),
(時間帯a1−B),(時間帯a2−B),(時間帯a3−B),(時間帯a4−B),
(時間帯a1−C),(時間帯a2−C),(時間帯a3−C),(時間帯a4−C)
を実行する。その結果、個別シミュレーション実行結果がそれぞれ得られる。個別シミュレーション実行結果は、当該時間帯に複数のアルゴリズム要素のいずれかを適用して取引を行って得られた約定結果(少なくとも約定数および約定価格を含む)である。
In the configuration of the present embodiment shown in FIG. 2, the individual simulation execution unit 20 performs the above calculation by performing 12 individual simulations corresponding to (number of algorithm elements × number of time zones), that is, (time zone a1-A). ), (Time zone a2-A), (time zone a3-A), (time zone a4-A),
(Time zone a1-B), (time zone a2-B), (time zone a3-B), (time zone a4-B),
(Time zone a1-C), (Time zone a2-C), (Time zone a3-C), (Time zone a4-C)
Execute. As a result, individual simulation execution results are obtained. The individual simulation execution result is a contract result (including at least a contract constant and a contract price) obtained by performing a transaction by applying any of a plurality of algorithm elements in the time period.

個別VWAP計算部28は、上述したように当該時間帯の取引による約定価格に約定数を乗じた値を当該時間帯における約定数で除算することにより個別VWAPを計算する。これにより計算された個別VWAPは、個別シミュレーション実行結果としてそれぞれ個別シミュレーション実行結果記憶部25に格納される。   As described above, the individual VWAP calculation unit 28 calculates the individual VWAP by dividing the value obtained by multiplying the contract price by the transaction in the time zone by the contract constant by the contract constant in the time zone. The individual VWAP thus calculated is stored in the individual simulation execution result storage unit 25 as an individual simulation execution result.

シミュレーション補正部24は、各時間帯について事前に計算された個別VWAPに基づいて、全時間帯を通したVWAPを計算する。具体的には、シミュレーション補正部24は、時間帯ごとの個別VWAPに時間帯ごとの約定数を乗じた値の全時間帯の総和を、全時間帯の累積約定数で除算することにより計算する。各時間帯の個別VWAPに約定数を乗算することは、全時間帯を通したVWAPを求める際の、個別時間帯でのVWAPを「補正」していると見ることができる。   The simulation correction unit 24 calculates VWAP through all time zones based on the individual VWAP calculated in advance for each time zone. Specifically, the simulation correction unit 24 calculates the sum of all time zones obtained by multiplying the individual VWAP for each time zone by the approximate constant for each time zone by the cumulative approximate constant for all time zones. . Multiplying the individual VWAP for each time zone by a constant can be seen as “correcting” the VWAP for the individual time zone when determining the VWAP for all time zones.

例えばアルゴリズム要素A,B,B,Cの組合せの場合、{(時間帯a1−Aの個別VWAP)×(時間帯a1の約定数)+(時間帯a2−Bの個別VWAP)×(時間帯a2の約定数)+(時間帯a3−Bの個別VWAP)×(時間帯a3の約定数)+(時間帯a4−Cの個別VWAP)×(時間帯a4の約定数)}/(全時間帯における累積約定数)によって全時間帯を通したVWAPを計算することができる。これにより計算されたVWAPは、A,B,B,Cについて時間帯a1〜a4を通して連続的にシミュレーション実行することにより得られるVWAPとほぼ一致すると考えることができ、またそのような結果となるアルゴリズムが良いアルゴリズムである。   For example, in the case of a combination of algorithm elements A, B, B, and C, {(individual VWAP in time zone a1-A) × (about constant of time zone a1) + (individual VWAP in time zone a2-B) × (time zone Approximate constant of a2) + (Individual VWAP of time zone a3-B) × (Approximate constant of time zone a3) + (Individual VWAP of time zone a4-C) × (Approximate constant of time zone a4)} / (Total time VWAP over the entire time period can be calculated by the cumulative constant in the band). The VWAP calculated in this way can be considered to be almost coincident with the VWAP obtained by executing the simulation continuously through the time zones a1 to a4 with respect to A, B, B, and C, and an algorithm resulting in such a result. Is a good algorithm.

シミュレーション補正部24は、制御部27から指示されたアルゴリズム要素の任意の組合せ(例えばA,A,A,AであるとかA,B,A,B)について、任意の日の全時間帯を通したVWAPを計算することができる。本実施形態において、上述したように1日において取引が行われる時間帯を9時00分から10時00分、10時00分から12時00分、12時30分から14時00分、14時00分から15時00分までの4つの時間帯a1〜a4に分割し、各時間帯にアルゴリズム要素A〜Cのいずれかを適用する場合、その全ての組合せは81通りとなる。制御部27は、この全ての組合せをシミュレーション補正部24に指示し、ある1日において取引が行われる全時間帯を通したVWAPを計算する。本実施形態のようにX日分のシナリオによって評価をする場合、X日分のVWAP計算結果を得る。   The simulation correction unit 24 passes all time zones of an arbitrary day for an arbitrary combination of algorithm elements instructed by the control unit 27 (for example, A, A, A, A, or A, B, A, B). The calculated VWAP can be calculated. In this embodiment, as described above, the time period in which transactions are performed in one day is from 9:00 to 10:00, 10:00 to 12:00, 12:30 to 14:00, and 14:00. When dividing into four time zones a1 to a4 up to 15:00 and applying any of the algorithm elements A to C to each time zone, there are 81 combinations in all. The control unit 27 instructs all the combinations to the simulation correction unit 24, and calculates VWAP through all time zones in which a transaction is performed on a certain day. When the evaluation is performed according to the scenario for X days as in the present embodiment, the VWAP calculation result for X days is obtained.

シミュレーション補正部24による上記VWAPの計算結果は、シミュレーション補正結果としてシミュレーション補正結果記憶部26に格納され、アルゴリズム最終結果選別部29に与えられる。アルゴリズム最終結果選別部29は、選別基準に基づいて最良の取引アルゴリズムを選別する。   The calculation result of the VWAP by the simulation correction unit 24 is stored in the simulation correction result storage unit 26 as a simulation correction result, and is given to the algorithm final result selection unit 29. The algorithm final result selection unit 29 selects the best transaction algorithm based on the selection criteria.

図17は、最良の取引アルゴリズムを選別するための選別基準の一例を示し、図18は、該選別基準により選別されたアルゴリズム要素の組合せの例を示している。アルゴリズム最終結果選別部29は、アルゴリズム取引のVWAPと市場全体のVWAPとの差を求め、アルゴリズム要素の最良の組合せ、すなわちアルゴリズム要素DACBCDを選別している。ただし、この例は、1日の取引の時間帯を6つの時間帯に分割した場合であって、4つのアルゴリズム要素A〜Dのいずれかを適用する場合の組合せである。   FIG. 17 shows an example of a selection criterion for selecting the best trading algorithm, and FIG. 18 shows an example of a combination of algorithm elements selected according to the selection criterion. The algorithm final result selection unit 29 obtains the difference between the VWAP of the algorithm transaction and the VWAP of the entire market, and selects the best combination of algorithm elements, that is, the algorithm element DACBCD. However, this example is a case where the time zone of the daily transaction is divided into six time zones, and is a combination when any one of the four algorithm elements A to D is applied.

(アルゴリズム取引システムにおける取引戦略等の評価支援)
現状では、取引アルゴリズムの種類は多岐にわたる上、発注タイミング設定値などの種々のパラメータを適宜設定する必要があることから、単独のアルゴリズムを長期間にわたって適用する状態にはなっていない。このためアルゴリズム取引では、多数のアルゴリズム要素が事前に用意され、これらの組合せを検証しなければならない。アルゴリズム要素の組合せは膨大であり、これら全ての組合せを検証するには膨大な計算時間を必要としていた。株の売買は、トレーダーの立場によって売買のパターンが大きく異なる。
(Evaluation support for trading strategies in algorithmic trading systems)
At present, there are various types of trading algorithms, and various parameters such as order timing setting values need to be set as appropriate, so that a single algorithm has not been applied for a long period of time. For this reason, in algorithmic trading, a large number of algorithm elements are prepared in advance, and a combination of these must be verified. The combination of algorithm elements is enormous, and enormous calculation time is required to verify all these combinations. Stock trading varies greatly depending on the trader's position.

トレーダーを分類すると大きく3つに分けることができる。第1は、零細な個人レベルのデイトレーダーと呼ばれる顧客を対象としたトレーダーである。彼らは、基本的に1日の売買で損益の決着をつける。第2は、マーケットメーカーと呼ばれるタイプのトレーダーである。現在、日本ではマーケットメーク型の証券市場は殆ど存在しないが、証券会社の自己売買部門はそれに近いと思われる。彼らは、1週間から1ケ月程度の期間で損益の決着をつける。第3は、年金運用機関等の機関投資家を顧客としたトレーダーである。彼らは、顧客の注文を正確に実施することがミッションである。数ヶ月から1年間にわたって買注文のみ、または売注文のみが発生し、かつ大量の売買を実施する。   The traders can be classified into three categories. The first is a trader targeted at a customer, called a small individual day trader. They basically settle their profits and losses with one day trading. The second is a type of trader called a market maker. At present, there are few market-making securities markets in Japan, but it seems that the brokerage of securities companies is close to that. They settle profits and losses in a week to a month. The third is a trader whose customers are institutional investors such as pension management institutions. Their mission is to accurately place customer orders. Only a buy order or a sell order is generated over a period of several months to one year, and a large amount of sales is performed.

トレーダーは、独自の売買戦略を持つばかりでなく、市場の状況に応じて多様な売買戦術を使いこなす。損益の基準も、自分で選択できる場合もあれば、顧客から設定され自分で選択できない場合もある。基本的には、顧客(自分も含む)からの指値以上で売れれば益、指値以下で買えれば益、その逆は損となるが、適切な指値を設定しにくいときは、出来高加重平均株価(VWAP)を基準とする場合もある。VWAPは市場が閉まった後に公開されるので、独力でVWAPを常に評価し、VWAPに影響しない私設取引所(PTS)の活用も考慮しなければならない。日本ではPTSでの取引は活発でないが、米国等でPTS(DMA、ダークプールともいう)で活発な取引があり、これらの活用も重要となる。指値で取引する場合には、一度に大量の注文を出すと、自分の注文が市場を動かし、買/売に応じて市場価格が大きく上/下し指値で売買できないリスクがある。自分の注文が市場価格に与える影響(マーケットインパクト)を評価しながら小刻みに注文を出していかなければならない。先物のような証拠金取引では、証拠金の値洗いが終値を基準にするので、終値より有利な条件で売買できなければならない。終値もVWAPと同様に市場が閉まってから決まるので、引けに合わせて取引を集中させる手法が有効となる。このように、株の売買戦術は多岐にわたることがわかる。ここで挙げた戦術はVWAP、指値、終値のような3つの基準に基づくものであるが、実際には、まだ多くの戦術が存在する。また、1つの戦術でも、これを実現するためには複数のアルゴリズムが存在する。アルゴリズムを適用する時間帯についても、1日あたり、最少でも前場(9時00分から11時00分)と後場(12時30分から15時00分)の2つがあり、状況によっては前場と後場をより詳細に分割することもありうる。一の取引について、アルゴリズム要素の数が10、時間帯の数が100程度の状況になることは希ではない。   Traders not only have their own trading strategies, but also use various trading tactics depending on market conditions. In some cases, the profit and loss standards can be selected by the user, or in other cases, the profit and loss can be set by the customer and cannot be selected by the customer. Basically, if you sell at or above the limit from customers (including yourself), you will profit if you sell at or below the limit, and vice versa, but if it is difficult to set an appropriate limit, the volume-weighted average stock price (VWAP) may be used as a reference. Since VWAP will be released after the market closes, VWAP should always be evaluated independently, and the use of a private exchange (PTS) that does not affect VWAP must also be considered. Transactions in PTS are not active in Japan, but there are active transactions in PTS (also referred to as DMA or dark pool) in the United States and the like, and their use is also important. In the case of trading at the limit price, if a large number of orders are placed at a time, there is a risk that one's own orders move the market, the market price greatly increases / decreases in accordance with buy / sell and cannot be sold at the limit price. You must place orders in small increments while evaluating the impact of your orders on market prices (market impact). In margin trading such as futures, the price of margin is based on the closing price, so it must be able to buy and sell on conditions that are more favorable than the closing price. Since the closing price is determined after the market is closed as in the case of VWAP, a method of concentrating transactions according to the closing is effective. Thus, it can be seen that stock tactics are diverse. The tactics listed here are based on three criteria such as VWAP, limit price, and closing price, but there are still many tactics in practice. In addition, even with one tactic, there are a plurality of algorithms for realizing this. There are two times per day for the algorithm to be applied, at least the front (from 9:00 to 11:00) and the back (from 12:30 to 15:00), depending on the situation. It may be divided in more detail. It is not uncommon for one transaction to have a situation where the number of algorithm elements is 10 and the number of time zones is about 100.

このような状況に対し、本実施形態に係る取引アルゴリズム作成装置2によれば、アルゴリズム要素の全ての組合せについてシミュレーションを実行する場合に比べて高速に、アルゴリズム要素の組合せ(取引アルゴリズム)を評価することができ、その最良の組合せを選別してオンライン発注装置3に提供することができる(アルゴリズム最終結果記憶部30)。   In such a situation, according to the transaction algorithm creation device 2 according to the present embodiment, the combination of algorithm elements (transaction algorithm) is evaluated at a higher speed than in the case where simulation is executed for all combinations of algorithm elements. The best combination can be selected and provided to the online ordering apparatus 3 (algorithm final result storage unit 30).

オンライン発注装置3は、トレーダーが操作する操作端末4に対し、アルゴリズム選択補正部7を通じて取引アルゴリズムの選択ならびにその補正を行うためのユーザーインタフェースを提供することにより上述したようなトレーダーによる取引の戦略ならびに戦術の評価を支援しつつ、アルゴリズム取引のオンライン発注を行うように構成される。   The online ordering device 3 provides a user interface for selecting and correcting a transaction algorithm through the algorithm selection / correction unit 7 to the operation terminal 4 operated by the trader. It is configured to place online orders for algorithmic trading while supporting tactical evaluation.

図2に示したように、東証や大証のような証券取引場であるマーケット200から、注文、約定状況等の情報がネットワーク16を介して本実施形態のアルゴリズム取引システムに提供される。この情報は、端末操作部4によってユーザである証券ディーラーに提示される。ロイター等の情報提供会社201からも情報が提供され、端末操作部4を介してディーラーに提供される。   As shown in FIG. 2, information such as orders and execution status is provided from the market 200 which is a stock exchange such as TSE or OSE to the algorithm trading system of the present embodiment via the network 16. This information is presented to the securities dealer as the user by the terminal operation unit 4. Information is also provided from an information provider 201 such as Reuters and provided to the dealer via the terminal operation unit 4.

ディーラーは、操作端末部4の入力部5(キーボードやマウス等)を操作することにより、売買の注文をオンライン発注装置3に対して与える。この発注に関する情報は、アルゴリズム選択補正部7に入力される。アルゴリズム選択補正部7は、アルゴリズム選択結果記憶部30からいくつかのアルゴリズム要素の組合わせを読み出す。これらは、取引アルゴリズム作成装置2によって作成されたものであるが、取引を行うディーラーの立場を必ずしも完全に反映できるものであるとは限らない。例えば、取引アルゴリズム作成装置2に盛り込むことのできなかった企業のファンダメンタル情報、例えば、新聞のリーク記事等の緊急発表された情報等から、取引アルゴリズム作成装置2からの提示とは異なったアルゴリズム要素を選択することは十分にありうることである。   The dealer gives an order for buying and selling to the online ordering device 3 by operating the input unit 5 (keyboard, mouse, etc.) of the operation terminal unit 4. Information regarding this order is input to the algorithm selection correction unit 7. The algorithm selection correction unit 7 reads a combination of several algorithm elements from the algorithm selection result storage unit 30. These are created by the transaction algorithm creation device 2, but do not necessarily reflect the position of the dealer who conducts the transaction. For example, from the fundamental information of a company that could not be included in the trading algorithm creation device 2, for example, information that was announced urgently such as a newspaper leak article, an algorithm element different from the presentation from the trading algorithm creation device 2 It is possible to choose.

そこで、アルゴリズム選択補正部7は、アルゴリズム選択補正画面を操作端末4の表示部6に表示させる。操作端末4を操作するディーラーは、このアルゴリズム選択補正画面を通じて、取引アルゴリズム作成装置2によって作成されたアルゴリズム要素の組合せを変更することができる。   Therefore, the algorithm selection correction unit 7 displays an algorithm selection correction screen on the display unit 6 of the operation terminal 4. The dealer operating the operation terminal 4 can change the combination of algorithm elements created by the transaction algorithm creation device 2 through this algorithm selection correction screen.

図19は、アルゴリズム選択補正画面の一例を示す図である。この画面は、N種類のアルゴリズム要素A−1〜A−Nの組合せ190を、N通りの収益および出来高192が優れた順に一覧表示するものである。T−1〜T−Mは、分割されたM個の時間帯191を表している。ここで、銘柄企業の業績発表によってトレーダーが何らかの判断をし、最適なアルゴリズム要素の組合せを変更することができる。例えば、組合せ変更以前では、アルゴリズム要素(A−1,A−1,A−1,…A−1)の組合せは(収益−1,出来高−1)であり最良のものであると取引アルゴリズム作成装置2によって判定されたところ、トレーダーは、アルゴリズム要素の組合せを図中の網掛けのように(A−1,A−3,A−1,…A−3)に変更することができ、この場合に対応する(収益−3,出来高−3)を表示することができる。したがって、トレーダー自身の判断とシミュレータの判断との乖離が甚だしくないことを確認する手段を提供することができる。選択または補正された取引アルゴリズムは、アルゴリズム補正選択部7からアルゴリズム取引発注部8に送られる。アルゴリズム取引発注部8は、アルゴリズム補正選択部7から受け取った取引アルゴリズムを用い、マーケット200に対してオンラインの発注を行う。   FIG. 19 is a diagram illustrating an example of the algorithm selection correction screen. This screen displays a list of combinations 190 of N types of algorithm elements A-1 to A-N in the order of N revenues and volume 192 being excellent. T-1 to T-M represent the divided M time zones 191. Here, the trader can make some judgments based on the announcement of the performance of the brand company, and can change the optimal combination of algorithm elements. For example, before the combination is changed, the algorithm element (A-1, A-1, A-1,... A-1) has a combination of (revenue-1, volume-1) and a trading algorithm is created. As determined by the device 2, the trader can change the combination of algorithm elements to (A-1, A-3, A-1,... A-3) as shown in the shaded area in FIG. (Revenue-3, Volume-3) corresponding to the case can be displayed. Therefore, it is possible to provide means for confirming that the difference between the judgment of the trader and the judgment of the simulator is not significant. The selected or corrected transaction algorithm is sent from the algorithm correction selection unit 7 to the algorithm transaction ordering unit 8. The algorithm transaction ordering unit 8 uses the transaction algorithm received from the algorithm correction selection unit 7 to place an online order for the market 200.

以上説明した実施形態によれば、動的なアルゴリズム取引に用いられるアルゴリズム要素の膨大な組合せに対処し、シミュレーションを高速に行って取引アルゴリズムを作成し、そのような取引アルゴリズムによるオンライン取引を行うことのできる取引アルゴリズム作成装置、方法およびプログラムを提供することができる。   According to the embodiment described above, dealing with a huge combination of algorithm elements used for dynamic algorithm trading, creating a trading algorithm by performing simulation at high speed, and performing online trading using such trading algorithm It is possible to provide a trading algorithm creation device, method, and program that can be used.

なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。   Note that the present invention is not limited to the above-described embodiment as it is, and can be embodied by modifying the constituent elements without departing from the scope of the invention in the implementation stage. In addition, various inventions can be formed by appropriately combining a plurality of components disclosed in the embodiment. For example, some components may be deleted from all the components shown in the embodiment. Furthermore, constituent elements over different embodiments may be appropriately combined.

1…コンピュータ
2…取引アルゴリズム作成装置
3…オンライン発注装置
4…操作端末
5…入力部
6…表示部
7…アルゴリズム選択補正部
8…アルゴリズム取引発注部
16…ネットワーク
20…個別シミュレーション実行部
21…市場取引シナリオ生成部
22…アルゴリズム発注生成部
23…アルゴリズム要素記憶部
24…シミュレーション補正部
25…個別シミュレーション結果記憶部
26…シミュレーション補正結果記憶部
27…制御部
28…個別VWAP計算部
29…アルゴリズム最終結果選別部
30…アルゴリズム最終結果記憶部
200…マーケット
201…情報提供会社
DESCRIPTION OF SYMBOLS 1 ... Computer 2 ... Transaction algorithm production apparatus 3 ... Online ordering apparatus 4 ... Operation terminal 5 ... Input part 6 ... Display part 7 ... Algorithm selection correction part 8 ... Algorithm transaction ordering part 16 ... Network 20 ... Individual simulation execution part 21 ... Market Transaction scenario generation unit 22 ... algorithm order generation unit 23 ... algorithm element storage unit 24 ... simulation correction unit 25 ... individual simulation result storage unit 26 ... simulation correction result storage unit 27 ... control unit 28 ... individual VWAP calculation unit 29 ... algorithm final result Sorting unit 30 ... algorithm final result storage unit 200 ... market 201 ... information provider

Claims (5)

アルゴリズム要素群における一のアルゴリズム要素による取引の個別シミュレーションを実行することにより、一の時間帯の約定結果を得る個別シミュレーション実行手段と、
一日の取引における全ての時間帯それぞれについて前記アルゴリズム要素群のそれぞれのアルゴリズム要素を適用し、時間帯数とアルゴリズム要素数との積に相当する回数の個別シミュレーションを行うよう前記個別シミュレーション実行手段を制御する制御手段と、
前記制御手段により制御された個別シミュレーション実行手段から得られる時間帯ごとの約定結果に基づいて、前記アルゴリズム要素の最良の組合せを選別する選別手段と、
前記選別手段により選別されたアルゴリズム要素の最良の組合せによりオンライン発注を行う発注手段と、
を具備することを特徴とするアルゴリズム取引システム。
An individual simulation execution means for obtaining a contract result in one time zone by executing an individual simulation of a transaction by one algorithm element in an algorithm element group;
The individual simulation execution means is adapted to apply each algorithm element of the algorithm element group to each of all time zones in a daily transaction, and to perform individual simulation for the number of times corresponding to the product of the number of time zones and the number of algorithm elements. Control means for controlling;
Screening means for selecting the best combination of the algorithm elements based on the execution result for each time zone obtained from the individual simulation execution means controlled by the control means;
Ordering means for placing an online order with the best combination of algorithm elements selected by the selecting means;
An algorithm trading system comprising:
前記回数の個別シミュレーション実行によって前記個別シミュレーション実行手段から得られる約定結果に基づいて、一日の取引における全ての時間帯それぞれに前記アルゴリズム要素群のそれぞれのアルゴリズム要素を適用した場合の全ての組合せの成績値集合を計算するシミュレーション補正手段をさらに具備し、
前記選別手段は、前記成績値集合に基づいて前記最良の組合せを選別することを特徴とする請求項1に記載のアルゴリズム取引システム。
Based on the execution results obtained from the individual simulation execution means by the number of individual simulation executions, all combinations of the algorithm elements of the algorithm element group applied to all the time zones in a daily transaction It further comprises a simulation correction means for calculating the grade value set,
The algorithm trading system according to claim 1, wherein the selecting unit selects the best combination based on the result value set.
前記約定結果は約定価格と約定数を含んでおり、
前記約定価格と前記約定数とを乗算することにより時間帯ごとのVWAP(出来高加重平均価格)を計算する個別VWAP計算手段と、
前記時間帯ごとのVWAPに時間帯ごとの約定数を乗じた値の全時間帯の総和を、全時間帯の累積約定数で除算することにより、全時間帯を通したVWAPを計算するシミュレーション補正手段と、をさらに具備し、
前記選別手段は、前記全時間帯を通したVWAPに基づいて前記最良の組合せを選別することを特徴とする請求項1に記載のアルゴリズム取引システム。
The execution result includes an execution price and an execution constant,
Individual VWAP calculation means for calculating VWAP (volume weighted average price) for each time zone by multiplying the contract price and the contract constant;
Simulation correction for calculating VWAP through all time zones by dividing the sum of all time zones by the value obtained by multiplying the VWAP for each time zone by the constant for each time zone by the cumulative constant for all time zones Means, and
2. The algorithm trading system according to claim 1, wherein the sorting unit sorts the best combination based on VWAP through the entire time period.
個別シミュレーション実行手段が、アルゴリズム要素群における一のアルゴリズム要素による取引の個別シミュレーションを実行することにより一の時間帯の約定結果を得るステップと、
制御手段が、一日の取引における全ての時間帯それぞれについて前記アルゴリズム要素群のそれぞれのアルゴリズム要素を適用し、時間帯数とアルゴリズム要素数との積に相当する回数の個別シミュレーションを行うよう前記個別シミュレーション実行手段を制御するステップと、
選別手段が、前記制御手段により制御された個別シミュレーション実行手段から得られる時間帯ごとの約定結果に基づいて前記アルゴリズム要素の最良の組合せを選別するステップと、
発注手段が、前記選別手段により選別されたアルゴリズム要素の最良の組合せによりオンライン発注を行うステップと、
を具備することを特徴とするアルゴリズム取引方法。
An individual simulation execution means obtains a contract result in one time zone by executing an individual simulation of a transaction by one algorithm element in the algorithm element group;
The control means applies each algorithm element of the algorithm element group to each of all time zones in a daily transaction, and performs the individual simulation for the number of times corresponding to the product of the number of time zones and the number of algorithm elements. Controlling the simulation execution means;
Screening means for selecting the best combination of the algorithm elements based on the execution results for each time zone obtained from the individual simulation execution means controlled by the control means;
An ordering means for placing an online order with the best combination of algorithm elements selected by the selecting means;
An algorithmic trading method comprising:
コンピュータを、
アルゴリズム要素群における一のアルゴリズム要素による取引の個別シミュレーションを実行することにより、一の時間帯の約定結果を得る個別シミュレーション実行手段、
一日の取引における全ての時間帯それぞれについて前記アルゴリズム要素群のそれぞれのアルゴリズム要素を適用し、時間帯数とアルゴリズム要素数との積に相当する回数の個別シミュレーションを行うよう前記個別シミュレーション実行手段を制御する制御手段、
前記制御手段により制御された個別シミュレーション実行手段から得られる時間帯ごとの約定結果に基づいて、前記アルゴリズム要素の最良の組合せを選別する選別手段、
前記選別手段により選別されたアルゴリズム要素の最良の組合せによりオンライン発注を行う発注手段、
として機能させるためのアルゴリズム取引プログラム。
Computer
An individual simulation execution means for obtaining a contract result in one time zone by executing an individual simulation of transactions by one algorithm element in the algorithm element group,
The individual simulation execution means is adapted to apply each algorithm element of the algorithm element group to each of all time zones in a daily transaction, and to perform individual simulation for the number of times corresponding to the product of the number of time zones and the number of algorithm elements. Control means for controlling,
Screening means for selecting the best combination of the algorithm elements based on the execution result for each time zone obtained from the individual simulation execution means controlled by the control means;
Ordering means for placing an online order with the best combination of algorithm elements selected by the selecting means;
Algorithm trading program to function as.
JP2010083791A 2010-03-31 2010-03-31 Algorithm transaction system, method and program Withdrawn JP2011215908A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010083791A JP2011215908A (en) 2010-03-31 2010-03-31 Algorithm transaction system, method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010083791A JP2011215908A (en) 2010-03-31 2010-03-31 Algorithm transaction system, method and program

Publications (1)

Publication Number Publication Date
JP2011215908A true JP2011215908A (en) 2011-10-27

Family

ID=44945569

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010083791A Withdrawn JP2011215908A (en) 2010-03-31 2010-03-31 Algorithm transaction system, method and program

Country Status (1)

Country Link
JP (1) JP2011215908A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013130936A (en) * 2011-12-20 2013-07-04 Intertrade Co Ltd Algorithm transaction matching system and algorithm transaction integration matching system including the same
JP2015022690A (en) * 2013-07-23 2015-02-02 株式会社日立ソリューションズ Market impact attenuation coefficient calculator, method for calculating market impact attenuation coefficient, contract simulation system, and contract simulation method
JP2018133014A (en) * 2017-02-17 2018-08-23 株式会社日立製作所 Automatic bidding system and method for electric power transaction market

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013130936A (en) * 2011-12-20 2013-07-04 Intertrade Co Ltd Algorithm transaction matching system and algorithm transaction integration matching system including the same
JP2015022690A (en) * 2013-07-23 2015-02-02 株式会社日立ソリューションズ Market impact attenuation coefficient calculator, method for calculating market impact attenuation coefficient, contract simulation system, and contract simulation method
JP2018133014A (en) * 2017-02-17 2018-08-23 株式会社日立製作所 Automatic bidding system and method for electric power transaction market

Similar Documents

Publication Publication Date Title
US20190295167A1 (en) System and method for estimating and optimizing transaction costs
Brogaard High frequency trading and its impact on market quality
Kissell The science of algorithmic trading and portfolio management
EP3413225B1 (en) Secure electronic tokens in an electronic tokening system
Kyriakou et al. Income uncertainty and the decision to invest in bulk shipping
US20080109288A1 (en) Systems and methods for post-trade transaction cost estimation of transaction costs
RU2678164C2 (en) System and method for determining tradable value
JP2006268557A (en) Sma management system
CN113302644B (en) Transaction plan management system
Zhang et al. Deferring real options with solar renewable energy certificates
JP2011215908A (en) Algorithm transaction system, method and program
Nanduri et al. Economic impact assessment and operational decision making in emission and transmission constrained electricity markets
WO2016012217A1 (en) Computer systems and methods for balancing indexes
JP2007272325A (en) Sma management system and sma management method
US9454739B2 (en) Multi-period financial simulator of a process
KR101192680B1 (en) System and method for portfolio management
JP2007272327A (en) Sma management system
US20130060673A1 (en) Margin Requirement Determination for Variance Derivatives
CN115221212A (en) Fund investment data management system and method
JPH0736976A (en) Dealing discrimination processing system
JP2004118697A (en) Spread transaction simulating system and spread transaction simulating program
Sakurai et al. Bubbles and information in continuous double auction and call market: An experiment
Cui et al. Efficient trade execution using a genetic algorithm in an order book based artificial stock market
JP5404504B2 (en) Transaction algorithm creation apparatus, method and program
WO2021255815A1 (en) Investment advice provision method and system

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20130604