(57)【特許請求の範囲】
【請求項１】
ウェブブラウザ上で動作し、商品の過去の相場を表示する相場表示プログラムであって、
コンピュータを、
前記商品の過去の相場の表示期間を受け付ける期間受付部、
前記期間受付部が受け付けた前記表示期間に対応する相場データをサーバから取得し、取得した相場データを前記ウェブブラウザがアクセス可能な前記コンピュータ上のストレージに記憶させる相場データ取得部、及び
前記相場データ取得部が取得した相場データに基づいて前記表示期間に対応する前記商品のチャートを描画する描画部、
として機能させ、
前記期間受付部は、前記表示期間よりも短い単位期間を受け付け、
前記相場データ取得部は、
前記表示期間に対応する前記相場データの一部が前記ストレージに記憶されている場合、当該一部の相場データを前記ストレージから取得するとともに、前記表示期間に対応する前記相場データのうち、前記ストレージに記憶されていない前記相場データを前記サーバから取得し、
前記期間受付部が受け付けた前記単位期間よりも短い単位期間の相場データである短周期相場データが前記ストレージに記憶されている場合、当該短周期相場データに基づいて、受け付けた前記単位期間に対応する相場データを生成する、
相場表示プログラム。
【請求項２】
前記相場データ取得部は、前記表示期間に対応する前記商品の相場データが前記ストレージに記憶されている場合、当該相場データを前記ストレージから取得し、前記表示期間に対応する前記商品の相場データが前記ストレージに記憶されていない場合、前記相場データを前記サーバから取得する、
請求項１に記載の相場表示プログラム。
【請求項３】
前記コンピュータを、
前記相場データと、前記相場データに基づいて生成される複数の指標の少なくともいずれかと、に基づいて、前記商品の相場における前記商品の売買シグナルを生成するルールプログラムを生成する生成部、及び、
前記生成部が生成した前記ルールプログラムに基づいて、前記相場データ取得部が取得した相場データから前記商品の売買シグナルを生成し、売買のシミュレーションを行うシミュレーション部、
としてさらに機能させる請求項１又は２に記載の相場表示プログラム。
【請求項４】
前記生成部は、生成した前記ルールプログラムを前記ストレージに記憶させ、
前記シミュレーション部は、前記ストレージに記憶されている前記ルールプログラムに基づいて、前記売買のシミュレーションを行う、
請求項３に記載の相場表示プログラム。
【請求項５】
前記生成部は、生成した前記ルールプログラムに対応するルールに矛盾が含まれているか判定を行う、
請求項３又は４に記載の相場表示プログラム。
【請求項６】
前記コンピュータを、
前記複数の指標の少なくともいずれかに係る指標パラメータを受け付け、当該指標パラメータに基づいて指標を描画するとともに、当該指標パラメータを前記ストレージに記憶させる指標描画部としてさらに機能させる、
請求項３から５のいずれか１項に記載の相場表示プログラム。
【請求項７】
前記相場データ取得部は、受け付けた前記表示期間よりも所定期間長い期間の相場データを取得する、
請求項１から６のいずれか１項に記載の相場表示プログラム。
【請求項８】
ウェブブラウザを備え、商品の過去の相場を表示する相場表示装置であって、
前記ウェブブラウザ上で動作する、
前記商品の過去の相場の表示期間を受け付ける期間受付部と、
前記期間受付部が受け付けた前記表示期間に対応する相場データをサーバから取得し、取得した相場データを前記ウェブブラウザがアクセス可能な前記相場表示装置のストレージに記憶させる相場データ取得部と、
前記相場データ取得部が取得した相場データに基づいて前記表示期間に対応する前記商品のチャートを描画する描画部と、
を備え、
前記期間受付部は、前記表示期間よりも短い単位期間を受け付け、
前記相場データ取得部は、
前記表示期間に対応する前記相場データの一部が前記ストレージに記憶されている場合、当該一部の相場データを前記ストレージから取得するとともに、前記表示期間に対応する前記相場データのうち、前記ストレージに記憶されていない前記相場データを前記サーバから取得し、
前記期間受付部が受け付けた前記単位期間よりも短い単位期間の相場データである短周期相場データが前記ストレージに記憶されている場合、当該短周期相場データに基づいて、受け付けた前記単位期間に対応する相場データを生成する、
相場表示装置。
【請求項９】
サーバと、ウェブブラウザを備えた相場表示装置とを備える相場表示システムであって、
前記サーバは、
商品の過去の相場の表示期間に対応する相場データを送信する相場データ送信部を備え、
前記相場表示装置は、
前記ウェブブラウザで動作する、
前記商品の過去の相場の表示期間を受け付ける期間受付部と、
前記期間受付部が受け付けた前記表示期間に対応する相場データを、取得した相場データを前記ウェブブラウザがアクセス可能な前記相場表示装置のストレージに記憶させる相場データ取得部と、
前記相場データ取得部が取得した相場データに基づいて前記表示期間に対応する前記商品のチャートを描画する描画部と、
を備え、
前記期間受付部は、前記表示期間よりも短い単位期間を受け付け、
前記相場データ取得部は、
前記表示期間に対応する前記相場データの一部が前記ストレージに記憶されている場合、当該一部の相場データを前記ストレージから取得するとともに、前記表示期間に対応する前記相場データのうち、前記ストレージに記憶されていない前記相場データを前記サーバから取得し、
前記期間受付部が受け付けた前記単位期間よりも短い単位期間の相場データである短周期相場データが前記ストレージに記憶されている場合、当該短周期相場データに基づいて、受け付けた前記単位期間に対応する相場データを生成する、
相場表示システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、相場表示プログラム、相場表示装置及び相場表示システムに関する。
【背景技術】
【０００２】
従来、株式や為替といった商品の過去の相場のチャートを表示して、相場を分析することが行われている。例えば、特許文献１には、利用者端末と、当該利用者端末からの操作に応じて株式の過去の相場に係るチャートを示す画像及び売買のシミュレーションの結果を示す画像を利用者端末に送信するサーバと、を備えるシステムが提案されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−３３１４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、特許文献１に示されるシステムでは、サーバが、利用者端末の操作に応じて株式の過去の相場に係るチャートを示す画像を利用者端末に送信する。このため、利用者端末においてチャートの表示期間を変更する操作が頻繁に行われると、サーバのレスポンスが悪化し、利用者端末においてチャートの表示が遅くなるという問題がある。また、サーバにアクセスする場合には、インターネット等を介してアクセスする必要があることから、例えば、ネットワーク障害等が発生すると、サーバからチャートを示す画像を受信できないという問題が発生する。【０００５】
このような問題に対応するために、過去の相場に係る情報を利用者端末側で管理し、オフラインでチャートを描画する方法が考えられる。しかしながら、このような方法を実現するためには、利用者端末に専用のアプリケーションをインストールし、各種設定を行う必要があった。このため、インストールに係る作業が煩雑になるという問題があった。【０００６】
本発明は、インストール操作を行うことなく、相場のチャートを速やかに表示することができる相場表示プログラム、相場表示装置及び相場表示システムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明に係る相場表示プログラムは、ウェブブラウザ上で動作し、商品の過去の相場を表示する相場表示プログラムであって、複数のスレッドにより複数の異なる処理を並列して実行するコンピュータを、前記商品の過去の相場の表示期間を受け付ける期間受付部、前記期間受付部が受け付けた前記表示期間に対応する相場データを、他の処理と異なるスレッドを用いてサーバから取得し、取得した相場データを前記ウェブブラウザがアクセス可能な前記コンピュータ上のストレージに記憶させる相場データ取得部、及び前記相場データ取得部が取得した相場データに基づいて前記表示期間に対応する前記商品のチャートを描画する描画部、として機能させることを特徴とする。【０００８】
この発明によれば、相場表示プログラムは、ウェブブラウザ上で動作するプログラムであるので、インストール操作を行うことなく、チャートを表示することができる。また、相場表示プログラムは、他の処理と異なるスレッドを用いてサーバから相場データを取得するので、ブラウザ上の処理遅延を抑制することができる。また、相場表示プログラムは、一度取得した相場データをウェブブラウザがアクセス可能なコンピュータ上のストレージに記憶させるので、例えば、再度同じ相場データを用いてチャートを描画する際に、ストレージに記憶されている相場データを利用することができる。これにより、相場表示プログラムは、サーバに対するアクセスを減らし、チャートを速やかに描画することができる。【０００９】
また、前記相場データ取得部は、前記表示期間に対応する前記商品の相場データが前記ストレージに記憶されている場合、当該相場データを前記ストレージから取得し、前記表示期間に対応する前記商品の相場データが前記ストレージに記憶されていない場合、前記相場データを前記サーバから取得することを特徴とする。
この発明によれば、相場表示プログラムは、ストレージに記憶されている相場データについて、オフラインで取得することができる。また、相場表示プログラムは、ストレージ内の相場データを優先的に取得するので、ネットワークの影響を受けやすいサーバから全ての相場データを取得する場合に比べて迅速に取得することができる。【００１０】
また、前記相場データ取得部は、前記表示期間に対応する前記相場データの一部が前記ストレージに記憶されている場合、当該一部の相場データを前記ストレージから取得するとともに、前記表示期間に対応する前記相場データのうち、前記ストレージに記憶されていない前記相場データを前記サーバから取得することを特徴とする。
この発明によれば、相場表示プログラムは、相場データの一部がストレージに記憶されている場合に、ストレージに記憶されていない部分の相場データについてのみサーバから取得するので、サーバへのアクセスをさらに減らし、相場データの取得速度をより向上させることができる。【００１１】
また、前記期間受付部は、前記表示期間よりも短い単位期間を受け付け、前記相場データ取得部は、前記期間受付部が受け付けた前記単位期間よりも短い単位期間の相場データである短周期相場データが前記ストレージに記憶されている場合、当該短周期相場データに基づいて、受け付けた前記単位期間に対応する相場データを生成することを特徴とする。
この発明によれば、相場表示プログラムは、ストレージに記憶されている短周期相場データに基づいて、受け付けた単位期間に対応する相場データを生成するので、サーバにアクセスすることなく、ストレージに記憶されていなかった相場データを取得することができる。【００１２】
また、前記相場表示プログラムは、前記コンピュータを、前記相場データと、前記相場データに基づいて生成される複数の指標の少なくともいずれかと、に基づいて、前記商品の相場における前記商品の売買シグナルを生成するルールプログラムを生成する生成部、及び、前記生成部が生成した前記ルールプログラムに基づいて、前記相場データ取得部が取得した相場データから前記商品の売買シグナルを生成し、売買のシミュレーションを行うシミュレーション部として機能させることを特徴とする。
この発明によれば、相場表示プログラムは、商品の売買に係るシミュレーションを行うことができる。また、相場表示プログラムは、チャートの描画が一度行われている期間については、当該期間に対応する相場データをストレージに記憶しているので、オフラインでもシミュレーションを行うことができる。【００１３】
また、前記生成部は、生成した前記ルールプログラムを前記ストレージに記憶させ、前記シミュレーション部は、前記ストレージに記憶されている前記ルールプログラムに基づいて、前記売買のシミュレーションを行うことを特徴とする。
この発明によれば、一度生成したルールプログラムを再利用することができる。【００１４】
また、前記生成部は、生成した前記ルールプログラムに対応するルールに矛盾が含まれているか判定を行うことを特徴とする。
この発明によれば、矛盾が含まれているルールプログラムによって商品売買のシミュレーションを行うことを防止することができる。【００１５】
また、前記相場表示プログラムは、前記コンピュータを、前記複数の指標の少なくともいずれかに係る指標パラメータを受け付け、当該指標パラメータに基づいて指標を描画するとともに、当該指標パラメータを前記ストレージに記憶させる指標描画部としてさらに機能させることを特徴とする。
この発明によれば、ユーザが独自に設定したパラメータの指標に基づいてシミュレーションを行うことができる。【００１６】
また、前記相場データ取得部は、受け付けた前記表示期間よりも所定期間長い期間の相場データを取得することを特徴とする。
この発明によれば、受け付けた表示期間よりも所定期間長い期間の相場データをストレージに記憶させておくことができる。これにより、例えば、ユーザインタフェースを介してチャートの表示期間を変更した場合であっても、ストレージに記憶されている相場データに基づいてチャートを迅速に描画することができる。【００１７】
本発明の第２の態様に係る相場表示装置は、ウェブブラウザを備え、複数のスレッドにより複数の異なる処理を実行可能であり、商品の過去の相場を表示する相場表示装置であって、前記ウェブブラウザ上で動作する、前記商品の過去の相場の表示期間を受け付ける期間受付部と、前記期間受付部が受け付けた前記表示期間に対応する相場データを、他の処理と異なるスレッドを用いてサーバから取得し、取得した相場データを前記ウェブブラウザがアクセス可能な前記相場表示装置のストレージに記憶させる相場データ取得部と、前記相場データ取得部が取得した相場データに基づいて前記表示期間に対応する前記商品のチャートを描画する描画部と、を備える。【００１８】
本発明の第３の態様に係る相場表示システムは、サーバと、ウェブブラウザを備え、複数のスレッドにより複数の異なる処理を実行可能な相場表示装置とを備える相場表示システムであって、前記サーバは、商品の過去の相場の表示期間に対応する相場データを送信する相場データ送信部を備え、前記相場表示装置は、前記ウェブブラウザで動作する、前記商品の過去の相場の表示期間を受け付ける期間受付部と、前記期間受付部が受け付けた前記表示期間に対応する相場データを、他の処理と異なるスレッドを用いてサーバから取得し、取得した相場データを前記ウェブブラウザがアクセス可能な前記相場表示装置のストレージに記憶させる相場データ取得部と、前記相場データ取得部が取得した相場データに基づいて前記表示期間に対応する前記商品のチャートを描画する描画部と、を備える。
これらの発明によれば、第１の態様に係る相場表示プログラムと同等の効果を奏することができる。
【発明の効果】
【００１９】
本発明によれば、インストール操作を行うことなく、相場のチャートを速やかに表示することができる。
【図面の簡単な説明】
【００２０】
【図１】本実施形態に係る相場表示システムの概要を示す図である。
【図２】本実施形態に係るウェブサーバの機能構成図である。
【図３】本実施形態に係る相場表示装置の機能構成図である。
【図４】本実施形態に係る商品相場の表示に係るウェブページの一例を示す図である。
【図５】本実施形態に係るチャート表示画面の例を示す図である。
【図６】本実施形態に係る短周期相場データに基づいて、相場データを生成する例を説明する図である。
【図７】本実施形態に係る相場データの一部をウェブサーバから取得する例を説明する図である。
【図８】本実施形態に係る指標ダイアログの例を示す図である。
【図９】本実施形態に係る指標消去ダイアログを示す図である。
【図１０】本実施形態に係るルール情報表示画面の例を示す図である。
【図１１】本実施形態に係る保存ダイアログの例を示す図である。
【図１２】本実施形態に係るルール選択ダイアログの例を示す図である。
【図１３】本実施形態に係る全表示情報選択ダイアログの例を示す図である。
【図１４】本実施形態に係る複数のチャート上に売買シグナルが表示されたチャートの例を示す図である。
【図１５】本実施形態に係るシミュレーション部によるシミュレーションに基づく損益線を示す図である。
【図１６】本実施形態に係るシミュレーション部による、シミュレーションに基づく仮想注文履歴を示す図である。
【図１７】本実施形態に係る相場表示装置に係る処理の流れを示すフローチャートである。
【図１８】本実施形態に係る相場データ取得処理のフローチャートである。
【図１９】本実施形態に係るルール生成処理のフローチャートである。
【図２０】本実施形態に係るシミュレーション処理のフローチャートである。
【発明を実施するための形態】
【００２１】
＜第１の実施形態＞
［相場表示システムＳの概要］
以下、本発明の第１の実施形態について、図面を参照しながら説明する。
図１は、本実施形態に係る相場表示システムＳの概要を示す図である。相場表示システムＳは、例えば、商品の現在及び過去の相場を表示するためのシステムであり、サーバとしてのウェブサーバ１と、複数の相場表示装置２と、商品の相場を管理する外部サーバ３とを備える。ここで、商品とは、例えば、証券市場、為替市場、及び商品市場等の各種市場で取引される株式、為替、貴金属等の商品である。また、相場とは、各種市場における商品の価格を示すものである。
【００２２】
ウェブサーバ１は、コンピュータであり、商品の現在又は過去の相場に対応する相場データを外部サーバ３から受信して記憶する。ウェブサーバ１は、相場表示装置２から相場データのリクエストを受信したことに応じて、当該相場表示装置２に対して相場データを送信する。
【００２３】
複数の相場表示装置２のそれぞれは、複数のスレッドにより複数の異なる処理を並列して実行するコンピュータである。相場表示装置２は、ウェブブラウザ上で動作し、商品の過去の相場を表示する相場表示プログラムを実行する。ここで、相場表示プログラムは、例えば、ウェブブラウザ上で動作するＪａｖａＳｃｒｉｐｔ（登録商標）であるものとするが、ウェブブラウザ上で動作するプログラムであれば他の言語によって記述されたものであってもよい。
【００２４】
［ウェブサーバ１の機能構成］
続いて、ウェブサーバ１の機能構成について説明する。図２は、本実施形態に係るウェブサーバ１の機能構成図である。
ウェブサーバ１は、記憶部１１と、制御部１２とを備える。
記憶部１１は、例えば、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）、ハードディスク等により構成される。記憶部１１は、ウェブサーバ１を動作させるための各種プログラムを記憶する。記憶部１１は、各種商品の相場データを記憶する。
【００２５】
ここで、相場データは、複数の単位データによって構成されている。単位データは、単位期間、単位期間の開始時間、単位期間の開始時間における商品の価格を示す始値、単位期間における商品の価格の最高値を示す高値、単位期間における商品の価格の最低値を示す安値、及び単位期間の終了時間における商品の価格を示す終値から構成されている。
【００２６】
なお、単位データは、単位期間に応じて呼称が異なる。単位データは、例えば、単位期間が１月である場合には月足データ、単位期間が１週である場合には週足データ、単位期間が１日である場合には日足データ、単位期間が４時間である場合には４時間足データ、単位期間が１時間である場合には１時間足データ、単位期間が３０分である場合には３０分足データ、単位期間が１５分である場合には１５分足データ、単位期間が５分である場合には５分足データ、単位期間が１分である場合には１分足データという。
記憶部１１は、複数の単位期間それぞれの相場データを記憶する。
【００２７】
制御部１２は、例えば、ＣＰＵにより構成され、ウェブサーバ１の全体を統括的に制御する。制御部１２は、相場データ受信部１２１と、相場データ送信部１２２とを備える。
相場データ受信部１２１は、例えば、外部サーバ３から、複数の商品それぞれの１分足データを含むＣＳＶファイルを受信し、記憶部１１に記憶させる。なお、相場データ受信部１２１は、複数の単位期間それぞれの相場データを取得して記憶部１１に記憶させておいてもよいし、単位期間が短い相場データから単位期間が長い相場データを生成し、生成した相場データを記憶部１１に記憶させてもよい。例えば、相場データ受信部１２１は、１分足データから、１５分足データや週足データを生成し、生成した１５分足データや週足データを記憶部１１に記憶させてもよい。
【００２８】
相場データ送信部１２２は、商品の過去の相場に対応する相場データを送信する。具体的には、相場データ送信部１２２は、商品を識別する商品識別情報と、当該商品の相場データを表示する期間である表示期間と、単位期間とを含む相場データのリクエストを相場表示装置２から受信する。相場データ送信部１２２は、記憶部１１から、当該リクエストに含まれている表示期間及び単位期間に対応する相場データを、１分足の相場データに基づいて生成する。ここで、相場データ送信部１２２は、受け付けた表示期間よりも所定期間長い期間の相場データを生成する。続いて、相場データ送信部１２２は、生成した相場データを、リクエストを送信した相場表示装置２に対して送信する。なお、記憶部１１に複数の単位期間の相場データが記憶されている場合には、相場データ送信部１２２は、相場表示装置２からのリクエストに応じて、対応する単位期間の相場データを取得し、当該相場データを送信してもよい。
【００２９】
［相場表示装置２の機能構成］
続いて、相場表示装置２の機能構成について説明する。図３は、本実施形態に係る相場表示装置２の機能構成図である。
相場表示装置２は、入力部２１と、表示部２２と、記憶部２３と、制御部２４とを備える。
【００３０】
入力部２１は、例えば、キーボードやマウス等によって構成される。入力部２１は、相場表示装置２のユーザから操作入力を受け付ける。
表示部２２は、例えば、液晶ディスプレイや有機ＥＬ（Electro-Luminescence）ディスプレイ等により構成される。表示部２２は、制御部２４の制御に応じて、商品の相場に係るチャート、当該相場に係る指標、及び当該相場に係るシミュレーションの結果等の各種画面を表示する。
【００３１】
記憶部２３は、例えば、ＲＯＭ、ＲＡＭ、ハードディスク等により構成される。記憶部２３は、ウェブブラウザに係るブラウザプログラムと、相場表示プログラムを記憶する。また、記憶部２３は、ウェブブラウザがアクセス可能なストレージとして、ＨＴＭＬ５のＷｅｂ  Ｓｔｏｒａｇｅであるウェブストレージ２３１を記憶する。
【００３２】
制御部２４は、相場表示装置２の全体を統括的に制御する。制御部２４は、例えば、複数のＣＰＵにより構成されており、複数のスレッドにより複数の異なる処理を並列して実行することが可能である。制御部２４は、表示部２２に表示されているウェブブラウザにより、ウェブサーバ１にアクセスすると、ウェブサーバ１から相場表示用のウェブページ及び相場表示プログラムを受信し、当該ウェブブラウザ上に表示させる。制御部２４は、受信した相場表示プログラムを実行することにより、期間受付部２４１、相場データ取得部２４２、チャート描画部２４３、指標描画部２４４、生成部２４５、及びシミュレーション部２４６として機能する。
【００３３】
制御部２４は、期間受付部２４１、チャート描画部２４３、指標描画部２４４、生成部２４５、及びシミュレーション部２４６に係る処理を、画面のユーザインタフェース（User Interface、以下ＵＩともいう）に関する画面ＵＩスレッドで実行し、相場データ取得部２４２に係る処理を、画面ＵＩスレッドとは異なるスレッドであるウェブワーカースレッドで実行する。ここで、ウェブワーカーとは、ＨＴＭＬ５において、バックグラウンドでの処理の実行を可能にするＷｅｂ  Ｗｏｒｋｅｒｓを示している。制御部２４は、ウェブワーカースレッドに関する処理と、画面ＵＩに関する処理とを異なるＣＰＵで並列に実行する。
【００３４】
続いて、制御部２４が備える各種機能について説明する。
期間受付部２４１は、商品の過去の相場の表示期間を受け付ける。具体的には、期間受付部２４１は、商品の過去の相場の表示期間として開始時間と終了時間とを受け付けるとともに、商品を識別する商品識別情報及び表示期間よりも短い単位期間を受け付ける。図４は、本実施形態に係る商品相場の表示に係るウェブページの一例を示す図である。ウェブページの左側には、図４に示すように、チャートを表示するチャート表示画面が表示されている。また、ウェブページの右側上部には、ルールを表示するルール情報表示画面が表示されている。また、ウェブページの右側下部には、ルールプログラムのソースコードやシミュレーション結果を表示するシミュレーション情報表示画面が表示されている。
【００３５】
図５は、本実施形態に係るウェブページを構成するチャート表示画面を示す図である。図５では、商品識別情報の入力欄と、単位期間の入力欄と、商品の過去の相場の表示期間の開始時間の入力欄と、終了時間の入力欄とから構成されるチャート情報入力欄２２１が表示されている。期間受付部２４１は、チャート情報入力欄２２１を介して、商品識別情報、単位期間、開始時間及び終了時間を受け付ける。例えば、図５に示される「ＥＵＲＵＳＤ」は、ユーロ−米ドル間での通貨取引をする商品を示し、「ＧＢＰＵＳＤ」は、英ポンド−米ドル間での通貨取引をする商品を示し、「Ｈ１」は、単位期間が１時間であることを示している。
【００３６】
相場データ取得部２４２は、期間受付部２４１が受け付けた表示期間に対応する相場データを、他の処理（画面ＵＩスレッド）と異なるスレッド（ウェブワーカースレッド）を用いて、ウェブサーバ１から取得するとともに、当該相場データをウェブブラウザがアクセス可能なコンピュータ上のストレージであるウェブストレージ２３１に記憶させる。具体的には、相場データ取得部２４２は、入力部２１を介して図５に示されるチャート情報入力欄２２１が入力され、その後「Ｇｅｔ  ＯＨＬＣ」ボタンが押下されると、相場データの取得を開始する。
【００３７】
具体的には、相場データ取得部２４２は、受け付けた表示期間と、受け付けた単位期間とに対応する商品の相場データが、記憶部２３のウェブストレージ２３１に記憶されている場合、当該相場データをウェブストレージ２３１から取得する。
【００３８】
また、相場データ取得部２４２は、受け付けた表示期間及び単位期間に対応する商品の相場データが、記憶部２３のウェブストレージ２３１に記憶されていない場合、期間受付部２４１が受け付けた単位期間よりも短い単位期間の相場データである短周期相場データがウェブストレージ２３１に記憶されているか否かを判定する。そして、相場データ取得部２４２は、当該短周期相場データがウェブストレージ２３１に記憶されていると判定した場合、ウェブサーバ１にリクエストを行わずに、当該短周期相場データに基づいて、受け付けた単位期間に対応する相場データを生成する。
【００３９】
また、相場データ取得部２４２は、期間受付部２４１が受け付けた単位期間よりも短い単位期間の相場データである短周期相場データがウェブストレージ２３１に記憶されていないと判定した場合、ウェブサーバ１に対して、期間受付部２４１が受け付けた商品識別情報、相場データの表示期間、及び単位期間を含むリクエストをウェブサーバ１に送信し、当該相場データをウェブサーバ１から取得する。
【００４０】
図６は、本実施形態に係る短周期相場データに基づいて、相場データを生成する例を説明する図である。ここで、黒色で示される単位データは、ウェブストレージ２３１に記憶されていることを示し、白色で示される単位データは、ウェブストレージ２３１に記憶されていないことを示している。
【００４１】
例えば、期間受付部２４１が受け付けた単位期間が１５分であり、当該単位期間に対応する１５分足データがウェブストレージ２３１に記憶されていない場合を考える。この場合において、図６に示すように、ウェブストレージ２３１に、１５分足データが示す単位期間（１５分）に比べて短い単位期間（５分）の単位データ（５分足データ）が記憶されているとする。この場合、相場データ取得部２４２は、ウェブストレージ２３１に記憶されている５分足データに基づいて１５分足データを生成する。また、ウェブストレージ２３１に５分足データが記憶されていない場合、相場データ取得部２４２は、ウェブサーバ１に、受け付けた表示期間に対応する１５分足データをリクエストし、ウェブサーバ１から１５分足データを受信する。
【００４２】
ここで、相場データ取得部２４２は、受け付けた表示期間よりも所定期間長い期間の相場データを取得する。例えば、表示期間が２０１３年３月１日から、２０１３年４月１日である場合に、相場データ取得部２４２は、２０１３年２月１日から２０１３年５月１日までの相場データを取得する。なお、相場データ取得部２４２は、２０１３年２月１日から２０１３年４月１日までの相場データのように、受け付けた開始時間及び終了時間の一方のみ長い期間の相場データを取得してもよい。例えば、相場データ取得部２４２は、表示期間の終了時間が現在日時の場合には、終了時間を変更せずに相場データを取得する。また、相場データ取得部２４２は、表示期間の終了時間が現在日時よりも未来の時間である場合、終了時間を現在日時に変更してもよい。
【００４３】
相場データ取得部２４２は、受け付けた表示期間及び単位期間に対応する相場データの一部がウェブストレージ２３１に記憶されている場合、ウェブストレージ２３１に記憶されていない期間の相場データのみウェブサーバ１から取得してもよい。具体的には、相場データ取得部２４２は、受け付けた表示期間及び単位期間に対応する相場データの一部がウェブストレージ２３１に記憶されている場合、当該相場データをウェブストレージ２３１から取得するとともに、表示期間及び単位期間に対応する相場データのうち、ウェブストレージ２３１に記憶されていない相場データをウェブサーバ１から取得する。
【００４４】
図７は、本実施形態に係る相場データの一部をウェブサーバ１から取得する例を説明する図である。図７に示すように、所定の単位期間に対応する相場データは、当該単位期間に対応する複数の単位データから構成されている。ここで、黒色で示される単位データは、ウェブストレージ２３１に記憶されていることを示し、白色で示される単位データは、ウェブストレージ２３１に記憶されていないことを示している。
【００４５】
例えば、期間受付部２４１が受け付けた表示期間が、時間Ｔ１から時間Ｔ６までの場合に、図７に示すように、Ｔ２からＴ３及びＴ４からＴ５の単位データが、ウェブストレージ２３１に記憶されていないものとする。この場合、相場データ取得部２４２は、取得期間を、Ｔ０からＴ７に決定し、Ｔ０からＴ２、Ｔ３からＴ４、及びＴ５からＴ７の単位データを、ウェブストレージ２３１から取得する。また、相場データ取得部２４２は、Ｔ２からＴ３及びＴ４からＴ５の単位データを、ウェブサーバ１から取得する。
【００４６】
チャート描画部２４３は、相場データ取得部２４２が取得した相場データに基づいて表示期間に対応する商品のチャートを表示部２２に表示されているウェブページ上に描画する。具体的には、チャート描画部２４３は、取得された相場データを構成する単位データに含まれる単位期間の開始時間順に、当該単位データに基づくローソク足を描画する。ここで、ローソク足は、単位データに含まれる始値、高値、安値、及び終値に基づいて描画されるシンボルである。例えば、チャート描画部２４３は、１００個のローソク足を表示部２２に表示されているウェブページ上に描画する。なお、チャート描画部２４３は、相場データに基づいて、ローソク足以外のシンボルとして、止め足チャートやバーチャートを描画してもよい。
【００４７】
また、チャート描画部２４３は、入力部２１によりチャートをスライドする操作を受け付けたことに応じて、チャートの表示期間を変更し、相場データ取得部２４２に、変更された表示期間に対応する相場データを取得させる。そして、チャート描画部２４３は、相場データ取得部２４２が取得した相場データに基づいてチャートを再描画する。ここで、ウェブストレージ２３１には、期間受付部２４１が受け付けた表示期間よりも長い期間の相場データが記憶されていることから、相場データ取得部２４２は、変更後の表示期間の相場データをウェブストレージ２３１から取得することができる可能性が高い。これにより、チャート描画部２４３は、迅速にチャートを再描画することができる。
【００４８】
また、チャート描画部２４３は、現在表示されているチャートに対応する商品を変更することができる。すなわち、図５のチャート表示画面のルール追加アイコン群２２３に左側に表示されている商品識別情報選択欄の商品識別情報（例えば、図５に示されるＧＢＰＵＳＤ）が変更されると、チャート描画部２４３は、変更後の商品識別情報に対応する商品の相場データを相場データ取得部２４２に取得させる。そして、チャート描画部２４３は、相場データ取得部２４２が取得した相場データに基づいて変更後の商品識別情報に対応する商品のチャートを再描画する。
【００４９】
また、チャート描画部２４３は、現在表示されているチャートの単位期間を変更することができる。すなわち、図５のチャート表示画面のルール追加アイコン群２２３に左側に表示されている単位期間（例えば、図５に示されるＭ５）が変更されると、チャート描画部２４３は、変更後の単位期間に対応する相場データを相場データ取得部２４２に取得させる。そして、チャート描画部２４３は、相場データ取得部２４２が取得した相場データに基づいて変更後の単位期間に対応するチャートを再描画する。
【００５０】
ここで、チャート描画部２４３は、現在表示されているチャートを消去することができる。すなわち、図５のチャート表示画面のチャート上部に表示されている「Ｘ」ボタンが押下されると、チャート描画部２４３は、表示されているチャートをチャート表示画面から消去する。また、チャート描画部２４３は、後述の生成部２４５により生成された、消去されたチャートに対応するルールも消去する。
【００５１】
指標描画部２４４は、複数の指標の少なくともいずれかに係るパラメータである指標パラメータを受け付け、当該指標パラメータに基づいて指標を描画するとともに、当該指標パラメータをウェブストレージ２３１に記憶させる。具体的には、指標描画部２４４は、図５に示すチャート表示画面の左側に表示されている領域２２２に含まれる複数の指標アイコンのいずれかが、入力部２１による操作を介して選択されると、指標パラメータ等を受け付ける指標ダイアログをウェブブラウザ上にポップアップ表示させる。ここで、指標アイコンの選択操作は、指標アイコンのクリックや、チャート上へのドラッグアンドドロップ等である。
【００５２】
図８は、本実施形態に係る指標ダイアログの例を示す図である。指標ダイアログには、入力項目として、「Param」、「Input Type」、「Reference Indicator No」、及び「Reference Indicator Sub No」が設けられているとともに、「OK」ボタン、「Cancel」ボタンが設けられている。
【００５３】
「Param」は、指標パラメータを設定する項目である。指標パラメータには、指標が移動平均線（Moving Average）を用いる場合に当該移動平均線の計算期間を設定するための「maPeriod」や、指標をチャートに対してどのくらい水平移動させるかを設定するための「shift」等がある。例えば、「maPeriod」が「５」に設定されると、指標に用いられる移動平均線が、５つの単位データの平均値に基づいて計算される。また、例えば、「shift」を「０」に設定すると、指標は水平移動されない。
【００５４】
「Input Type」は、指標値を算出する際に参照するデータを選択する項目である。「Input Type」において選択可能な項目には、例えば、「Open」、「High」、「Low」、「Close」、「Indicator」、「HL/2」、「HLC/3」がある。「Open」は、単位データの始値、「High」は、単位データの高値、「Low」は、単位データの安値、「Close」は、単位データの終値である。また、「HL/2」は、単位データの高値及び安値の平均値、「HLC/3」は、単位データの高値、安値及び終値の平均値である。また、「Indicator」は、参照するデータとして、他の指標の値を選択することを示している。
【００５５】
「Reference Indicator No」及び「Reference Indicator Sub No」は、「Input Type」が「Indicator」である場合に用いられる項目であり、例えば、参照する指標に対応する番号を入力する。なお、「Input Type」において「Indicator」を選択しない場合には、「−１」を入力する。また、指標描画部２４４は、「Input Type」において「Indicator」が選択されなかった場合、「Reference Indicator No」及び「Reference Indicator Sub No」に対して自動的に「−１」を入力してもよい。
【００５６】
相場表示装置２のユーザが、入力部２１を介してこれらの項目に対する入力を行い、「OK」ボタンを押下すると、指標描画部２４４は、入力された項目に基づいて指標を描画する。また、指標描画部２４４は、入力部２１を介して「Cancel」ボタンが押下されると、入力された項目に基づく指標の描画をキャンセルする。指標描画部２４４は、「OK」ボタン又は「Cancel」ボタンが押下されると、指標ダイアログを非表示にする。
【００５７】
ここで、指標描画部２４４は、表示されている指標を消去することができる。すなわち、図５のチャート表示画面のチャート上部に表示されている「Delete Indicator」ボタンが押下されると、指標描画部２４４は、指標消去ダイアログをポップアップ表示する。図９は、本実施形態に係る指標消去ダイアログを示す図である。指標消去ダイアログには、「OK」ボタンと「Cancel」ボタンとが表示されている。図９では、チャート表示画面に表示されている指標の名称がプルダウンリストに表示されている。指標描画部２４４は、入力部２１を介して指標が選択され、「OK」ボタンが押下されると、選択された指標を消去する。また、指標描画部２４４は、後述の生成部２４５により生成された、選択された指標に対応するルールも消去する。また、指標描画部２４４は、「Cancel」ボタンが押下されると、選択操作をキャンセルし、指標消去ダイアログを非表示にする。
【００５８】
また、指標描画部２４４は、現在表示されているチャートに対応する商品が変更され、変更後の商品識別情報に対応する商品のチャートが描画されると、変更後の商品に対応して指標を再描画する。例えば、現在表示されているチャートが「ＧＢＰＵＳＤ」に対応しており、当該チャートが「ＥＵＲＵＳＤ」に変更されると、チャートの変更に連動して指標、ルールを変更する。
【００５９】
また、指標描画部２４４は、現在表示されているチャートの単位期間が変更され、チャートが再描画されると、変更後の単位期間に対応して指標を再描画する。例えば、現在表示されているチャートの単位期間が「Ｍ５」（５分足）であり、「Ｍ１５」（１５分足）に変更されると、チャートの変更に連動して指標、ルールを変更する。
【００６０】
生成部２４５は、相場データと、相場データに基づいて生成される複数の指標の少なくともいずれかと、に基づいて、商品の相場における商品の売買シグナルを生成するルールプログラムを生成する。
【００６１】
生成部２４５は、例えば、図５に示すチャート表示画面に表示されているチャート（ローソク足）、指標線又はその他のチャート上の領域が押下されると、図４に示すルール情報表示画面にルールを追加する。
【００６２】
図１０は、本実施形態に係るルール情報表示画面の例を示す図である。ルール情報表示画面には、シミュレーション対象情報選択欄ＴＧと、タブボタン群ＴＢと、データグリッドＤＧと、ボタン群ＢＴとが設けられている。
【００６３】
シミュレーション対象情報選択欄ＴＧには、入力項目として、「商品識別情報」選択欄と、「開始期間」選択欄と、「終了期間」選択欄とが設けられている。「商品識別情報」選択欄には、売買のシミュレーションの対象とする商品の商品識別情報を入力する。また、「開始期間」選択欄と、「終了期間」選択欄とには、それぞれ、売買のシミュレーションの開始期間及び終了期間を入力する。
【００６４】
タブボタン群ＴＢには、タブボタンとして「Open Long」ボタン、「Close Long」ボタン、「Open Short」ボタン、「Close Short」ボタンが設けられている。
「Open Long」ボタンは、買いシグナルを発生させるルールを設定するデータグリッドＤＧを表示させるためのボタンである。「Open Long」ボタンを押下すると、生成部２４５は、買いシグナルを発生させるルールに対応するデータグリッドＤＧを表示させる。
【００６５】
同様に、「Close Long」ボタンは、買いシグナルの決済シグナルを発生させるルールを設定するデータグリッドＤＧを表示させるためのボタン、「Open Short」ボタンは、売りシグナルを発生させるルールを設定するデータグリッドＤＧを表示させるためのボタン、「Close Short」ボタンは、売りシグナルの決済シグナルを発生させるルールを設定するデータグリッドＤＧを表示させるためのボタンである。それぞれのボタンを押下すると、生成部２４５は、対応するデータグリッドＤＧを表示させる。
【００６６】
データグリッドＤＧには、入力項目として、「Rule ID」、「Shift」、「Indi No」、「Indi Sub」、「Canvas」、「Symbol」、「Time Frm」、「Indi Name」、「Parameter」、「Indi Input Type」、「Ref Indi No」、及び「Ref Indi Sub」が設けられている。
【００６７】
「Rule ID」は、ルールを構成する個別ルールを識別する識別情報である。例えば、「Add Open Rule」、「Add High Rule」、「Add Low Rule」、「Add Close Rule」、「Add Empty Rule」が押下されると、生成部２４５は、「Rule ID」に自動的に連番を付与する。
「Shift」は、参照とする相場データや指標の位置を示す値である。
【００６８】
「Indi No」及び「Indi Sub」は、指標に係るデータを参照してルールを生成する場合に用いられる項目である。指標に係るデータを参照する場合には、「Indi No」及び「Indi Sub」に、指標に対応する番号を入力する。
「Canvas」は、ルールに用いるチャートを指定するための項目であり、例えば、チャートを識別するチャート識別情報を入力する。例えば、図５に示されるチャートの左上に表示されている「M0」がチャート識別情報である。
「Symbol」は、ルールに用いる商品を指定するための項目であり、商品識別情報を入力する。
「Time Frm」は、ルールに用いるチャートの単位期間を示す項目である。
【００６９】
「Indi Name」は、ルールに用いるデータを選択するための項目であり、例えば、単位データを構成する始値、高値、安値、終値や指標の名前を入力する。
「Parameter」は、「Indi Name」において指標が選択された場合に用いられる項目であり、指標のパラメータを入力する。
【００７０】
「Indi Input Type」は、指標値を算出する際に参照するデータを選択する項目である。選択可能な項目には、例えば、「Open」、「High」、「Low」、「Close」、「Indicator」、「HL/2」、「HLC/3」がある。
「Ref Indi No」及び「Ref Indi Sub」は、「Indi Input Type」が「Indicator」である場合に用いられる項目であり、参照する指標に対応する番号を入力する。
【００７１】
続いて、ルール追加アイコン群２２３について説明する。ルール追加アイコン群２２３に示されるアイコンをクリックすると、当該アイコンの直下に表示されているチャートの情報に基づいて、ルールを追加する。この追加されたルールは、後からユーザが編集可能である。
【００７２】
例えば、「Add Open Rule」アイコンは、当該アイコンの直下に表示されているチャートの始値をルールに追加するためのアイコンである。具体的には、入力部２１により、「Add Open Rule」アイコンを選択する操作が行われると、生成部２４５は、データグリッドＤＧに新たなルールを追加し、「Rule ID」を付与する。また、生成部２４５は、当該アイコンの直下に表示されているチャートに基づいて、「Canvas」、「Symbol」、「Time Frm」を自動的に入力する。また、生成部２４５は、「Indi Name」に単位データの始値を示す「open」を入力し、ルールに用いるデータを「始値」に選択する。
【００７３】
生成部２４５は、「Add High Rule」アイコン、「Add Low Rule」アイコン、「Add Close Rule」アイコンについても同様の処理を行う。なお、「Add High Rule」アイコンが押下された場合には、「Indi Name」に単位データの高値を示す「high」が入力される。また、「Add Low Rule」アイコンが押下された場合には、「Indi Name」に単位データの安値を示す「low」が入力される。また、「Add Close Rule」アイコンが押下された場合には、「Indi Name」に単位データの終値を示す「close」が入力される。
また、「Add Empty Rule」アイコンは、「Shift」以外の全てが空のルール（全てがＮＡ）を追加するためのボタンである。この、空のルールは、例えば、計算式に関するルールを追加したり、定数値を用いたルールを追加したりするために用いられる。
【００７４】
ボタン群ＢＴには、「Generate Rules」ボタン、「Check Rules」ボタン、「Generate Source」ボタン、「Test」ボタン、及び「Clear」ボタンが設けられている。
「Generate Rules」ボタンは、ルールを生成するためのボタンである。生成部２４５は、例えば、「Generate Rules」ボタンが押下されると、「Open Long」に対応するデータグリッドＤＧに入力されたルールに基づいて、「Close Long」、「Open Short」及び「Close Short」に対応するルールを生成する。
【００７５】
具体的には、生成部２４５は、例えば、買いシグナルを発生させるルールと売りシグナルを発生させるルールとが反対であるものとして、「Open Long」に対応するデータグリッドＤＧに入力されたルールに基づいて、「Open Short」に対応するルールを生成する。また、生成部２４５は、買いシグナルの決済シグナルのルールと、買いシグナルの発生のルールとが反対であるものとし、「Open Long」に対応するデータグリッドＤＧに入力されたルールに基づいて、「Close Long」に対応するルールを生成する。また、生成部２４５は、売りシグナルの決済シグナルのルールと、売りシグナルの発生のルールとが反対であるものとして、「Open Short」に対応するデータグリッドＤＧに入力されたルールに基づいて、「Close Short」に対応するルールを生成する。
【００７６】
「Check Rules」ボタンは、生成されたルール、すなわち、ルールプログラムに対応するルールに矛盾が含まれているか判定を行うためのボタンである。生成部２４５は、「Check Rules」ボタンが押下されると、ルールプログラムに対応するルールに矛盾が含まれているか判定を行い、判定結果をウェブブラウザ上に表示させる。
【００７７】
具体的には、生成部２４５は、買いに係るルールと、売りに係るルールとのそれぞれを集約し、集約されたルールそれぞれについて、判定を行う。
例えば、生成部２４５は、「Ａ＞Ｂ」というルールと、当該ルールと反対のルール「Ｂ＞Ａ」とが集約されたルールに含まれているか判定することにより、ルールに矛盾が含まれているか否かの判定を行う。
【００７８】
また、生成部２４５は、集約したルールの中で同じルールを特定する。そして、生成部２４５は、集約したルールにおいて矛盾が生じているか否かを判定する。
【００７９】
例えば、集約したルールとして、ルールＡ＞ルールＢ、ルールＢ＞ルールＣ、ルールＣ＞ルールＤの３つのルールがある場合を考える。この場合に、ルールＡとルールＤとが同一のルールである場合、これら３つのルールは、ルールＡ＞ルールＢ、ルールＢ＞ルールＣ、ルールＣ＞ルールＡとなり、この３つのルールが同時に成り立たない。したがって、生成部２４５は、これら３つのルールに矛盾が含まれていると判定する。
【００８０】
また、別の例として、５＞Ｂ、Ｂ＞Ｃ、Ｃ＞１０という３つのルールがある場合を考える。この場合、これら３つのルールを集約すると、５＞１０というルールとなり、ルールが成り立たない。したがって、生成部２４５は、これら３つのルールについても矛盾が含まれていると判定する。
【００８１】
また、１つのルールとして、ルールＡ＞ルールＡというルールがある場合を考える。この場合、同一のルール同士の大小を条件としているため、ルールが成り立たない。この場合も、生成部２４５は、これら３つのルールについても矛盾が含まれていると判定する。
【００８２】
また、生成部２４５は、買いに係るルール及び売りに係るルールのそれぞれのシグナル発生条件が同時であった場合にも、ルールに矛盾があると判定する。例えば、買いに係るルールとして、ルールＡ＞ルールＢ＞ルールＣ＞ルールＤと、売りに係るルールとして、ルールＡ＞ルールＥ＞ルールＦ＞ルールＤとがある場合を考える。この場合、買いに係るルール及び売りに係るルールのそれぞれは、ルールＡ＞ルールＤに集約される。この場合、ルールＡ＞ルールＤという条件が成立したことに応じて、売買が同時に行われるので、実際には売買をしていないことと等しい。よって、生成部２４５は、これらのルールについて矛盾が含まれていると判定する。
なお、生成部２４５は、上述した矛盾を判定する処理を組み合わせてより複雑な判定を行うようにしてもよい。
【００８３】
「Generate Source」ボタンは、入力したルールに基づいて、ルールプログラムのソースコードを自動生成するためのボタンである。生成部２４５は、「Generate Source」ボタンが押下されると、ルールプログラムのソースコードを自動生成し、生成したソースコードをウェブブラウザ上に表示させる。
【００８４】
ここで、自動生成されたソースコードでは、売買のルールに対応するソースコードが、独立して生成される。具体的には、買いシグナルを発生させるルールに対応するソースコード、買いシグナルに対応する決済を発生させるルールに対応するソースコード、売りシグナルを発生させるルールに対応するソースコード、及び売りシグナルに対応する決済を発生させるルールに対応するソースコードが独立して生成される。
【００８５】
ここで、生成部２４５は、生成したルールプログラムをストレージに記憶させることが可能である。具体的には、生成部２４５は、図５に示す画面の上部に示されている「Save View」ボタンが押下されると、ウェブブラウザ上に表示される、ソースプログラム以外の全ての情報（以下、全表示情報という）をウェブストレージ２３１にするための保存ダイアログをポップアップ表示させる。図１１は、本実施形態に係る保存ダイアログの例を示す図である。例えば、保存ダイアログに任意の名称（例えば、ＡＡＡ００１）が入力され、「OK」ボタンが押下されると、生成部２４５は、全表示情報を、当該名称と関連付けて、ウェブストレージ２３１に記憶させる。なお、生成部２４５は、入力された名称と関連付けて全表示情報がウェブストレージ２３１に既に記憶されている場合には、エラーメッセージを表示させる。また、生成部２４５は、「Cancel」ボタンが押下されると、全表示情報の保存操作をキャンセルし、保存ダイアログを非表示にする。
【００８６】
なお、生成部２４５は、図５に示す画面の上部に示されている「Apply Rules」ボタンが押下されると、ウェブストレージ２３１に記憶された全表示情報を選択するルール選択ダイアログをウェブブラウザ上に表示させる。図１２は、本実施形態に係るルール選択ダイアログの例を示す図である。ルール選択ダイアログには、「OK」ボタンと「Cancel」ボタンとが表示されている。生成部２４５は、一の名称を選択して「OK」ボタンを押下すると、選択された名称に関連付けられてウェブストレージ２３１に記憶されている全表示情報を、現在表示されているチャートに適用する。例えば、現在表示されているチャートが「ＧＢＰＵＳＤ」であり、選択された全表示情報が、「ＥＵＲＵＳＤ」に対応する場合、生成部２４５は、「ＥＵＲＵＳＤ」のチャートで設定した指標の値を、「ＧＢＰＵＳＤ」の相場データに基づいて算出して表示するとともに、「ＥＵＲＵＳＤ」に対応するルールのパラメータを、「ＧＢＰＵＳＤ」に合わせて設定する。また、生成部２４５は、「Cancel」ボタンが押下されると、選択操作をキャンセルし、ルール選択ダイアログを非表示にする。
【００８７】
また、生成部２４５は、図５に示す画面の上部に示されている「Load View」ボタンが押下されると、ウェブストレージ２３１に記憶された全表示情報を選択する全表示情報選択ダイアログをウェブブラウザ上に表示させる。図１３は、本実施形態に係る全表示情報選択ダイアログの例を示す図である。全表示情報選択ダイアログには、「OK」ボタンと「Cancel」ボタンとが表示されている。生成部２４５は、一の名称を選択して当該「OK」ボタンを押下すると、現在表示されているチャートに代えて、全表示情報に対応するチャートを表示する。すなわち、生成部２４５は、ウェブストレージ２３１に記憶した全表示情報に基づいて、チャート、指標及びルールを設定する。また、生成部２４５は、「Cancel」ボタンが押下されると、選択操作をキャンセルし、全表示情報選択ダイアログを非表示にする。
【００８８】
「Test」ボタンは、生成したルールプログラムに基づいて、売買シミュレーションを行うためのボタンである。
シミュレーション部２４６は、「Test」ボタンが押下されると、生成部２４５が生成したルールプログラムに基づいて、相場データ取得部２４２が取得した相場データから商品の売買シグナルを生成し、売買のシミュレーションを行う。
【００８９】
具体的には、シミュレーション部２４６は、相場データを構成する単位データ及び、指標描画部２４４が表示する際に算出した指標の値を示す指標データを、単位期間の開始時間が古い順から読み込み、ルールプログラムに基づいて、売買シグナル（買いシグナル、売りシグナル、又はこれらのシグナルに対応する決済シグナル）が発生したか否かを判定する。そして、売買シグナルが発生したと判定した場合に、ウェブブラウザ上に表示されているチャートに対して売買シグナルを表示させる。ここで、図１４に示すように、シミュレーション部２４６は、ウェブブラウザ上に、同一の商品に係るチャートが複数表示されている場合、複数のチャート上に売買シグナルを表示させてもよい。
【００９０】
図１５は、シミュレーション部２４６によるシミュレーションに基づく損益線を示す図である。この損益線を示す図は、図４に示されているシミュレーション情報表示画面の一部である。図１５に示されるように、シミュレーション部２４６は、売買シミュレーションを行った場合の損益線を表示させる。なお、この損益線の横軸には注文種別、縦軸には損益額が表示される。
【００９１】
図１６は、シミュレーション部２４６による、シミュレーションに基づく仮想注文履歴を示す図である。この仮想注文履歴を示す図は、図４に示されているシミュレーション情報表示画面の一部である。図１６に示される仮想注文履歴では、「Order No」、「Time」、「Symbol」、「Operation」、「Price」、及び「Volume」が表示されている。「Order No」は、シミュレーションにおける注文番号である。「Time」は、買いシグナル、売りシグナル、又はこれらの決済シグナルが発生して注文が行われた時間、「Symbol」は、シミュレーション対象の商品、「Operation」は、売買種別、「Price」は、売買した際の商品の価格、「Volume」は、商品の購入数を示している。
【００９２】
「Clear」ボタンは、売買シミュレーションで生成された売買シグナルや注文履歴や損益線を消去するためのボタンである。シミュレーション部２４６は、「Clear」ボタンが押下されると、図１４に示される売買シグナル、図１５に示される損益線、及び図１６に示される仮想注文履歴を消去する。
【００９３】
［相場表示装置２に係る処理の動作フロー］
続いて、相場表示装置２に係る処理の動作フローについて説明する。図１７は、本実施形態に係る相場表示装置２に係る処理の流れを示すフローチャートである。
【００９４】
まず、期間受付部２４１は、チャートの描画に係る情報である描画情報を受け付ける。具体的には、期間受付部２４１は、描画情報として、商品識別情報、表示期間、及び単位期間を受け付ける（Ｓ１）。
続いて、相場データ取得部２４２は、ウェブワーカースレッドを用いて、期間受付部２４１が受け付けた表示期間に対応する相場データを取得する相場データ取得処理を実行する（Ｓ２）。この処理の詳細については、後述する。
【００９５】
続いて、チャート描画部２４３は、相場データ取得部２４２が取得した相場データに基づいて、表示部２２に表示されているウェブページ上に、Ｓ１において受け付けた表示期間に対応する商品のチャートを描画する（Ｓ３）。
続いて、指標描画部２４４は、複数の指標の少なくともいずれかに係る指標パラメータを受け付け、当該指標パラメータに基づいて指標を描画する（Ｓ４、Ｓ５）。
【００９６】
続いて、生成部２４５は、ルールプログラムを生成するルール生成処理を実行する（Ｓ６）。この処理の詳細については、後述する。
続いて、シミュレーション部２４６は、ルールプログラムに基づいてシミュレーション処理を実行する（Ｓ７）。この処理の詳細については、後述する。
【００９７】
［相場データ取得処理の動作フロー］
続いて、相場データ取得処理の動作フローについて説明する。図１８は、本実施形態に係る相場データ取得処理のフローチャートである。
【００９８】
まず、相場データ取得部２４２は、期間受付部２４１が受け付けた表示期間の相場データがローカル（ウェブストレージ２３１）に保存されているか否かを判定する（Ｓ２１）。相場データ取得部２４２は、当該相場データがウェブストレージ２３１に保存されていると判定した場合（判定がＹｅｓの場合）、Ｓ２２に処理を移す。また、相場データ取得部２４２は、当該相場データがウェブストレージ２３１に保存されていないと判定した場合（判定がＮｏの場合）、Ｓ２３に処理を移す。
【００９９】
Ｓ２２において、相場データ取得部２４２は、ウェブストレージ２３１から相場データを取得し、本フローチャートに係る処理を終了する。
Ｓ２３において、相場データ取得部２４２は、ローカル（ウェブストレージ２３１）に、短周期相場データ、すなわち、期間受付部２４１が受け付けた単位期間に比べて短い単位期間に係る相場データが保存されているか否かを判定する。相場データ取得部２４２は、短周期相場データがウェブストレージ２３１に保存されていると判定した場合（判定がＹｅｓの場合）、Ｓ２４に処理を移す。また、相場データ取得部２４２は、短周期相場データがウェブストレージ２３１に保存されていないと判定した場合（判定がＮｏの場合）、Ｓ２５に処理を移す。
【０１００】
Ｓ２４において、相場データ取得部２４２は、ウェブストレージ２３１に保存されている短周期相場データに基づいて、期間受付部２４１が受け付けた単位期間の相場データを生成し、本フローチャートに係る処理を終了する。
【０１０１】
Ｓ２５において、相場データ取得部２４２は、ウェブサーバ１にアクセスし、期間受付部２４１が受け付けた商品識別情報、表示期間、及び単位期間に対応する相場データを取得し、本フローチャートに係る処理を終了する。
【０１０２】
［ルール生成処理の動作フロー］
続いて、ルール生成処理の動作フローについて説明する。図１９は、本実施形態に係るルール生成処理のフローチャートである。
【０１０３】
まず、生成部２４５は、表示部２２に表示されているウェブページを介して新規のルールを受け付ける（Ｓ６１）。
続いて、生成部２４５は、表示部２２に表示されているウェブページを介して、ユーザからルールプログラムの生成操作を受け付ける（Ｓ６２）。
続いて、生成部２４５は、買いに係るルール及び売りに係るルールを集約し（Ｓ６３、Ｓ６４）、ルールプログラムのソースコードを生成する（Ｓ６５）。
【０１０４】
続いて、生成部２４５は、生成したルールプログラムのソースコードに矛盾が含まれているか否かを判定する（Ｓ６６）。生成部２４５は、矛盾が含まれていると判定した場合（判定がＹｅｓの場合）、Ｓ６７に処理を移し、エラーメッセージを表示部２２に表示されているウェブページ上に表示させる。また、生成部２４５は、矛盾が含まれていないと判定した場合（判定がＮｏの場合）、本フローチャートに係る処理を終了する。
【０１０５】
なお、本フローチャートにおいて生成部２４５は、生成したルールプログラムのソースコードに矛盾が含まれているか否かを判定したが、これに限らず、ルールプログラムを生成する前に、ルールに矛盾が含まれているか否かを判定してもよい。
【０１０６】
［シミュレーション処理の動作フロー］
続いて、シミュレーション処理の動作フローについて説明する。図２０は、本実施形態に係るシミュレーション処理のフローチャートである。
【０１０７】
まず、シミュレーション部２４６は、単位期間の相場データ等を読み込む（Ｓ７１）。具体的には、シミュレーション部２４６は、相場データを構成する単位データ及び、指標描画部２４４が表示する際に算出した指標の値を示す指標データを、単位期間の開始時間が古い順から読み込む。
【０１０８】
続いて、シミュレーション部２４６は、ルールプログラムに基づいて、買いシグナル（又は買いシグナルに対応する決済シグナル）が発生したか否かを判定する（Ｓ７２）。シミュレーション部２４６は、買いシグナル（又は買いシグナルに対応する決済シグナル）が発生した場合（判定がＹｅｓの場合）、表示部２２に表示されているウェブページ上のチャートに対して、買いシグナル（又は買いシグナルに対応する決済シグナル）を表示させる（Ｓ７３）。また、シミュレーション部２４６は、買いシグナル（又は買いシグナルに対応する決済シグナル）が発生していない場合（判定がＮｏの場合）、Ｓ７４に処理を移す。
【０１０９】
続いて、シミュレーション部２４６は、ルールプログラムに基づいて、売りシグナル（又は売りシグナルに対応する決済シグナル）が発生したか否かを判定する（Ｓ７４）。シミュレーション部２４６は、売りシグナル（又は売りシグナルに対応する決済シグナル）が発生した場合（判定がＹｅｓの場合）、表示部２２に表示されているウェブページ上のチャートに対して、売りシグナル（又は売りシグナルに対応する決済シグナル）を表示させる（Ｓ７５）。また、シミュレーション部２４６は、売りシグナル（又は売りシグナルに対応する決済シグナル）が発生していない場合（判定がＮｏの場合）、Ｓ７６に処理を移す。
【０１１０】
続いて、シミュレーション部２４６は、表示部２２に表示されているチャートの表示期間に対応する相場データ等を全て読み込んだか否かを判定する（Ｓ７６）。シミュレーション部２４６は、全期間の相場データ等を読み込んだ場合（判定がＹｅｓの場合）、本フローチャートを終了し、全期間の相場データ等を読み込んでいない場合（判定がＮｏの場合）、Ｓ７１に処理を移す。
【０１１１】
［第１の実施形態の効果］
以上、第１の実施形態によれば、相場表示プログラムは、ウェブブラウザ上で動作し、商品の過去の相場を表示する相場表示プログラムであって、複数のスレッドにより複数の異なる処理を並列して実行するコンピュータ（相場表示装置２）を、商品の過去の相場の表示期間を受け付ける期間受付部２４１、期間受付部２４１が受け付けた表示期間に対応する相場データを、他の処理と異なるスレッドを用いてウェブサーバ１から取得し、取得した相場データをウェブブラウザがアクセス可能なコンピュータ上のウェブストレージ２３１に記憶させる相場データ取得部２４２、及び相場データ取得部２４２が取得した相場データに基づいて表示期間に対応する商品のチャートを描画するチャート描画部２４３、として機能させることを特徴とする。
【０１１２】
この発明によれば、相場表示プログラムは、ウェブブラウザ上で動作するプログラムであるので、インストール操作を行うことなく、チャートを表示することができる。また、相場表示プログラムは、相場データを画面ＵＩスレッドと異なるウェブワーカースレッドを用いてサーバから取得するので、ブラウザ上の処理遅延を抑制し、相場のチャートを速やかに表示することができる。また、相場表示プログラムは、一度取得した相場データをウェブブラウザがアクセス可能なコンピュータ上のウェブストレージ２３１に記憶させるので、再度同じ相場データを用いてチャートを描画する際に、ウェブストレージ２３１に記憶されている相場データを利用することができる。これにより、相場表示プログラムは、ウェブサーバ１に対するアクセス頻度を減らし、チャートを速やかに描画することができる。
【０１１３】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更又は改良を加えることが可能であることが当業者に明らかである。そのような変更又は改良を加えた形態も本発明の技術的範囲に含まれ得ることが、請求の範囲の記載から明らかである。
【符号の説明】
【０１１４】
１・・・ウェブサーバ、１１・・・記憶部、１２・・・制御部、１２１・・・相場データ受信部、１２２・・・相場データ送信部、２・・・相場表示装置、２１・・・入力部、２１・・・表示部、２３・・・記憶部、２３１・・・ウェブストレージ、２４・・・制御部、２４１・・・期間受付部、２４２・・・相場データ取得部、２４３・・・チャート描画部、２４４・・・指標描画部、２４５・・・生成部、２４６・・・シミュレーション部、３・・・外部サーバ、Ｓ・・・相場表示システム
【要約】
【課題】インストール操作を行うことなく、相場のチャートを速やかに表示する。
【解決手段】相場表示プログラムは、ウェブブラウザ上で動作し、商品の過去の相場を表示する相場表示プログラムであって、複数のスレッドにより複数の異なる処理を並列して実行するコンピュータを、商品の過去の相場の表示期間を受け付ける期間受付部２４１、期間受付部２４１が受け付けた表示期間に対応する相場データを、他の処理と異なるスレッドを用いてウェブサーバ１から取得し、取得した相場データをウェブブラウザがアクセス可能なコンピュータ上のウェブストレージ２３１に記憶させる相場データ取得部２４２、及び相場データ取得部２４２が取得した相場データに基づいて表示期間に対応する商品のチャートを描画するチャート描画部２４３、として機能させる。
【選択図】図３【図１】
0005408683.tif 000002
【図２】
0005408683.tif 000003
【図３】
0005408683.tif 000004
【図４】
0005408683.tif 000005
【図５】
0005408683.tif 000006
【図６】
0005408683.tif 000007
【図７】
0005408683.tif 000008
【図８】
0005408683.tif 000009
【図９】
0005408683.tif 000010
【図１０】
0005408683.tif 000011
【図１１】
0005408683.tif 000012
【図１２】
0005408683.tif 000013
【図１３】
0005408683.tif 000014
【図１４】
0005408683.tif 000015
【図１５】
0005408683.tif 000016
【図１６】
0005408683.tif 000017
【図１７】
0005408683.tif 000018
【図１８】
0005408683.tif 000019
【図１９】
0005408683.tif 000020
【図２０】
0005408683.tif 000021