(57)【要約】【課題】取引対象の価格を管理するサーバ装置と通信できない状態でも端末装置から注文を可能とし、注文を行った時刻に基づいて売買の価格を適切に決定するのに好適な売買シミュレーションシステムを提供する。【解決手段】端末装置１６０は、注文範囲の入力を受け付け、注文範囲と注文時刻とを指定する注文情報を記憶し、サーバ装置２００と通信可能となると、注文情報をサーバ装置２００に送信する。サーバ装置２００は、ゲーム装置から受信した注文情報に指定される注文時刻を含む所定の時間帯に成立した売買の価格の最高値と最低値に挟まれる成立範囲を取得する。サーバ装置２００は、注文範囲と成立範囲とが重複しない場合、売買不成立を示す結果情報を端末装置１６０に送信し、重複する場合、重複範囲からいずれかの価格を選択し、選択した価格により売買が成立したことを示す結果情報を端末装置１６０に送信する。【選択図】図３
2010075395.tif 000002
【特許請求の範囲】
【請求項１】
端末装置とサーバ装置とを有する売買シミュレーションシステムであって、
（ａ）前記端末装置は、
ある取引対象についてユーザが希望する売買の価格の範囲（以下「注文範囲」という。）の入力を受け付ける注文範囲受付部、
前記受け付けられた売買の注文範囲と当該受け付けられた時刻（以下「注文時刻」という。）とを指定する注文情報を記憶する注文記憶部、
コンピュータ通信網を介して前記サーバ装置と通信可能となると、前記記憶された注文情報を前記サーバ装置に送信する注文送信部、
を備え、
（ｂ）前記サーバ装置は、
前記端末装置から送信された注文情報を受信する注文受信部、
前記受信された注文情報に指定される注文時刻を含む所定の時間帯に当該取引対象について成立した売買の価格の最高値と最低値に挟まれる範囲（以下「成立範囲」という。）を取得する成立範囲取得部、
前記受信された注文情報に指定される注文範囲と前記取得された成立範囲とが重複しない場合、前記受信された注文情報にかかる当該取引対象についての売買は不成立であった旨を指定する結果情報を前記端末装置に送信する不成立結果送信部、
前記受信された注文情報に指定される注文範囲と前記取得された成立範囲とが重複する場合、当該重複する範囲（以下「重複範囲」という。）からいずれかの価格を選択する価格選択部、
前記受信された注文情報にかかる当該取引対象についての売買は、前記選択された価格により成立した旨を指定する結果情報を前記端末装置に送信する成立結果送信部、
を備え、
（ｃ）前記端末装置は、
前記サーバ装置から送信された結果情報を受信する結果受信部、
前記受信された結果情報を当該ユーザに提示する結果提示部、
をさらに備える
ことを特徴とする売買シミュレーションシステム。
【請求項２】
請求項１に記載の売買シミュレーションシステムであって、
前記サーバ装置において前記価格選択部は、当該注文情報が受信された時刻（以下「受信時刻」という。）と当該注文情報に指定された注文時刻との差に基づいて当該重複範囲からいずれかの価格を選択する
ことを特徴とする売買シミュレーションシステム。
【請求項３】
請求項２に記載の売買シミュレーションシステムであって、
前記サーバ装置において前記価格選択部は、
（ｐ）当該注文情報に売りを希望する価格範囲が指定されている場合、当該差が小さければ小さいほど当該重複範囲において高い価格を選択し、
（ｑ）当該注文情報に買いを希望する価格範囲が指定されている場合、当該差が小さければ小さいほど当該重複範囲において低い価格を選択する
ことを特徴とする売買シミュレーションシステム。
【請求項４】
請求項２に記載の売買シミュレーションシステムであって、
前記サーバ装置において前記価格選択部は、当該重複範囲においてランダムに価格を選択し、
（ｐ）当該注文情報に売りを希望する価格範囲が指定されている場合、当該差が小さければ小さいほど当該選択される価格の期待値が高くなるように選択し、
（ｑ）当該注文情報に買いを希望する価格範囲が指定されている場合、当該差が小さければ小さいほど当該選択される価格の期待値が低くなるように選択する
ことを特徴とする売買シミュレーションシステム。
【請求項５】
請求項２から４のいずれか１項に記載の売買シミュレーションシステムであって、
当該希望する売買が成り行きによる売買である場合、当該注文範囲は任意の値を含む範囲であり、
当該希望する売買が指し値による売りの売買である場合、当該注文範囲は当該指し値以上の範囲であり、
当該希望する売買が指し値による買いの売買である場合、当該注文範囲は当該指し値以下の範囲であり、
当該所定の時間帯は、当該取引対象についての売買がされる期間を所定の時間長で分割することにより得られ、
当該分割された時間帯のそれぞれにおける価格範囲は、当該時間帯における当該取引対象についての売買の価格の四本値の高値と安値に挟まれる範囲である
ことを特徴とする売買シミュレーションシステム。
【請求項６】
注文範囲受付部、注文記憶部、注文送信部、結果受信部、結果提示部を備える端末装置と、注文受信部、成立範囲取得部、不成立結果送信部、価格選択部、成立結果送信部を備えるサーバ装置とを有する売買シミュレーションシステムが実行する売買シミュレーション制御方法であって、
（ａ）前記端末装置において、
前記注文範囲受付部が、ある取引対象についてユーザが希望する売買の価格の範囲（以下「注文範囲」という。）の入力を受け付ける注文範囲受付工程、
前記注文記憶部が、前記受け付けられた売買の注文範囲と当該受け付けられた時刻（以下「注文時刻」という。）とを指定する注文情報を記憶する注文記憶工程、
前記注文送信部が、コンピュータ通信網を介して前記サーバ装置と通信可能となると、前記記憶された注文情報を前記サーバ装置に送信する注文送信工程、
（ｂ）前記サーバ装置において、
前記注文受信部が、前記端末装置から送信された注文情報を受信する注文受信工程、
前記成立範囲取得部が、前記受信された注文情報に指定される注文時刻を含む所定の時間帯に当該取引対象について成立した売買の価格の最高値と最低値に挟まれる範囲（以下「成立範囲」という。）を取得する成立範囲取得工程、
前記不成立結果送信部が、前記受信された注文情報に指定される注文範囲と前記取得された成立範囲とが重複しない場合、前記受信された注文情報にかかる当該取引対象についての売買は不成立であった旨を指定する結果情報を前記端末装置に送信する不成立結果送信工程、
前記価格選択部が、前記受信された注文情報に指定される注文範囲と前記取得された成立範囲とが重複する場合、当該重複する範囲（以下「重複範囲」という。）からいずれかの価格を選択する価格選択工程、
前記成立結果送信部が、前記受信された注文情報にかかる当該取引対象についての売買は、前記選択された価格により成立した旨を指定する結果情報を前記端末装置に送信する成立結果送信工程、
（ｃ）前記端末装置において、
前記結果受信部が、前記サーバ装置から送信された結果情報を受信する結果受信工程、
前記結果提示部が、前記受信された結果情報を当該ユーザに提示する結果提示工程、
を備える
ことを特徴とする売買シミュレーション制御方法。
【請求項７】
端末用コンピュータを端末装置として機能させる端末用プログラムと、サーバ用コンピュータをサーバ装置として機能させるサーバ用プログラムと、を備えるプログラムであって、
（ａ）前記端末用プログラムは、前記端末用コンピュータを、
ある取引対象についてユーザが希望する売買の価格の範囲（以下「注文範囲」という。）の入力を受け付ける注文範囲受付部、
前記受け付けられた売買の注文範囲と当該受け付けられた時刻（以下「注文時刻」という。）とを指定する注文情報を記憶する注文記憶部、
コンピュータ通信網を介して前記サーバ装置と通信可能となると、前記記憶された注文情報を前記サーバ装置に送信する注文送信部、
として機能させ、
（ｂ）前記サーバ用プログラムは、前記サーバ用コンピュータを、
前記端末装置から送信された注文情報を受信する注文受信部、
前記受信された注文情報に指定される注文時刻を含む所定の時間帯に当該取引対象について成立した売買の価格の最高値と最低値に挟まれる範囲（以下「成立範囲」という。）を取得する成立範囲取得部、
前記受信された注文情報に指定される注文範囲と前記取得された成立範囲とが重複しない場合、前記受信された注文情報にかかる当該取引対象についての売買は不成立であった旨を指定する結果情報を前記端末装置に送信する不成立結果送信部、
前記受信された注文情報に指定される注文範囲と前記取得された成立範囲とが重複する場合、当該重複する範囲（以下「重複範囲」という。）からいずれかの価格を選択する価格選択部、
前記受信された注文情報にかかる当該取引対象についての売買は、前記選択された価格により成立した旨を指定する結果情報を前記端末装置に送信する成立結果送信部、
として機能させ、
（ｃ）前記端末用プログラムは、前記端末用コンピュータを、
前記サーバ装置から送信された結果情報を受信する結果受信部、
前記受信された結果情報を当該ユーザに提示する結果提示部、
としてさらに機能させる
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、取引対象の価格を管理するサーバ装置と通信できない状態でも端末装置から注文を可能とし、注文を行った時刻に基づいて売買の価格を適切に決定するのに好適な売買シミュレーションシステム、売買シミュレーション制御方法、ならびに、これらをコンピュータにより実現するためのプログラムに関する。
【背景技術】
【０００２】
従来、株取引や外国為替証拠金取引（以下「ＦＸ」という。）をテーマとした通信型の売買シミュレーションシステムが知られている。このような売買シミュレーションシステムについては、例えば、以下の文献に開示されている。
【０００３】
特許文献１に開示されたゲームシステムは、現実の株価データに基づき、プレイヤーに仮想株取引ゲームを提供するゲームシステムであって、証券会社等からほぼリアルタイムにゲームサーバが株価データを取得し、当該株価データに基づき、プレイヤーが携帯電話を操作してゲームサーバと通信し、仮想的に株式を売買し、資産総額が目標金額に達するまでの期間をプレイヤー同士で競うものである。
【０００４】
株取引に限らず様々な取引対象を仮想的に売買する売買シミュレーションシステムは、株価や為替レートなどの現在の価格をサーバ装置が管理し、当該サーバ装置とコンピュータ通信網を介して端末装置が通信することによって売買を行う。そして、当該サーバ装置は、現在の価格を随時更新しつつ、端末装置から注文を受け付け、当該注文に応じた処理を行い、結果を各端末装置に返す。
【０００５】
【特許文献１】特許第３３８０５３２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
従来のゲームシステムは、端末装置がサーバ装置と通信可能なオンライン状態にあることを前提とするシステムである。しかしながら、端末装置とサーバ装置との間の通信が不可能なオフライン状態にあることもある。従って、ゲーム端末がオフライン状態にある場合に注文をしても、その注文時点の価格で売買ができるようにしたいという要望が強い。
【０００７】
一方で、任意の時点における取引対象の価格をサーバ装置で管理することができない場合もある。例えば、５分間隔、１５分間隔、或いは１時間間隔で株価の四本値が証券会社から提供されるような場合である。このような場合でも、適切な価格で仮想的な売買を可能とする必要がある。
【０００８】
本発明は、上記問題に鑑みてなされたものであり、取引対象の価格を管理するサーバ装置と通信できない状態でも端末装置から注文を可能とし、注文を行った時刻に基づいて売買の価格を適切に決定するのに好適な売買シミュレーションシステム、売買シミュレーション制御方法、ならびに、これらをコンピュータにより実現するためのプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明の第１の観点に係る売買シミュレーションシステムは、注文範囲受付部、注文記憶部、注文送信部、結果受信部、結果提示部を備える端末装置と、注文受信部、成立範囲取得部、不成立結果送信部、価格選択部、成立結果送信部を備えるサーバ装置とを備え、以下のように構成する。
【００１０】
すなわち、注文範囲受付部が、ある取引対象についてユーザが希望する売買の価格の範囲（以下「注文範囲」という。）の入力を受け付ける。
ここで、取引対象は、例えば、所定の銘柄の株式、所定の外貨、原油、小麦、レアメタルなどである。株取引の場合、当該希望する売買が成り行きによる売買である場合、当該注文範囲は任意の値を含む範囲であり、当該希望する売買が指し値による売りの売買である場合、当該注文範囲は当該指し値以上の範囲であり、当該希望する売買が指し値による買いの売買である場合、当該注文範囲は当該指し値以下の範囲である。この他、１０００円〜１２００円のように、価格の範囲を明示するやり方もある。また、取引対象は、あらかじめ定められた１つの取引対象であってもよいし、複数の取引対象からユーザが選択するようにしてもよい。
【００１１】
ここで、注文記憶部が、当該受け付けられた売買の注文範囲と当該受け付けられた時刻（以下「注文時刻」という。）とを指定する注文情報を記憶する。
すなわち、注文記憶部が記憶する注文情報は、当該取引対象について注文範囲受付部がユーザから入力を受け付けた注文範囲と、当該注文範囲の入力を受け付けた時刻とを指定する情報である。なお、当該時刻は、端末装置が備える時計機能を利用して取得した時刻でよい。
【００１２】
そして、注文送信部が、コンピュータ通信網を介してサーバ装置と通信可能となると、当該記憶された注文情報をサーバ装置に送信する。
すなわち、端末装置がインターネットなどのコンピュータ通信網を介してサーバ装置と通信できない間は、注文記憶部は当該注文情報を保持する。そして、端末装置がサーバ装置と通信可能となると、注文送信部は、注文記憶部に記憶されている注文情報をサーバ装置に送信する。なお、端末装置がサーバ装置と通信できない間に、注文範囲受付部がユーザから異なる時刻に注文範囲の入力を受け付けた場合は、注文送信部は複数の注文情報を送信する。
【００１３】
一方、注文受信部が、端末装置から送信された注文情報を受信する。
そして、成立範囲取得部が、当該受信された注文情報に指定される注文時刻を含む所定の時間帯に当該取引対象について成立した売買の価格の最高値と最低値に挟まれる範囲（以下「成立範囲」という。）を取得する。
【００１４】
ここで、当該所定の時間帯は、例えば、当該取引対象についての売買がされる期間を所定の時間長で分割することにより得られる。例えば、取引対象が東証一部の株式である場合、売買がされる期間は、午前９時から午前１１時までの期間（以下「前場」という。）と、午後０時３０分から午後３時までの期間（以下「後場」という。）である。ここで、所定の時間長を５分とすると、前場は２４の時間帯に分割され、後場は３０の時間帯に分割される。当該所定の時間帯は、当該前場の２４の時間帯または当該後場の３０の時間帯のいずれかの時間帯となる。例えば、注文情報に指定される時刻が午前９時８分０秒である場合、当該所定の時間帯は午前９時５分から午前９時１０分までの時間帯である。
【００１５】
成立範囲取得部は、当該所定の時間帯に当該取引対象について成立した売買の価格の最高値と最低値に挟まれる範囲を成立範囲として取得する。成立範囲取得部は、当該サーバ装置若しくは外部のサーバ装置が備えるデータベースに記憶されている情報に基づいて当該成立範囲を求めてもよいし、当該サーバ装置若しくは外部のサーバ装置が備えるデータベースにあらかじめ記憶されている成立範囲を読み出すようにしてもよい。例えば、成立範囲取得部は、証券会社のサーバから５分毎の四本値を取得し、当該取引対象における注文時刻を含む所定の時間帯の四本値の高値と安値に挟まれる範囲を成立範囲とする。なお、四本値は、始値、終値、高値、安値の４つの価格を示すものである。
【００１６】
次に、不成立結果送信部が、当該受信された注文情報に指定される注文範囲と前記取得された成立範囲とが重複しない場合、当該受信された注文情報にかかる当該取引対象についての売買は不成立であった旨を指定する結果情報を端末装置に送信する。
シミュレーションシステムにおいては、証券会社のサーバから取得した四本値と矛盾しないように、ユーザの注文に対する取引結果を生成する必要がある。このため、注文範囲と成立範囲とが重複しない場合、当該ユーザが望む価格範囲においては、取引が成立しなかったということにする。すなわち、不成立結果送信部は、当該注文範囲と当該成立範囲とが重複しない場合、当該注文情報にかかる当該取引対象についての売買は不成立であったものとみなして、当該売買が不成立であった旨を指定する結果情報を端末装置に送信する。
【００１７】
一方、価格選択部が、当該受信された注文情報に指定される注文範囲と当該取得された成立範囲とが重複する場合、当該重複する範囲（以下「重複範囲」という。）からいずれかの価格を選択する。
そして、成立結果送信部が、当該受信された注文情報にかかる当該取引対象についての売買は、当該選択された価格により成立した旨を指定する結果情報を端末装置に送信する。
【００１８】
注文範囲と成立範囲とが重複する場合、当該ユーザが望む価格範囲においては、取引が成立したということにする。すなわち、価格選択部は、当該注文範囲と当該成立範囲とが重複する場合、当該注文情報にかかる当該取引対象についての売買が当該重複範囲において成立したものとみなして、当該重複範囲からいずれかの価格を選択する。
また、成立結果送信部は、当該受信された注文情報にかかる当該取引対象についての売買は、当該選択された価格により成立した旨を指定する結果情報を端末装置に送信する。
【００１９】
一方、結果受信部が、サーバ装置から送信された結果情報を受信する。
すなわち、結果受信部は、当該売買が不成立であった旨を指定する結果情報、或いは、当該売買は当該選択された価格により成立した旨を指定する結果情報のいずれかをサーバ装置から受信する。
【００２０】
そして、結果提示部が、当該受信された結果情報を当該ユーザに提示する。
すなわち、ユーザは、結果提示部により提示された結果情報を参照することにより、当該売買が成立したか否か、及び、当該売買が成立した場合にはいくらで成立したかを知ることができる。
【００２１】
このように、本発明においては、ユーザは、端末装置がサーバ装置と通信できないときでも、仮想取引の注文をすることが可能となる。また、当該取引が成立したか否かを判別する際に必要となる価格情報は、当該取引対象についての当該所定の時間帯における売買の価格の最高値と最低値だけでよい。このため、これらの価格情報を記憶する記憶装置の容量が少なくてすむ。さらに、サーバ装置は、当該取引が成立したか否かを判別する際には、簡単な処理を実行するだけでよい。このため、サーバ装置は、当該取引が成立したか否かを判別する処理時間が短くてすむ。
【００２２】
また、価格選択部は、当該注文情報が受信された時刻（以下「受信時刻」という。）と当該注文情報に指定された注文時刻との差に基づいて当該重複範囲からいずれかの価格を選択することができる。
すなわち、価格選択部は、当該重複範囲から価格を選択するのであるが、当該受信時刻と当該注文時刻との差に応じて当該価格を選択する。
【００２３】
例えば、価格選択部は、買い注文に対して価格を選択するときは、当該差が所定の時間以下（例えば、１時間未満）である場合に、当該重複範囲に含まれる価格のうちの最安値を選択し、当該差が所定の時間以上（例えば、２４時間以上）である場合に、当該重複範囲に含まれる価格のうちの最高値を選択する。
すなわち、端末装置を頻繁にサーバ装置に接続するユーザにアドバンテージを与え、端末装置をあまりサーバ装置に接続しないユーザにディスアドバンテージを与える。これは、例えば、当該売買シミュレーションシステムにおいて、サーバ装置接続時に端末装置の表示部に広告を表示するように構成している場合に特に有効である。すなわち、ユーザが端末装置を頻繁にサーバ装置に接続するように促すことにより、当該広告による宣伝効果を高めることが期待できるためである。なお、上述したようなアドバンテージ（若しくはディスアドバンテージ）を与えるのは、端末装置を頻繁にサーバ装置に接続する場合に当該差が小さくなる場合が多く、端末装置をあまりサーバ装置に接続しない場合に当該差が大きくなる場合が多いという傾向に基づく。
【００２４】
ここで、価格選択部は、
（ｐ）当該注文情報に売りを希望する価格範囲が指定されている場合、当該差が小さければ小さいほど当該重複範囲において高い価格を選択することができる。
また、価格選択部は、
（ｑ）当該注文情報に買いを希望する価格範囲が指定されている場合、当該差が小さければ小さいほど当該重複範囲において低い価格を選択することができる。
【００２５】
すなわち、価格選択部は、当該差の大きさの程度に応じて、ユーザに与えるアドバンテージ（若しくはディスアドバンテージ）の大きさを決定するようにすることが有効である。
【００２６】
また、価格選択部は、当該重複範囲においてランダムに価格を選択することができる。
なお、価格選択部は、（ｐ）当該注文情報に売りを希望する価格範囲が指定されている場合、当該差が小さければ小さいほど当該選択される価格の期待値が高くなるように選択する。
一方、価格選択部は、（ｑ）当該注文情報に買いを希望する価格範囲が指定されている場合、当該差が小さければ小さいほど当該選択される価格の期待値が低くなるように選択する。
【００２７】
すなわち、価格選択部は、当該重複範囲においてランダムに価格を選択する際に、当該差に応じて期待値を変化させるのである。具体的には、価格選択部は、売り注文に対する価格を選択する場合は、当該差が小さければ小さいほど価格の期待値が高くなるように価格を選択し、買い注文に対する価格を選択する場合は、当該差が小さければ小さいほど価格の期待値が低くなるように価格を選択する。
【００２８】
実際の取引では、一般的に、約定価格は当該重複範囲の中である程度変動するものである。このため、売買シミュレーションシステムとしては、当該重複範囲においてランダムに価格を選択することが有効である。この場合に、上述した宣伝効果等を考慮して、頻繁にサーバ装置に接続するユーザほど大きなアドバンテージが得られるように、価格の期待値を設定するのである。
【００２９】
上記発明を株式売買のシミュレーションシステムに適用した場合には、
当該希望する売買が成り行きによる売買である場合、当該注文範囲は任意の値を含む範囲とし、
当該希望する売買が指し値による売りの売買である場合、当該注文範囲は当該指し値以上の範囲とし、
当該希望する売買が指し値による買いの売買である場合、当該注文範囲は当該指し値以下の範囲とする。
そして、当該所定の時間帯は、当該取引対象についての売買がされる期間を所定の時間長で分割することにより得られる。
また、当該分割された時間帯のそれぞれにおける価格範囲は、当該時間帯における当該取引対象についての売買の価格の四本値の高値と安値に挟まれる範囲である。
【００３０】
本発明のその他の観点に係る売買シミュレーション制御方法は、注文範囲受付部、注文記憶部、注文送信部、結果受信部、結果提示部を備える端末装置と、注文受信部、成立範囲取得部、不成立結果送信部、価格選択部、成立結果送信部を備えるサーバ装置とを有する売買シミュレーションシステムが実行する売買シミュレーション制御方法であって、注文範囲受付工程、注文記憶工程、注文送信工程、注文受信工程、成立範囲取得工程、不成立結果送信工程、価格選択工程、成立結果送信工程、結果受信工程、結果提示工程を備え、以下のように構成する。
【００３１】
注文範囲受付工程では、前記注文範囲受付部が、ある取引対象についてユーザが希望する売買の価格の範囲（以下「注文範囲」という。）の入力を受け付ける。
【００３２】
注文記憶工程では、前記注文記憶部が、前記受け付けられた売買の注文範囲と当該受け付けられた時刻（以下「注文時刻」という。）とを指定する注文情報を記憶する。
【００３３】
注文送信工程では、前記注文送信部が、コンピュータ通信網を介して前記サーバ装置と通信可能となると、前記記憶された注文情報を前記サーバ装置に送信する。
【００３４】
注文受信工程では、前記注文受信部が、前記端末装置から送信された注文情報を受信する。
【００３５】
成立範囲取得工程では、前記成立範囲取得部が、前記受信された注文情報に指定される注文時刻を含む所定の時間帯に当該取引対象について成立した売買の価格の最高値と最低値に挟まれる範囲（以下「成立範囲」という。）を取得する。
【００３６】
不成立結果送信工程では、前記不成立結果送信部が、前記受信された注文情報に指定される注文範囲と前記取得された成立範囲とが重複しない場合、前記受信された注文情報にかかる当該取引対象についての売買は不成立であった旨を指定する結果情報を前記端末装置に送信する。
【００３７】
価格選択工程では、前記価格選択部が、前記受信された注文情報に指定される注文範囲と前記取得された成立範囲とが重複する場合、当該重複する範囲（以下「重複範囲」という。）からいずれかの価格を選択する。
【００３８】
成立結果送信工程では、前記成立結果送信部が、前記受信された注文情報にかかる当該取引対象についての売買は、前記選択された価格により成立した旨を指定する結果情報を前記端末装置に送信する。
【００３９】
結果受信工程では、前記結果受信部が、前記サーバ装置から送信された結果情報を受信する。
【００４０】
結果提示工程では、前記結果提示部が、前記受信された結果情報を当該ユーザに提示する。
【００４１】
本発明の他の観点に係るプログラムは、コンピュータを、上記の売買シミュレーションシステムの各部として機能させ、または、コンピュータに、上記の売買シミュレーション制御方法の各工程を実行させるように構成する。
また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記録媒体に記録することができる。上記プログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記録媒体は、コンピュータとは独立して配布・販売することができる。
【発明の効果】
【００４２】
本発明によれば、取引対象の価格を管理するサーバ装置と通信できない状態でも端末装置から注文を可能とし、注文を行った時刻に基づいて売買の価格を適切に決定するのに好適な売買シミュレーションシステム、売買シミュレーション制御方法、ならびに、これらをコンピュータにより実現するためのプログラムを提供することができる。
【発明を実施するための最良の形態】
【００４３】
以下、図面を参照して、本発明の実施形態に係る売買シミュレーションシステムを説明する。なお、本実施形態においては、理解を容易にするため、売買シミュレーションシステムは、特定の銘柄について株式の売買を行うための売買シミュレーションシステムとして説明する。しかしながら、本発明に係る売買シミュレーションシステムは、任意の銘柄について株式の売買を行うためのものであってもよく、外貨など他の取引対象の売買を行うためのものであってもよい。まず、本発明の実施の形態に係る売買シミュレーションシステムを構成する端末装置が実現される典型的な端末用コンピュータについて説明する。
【００４４】
図１は、本発明の実施の形態に係る売買シミュレーションシステムを構成する端末装置が実現される典型的な端末用コンピュータの概要構成を示す模式図である。また、図２には、当該端末用コンピュータの外観図を示す。
【００４５】
端末用コンピュータ１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０３と、インターフェイス１０４と、入力部１０５と、メモリカセット１０６と、画像処理部１０７と、タッチスクリーン１０８と、ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）１０９と、音声処理部１１０と、マイク１１１と、スピーカ１１２と、ＲＴＣ（Ｒｅａｌ  Ｔｉｍｅ  Ｃｌｏｃｋ）１１３と、を備える。
【００４６】
端末用プログラムおよびデータを記憶したメモリカセット１０６（詳細は後述）をインターフェイス１０４に接続されたスロット（図示せず）に装着して、端末用コンピュータ１００の電源を投入することにより、当該端末用プログラムが実行され、当該端末用コンピュータ１００は後述する端末装置１６０として動作する。
【００４７】
ＣＰＵ  １０１は、端末用コンピュータ１００全体の動作を制御し、各構成要素と接続され制御信号やデータをやりとりする。ＣＰＵ  １０１は、クロック（図示せず）を備えており、クロックの生成する信号に同期して、周辺機器が動作する。
【００４８】
ＲＯＭ  １０２は、電源投入直後に実行されるＩＰＬ（Ｉｎｉｔｉａｌ  Ｐｒｏｇｒａｍ  Ｌｏａｄｅｒ）を記憶する。このＩＰＬをＣＰＵ  １０１が実行することにより、メモリカセット１０６等に記録されたプログラムがＲＡＭ  １０３に読み出され、ＣＰＵ  １０１による実行が開始される。
また、ＲＯＭ  １０２には端末用コンピュータ１００全体の動作制御に必要なオペレーティングシステムのプログラムや各種のデータが記録される。
【００４９】
ＲＡＭ  １０３は、データやプログラムを一時的に記憶するためのもので、メモリカセット１０６等から読み出したプログラムやデータ等が保持される。
【００５０】
インターフェイス１０４を介して着脱自在に接続されたメモリカセット１０６は、端末用プログラム及び当該プログラムで使用する画像データや音声データなどを記憶する、読出し専用のＲＯＭ領域と、プレー結果などのデータをセーブするＳＲＡＭ領域とを有する。ＣＰＵ  １０１はメモリカセット１０６に対する読み出し処理を行って、必要なプログラムやデータを読み出し、読み出したデータをＲＡＭ  １０３等に一時的に記憶する。
【００５１】
入力部１０５は、図２に示すコントロールボタンなどであり、ユーザによる指示入力を受け付ける。
【００５２】
画像処理部１０７は、メモリカセット１０６から読み出されたデータをＣＰＵ  １０１や画像処理部１０７が備える画像演算プロセッサ（図示せず）によって加工処理した後、これを画像処理部１０７が備えるフレームメモリ（図示せず）に記録する。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号に変換されタッチセンサ式のディスプレイ（タッチスクリーン１０８）へ出力される。これにより、各種の画像表示が可能となる。
【００５３】
画像演算プロセッサは、２次元の画像の重ね合わせ演算やαブレンディング等の透過演算、各種の飽和演算を高速に実行できる。
【００５４】
また、３次元仮想空間に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Ｚバッファ法によりレンダリングして、所定の視点位置から３次元仮想空間に配置されたポリゴンを俯瞰したレンダリング画像を得る演算の高速実行も可能である。
【００５５】
さらに、ＣＰＵ  １０１と画像演算プロセッサが協調動作することにより、文字の形状を定義するフォント情報にしたがって、文字列を２次元画像としてフレームメモリへ描画したり、各ポリゴン表面へ描画したりすることが可能である。フォント情報は、ＲＯＭ  １０２に記録されているが、メモリカセット１０６に記録された専用のフォント情報を利用することも可能である。
【００５６】
なお、上記タッチスクリーン１０８は、タッチセンサを重畳して構成される液晶パネルである。タッチスクリーン１０８はユーザが指もしくは入力ペンなどによって押圧した位置に応じた位置情報を検知し、ＣＰＵ  １０１へ入力する。
【００５７】
なお、入力部１０５やタッチスクリーン１０８を介してユーザにより入力された指示に応じて、ＲＡＭ  １０３に一時的に記憶されたデータを適宜メモリカセット１０６に記憶することができる。
【００５８】
ＮＩＣ  １０９は、端末用コンピュータ１００をインターネット等のコンピュータ通信網（図示せず）に接続するためのものである。ＮＩＣ  １０９は、例えば、端末用コンピュータ１００を無線でＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）に接続する場合、ＩＥＥＥ  ８０２．１１などの規格に準拠するインターフェイス（図示せず）により構成される。また、有線でＬＡＮに接続する場合は、１０ＢＡＳＥ−Ｔ／１００ＢＡＳＥ−Ｔ規格に準拠するものや、電話回線を用いてインターネットに接続するためのアナログモデム、ＩＳＤＮ（Ｉｎｔｅｇｒａｔｅｄ  Ｓｅｒｖｉｃｅｓ  Ｄｉｇｉｔａｌ  Ｎｅｔｗｏｒｋ）モデム、ＡＤＳＬ（Ａｓｙｍｍｅｔｒｉｃ  Ｄｉｇｉｔａｌ  Ｓｕｂｓｃｒｉｂｅｒ  Ｌｉｎｅ)モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとＣＰＵ  １０１との仲立ちを行うインターフェイス（図示せず）により構成される。
【００５９】
ＮＩＣ  １０９を介してインターネット内のＳＮＴＰサーバに接続し、ここから情報を取得することによって現在の日時情報を得ることもできる。また、各種のネットワークゲームのサーバ装置が、ＳＮＴＰサーバと同様の機能を果たすように構成設定してもよい。
【００６０】
音声処理部１１０は、メモリカセット１０６から読み出した音声データをアナログ音声信号に変換し、音声処理部１１０に接続されたスピーカ１１２から出力させる。また、ＣＰＵ  １０１の制御の下、端末用プログラムの実行中に発生させるべき効果音や音声データを生成し、これに対応した音声をスピーカ１１２から出力させる。
【００６１】
音声処理部１１０は、メモリカセット１０６に記録された音声データがＭＩＤＩデータである場合には、これが有する音源データを参照して、ＭＩＤＩデータをＰＣＭデータに変換する。また、ＡＤＰＣＭ形式やＯｇｇ  Ｖｏｒｂｉｓ形式等の圧縮済音声データである場合には、これを展開してＰＣＭデータに変換する。ＰＣＭデータは、そのサンプリング周波数に応じたタイミングでＤ／Ａ（Ｄｉｇｉｔａｌ／Ａｎａｌｏｇ）変換を行って、スピーカ１１２などに出力することにより、音声出力が可能となる。
【００６２】
また、音声処理部１１０は、マイク１１１から入力されたアナログ信号を適当なサンプリング周波数でＡ／Ｄ（Ａｎａｌｏｇ／Ｄｉｇｉｔａｌ）変換を行い、ＰＣＭ形式のディジタル信号を生成する。
【００６３】
ＲＴＣ  １１３は、水晶振動子や発振回路などを備える計時用のデバイスである。ＲＴＣ  １１３は、内蔵電池から電源を供給され、端末装置１６０の電源がオフのときでも動作し続ける。
【００６４】
このほか、端末用コンピュータ１００はメモリカセット１０６に替えて、ＤＶＤ−ＲＯＭからプログラムやデータを読み出す、ＤＶＤ−ＲＯＭドライブを備えるように構成して、ＤＶＤ−ＲＯＭにメモリカセット１０６と同様の機能を持たせるようにしてもよい。また、インターフェイス１０４は、メモリカセット１０６以外の外部メモリ媒体からデータを読み出すように構成してもよい。
【００６５】
あるいは、端末用コンピュータ１００は、ハードディスク等の大容量外部記憶装置を用いて、ＲＯＭ  １０２、ＲＡＭ  １０３、メモリカセット１０６等と同じ機能を果たすように構成してもよい。
【００６６】
なお、本実施の形態に係る売買シミュレーションシステムを構成する端末装置は、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄａｔａ  Ａｓｓｉｓｔａｎｔｓ）、携帯電話など一般的なコンピュータ上に実現することもできる。一般的なコンピュータは、上記端末用コンピュータ１００と同様に、ＣＰＵ、ＲＡＭ、ＲＯＭ、ＮＩＣ、等を備え、端末用コンピュータ１００よりも簡易な機能を備えた画像処理部を備え、ハードディスク、フレキシブルディスク、光磁気ディスク、磁気テープ等が利用できるようになっている。また、入力部ではなく、キーボードやマウスなどを入力装置として利用する。そして、端末用プログラムをインストールした後に、そのプログラムを実行させると、上記端末装置として機能させることができる。
【００６７】
また、本発明の実施の形態に係る売買シミュレーションシステムを構成するサーバ装置は、ハードディスクを備える他は、本質的には上記端末用コンピュータ１００と同様の構成である。すなわち、端末用コンピュータ１００と同等の構成を有するサーバ用コンピュータがインターフェイス１０４の代わりに備えるＤＶＤ−ＲＯＭドライブに、サーバ用プログラムを格納したＤＶＤ−ＲＯＭを装着することなどによりサーバ装置が実現される。以下、サーバ装置が備える各構成要素を参照する場合は、図１に示した各構成要素の番号を用いる。
【００６８】
次に、図３、図４を参照して、本実施の形態に係る売買シミュレーションシステム１５０全体の構成と動作とについて概要を説明する。
【００６９】
図３に示すように、売買シミュレーションシステム１５０は、複数の端末装置１６０と、当該複数の端末装置１６０とインターネットなどのコンピュータ通信網を介して接続されうるサーバ装置２００と、から構成される。なお、図３には、端末装置１６０として、サーバ装置２００と通信可能な状態にある端末装置１６０と、サーバ装置２００と通信可能でない状態にある端末装置１６０とを一台ずつ示している。
【００７０】
端末装置１６０は、注文範囲の入力をユーザから受け付ける。具体的には、例えば、端末装置１６０は、売り又は買いのいずれかを示す情報と、希望する価格を示す情報と、をユーザから受け付ける。ここで、希望する価格を示す情報は、指し値注文を示す情報及び当該指し値を示す情報、又は、成り行き注文を示す情報のいずれかである。
【００７１】
そして、端末装置１６０は、当該注文範囲と当該注文範囲をユーザから受け付けた時刻とを指定する注文情報を記憶する。ここで、注文情報をどのようなデータ形式で記憶するかは任意であるが、例えば、成り行き注文であるか否かを示すフラグを記憶するとともに、売り注文については正の整数、買い注文については負の整数で指し値を記憶し、時刻を示す情報を文字列として記憶する。
【００７２】
そして、端末装置１６０は、サーバ装置２００と通信可能、すなわち、オンラインである場合は、記憶している注文情報をサーバ装置２００に送信する。
【００７３】
一方、サーバ装置２００は、外部サーバ３００からリアルタイムに配信される株価を受信する。そして、サーバ装置２００は、当該受信した株価に基づいて、所定の時間長毎の四本値を生成して図示しないハードディスクなどに記憶する。なお、外部サーバ３００は、例えば、証券会社が用意するサーバである。
【００７４】
ここで、図４を参照して、サーバ装置２００が生成する四本値について説明する。四本値は、始値、終値、高値、安値の４つの価格から構成され、所定の時間長毎に用意される。図４に示す例では、所定の時間長は５分であり、前場を２４分割した時間帯毎に用意される。すなわち、サーバ装置２００は、５分毎に四本値を生成してハードディスクに記憶する。例えば、サーバ装置２００は、９：００から９：０５までに受信した株価を全て時刻と対応付けてＲＡＭ  １０３に記憶する。そして、サーバ装置２００は、９：００に対応付けてＲＡＭ  １０３に記憶されている株価を始値、ＲＡＭ  １０３に記憶されている株価のうち最高値を高値、ＲＡＭ  １０３に記憶されている株価のうち最安値を安値、９：０５に対応付けてＲＡＭ  １０３に記憶されている株価を終値、として四本値を生成し、当該９：００〜９：０５の時間帯に対応付けてハードディスクに記憶する。サーバ装置２００は、同様にして、全ての時間帯について四本値を求めてハードディスクに記憶する。
【００７５】
そして、サーバ装置２００は、端末装置１６０から送信された注文情報を受信すると、当該注文情報に指定される時刻を含む時間帯の四本値をハードディスクから取得する。例えば、注文情報に指定される時刻が９：０３である場合、サーバ装置２００は、９：００〜９：０５の時間帯における四本値をハードディスクから取得する。そして、サーバ装置２００は、当該取得した四本値の高値と安値に挟まれる範囲を成立範囲に設定する。
【００７６】
そして、サーバ装置２００は、受信した注文情報に指定される注文範囲と当該成立範囲とが重複するか否かを判別する。サーバ装置２００は、当該注文範囲と当該成立範囲とが重複しないと判別した場合は、売買は不成立であった旨を示す結果情報を端末装置１６０に送信する。
【００７７】
一方、サーバ装置２００は、当該注文範囲と当該成立範囲とが重複したと判別した場合は、当該重複する範囲からいずれかの価格を選択し、当該選択した価格により売買が成立した旨を示す結果情報を端末装置１６０に送信する。
【００７８】
端末装置１６０は、サーバ装置２００から送信された結果情報を受信すると、当該受信した結果情報をユーザに提示する。
【００７９】
なお、端末装置１６０は、サーバ装置２００と通信が不可能である間、すなわち、オフラインである間は、オンラインになるまで待機し、オンラインになった後に、記憶している注文情報をサーバ装置２００に送信する。
【００８０】
次に、図５を参照して、端末装置１６０が備える各部の機能を説明する。図５に示すように、端末装置１６０は、注文範囲受付部５０１、注文記憶部５０２、注文送信部５０３、結果受信部５０４、結果提示部５０５を備える。
【００８１】
注文範囲受付部５０１は、ユーザから注文範囲の入力を受け付ける。
【００８２】
注文記憶部５０２は、注文範囲受付部５０１が受け付けた注文範囲と注文時刻とを指定する注文情報を記憶する。
【００８３】
注文送信部５０３は、コンピュータ通信網を介してサーバ装置２００と通信可能となると、注文記憶部５０２に記憶された注文情報をサーバ装置２００に送信する。
【００８４】
結果受信部５０４は、サーバ装置２００から送信された結果情報を受信する。
【００８５】
結果提示部５０５は、結果受信部５０４が受信した結果情報をユーザに提示する。
【００８６】
次に、図６を参照して、サーバ装置２００が備える各部の機能を説明する。図６に示すように、サーバ装置２００は、注文受信部６０１、成立範囲取得部６０２、不成立結果送信部６０３、価格選択部６０４、成立結果送信部６０５を備える。
【００８７】
注文受信部６０１は、端末装置１６０から送信された注文情報を受信する。
【００８８】
成立範囲取得部６０２は、注文受信部６０１が成立範囲を取得する。
【００８９】
不成立結果送信部６０３は、注文受信部６０１が受信した注文情報に指定される注文範囲と成立範囲取得部６０２が取得した成立範囲とが重複しない場合、当該受信された注文情報にかかる当該取引対象についての売買は不成立であった旨を指定する結果情報を端末装置１６０に送信する。
【００９０】
価格選択部６０４は、注文受信部６０１が受信した注文情報に指定される注文範囲と成立範囲取得部６０２が取得した成立範囲とが重複する場合、重複範囲からいずれかの価格を選択する。
【００９１】
成立結果送信部６０５は、注文受信部６０１が受信した注文情報にかかる当該取引対象についての売買は、価格選択部６０４により選択された価格により成立した旨を指定する結果情報を端末装置１６０に送信する。
【００９２】
次に、図７を参照して、端末装置１６０の動作を詳細に説明する。図７は、端末装置１６０が実行する注文処理の一例を示すフローチャートである。端末装置１６０は、電源が投入され、端末用プログラム（端末装置１６０用の売買シミュレーションプログラム）が動作している間は、図７に示す注文処理を繰り返し実行する。
【００９３】
まず、ＣＰＵ  １０１は、入力部１０５を監視するなどして、ユーザからある取引対象についての売買を求める注文があるか否かを判別する（ステップＳ７０１）。ＣＰＵ  １０１は、ユーザから注文がないと判別する（ステップＳ７０１：ＮＯ）間は、ユーザからの注文があるか否かを判別する処理（ステップＳ７０１）を繰り返す。
【００９４】
そして、ＣＰＵ  １０１は、ユーザから注文があると判別すると（ステップＳ７０１：ＹＥＳ）、入力部１０５やタッチスクリーン１０８を介して、ユーザから注文範囲の入力を受け付ける（ステップＳ７０２）。すなわち、ＣＰＵ  １０１、入力部１０５及びタッチスクリーン１０８は、注文範囲受付部５０１として機能する。
【００９５】
次に、ＣＰＵ  １０１は、ＲＴＣ  １１３に記憶された値を読み出して現在時刻、すなわち、ユーザから注文を受け付けた時刻を取得する（ステップＳ７０３）。
【００９６】
そして、ＣＰＵ  １０１は、ユーザから受け付けた注文範囲と取得した注文時刻とを指定する注文情報をＲＡＭ  １０３に記憶する（ステップＳ７０４）。すなわち、ＲＡＭ  １０３は、注文記憶部５０２として機能する。
【００９７】
次に、ＣＰＵ  １０１は、サーバ装置２００と通信が可能か否かを判別する（ステップＳ７０５）。ＣＰＵ  １０１は、サーバ装置２００と通信が可能でないと判別する（ステップＳ７０５：ＮＯ）間は、サーバ装置２００と通信可能か否かを判別する処理（ステップＳ７０５）を繰り返す。
【００９８】
ＣＰＵ  １０１は、サーバ装置２００と通信が可能と判別すると、ＲＡＭ  １０３に記憶された注文情報をＮＩＣ  １０９を介してサーバ装置２００に送信する（ステップＳ７０６）。すなわち、ＣＰＵ  １０１及びＮＩＣ  １０９は、注文送信部５０３として機能する。
【００９９】
そして、ＣＰＵ  １０１は、ＮＩＣ  １０９を監視するなどして、サーバ装置２００から送信されたデータがあるか否かを判別する（ステップＳ７０７）。ＣＰＵ  １０１は、サーバ装置２００から送信されたデータがないと判別する（ステップＳ７０７：ＮＯ）間は、サーバ装置２００から送信されたデータがあるか否かを判別する処理（ステップＳ７０７）を繰り返す。
【０１００】
ＣＰＵ  １０１は、サーバ装置２００から送信されたデータがあると判別すると（ステップＳ７０７：ＹＥＳ）、ＮＩＣ  １０９が受信した結果情報をＲＡＭ  １０３に記憶する（ステップＳ７０８）。すなわち、ＣＰＵ  １０１及びＮＩＣ  １０９は、結果受信部５０４として機能する。
【０１０１】
そして、ＣＰＵ  １０１は、受信した結果情報をユーザに提示する（ステップＳ７０９）。具体的には、ＣＰＵ  １０１は、画像処理部１０７と協働してタッチスクリーン１０８に結果情報により示される取引の結果を表示する。すなわち、ＣＰＵ  １０１、画像処理部１０７及びタッチスクリーン１０８は、結果受信部５０４として機能する。
【０１０２】
ＣＰＵ  １０１がユーザに結果情報を提示すると、注文処理が完了する。
【０１０３】
次に、図８を参照して、サーバ装置２００の動作を詳細に説明する。図８は、サーバ装置２００が実行する注文結果生成処理の一例を示すフローチャートである。サーバ装置２００は、電源が投入され、サーバ用プログラム（サーバ装置用の売買シミュレーションプログラム）が動作している間は、図８に示す注文結果生成処理を繰り返し実行する。
【０１０４】
まず、ＣＰＵ  １０１は、ＮＩＣ  １０９を監視するなどして、端末装置１６０から送信されたデータがあるか否かを判別する（ステップＳ８０１）。ＣＰＵ  １０１は、端末装置１６０から送信されたデータがないと判別する（ステップＳ８０１：ＮＯ）間は、端末装置１６０から送信されたデータがあるか否かを判別する処理（ステップＳ８０１）を繰り返す。
【０１０５】
ＣＰＵ  １０１は、端末装置１６０から送信されたデータがあると判別すると（ステップＳ８０１：ＹＥＳ）、ＮＩＣ  １０９が受信した注文情報をＲＡＭ  １０３に記憶する（ステップＳ８０２）。すなわち、ＣＰＵ  １０１及びＮＩＣ  １０９は、注文受信部６０１として機能する。
【０１０６】
次に、ＣＰＵ  １０１は、受信した注文情報により示される注文時刻がどの時間帯に属するかを特定する（ステップＳ８０３）。
【０１０７】
そして、ＣＰＵ  １０１は、特定した時間帯の四本値をハードディスクから取得する（ステップＳ８０４）。
【０１０８】
さらに、ＣＰＵ  １０１は、取得した四本値の高値と安値とに挟まれる価格範囲である成立範囲を取得する（ステップＳ８０５）。すなわち、ＣＰＵ  １０１及びＮＩＣ  １０９は、成立範囲取得部６０２として機能する。
【０１０９】
次に、ＣＰＵ  １０１は、受信した注文情報により示される注文範囲と取得した成立範囲とが重複するか否かを判別する（ステップＳ８０６）。
【０１１０】
ＣＰＵ  １０１は、注文範囲と成立範囲とが重複しないと判別した場合（ステップＳ８０６：ＮＯ）、受信した注文情報にかかる売買は不成立であった旨を指定する結果情報を、ＮＩＣ  １０９を介して端末装置１６０に送信する（ステップＳ８０７）。すなわち、ＣＰＵ  １０１及びＮＩＣ  １０９は、不成立結果送信部６０３として機能する。
【０１１１】
一方、ＣＰＵ  １０１は、注文範囲と成立範囲とが重複すると判別した場合（ステップＳ８０６：ＹＥＳ）、価格を選択する（ステップＳ８０８）。すなわち、ＣＰＵ  １０１は、価格選択部６０４として機能する。なお、ＣＰＵ  １０１が、注文範囲と成立範囲との重複範囲からいずれの価格を選択するかは種々の手法が考えられるが、例えば、以下に示す手法がある。
【０１１２】
まず、ＣＰＵ  １０１が、ＲＴＣ  １１３を参照して、注文情報を受信した時刻、すなわち受信時刻を取得する。そして、ＣＰＵ  １０１は、当該受信時刻と注文情報により指定される注文時刻との時間差を求める。そして、ＣＰＵ  １０１は、当該時間差が小さければ小さいほど、ユーザにとって有利な価格を、当該重複範囲から選択する。
【０１１３】
すなわち、ＣＰＵ  １０１は、注文情報に売りを希望する価格範囲が設定されている場合、当該時間差が小さければ小さいほど当該重複範囲において高い価格を選択する。そして、ＣＰＵ  １０１は、注文情報に買いを希望する価格範囲が設定されている場合、当該時間差が小さければ小さいほど当該重複範囲において低い価格（安い価格）を選択する。
【０１１４】
以下、図９（Ａ）、図９（Ｂ）、図１０（Ａ）、図１０（Ｂ）、図１１（Ａ）、図１１（Ｂ）を参照して、具体例を示す。なお、以下の説明においては、選択価格をＰｓｅｌ（円）、時間差をＴ（時間）、指し値をＰｏｒｄ（円）、注文範囲の最高値をＰｏｒｄＨ（円）、注文範囲の最安値をＰｏｒｄＬ（円）、成立範囲の最高値（四本値の高値）をＰｇｏＨ（円）、成立範囲の最安値（四本値の安値）をＰｇｏＬ（円）とする。
【０１１５】
ユーザが成り行きの売り注文をした場合、図９（Ａ）に示すように、注文範囲は０〜∞となり、重複範囲はＰｇｏＬ〜ＰｇｏＨとなる。ここで、例えば、ＣＰＵ  １０１は、以下に示す計算式によりＰｓｅｌを求める。
（ａ）Ｔ＜２４の場合
Ｐｓｅｌ  ＝  ＰｇｏＨ−（ＰｇｏＨ−ＰｇｏＬ）／２４×Ｔ  （１）
つまり、ＣＰＵ  １０１は、Ｔが小さければ小さいほどＰｇｏＬ〜ＰｇｏＨにおいて高い価格をＰｓｅｌとして選択する。すなわち、図９（Ａ）に示すように、Ｔ＝０のときＰｓｅｌ＝ＰｇｏＨとし、Ｔが大きくなるにつれてＰｓｅｌとして小さな値を設定し、Ｔ＝２４のときＰｓｅｌ＝ＰｇｏＬとする。
（ｂ）Ｔ≧２４の場合
Ｐｓｅｌ  ＝  ＰｇｏＬ  （２）
つまり、ＣＰＵ  １０１は、Ｔが所定の値を超えたときは、ＰｇｏＬ〜ＰｇｏＨにおいて最も低い価格をＰｓｅｌとして選択する。すなわち、図９（Ａ）に示すように、Ｔ≧２４のときはＰｓｅｌ＝ＰｇｏＬとする。
このようにユーザが成り行きの売り注文をした場合、時間差が小さければ小さいほど高い価格が選択価格として選択される。
【０１１６】
ユーザが成り行きの買い注文をした場合、図９（Ｂ）に示すように、注文範囲は０〜∞となり、重複範囲はＰｇｏＬ〜ＰｇｏＨとなる。ここで、例えば、ＣＰＵ  １０１は、以下に示す計算式によりＰｓｅｌを求める。
（ｃ）Ｔ＜２４の場合
Ｐｓｅｌ  ＝  ＰｇｏＬ＋（ＰｇｏＨ−ＰｇｏＬ）／２４×Ｔ  （３）
つまり、ＣＰＵ  １０１は、Ｔが小さければ小さいほどＰｇｏＬ〜ＰｇｏＨにおいて低い価格をＰｓｅｌとして選択する。すなわち、図９（Ｂ）に示すように、Ｔ＝０のときＰｓｅｌ＝ＰｇｏＬとし、Ｔが大きくなるにつれてＰｓｅｌとして大きな値を設定し、Ｔ＝２４のときＰｓｅｌ＝ＰｇｏＨとする。
（ｄ）Ｔ≧２４の場合
Ｐｓｅｌ  ＝  ＰｇｏＨ  （４）
つまり、ＣＰＵ  １０１は、Ｔが所定の値を超えたときは、ＰｇｏＬ〜ＰｇｏＨにおいて最も高い価格をＰｓｅｌとして選択する。すなわち、図９（Ｂ）に示すように、Ｔ≧２４のときはＰｓｅｌ＝ＰｇｏＨとする。
このようにユーザが成り行きの買い注文をした場合、時間差が小さければ小さいほど低い価格が選択価格として選択される。
【０１１７】
ユーザが指し値Ｐｏｒｄ（Ｐｏｒｄ≦ＰｇｏＨ）の売り注文をした場合、図１０（Ａ）に示すように、注文範囲はＰｏｒｄ〜∞となり、重複範囲はＰｏｒｄ〜ＰｇｏＨとなる。ここで、例えば、ＣＰＵ  １０１は、以下に示す計算式によりＰｓｅｌを求める。
（ｅ）Ｔ＜２４の場合
Ｐｓｅｌ  ＝  ＰｇｏＨ−（ＰｇｏＨ−Ｐｏｒｄ）／２４×Ｔ  （５）
つまり、ＣＰＵ  １０１は、Ｔが小さければ小さいほどＰｏｒｄ〜ＰｇｏＨにおいて高い価格をＰｓｅｌとして選択する。すなわち、図１０（Ａ）に示すように、Ｔ＝０のときＰｓｅｌ＝ＰｇｏＨとし、Ｔが大きくなるにつれてＰｓｅｌとして小さな値を設定し、Ｔ＝２４のときＰｓｅｌ＝Ｐｏｒｄとする。
（ｆ）Ｔ≧２４の場合
Ｐｓｅｌ  ＝  Ｐｏｒｄ  （６）
つまり、ＣＰＵ  １０１は、Ｔが所定の値を超えたときは、Ｐｏｒｄ〜ＰｇｏＨにおいて最も低い価格をＰｓｅｌとして選択する。すなわち、図１０（Ａ）に示すように、Ｔ≧２４のときはＰｓｅｌ＝Ｐｏｒｄとする。
このようにユーザが指し値の売り注文をした場合、時間差が小さければ小さいほど高い価格が選択価格として選択される。
なお、ユーザが指し値Ｐｏｒｄ（Ｐｏｒｄ＞ＰｇｏＨ）の売り注文をした場合、図１０（Ｂ）に示すように、重複範囲は存在せず、売買は成立しない。
【０１１８】
ユーザが指し値Ｐｏｒｄ（Ｐｏｒｄ≧ＰｇｏＬ）の買い注文をした場合、図１１（Ａ）に示すように、注文範囲は０〜Ｐｏｒｄとなり、重複範囲はＰｇｏＬ〜Ｐｏｒｄとなる。ここで、例えば、ＣＰＵ  １０１は、以下に示す計算式によりＰｓｅｌを求める。
（ｇ）Ｔ＜２４の場合
Ｐｓｅｌ  ＝  ＰｇｏＬ＋（Ｐｏｒｄ−ＰｇｏＬ）／２４×Ｔ  （７）
つまり、ＣＰＵ  １０１は、Ｔが小さければ小さいほどＰｇｏＬ〜Ｐｏｒｄにおいて低い価格をＰｓｅｌとして選択する。すなわち、図１１（Ａ）に示すように、Ｔ＝０のときＰｓｅｌ＝ＰｇｏＬとし、Ｔが大きくなるにつれてＰｓｅｌとして大きな値を設定し、Ｔ＝２４のときＰｓｅｌ＝Ｐｏｒｄとする。
（ｈ）Ｔ≧２４の場合
Ｐｓｅｌ  ＝  Ｐｏｒｄ  （８）
つまり、ＣＰＵ  １０１は、Ｔが所定の値を超えたときは、ＰｇｏＬ〜Ｐｏｒｄにおいて最も高い価格をＰｓｅｌとして選択する。すなわち、図１１（Ａ）に示すように、Ｔ≧２４のときはＰｓｅｌ＝Ｐｏｒｄとする。
このようにユーザが指し値の買い注文をした場合、時間差が小さければ小さいほど低い価格が選択価格として選択される。
なお、ユーザが指し値Ｐｏｒｄ（Ｐｏｒｄ＜ＰｇｏＬ）の買い注文をした場合、図１１（Ｂ）に示すように、重複範囲は存在せず、売買は成立しない。
【０１１９】
以上説明した手法の他に、ＣＰＵ  １０１は、重複範囲において、ランダムに価格を選択する手法が考えられる。さらに、ＣＰＵ  １０１は、重複範囲においてランダムに価格を選択する場合において、当該ランダムに選択する価格の期待値を、時間差に応じた値、例えば、上述したＰｓｅｌになるように設定して価格を選択してもよい。
【０１２０】
例えば、ユーザが指し値Ｐｏｒｄ（Ｐｏｒｄ≦ＰｇｏＨ）の売り注文をした場合において、（ｅ）Ｔ＜２４の場合、式（５）により示されるＰｓｅｌを期待値に設定し、（ｆ）Ｔ≧２４の場合、式（６）により示されるＰｓｅｌを期待値に設定する。なお、ランダムに選択した価格が重複範囲から外れる場合は、再度、ランダムに価格を選択するようにしてもよいし、選択した価格が重複範囲の最高値を超えている場合に重複範囲の最高値を選択し、選択した価格が重複範囲の最低値に満たない場合に重複範囲の最低値を選択するようにしてもよい。
【０１２１】
以上のように、ＣＰＵ  １０１は、注文時刻と受信時刻との時間差に基づいて、重複範囲からＰｓｅｌを選択する。
【０１２２】
ＣＰＵ  １０１は、受信した注文情報にかかる売買は選択した価格において成立した旨を指定する結果情報を、ＮＩＣ  １０９を介して端末装置１６０に送信する（ステップＳ８０９）。すなわち、ＣＰＵ  １０１及びＮＩＣ  １０９は、成立結果送信部６０５として機能する。
【０１２３】
ＣＰＵ  １０１は、売買が不成立であった旨を示す結果情報、若しくは、売買は選択した価格により成立した旨を示す結果情報のいずれかを送信すると（ステップＳ８０７若しくはステップＳ８０９）、注文結果生成処理が完了する。
【０１２４】
（変形例）
上記実施形態においては、指し値注文において、指し値が注文範囲から外れる場合であっても、注文範囲と成立範囲とが重複しさえすれば、重複範囲内において売買を成立させていた。しかしながら、本発明は、この手法に限定されることはなく、指し値が妥当か否かを判別する機能を設け、指し値が妥当ではないと判別した場合には、重複範囲はないものとして扱うようにしてもよい。すなわち、ユーザが相場を度外視して注文したと判別できる場合や、ユーザが誤って注文したと判別できる場合は、取引を成立させないようにするのである。典型的には、売り注文の指し値が成立範囲の最低値よりも低い場合や、買い注文の指し値が成立範囲の最高値よりも高い場合である。なお、ユーザは、どうしても売買を成立させたい場合は、成り行き注文をすればよいので、相場を度外視したと判別できる場合に取引を成立させないように構成しても特段の不都合はないと考えられる。以下、図面を参照して説明する。
【０１２５】
ユーザが指し値Ｐｏｒｄ（Ｐｏｒｄ＜ＰｇｏＬ）の売り注文をした場合、図１２（Ａ）に示すように、注文範囲はＰｏｒｄ〜∞となるが、重複範囲はないものとして取り扱う。そして、ユーザが指し値Ｐｏｒｄ（ＰｇｏＬ≦Ｐｏｒｄ≦ＰｇｏＨ）の売り注文をした場合、図１２（Ｂ）に示すように、注文範囲はＰｏｒｄ〜∞となり、重複範囲はＰｏｒｄ〜ＰｇｏＨとなる。つまり、ＣＰＵ  １０１は、Ｔが小さければ小さいほどＰｏｒｄ〜ＰｇｏＨにおいて高い価格をＰｓｅｌとして選択する。すなわち、図１２（Ｂ）に示すように、Ｔ＝０のときＰｓｅｌ＝ＰｇｏＨとし、Ｔが大きくなるにつれてＰｓｅｌとして小さな値を設定し、Ｔ＝２４のときＰｓｅｌ＝Ｐｏｒｄとする。なお、ユーザが指し値Ｐｏｒｄ（Ｐｏｒｄ＞ＰｇｏＨ）の売り注文をした場合、図１０（Ｂ）に示すように、重複範囲は存在せず、売買は成立しない。
【０１２６】
ユーザが指し値Ｐｏｒｄ（Ｐｏｒｄ＞ＰｇｏＨ）の買い注文をした場合、図１３（Ａ）に示すように、注文範囲は０〜Ｐｏｒｄとなるが、重複範囲はないものとして取り扱う。そして、ユーザが指し値Ｐｏｒｄ（ＰｇｏＬ≦Ｐｏｒｄ≦ＰｇｏＨ）の買い注文をした場合、図１３（Ｂ）に示すように、注文範囲は０〜Ｐｏｒｄとなり、重複範囲はＰｇｏＬ〜Ｐｏｒｄとなる。つまり、ＣＰＵ  １０１は、Ｔが小さければ小さいほどＰｇｏＬ〜Ｐｏｒｄにおいて低い価格をＰｓｅｌとして選択する。すなわち、図１３（Ｂ）に示すように、Ｔ＝０のときＰｓｅｌ＝ＰｇｏＬとし、Ｔが大きくなるにつれてＰｓｅｌとして大きな値を設定し、Ｔ＝２４のときＰｓｅｌ＝Ｐｏｒｄとする。なお、ユーザが指し値Ｐｏｒｄ（Ｐｏｒｄ＜ＰｇｏＬ）の買い注文をした場合、図１１（Ｂ）に示すように、重複範囲は存在せず、売買は成立しない。
【０１２７】
本変形例においては、売り注文の指し値が成立範囲の最低値よりも低い場合や、買い注文の指し値が成立範囲の最高値よりも高い場合に重複範囲がないものとして取り扱ったが、マージンを設けるようにしてもよい。すなわち、売り注文の指し値が成立範囲の最低値よりも所定値以上低い場合や、買い注文の指し値が成立範囲の最高値よりも所定値以上高い場合に重複範囲がないものとして取り扱ってもよい。
【０１２８】
また、上記実施形態においては、ユーザは特定の銘柄について売買の注文をすることを前提に説明したが、ユーザが銘柄を選択できるように構成することが可能であることは勿論である。この場合、例えば、注文範囲受付部５０１が、注文範囲とともに銘柄の指定をユーザから受け付ける。そして、注文記憶部５０２は、当該銘柄の指定を示す情報を注文情報に含めて記憶する。そして、注文送信部５０３は、当該銘柄の指定を示す情報を含む注文情報をサーバ装置２００に送信する。注文受信部６０１は、当該銘柄の指定を示す情報を含む注文情報を端末装置１６０から受信する。そして、成立範囲取得部６０２は、当該銘柄の指定を示す情報を含む注文情報に基づいて、当該銘柄に対応する四本値を外部サーバ３００から取得して、成立範囲を取得する。
【０１２９】
上記実施形態においては、株式の売買を例にとって説明したが、本発明は株式の売買のシミュレーションに限定されることはなく、任意の取引対象について適用することが可能である。
【産業上の利用可能性】
【０１３０】
以上説明したように、本発明によれば、取引対象の価格を管理するサーバ装置と通信できない状態でも端末装置から注文を可能とし、注文を行った時刻に基づいて売買の価格を適切に決定するのに好適な売買シミュレーションシステム、売買シミュレーション制御方法、ならびに、これらをコンピュータにより実現するためのプログラムを提供することができる。
【図面の簡単な説明】
【０１３１】
【図１】本発明の実施形態に係る売買シミュレーションシステムを構成する端末装置が実現される典型的な端末用コンピュータの概要構成を示す模式図である。
【図２】本発明の実施形態に係る売買シミュレーションシステムを構成する端末装置が実現される典型的な端末用コンピュータの外観を示す図である。
【図３】本発明の実施形態に係る売買シミュレーションシステムの概要構成を示すブロック図である。
【図４】サーバ装置が取得する四本値を説明するための図である。
【図５】本発明の実施形態に係る売買シミュレーションシステムを構成する端末装置の構成を示すブロック図である。
【図６】本発明の実施形態に係る売買シミュレーションシステムを構成するサーバ装置の構成を示すブロック図である。
【図７】端末装置が実行する注文処理の一例を示すフローチャートである。
【図８】サーバ装置が実行する注文結果生成処理の一例を示すフローチャートである。
【図９】（Ａ）は、ユーザが成り行きの売り注文をした場合に、どのようにして価格を選択するかを説明するための図である。（Ｂ）は、ユーザが成り行きの買い注文をした場合に、どのようにして価格を選択するかを説明するための図である。
【図１０】（Ａ）、（Ｂ）は、ユーザが指し値の売り注文をした場合に、どのようにして価格を選択するかを説明するための図である。
【図１１】（Ａ）、（Ｂ）は、ユーザが指し値の買い注文をした場合に、どのようにして価格を選択するかを説明するための図である。
【図１２】（Ａ）、（Ｂ）は、ユーザが指し値の売り注文をした場合に、どのようにして価格を選択するかを説明するための図である。
【図１３】（Ａ）、（Ｂ）は、ユーザが指し値の買い注文をした場合に、どのようにして価格を選択するかを説明するための図である。
【符号の説明】
【０１３２】
１００  端末用コンピュータ
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  インターフェイス
１０５  入力部
１０６  メモリカセット
１０７  画像処理部
１０８  タッチスクリーン
１０９  ＮＩＣ
１１０  音声処理部
１１１  マイク
１１２  スピーカ
１１３  ＲＴＣ
１５０  売買シミュレーションシステム
１６０  端末装置
２００  サーバ装置
３００  外部サーバ
５０１  注文範囲受付部
５０２  注文記憶部
５０３  注文送信部
５０４  結果受信部
５０５  結果提示部
６０１  注文受信部
６０２  成立範囲取得部
６０３  不成立結果送信部
６０４  価格選択部
６０５  成立結果送信部
【図１】
2010075395.tif 000003
【図２】
2010075395.tif 000004
【図３】
2010075395.tif 000005
【図４】
2010075395.tif 000006
【図５】
2010075395.tif 000007
【図６】
2010075395.tif 000008
【図７】
2010075395.tif 000009
【図８】
2010075395.tif 000010
【図９】
2010075395.tif 000011
【図１０】
2010075395.tif 000012
【図１１】
2010075395.tif 000013
【図１２】
2010075395.tif 000014
【図１３】
2010075395.tif 000015