説明

証券売買模擬システム

【課題】過日市況を高速に読込ませても、正確な市場シミュレーションを実行する。
【解決手段】市況模擬装置20は、現実の時刻よりも速く進む模擬時刻を市場模擬装置40に配信する。市況模擬装置20は、模擬時刻と同じ時刻を含む過日市況情報を第2メモリ23に書込む。市況模擬装置20は、この過日市況情報をアルゴリズム処理装置30に配信する。アルゴリズム処理装置30は、配信された過日市況情報を発注判定し、得られた発注内容に当該過日市況情報内の時刻を付加した発注情報を第1メモリ32に書込む。アルゴリズム処理装置30は、この発注情報を市場模擬装置40に送信する。市場模擬装置40は、模擬時刻と同じ時刻を含む過日市況情報から市況板情報42aを作成し、市況板情報42aを第3メモリ42に書込む。市場模擬装置40は、この市況板情報42a及び発注情報を約定判定し、得られた約定情報42cを送信する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、証券売買模擬システムに関する。
【背景技術】
【0002】
従来の市場シミュレータは、証券を手動で発注するオーダマネジメントシステム(以下、OMSという)用に作成されている。この種の市場シミュレータにおいては、買価格及び買数量を含む買注文と、売価格及び売数量を含む売注文とをOMS画面から入力し、各注文を市況板情報に登録し、市況板情報における同じ買価格と売価格での買数量と売数量の合致分を買約定・売約定としてOMS側へ通知する。なお、約定は、株式の売買が成立することである。市況板情報は、売価格・売数量/買価格・買数量を価格の降順に一覧として示す情報である。また、買約定・売約定は、前述した合致分に限らず、売最安値と買成行の数量合致分や、買最高値と売成行の数量合致分でも成立する。成行は、株式を売買する際に、希望する価格を指定しない方法である。
【0003】
また、市場シミュレータは、市況情報をティック(tick)毎に入力し、市況情報から市況板情報を作成し、OMS画面から入力した買注文又は売注文を前述同様に約定させて買約定・売約定としてOMS側へ通知する。
【0004】
このような市場シミュレータは、取引所に発注して約定するまでのOMSのトランザクション処理などの執行確認試験を適切に実行可能となっている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2009−26225号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、従来の市場シミュレータは、OMSのトランザクション処理には適しているものの、本発明者の検討によれば、以下のような不都合がある。
【0007】
例えば、市場シミュレーションにおいて、過日の相場での市況ティックイベントから発注判定によって、発注価格、発注数量を決定するアルゴリズム取引(trading)シミュレーションを実行すると共に、発注判定時のイベント時刻の市況板情報に基づく約定シミュレーションを実行したい場合がある。しかし、従来の市場シミュレータは、過去の相場の市況板情報を用いた市場シミュレーションを実行できないという不都合がある。
【0008】
また仮に、市場シミュレータが過去の相場の市況板情報を用いた市場シミュレーションを実行した場合について考えてみる。この場合、市場シミュレーションでは、予めユーザにより作成されたアルゴリズム処理が用いられ、アルゴリズム取引の当該アルゴリズム処理における過去の市況情報の読み込みと、市場シミュレータにおける同日の市況情報の読み込みとが非同期に実行される。このため、アルゴリズム処理による発注判定と、市場シミュレータによる市況板情報の作成とは非同期に実行される。従って、正確な市場シミュレーションを実行できない不都合が生じる。特に、過去の市況情報を高速で読み込ませた場合には、アルゴリズム処理による発注判定から市場シミュレータによる約定判定までのレスポンス時間差分だけ、市況情報に基づく市況板情報の作成が進行してしまう。この結果、意味のある市場シミュレーションを実行できない状況となる。
【0009】
本発明が解決しようとする課題は、過日市況を高速に読み込ませても、正確な市場シミュレーションを実行し得る証券売買模擬システムを提供することである。
【課題を解決するための手段】
【0010】
実施形態の証券売買模擬システムは、証券売買の時刻を含む過日市況情報を用いており、市況模擬装置と、市場模擬装置と、市況受信プログラムと、発注執行プログラムとを備えている。
【0011】
アルゴリズム処理装置は、ユーザにより予め作成されたアルゴリズム処理プログラムに基づくアルゴリズム処理を実行する。アルゴリズム処理は、前記過日市況情報が配信されると市況受信処理を呼び出す処理と、前記市況受信処理により受信された過日市況情報を発注判定する処理と、この発注判定により得られた発注内容を前記市況受信処理に送出する処理と、この発注内容の送出後に発注執行処理を呼び出す処理とを含んでいる。
【0012】
前記市況模擬装置はアルゴリズム処理装置に通信可能となっている。
【0013】
前記市場模擬装置は、前記市況模擬装置及び前記アルゴリズム処理装置に通信可能となっている。
【0014】
前記市況受信プログラムは、市況受信処理を前記アルゴリズム処理装置に実行させる。前記市況受信処理は、前記アルゴリズム処理により呼び出されると、前記市況模擬装置から配信された過日市況情報を受信する処理と、前記送出された発注内容に当該過日市況情報内の時刻を付加した発注情報を前記第1メモリに書込む処理とを含んでいる。
【0015】
前記発注執行プログラムは、前記発注執行処理を前記アルゴリズム処理装置に実行させる。前記発注執行処理は、前記アルゴリズム処理により呼び出されると、前記第1メモリ内の発注情報を前記市場模擬装置に送信する処理である。
【0016】
前記市況模擬装置は、現実の時刻よりも速く進む模擬時刻を前記市場模擬装置に配信する。前記市況模擬装置の過日市況情報書込手段は、前記模擬時刻と同じ時刻を含む前記過日市況情報を第2メモリに書込む。前記市況模擬装置は、この過日市況情報をアルゴリズム処理装置に配信する。
【0017】
前記市場模擬装置は、前記模擬時刻と同じ時刻を含む前記過日市況情報から市況板情報を作成し、前記市況板情報を第3メモリに書込む。前記市場模擬装置は、この市況板情報及び前記発注情報を約定判定し、得られた約定情報を送信する。
【図面の簡単な説明】
【0018】
【図1】一実施形態に係る証券売買シミュレーションシステム及びその周辺構成を示す模式図である。
【図2】同実施形態における市況板情報のデータ構造を示す模式図である。
【図3】同実施形態における約定判定条件及び約定数量を説明するための模式図である。
【図4】同実施形態における損益情報の計算を説明するための模式図である。
【図5】同実施形態における動作を説明するための模式図である。
【図6】同実施形態における過日市況情報の一例を示す模式図である。
【図7】同実施形態における発注情報の一例を示す模式図である。
【図8】同実施形態における注文受付情報の一例を示す模式図である。
【図9】同実施形態における動作を説明するための模式図である。
【図10】同実施形態における過日市況情報の一例を示す模式図である。
【図11】同実施形態における約定情報の一例を示す模式図である。
【図12】同実施形態における市況情報の一例を示す模式図である。
【発明を実施するための形態】
【0019】
以下、一実施形態について図面を用いて説明する。なお、以下の各装置は、ハードウェア構成、又はハードウェア資源とソフトウェアとの組合せ構成のいずれでも実施可能となっている。組合せ構成のソフトウェアとしては、予めネットワーク又は記憶媒体から対応する装置のコンピュータにインストールされ、対応する装置の機能を実現させるためのプログラムが用いられる。
【0020】
図1は一実施形態に係る証券売買シミュレーションシステム及びその周辺構成を示す模式図である。この証券売買シミュレーションシステム(証券売買模擬システム)は、ユーザにより予め作成されたアルゴリズム処理を実行するアルゴリズム処理装置に対し、当該アルゴリズム処理を検証するためのものである。これに伴い、証券売買シミュレーションシステムは、過日市況記憶装置10、市況シミュレータ(市況模擬装置)20、アルゴリズム処理より呼び出される市況受信部31の市況受信プログラムと発注執行部33の発注執行プログラム、市場シミュレータ(市場模擬装置)40及びリスク管理装置50を備えている。市況受信プログラム及び発注執行プログラムはアルゴリズム処理装置30に実行される。市況シミュレータ20、アルゴリズム処理装置30及び市場シミュレータ40は互いに通信可能となっている。
【0021】
ここで、過日市況記憶装置10は、証券売買の時刻を含む過日市況情報を予め記憶し、市況シミュレータ20及び市場シミュレータ40から読込み可能な記憶装置である。ここで、過日市況情報は、ティック(tick)とも呼ばれ、取引所等より配信される相場報道情報(市況)の1受信単位である。過日市況情報は、例えば、証券売買の日付を示す日付、証券売買の時刻を示すタイムスタンプ、証券の銘柄を識別する銘柄コード、証券の現在の価格を示す現在値、証券の取引高を示す出来高、証券が買われる予定価格を示す買気配値、証券が買われる予定数量を示す買気配数量、証券が売られる予定価格を示す売気配値、証券が売られる予定数量を示す売気配数量、価格を指定しない成行注文の売気配数量を示す売成行数量、及び価格を指定しない成行注文の買気配数量を示す買成行数量を含んでいる。なお、「タイムスタンプ」は、「時刻データ」と呼んでもよく、又は単に「時刻」と呼んでもよい。これは他の情報のタイムスタンプ及び発注タイムスタンプについても同様である。
【0022】
市況シミュレータ20は、高倍速時刻算出部21、市況読込部22、第2メモリ23及び市況配信部24を備えている。
【0023】
高倍速時刻算出部21は、現実の時刻よりも速く進む高倍速時刻(模擬時刻)を算出する機能と、算出した高倍速時刻を市場シミュレータ40に配信する機能をもっている。但し、高倍速時刻算出部21は、当該高倍速時刻をアルゴリズム処理装置30にも配信してもよい。
【0024】
ここで、高倍速時刻は、証券売買シミュレーションシステム内で使用する時刻であり、高倍速時刻をThとし、市場開始時刻を9:00とし、現在時刻をTcとし、シミュレーション開始時刻をTsとし、高倍速数をaとしたとき、次式に示すように算出される。
【0025】
Th=9:00+(Tc−Ts)×a
例えば、現在時刻Tc=10:00:50.000、シミュレーション開始時刻Ts=10:00:00.000、高倍速数a=360のとき、高倍速時刻Thは次式に示すように算出される。
【0026】
Th=9:00:00.000+(Tc−Ts)×a
=9:00:00.000+(10:00:50.000−10:00:00.000)×360
=9:00:00.000+5:00:00.000
=14:00:00.000
市況シミュレータ20、アルゴリズム処理装置30及び市場シミュレータ40は、このような高倍速時刻Thをシステム時刻として動作する。なお、高倍速時刻Thは、例えば、100ミリ秒程度ごとのタイマ処理により算出してもよい。
【0027】
また、高倍速数は、例えば9時から15時までの6時間(=360分)を1分にしたい場合、360に設定すればよい。高倍速数は、これに限らず、実際の市況配信スピードの数100倍に対応した200〜900の範囲内における任意の値を適宜、使用すればよい。
【0028】
市況読込部22は、高倍速時刻算出部21により算出された高倍速時刻と同じ時刻のタイムスタンプを含む過日市況情報を第2メモリ23に書込む過日市況情報書込機能をもっている。過日市況情報書込機能は、高倍速時刻算出部21から配信する高倍速時刻毎に、当該高倍速時刻と同じ時刻のタイムスタンプを含む過日市況情報を過日市況記憶装置10から読込む機能をもっている。また、過日市況情報書込機能は、高倍速時刻と同じ時刻を当該過日市況情報に付加する機能と、当該付加の後、市場シミュレータ40から送信された約定情報を受けると、この約定情報に示される約定された数量を差し引くように、当該過日市況情報に含まれる気配数量を更新する機能と、当該更新の後、当該過日市況情報を第2メモリ23に書込む機能と、を含んでいてもよい。
【0029】
あるいは、過日市況情報書込機能は、高倍速時刻と同じ時刻を当該過日市況情報に付加する機能と、この今回付加した時刻と前回付加した時刻との差が一定微小時間(10ミリ秒程度)以下か否かを判定する機能と、判定した結果、差が一定微小時間以下の場合、今回付加した時刻を含む過日市況情報を第2メモリ23に書込む機能と、判定した結果、一定微小時間を超える場合、約定情報を受けるまで待機する機能と、待機中に約定情報を受けると、この約定情報に示される約定された数量を差し引くように、当該過日市況情報に含まれる気配数量を更新する機能と、当該更新の後、当該過日市況情報を第2メモリ23に書込む機能と、を含んでいてもよい。なお、一定微小時間としては、例えば10ミリ秒が使用可能であるが、これに限らず、例えば7〜20ミリ秒の範囲内の値が適宜、使用可能となっている。
【0030】
第2メモリ23は、市況読込部22及び市況配信部24から読出/書込可能なメモリであって、過日市況情報が一時的に記憶される。
【0031】
市況配信部24は、第2メモリ23内の過日市況情報をアルゴリズム処理装置30に配信する機能をもっている。
【0032】
アルゴリズム処理装置30は、ユーザにより予め作成されたアルゴリズム処理プログラムの実行により、アルゴリズム処理を実行すると共に、ユーザに予め提供される市況受信プログラム及び発注執行プログラムの実行により、市況受信処理及び発注執行処理を実行する。ここで、アルゴリズム処理装置30は、市況受信部31、第1メモリ32、発注執行部33及び発注判定部34を備えている。
【0033】
市況受信部31は、第1メモリ32に記憶した市況受信プログラムをCPU(図示せず)が実行することにより、実現される機能部である。市況受信プログラムは、アルゴリズム処理により呼び出されると、市況シミュレータ20から配信された過日市況情報を受信する処理と、アルゴリズム処理により送出された発注内容に当該過日市況情報内の時刻を付加した発注情報を第1メモリ32に書込む処理とを含む市況受信処理をアルゴリズム処理装置30に実行させるためのプログラムである。なお、市況受信処理は、アルゴリズム処理の発注判定によって発注内容が得られず、アルゴリズム処理から発注内容が送出されなかった場合には、発注判定が完了した旨を示す発注判定完了通知を市場シミュレータ40に送信する処理、を更に含んでもよい。証券売買模擬システムがユーザに提供するプログラムは市況受信プログラム及び発注執行プログラムである。提供の方法は、オブジェクトクラスライブラリとして提供し、ユーザの作成するアルゴリズム処理プログラムに基づくアルゴリズム処理から呼び出す方式とする。
【0034】
第1メモリ32は、発注判定部31及び発注執行部33から読出/書込可能なメモリであって、例えば、発注情報、注文受付情報及び約定情報が記憶される。
【0035】
発注執行部33は、第1メモリ32に記憶した発注執行プログラムをCPU(図示せず)が実行することにより、実現される機能部である。発注執行プログラムは、アルゴリズム処理により呼び出されると、第1メモリ32内の発注情報を市場シミュレータ40に送信する処理をアルゴリズム処理装置30に実現させるためのプログラムである。なお、発注執行プログラムは、市場シミュレータ40から個別に受けた注文受付情報、約定情報及び市況情報を第1メモリ32に書込む処理をアルゴリズム処理装置30に更に実現させてもよい。
【0036】
発注判定部34は、第1メモリ32に記憶したアルゴリズム処理プログラムをCPU(図示せず)が実行することにより、実現される機能部である。アルゴリズム処理プログラムは、市況シミュレータ20から過日市況情報が配信されると市況受信処理を呼び出す処理(受信コールバック処理)と、市況受信処理により受信された過日市況情報を発注判定する処理と、この発注判定により得られた発注内容を市況受信処理に送出する処理と、この発注内容の送出後に発注執行処理を呼び出す処理とを含むアルゴリズム処理をアルゴリズム処理装置30に実行させるためのプログラムである。また、アルゴリズム処理は、市況シミュレータ20から配信された配信された高倍速時刻と予め設定された発注時刻とを比較し、両者が一致したとき、予め設定された発注内容に当該高倍速時刻を付加した発注情報を第1メモリ32に書込む処理(タイマー起動処理)を更に含んでいてもよい。また、アルゴリズム処理は、約定情報の受信等により発注判定した場合には、同様に、発注内容に高倍速時刻を付加して発注情報を作成する処理を含んでもよい。なお、発注情報は、例えば、発注時刻を示す発注タイムスタンプ、証券の銘柄を識別する銘柄コード、証券の売りか買いかを示す売買、売気配値で売るか買気配値で買うか現在値で買うかを示す価格条件、証券売買の数量を示す数量、引けで売買する等の条件を示す執行条件等を含んでいる。
【0037】
市場シミュレータ40は、市況読込部41、第3メモリ42、受信部43及び約定判定部44を備えている。
【0038】
市況読込部41は、市況シミュレータ20から配信された高倍速時刻と同じ時刻を含む過日市況情報から市況板情報を作成し、市況板情報を第3メモリ42に書込む市況板情報書込機能をもっている。市況板情報書込機能は、市況シミュレータ20から配信された高倍速時刻毎に、当該高倍速時刻と同じ時刻を含む過日市況情報を過日市況記憶装置10から読込む機能と、市況シミュレータ20から配信された高倍速時刻毎に、当該読み込んだ過日市況情報内の時刻を含むように市況板情報を作成する機能とをもっている。なお、過日市況情報が売気配値及び売気配数量を差分で表す場合、銘柄毎に時系列に1受信毎の積算で一日の市況板情報が作成される。補足すると、過日市況情報は、実際に取引所より受信した市況情報を蓄積したもので、情報変更毎の変更情報部のみのスナップ情報であり、データ構造が市況板情報42aと同じである。市況板情報42aを作成するには過日市況情報を時系列に読み込んで変更部を上書更新すればよい。
【0039】
第3メモリ42は、市況読込部41、受信部43及び約定判定部44から読出/書込可能なメモリであって、例えば、市況板情報42a、未約定の発注情報42b及び約定情報42cが記憶される。
【0040】
市況板情報42aは、例えば図2に示すように、日付、タイムスタンプ(時刻データ)、銘柄コード、複数の売気配価格、複数の売気配数量、複数の買気配価格、複数の気配数量、売成行数量、買成行数量、現在価格及び出来高を示す項目名とその設定値とを含んでいる。
【0041】
受信部43は、アルゴリズム処理装置30から発注情報を受信する機能と、受信した発注情報を第3メモリ42に書込む機能とをもっている。なお、受信部43は、受信した発注情報を第3メモリ42に書込まずに約定判定部44に送出してもよい。また、受信部43は、アルゴリズム処理装置30から送信された発注判定完了通知を受けると、第3メモリ内の約定情報42cを市況シミュレータ20に送信する機能を更にもっていてもよい。
【0042】
約定判定部44は、第3メモリ42に書き込まれた市況板情報42a及びアルゴリズム処理装置30から受信した発注情報を約定判定し、得られた約定情報を送信する機能をもっている。
【0043】
ここで、約定情報は、例えば、発注時刻を示すタイムスタンプと、銘柄コードと、約定した価格を示す約定価格と、買数量(又は売数量)とを含んでいる。
【0044】
なお、約定判定部44は、アルゴリズム処理装置から受信した発注情報に含まれる時刻に基づき、当該時刻以後の直近の時刻を含む市況板情報42aを第3メモリ42から読出す機能と、当該受信した発注情報及び当該読出した市況板情報42aを約定判定した結果が約定の不成立を示す場合、当該発注情報を未約定の発注情報42bとして第3メモリ42に書込む機能と、当該読出した未約定の発注情報42b及び読出した市況板情報42aを約定判定した結果が約定の成立を示す場合、当該未約定の発注情報42bを第3メモリ42から削除すると共に、当該成立した約定を示す約定情報42cを第3メモリ42に書込む機能と、を更にもっていてもよい。
【0045】
また、約定判定部44は、アルゴリズム処理装置30から送信された発注判定完了通知を受けると、第3メモリ42内の約定情報42cを市況シミュレータ20に送信する機能を更にもっていてもよい。
【0046】
補足すると、約定判定部44は、受信部43が受信した発注情報について以下の検索(i)及び(ii)を実行する機能をもっている。
【0047】
(i)市況板情報の反対売買検索
約定判定部44は、市況板情報タイムスタンプ≦発注情報タイムスタンプの条件を満たす最初の市況板情報42aを第3メモリ42から検索する。すなわち、約定判定部44は、発注後の直近の市況板情報42aを第3メモリ42から検索する。
【0048】
(ii)発注情報の反対売買検索
約定判定部44は、過去の反対売買の未約定の発注情報のタイムスタンプ<今回発注タイムスタンプの条件を満たす未約定の発注情報42bを第3メモリ42から検索する。すなわち、約定判定部44は、今回の発注よりも過去に発注された反対売買の全ての未約定の発注情報42bを第3メモリ42から検索する。
【0049】
なお、約定判定部44は、この(ii)の実行の後に約定判定するため、発注時に反対売買の気配数量があり、即時に売買がなければ、未約定の発注情報42bとして登録する。その後、反対売買の発注情報の受信、又は反対売買の気配値を含む市況板情報の作成によって約定が成立した時点(高倍速時刻)で約定情報を送信することができる。
【0050】
また、約定判定部44は、市況読込部41が作成した市況板情報について以下の検索(iii)を実行する機能をもっている。
【0051】
(iii)発注情報の反対売買検索
約定判定部44は、市況板情報のタイムスタンプ>発注情報のタイムスタンプの条件を満たす発注情報を第3メモリ42から検索する。すなわち、約定判定部44は、作成した市況板情報よりも過去に発注された全ての未約定の発注情報を第3メモリ42から検索する。
【0052】
また、約定判定部44は、図3に示すように、4通りの約定判定条件及び約定数量を用いている。すなわち、買い側では、希望価格を指定した指値注文の場合、指値以下の複数の売気配価格の気配数量分を約定する。また、買い側では、価格を指定しない成行注文の場合、最良気配価格の気配数量を約定する。一方、売り側では、希望価格を指定した指値注文の場合、指値以上の複数の買気配価格の気配数量分を約定する。また、売り側では、価格を指定しない成行注文の場合、最良気配価格の気配数量を約定する。
【0053】
リスク管理装置50は、受信部51、第4メモリ52、損益算出部53、損益ロギング部54及びモニタリング部55を備えている。
【0054】
受信部51は、市場シミュレータ40から約定情報及び市況情報を受信する機能と、受信した約定情報及び市況情報を第4メモリ52に書込む機能とをもっている。なお、受信部51は、受信した約定情報及び市況情報を第4メモリ52に書込まずに損益算出部53に送出してもよい。
【0055】
第4メモリ52は、受信部51、損益算出部53、損益ロギング部54及びモニタリング部55から読出/書込可能な記憶部であって、約定情報、市況情報及び損益情報が記憶される。
【0056】
損益算出部53は、市場シミュレータ40から送信された約定情報に基づいて損益情報を算出する機能と、算出した損益情報を第4メモリ52に書込む機能をもっている。ここで、損益情報はポジション損益情報(ポジション金額)としてもよい。なお、損益情報は、図4に示すように、買数量、売数量、Net数量(position)、買金額、売金額、ポジション金額、損益及びVARの項目があり、それぞれ以下のように計算される。なお、損益情報は、銘柄コード毎に算出してもよい。
【0057】
買数量=買数量の積算
売数量=売数量の積算
Net数量=買数量−売数量
買金額=Σ買数量×約定価格
売金額=Σ売数量×約定価格
ポジション金額=Net数量×現在値
損益=ポジション金額−買金額+売金額
VAR=損益の標準偏差
損益ロギング部54は、第4メモリ52内の損益情報のうち、日付毎の最終の損益情報と当該日付とを含む日毎損益情報を作成し、この日毎損益情報を第4メモリ52に書込む機能をもっている。
【0058】
モニタリング部55は、第4メモリ52内の損益情報及び日毎損益情報を表示する機能をもっている。
【0059】
次に、以上のように構成された証券売買シミュレーションシステムの動作を図5乃至図12の模式図を用いて説明する。なお、アルゴリズム処理装置30においては、市況受信プログラム、発注判定プログラム及び発注執行プログラムが図示しないCPUにより実行中であり、各機能部31,33,34が実現されているものとする。また、各情報d1〜d5は、動作説明に無関係なデータの記載が省略されている。
【0060】
始めに、市況シミュレータ20においては、高倍速時刻算出部21が、現実の時刻よりも速く進む高倍速時刻を算出し、この高倍速時刻を市場シミュレータ40及びアルゴリズム処理装置30に配信する(ST1)。
【0061】
いま、高倍速時刻が9:00:01.234であるとする。
【0062】
市況シミュレータ20においては、図5及び図6に示すように、市況読込部22が、この高倍速時刻と同じ時刻のタイムスタンプを含む過日市況情報d1を過日市況記憶装置10から読込んで第2メモリ23に書込む。市況配信部24は、第2メモリ23内の過日市況情報d1をアルゴリズム処理装置30に配信する(ST2)。
【0063】
市場シミュレータ40においては、市況読込部41が、ステップST1で配信された高倍速時刻毎に、当該高倍速時刻と同じ時刻を含む過日市況情報d1を過日市況記憶装置10から読込む(ST3)。また、市況読込部41は、当該高倍速時刻毎に、当該読み込んだ過日市況情報内の時刻を含むように市況板情報42aを作成する。
【0064】
一方、アルゴリズム処理装置30においては、発注判定部34のアルゴリズム処理が、ステップST2で過日市況情報d1が配信されると、市況受信部31の市況受信処理を呼び出す。市況受信部31の市況受信処理は、アルゴリズム処理により呼び出されると、市況シミュレータ20から配信された過日市況情報を受信する。また、発注判定部34のアルゴリズム処理は、市況受信処理により受信された過日市況情報を発注判定し、得られた発注内容を市況受信処理に送出する。市況受信部31の市況受信処理は、アルゴリズム処理により送出された発注内容に当該過日市況情報内の時刻を付加した発注情報を第1メモリ32に書込む(ST4)。ここで、発注判定のアルゴリズムとしては、例えば、売気配値=100を含む市況情報を受信した場合に、売気配値−1円の買気配値(=99)を含む発注情報を作成する旨のアルゴリズムを用いている。なお、市況受信部31の市況受信処理は、アルゴリズム処理の発注判定によって発注内容が得られず、アルゴリズム処理から発注内容が送出されなかった場合には、発注判定が完了した旨を示す発注判定完了通知を市場シミュレータ40に送信する。しかしながら、本実施形態では、発注情報が得られた場合について主に述べる。
【0065】
アルゴリズム処理装置30においては、発注判定部34のアルゴリズム処理が、発注内容の送出後に発注執行処理を呼び出す。発注執行部43の発注執行処理は、アルゴリズム処理により呼び出されると、図7に示すように、第1メモリ32内の発注情報d2を市場シミュレータ40に送信する(ST5)。
【0066】
市場シミュレータ40においては、受信部43が、発注情報d2を受信して約定判定部44に送出する。なお、受信部43は、発注判定完了通知を受けた場合には、第3メモリ内の約定情報を市況シミュレータ20に送信する。しかしながら、本実施形態では、発注情報を受信した場合について主に述べる。
【0067】
約定判定部44は、第3メモリ42内の市況板情報42a及び受信した発注情報を約定判定する。この9:00の時点では、発注情報d2内の売買“2:買”と価格“99”に対応する売気配値“99”がないために、発注情報d2及び市況板情報42aを約定判定した結果が約定の不成立を示すので(ST6)、当該発注情報d2を未約定の発注情報として第3メモリ42に書込む。しかる後、約定判定部44は、図8に示すように、発注情報d2の内容を含む注文受付情報d3をアルゴリズム処理装置30に送信する(ST7)。
【0068】
次に、図9に示すように、高倍速時刻が9:05:02.001になったとする。
【0069】
市場シミュレータ40においては、前述同様に、市況読込部41が、図10に示すように、配信された高倍速時刻と同じ時刻を含む過日市況情報d1を過日市況記憶装置10から読込む。なお、この過日市況情報d1は、売気配値“99”をも含んでいたとする。市況読込部41、当該過日市況情報内の時刻を含むように市況板情報42aを作成する。
【0070】
また、約定判定部44は、作成した市況板情報42aよりも過去に発注された全ての未約定の発注情報を第3メモリ42から検索する。しかる後、約定判定部44は、作成した市況板情報42a及び検索した発注情報を約定判定し、未約定の発注情報d2内の売買“2:買”と価格“99”に対応する売気配値“99”があるために、約定の成立を示す結果を得る(ST8)。これにより、約定判定部44は、当該未約定の発注情報を第3メモリ42から削除すると共に、当該成立した約定を示す約定情報42cを第3メモリ42に書込んだ後、図11に示すように、約定情報d4を市況シミュレータ20、アルゴリズム処理装置30及びリスク管理装置50に送信する。また、約定判定部44は、図12に示すように、市況情報d5をリスク管理装置50に送信する。
【0071】
リスク管理装置50においては、受信部51が、受信した約定情報及び市況情報を損益計算部53に送出する。損益計算部53は、約定情報に基づいて、銘柄コード毎に数量、各金額を集計し損益情報をリアルタイムで算出する。しかる後、損益計算部53は、算出した損益情報を第4メモリ52に書込む。また、損益ロギング部54は、第4メモリ52内の損益情報のうち、日付毎の最終の損益情報と当該日付とを含む日毎損益情報を作成し、この日毎損益情報を第4メモリ52に書込む。
【0072】
モニタリング部55は、第4メモリ52内の損益情報及び日毎損益情報を表示する。
【0073】
続いて、市況シミュレータ20では、市況読込部22が、高倍速時刻と同じ時刻を当該過日市況情報に付加する。また、市況読込部22は、当該付加の後、市場シミュレータ40から送信された約定情報d4を受けると、この約定情報d4に示される約定された数量を差し引くように、当該過日市況情報に含まれる気配数量を更新する。しかる後、市況読込部22は、当該更新の後、当該過日市況情報を第2メモリ23に書込む。
【0074】
以下、前述同様に、処理が実行される。
【0075】
なお、市況読込部22は、次のように動作してもよい。すなわち、市況読込部22は、高倍速時刻と同じ時刻を当該過日市況情報に付加した後、この今回付加した時刻と前回付加した時刻との差が一定微小時間(例、10ミリ秒)以下か否かを判定する。また、市況読込部22は、判定した結果、差が一定微小時間以下の場合、今回付加した時刻を含む過日市況情報を第2メモリ23に書込む。一方、判定した結果、一定微小時間を超える場合、市況読込部22は、約定情報を受けるまで待機する。市況読込部22は、待機中に約定情報を受けると、この約定情報に示される約定された数量を差し引くように、当該過日市況情報に含まれる気配数量を更新する。しかる後、当該更新の後、当該過日市況情報を第2メモリ23に書込む。
【0076】
いずれにしても、過日市況情報の書込みの後、前述同様に、処理が実行される。
【0077】
上述したように本実施形態によれば、市況シミュレータ20が算出した高倍速時刻に基づいて、過日市況情報の読込み、発注情報の作成、市況板情報の作成及び約定判定を実行する構成により、これら過日市況情報内のタイムススタンプ、発注情報内の発注タイムスタンプ、市況板情報内のタイムスタンプを同期させることができるので、過日市況を高速に読み込ませても、正確な市場シミュレーションを実行することができる。
【0078】
また、発注情報内の発注タイムスタンプと市況板情報内のタイムスタンプとを同期させる構成により、約定情報に含まれる約定価格、約定数量を正確にシミュレーションすることができる。さらに、損益結果も過日相場で執行したものとしてシミュレーションできるため、アルゴリズム処理装置30の正確な損益シミュレーションを実行することができる。この正確な損益シミュレーションの結果に基づき、ユーザは発注判定部34のアルゴリズム処理プログラムを改良することにより、アルゴリズム処理装置30をチューニングすることができるようになる。
【0079】
さらに、市況シミュレータ20では、市場シミュレータ40から送信された約定情報d4に示される約定された数量を差し引くように、過日市況情報に含まれる気配数量を更新するので、約定情報を過日市況情報に反映できるため、より正確な損益シミュレーションを実行することができる。
【0080】
なお、上記の各実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスクなど)、光ディスク(CD−ROM、DVDなど)、光磁気ディスク(MO)、半導体メモリなどの記憶媒体に格納して頒布することもできる。
【0081】
また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。
【0082】
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワークソフト等のMW(ミドルウェア)等が上記実施形態を実現するための各処理の一部を実行しても良い。
【0083】
さらに、各実施形態における記憶媒体は、コンピュータと独立した媒体に限らず、LANやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
【0084】
また、記憶媒体は1つに限らず、複数の媒体から上記の各実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。
【0085】
なお、各実施形態におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、上記の各実施形態における各処理を実行するものであって、パソコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。
【0086】
また、各実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。
【0087】
なお、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0088】
10…過日市況記憶装置、20…市況シミュレータ、21…高倍速時刻算出部、22…市況読込部、23…第2メモリ、24…市況配信部、30…アルゴリズム処理装置、31…市況受信部、32…第1メモリ、33…発注執行部、34…発注判定部、40…市場シミュレータ、41…市況読込部、42…第3メモリ、43…受信部、44…約定判定部、50…リスク管理装置、51…受信部、52…第4メモリ、53…損益算出部、54…損益ロギング部、55…モニタリング部、d1…過日市況情報、d2…発注情報、d3…注文受付情報、d4…約定情報、d5…市況情報。

【特許請求の範囲】
【請求項1】
証券売買の時刻を含む過日市況情報を用いた証券売買模擬システムであって、
ユーザにより予め作成されたアルゴリズム処理プログラムに基づくアルゴリズム処理であって、前記過日市況情報が配信されると市況受信処理を呼び出す処理と、前記市況受信処理により受信された過日市況情報を発注判定する処理と、この発注判定により得られた発注内容を前記市況受信処理に送出する処理と、この発注内容の送出後に発注執行処理を呼び出す処理とを含む前記アルゴリズム処理を実行するアルゴリズム処理装置に通信可能な市況模擬装置と、
前記市況模擬装置及び前記アルゴリズム処理装置に通信可能な市場模擬装置と、
前記アルゴリズム処理により呼び出されると、前記市況模擬装置から配信された過日市況情報を受信する処理と、前記送出された発注内容に当該過日市況情報内の時刻を付加した発注情報を前記第1メモリに書込む処理とを含む市況受信処理を前記アルゴリズム処理装置に実行させるための市況受信プログラムと、
前記アルゴリズム処理により呼び出されると、前記第1メモリ内の発注情報を前記市場模擬装置に送信する発注執行処理を前記アルゴリズム処理装置に実行させるための発注執行プログラムと
を備え、
前記市況模擬装置は、
現実の時刻よりも速く進む模擬時刻を前記市場模擬装置に配信する手段と、
前記模擬時刻と同じ時刻を含む前記過日市況情報を第2メモリに書込む過日市況情報書込手段と、
この過日市況情報を前記アルゴリズム処理装置に配信する手段と、
を備え、
前記市場模擬装置は、
前記模擬時刻と同じ時刻を含む前記過日市況情報から市況板情報を作成し、前記市況板情報を第3メモリに書込む市況板情報書込手段と、
この市況板情報及び前記発注情報を約定判定し、得られた約定情報を送信する手段と、
を備えた証券売買模擬システム。
【請求項2】
請求項1に記載の証券売買模擬システムにおいて、
前記市場模擬装置から通信可能なリスク管理装置を更に備え、
前記リスク管理装置は、
前記送信された約定情報に基づいて損益情報を算出する手段と、
前記損益情報を表示する手段と、
を備えた証券売買模擬システム。
【請求項3】
請求項2に記載の証券売買模擬システムにおいて、
前記損益情報はポジション損益情報である証券売買模擬システム。
【請求項4】
請求項1に記載の証券売買模擬システムにおいて、
前記過日市況情報を予め記憶し、前記市況模擬装置及び前記市場模擬装置から読込み可能な記憶手段を更に備え、
前記過日市況情報書込手段は、
前記配信する模擬時刻毎に、当該模擬時刻と同じ時刻を含む前記過日市況情報を前記記憶手段から読込む手段を備え、
前記市況板情報書込手段は、
前記配信された模擬時刻毎に、当該模擬時刻と同じ時刻を含む前記過日市況情報を前記記憶手段から読込む手段と、
前記配信された模擬時刻毎に、当該読み込んだ過日市況情報内の時刻を含むように前記市況板情報を作成する手段と、
を備えた証券売買模擬システム。
【請求項5】
請求項4に記載の証券売買模擬システムにおいて、
前記市場模擬装置は、
前記アルゴリズム処理装置から前記発注情報を受信する手段と、
前記受信した発注情報に含まれる時刻に基づき、当該時刻以後の直近の時刻を含む市況板情報を前記第3メモリから読出す手段と、
前記受信した発注情報及び前記読出した市況板情報を約定判定した結果が約定の不成立を示す場合、当該発注情報を未約定の発注情報として前記第3メモリに書込む手段と、
前記受信した発注情報に含まれる時刻に基づき、当該時刻よりも前の時刻を含む未約定の発注情報を前記第3メモリから読出す手段と、
前記読出した未約定の発注情報及び前記読出した市況板情報を約定判定した結果が約定の成立を示す場合、当該未約定の発注情報を前記第3メモリから削除すると共に、当該成立した約定を示す約定情報を前記第3メモリに書込む手段と、
を更に備えた証券売買模擬システム。
【請求項6】
請求項1に記載の証券売買模擬システムにおいて、
前記市場模擬装置は、
前記アルゴリズム処理装置から前記発注情報を受信する手段と、
前記受信した発注情報を前記第3メモリに書込む手段と、
を更に備えた証券売買模擬システム。
【請求項7】
請求項1に記載の証券売買模擬システムにおいて、
前記市況模擬装置は、
前記模擬時刻を前記アルゴリズム処理装置に配信する手段を更に備え、
前記アルゴリズム処理は、
前記配信された模擬時刻と予め設定された発注時刻とを比較し、両者が一致したとき、予め設定された発注内容を前記市況受信処理に送出する処理を更に含んでいる証券売買模擬システム。
【請求項8】
請求項1に記載の証券売買模擬システムにおいて、
前記市場模擬装置は、
前記アルゴリズム処理装置から前記発注情報を受信する手段と、
前記受信した発注情報に含まれる時刻に基づき、当該時刻以後の直近の時刻を含む市況板情報を前記第3メモリから読出す手段と、
前記受信した発注情報及び前記読出した市況板情報を約定判定した結果が約定の不成立を示す場合、当該発注情報を未約定の発注情報として前記第3メモリに書込む手段と、
前記受信した発注情報に含まれる時刻に基づき、当該時刻よりも前の時刻を含む未約定の発注情報を前記第3メモリから読出す手段と、
前記読出した未約定の発注情報及び前記読出した市況板情報を約定判定した結果が約定の成立を示す場合、当該未約定の発注情報を前記第3メモリから削除する手段と、
を更に備えた証券売買模擬システム。
【請求項9】
請求項1に記載の証券売買模擬システムにおいて、
前記過日市況情報書込手段は、
前記模擬時刻と同じ時刻を当該過日市況情報に付加する手段と、
前記付加の後、前記送信された約定情報を受けると、この約定情報に示される約定された数量を差し引くように、当該過日市況情報に含まれる気配数量を更新する手段と、
前記更新の後、当該過日市況情報を前記第2メモリに書込む手段と、
を備えた証券売買模擬システム。
【請求項10】
請求項1に記載の証券売買模擬システムにおいて、
前記市況受信処理は、前記発注判定によって発注内容が得られず、前記アルゴリズム処理から発注内容が送出されなかった場合には、前記発注判定が完了した旨を示す発注判定完了通知を前記市場模擬装置に送信する処理、を更に含んでおり、
前記市場模擬装置は、
前記約定判定した結果が約定の成立を示す場合、当該成立した約定を示す約定情報を前記第3メモリに書込む手段と、
前記送信された発注判定完了通知を受けると、前記第3メモリ内の約定情報を前記市況模擬装置に送信する手段、
を更に備えており、
前記過日市況情報書込手段は、
前記模擬時刻と同じ時刻を当該過日市況情報に付加する手段と、
この今回付加した時刻と前回付加した時刻との差が一定微小時間以下か否かを判定する手段と、
前記判定した結果、前記差が一定微小時間以下の場合、前記今回付加した時刻を含む過日市況情報を前記第2メモリに書込む手段と、
前記判定した結果、前記差が一定微小時間を超える場合、前記約定情報を受けるまで待機する手段と、
前記待機中に前記約定情報を受けると、この約定情報に示される約定された数量を差し引くように、当該過日市況情報に含まれる気配数量を更新する手段と、
前記更新の後、当該過日市況情報を前記第2メモリに書込む手段と、
を備えた証券売買模擬システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate


【公開番号】特開2012−155464(P2012−155464A)
【公開日】平成24年8月16日(2012.8.16)
【国際特許分類】
【出願番号】特願2011−13021(P2011−13021)
【出願日】平成23年1月25日(2011.1.25)
【出願人】(000003078)株式会社東芝 (54,554)
【出願人】(301063496)東芝ソリューション株式会社 (1,478)