以下、金融情報処理装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態1)
本実施の形態において、金融商品の2以上の価格情報からトレンドを自動判定し、トレンドに沿ったポジション方向で、ポジションを設定する金融情報処理装置を含む金融情報処理システムについて説明する。なお、ここでの金融商品とは、例えば、FX、株、先物取引等である。
なお、本金融情報処理システムは、例えば、いわゆるiサイクル注文(登録商標)を実現するシステムである。iサイクル注文とは、金融商品の現在価値が予め決められた条件を満たすほど低い場合、最も低い価値のポジション情報より低い価値の1以上のポジション情報を生成する方式である。また、iサイクル注文は、金融商品の現在価値が予め決められた条件を満たすほど高い場合、最も高い価値のポジション情報より高い価値の1以上のポジション情報を生成する方式である。iサイクル注文において、通常、金融商品の価値の変動に関わらず、ポジションの数は一定である。iサイクル注文については、例えば、インターネットのウェブページ(URL:https://www.gaitameonline.com/icycle/)参照のこと。
また、本実施の形態において、トレンドが下降の場合に買いポジションを売りポジションに変え、トレンドが上昇の場合に売りポジションを買いポジションに変える金融情報処理装置を含む金融情報処理システムについて説明する。
また、本実施の形態において、判定したトレンドが「無し」の場合、ポジション方法は変更しない金融情報処理装置を含む金融情報処理システムについて説明する。
また、本実施の形態において、トレンドの自動判定により、ポジション方向が変更された場合、既に存在する1以上のポジションを決済する金融情報処理装置を含む金融情報処理システムについて説明する。なお、かかる場合の決済対象の1以上のポジションは、例えば、決済可能なすべてのポジションである。
また、本実施の形態において、トレンド転換が起きた際、想定変動幅、対象資産、注文間隔等のパラメータを変更しない(以前のパラメータをそのまま利用する)金融情報処理装置を含む金融情報処理システムについて説明する。
図1は、本実施の形態における金融情報処理システムAの概念図である。金融情報処理システムAは、金融情報処理装置1、および1または2以上の端末装置2を備える。金融情報処理装置1は、例えば、金融商品を販売する企業のサーバ装置である。金融情報処理装置1は、例えば、クラウドサーバ、ASPのサーバ等であり、その種類は問わない。また、端末装置2は、例えば、金融商品を購入するユーザの端末である。端末装置2は、例えば、いわゆるパソコン、スマートフォン、携帯端末、タブレット端末等であり、その種類は問わない。
図2は、本実施の形態における金融情報処理システムAのブロック図である。
金融情報処理装置1は、格納部11、受信部13、処理部14、および送信部15を備える。
格納部11は、カレント方向格納部111、注文格納部112、ポジション格納部113、およびパラメータ格納部114を備える。
処理部14は、現在価値取得部141、トレンド判断部142、方向変更部143、注文生成部144、ポジション生成部145、および決済部146を備える。
端末装置2は、端末格納部21、端末受付部22、端末送信部23、端末受信部24、および端末出力部25を備える。
金融情報処理装置1を構成する格納部11は、各種の情報が格納される。各種の情報とは、例えば、現在価値情報、カレント方向情報、注文情報、ポジション情報、各種のパラメータ等である。現在価値情報とは、金融商品の現在の価値に関する情報である。現在価値情報は、例えば、現在の為替レート、現在の株価、現在の先物の価格などである。現在価値情報は、例えば、外部の図示しないサーバ装置から受信された情報である。また、現在価値情報は、例えば、ユーザが金融情報処理装置1に入力した情報等でも良い。各種のパラメータとは、例えば、後述する想定変動幅情報、対象資産情報、注文間隔情報である。
カレント方向格納部111は、カレント方向情報が格納される。カレント方向情報とは、現在の注文の方向に関する情報である。カレント方向情報は、「売り」または「買い」のいずれかを示す情報である。カレント方向格納部111は、例えば、ユーザごとにカレント方向情報を格納している。カレント方向格納部111は、例えば、ユーザ識別子と対にしてカレント方向情報を格納している。ユーザ識別子は、ユーザを識別する情報であり、例えば、ユーザID、メールアドレス、端末装置2のID(MACアドレス)、IPアドレス、氏名等である。ユーザ識別子は、ユーザを識別する情報であれば良く、その種類は問わない。
注文格納部112は、1以上の注文情報を格納し得る。注文情報とは、価値が変動し得る金融商品に対する注文に関する情報である。注文情報は、通常、「売り」または「買い」のいずれかを示す方向情報に対応付けられている情報である。注文情報は、例えば、買いの価格を示す価格情報(以下、適宜「買い価格情報」という。)と売りの価格を示す価格情報(以下、適宜「売り価格情報」という。)とを有する。注文情報は、例えば、ポジションと決済条件とを有する。注文情報がポジションと決済条件とを有する場合であり、ポジション方向が「売り」である場合は、ポジションは「売り価格情報」であり、決済条件は「買い価格情報」である。また、注文情報がポジションと決済条件とを有する場合であり、ポジション方向が「買い」である場合は、ポジションは「買い価格情報」であり、決済条件は「売い価格情報」である。注文格納部112は、例えば、ユーザごとに1以上の注文情報を格納している。注文格納部112は、通常、ユーザ識別子と対にして1以上の注文情報を格納している。
ポジション格納部113は、1以上のポジション情報を格納し得る。ポジション情報とは、金融商品のポジションに関する情報である。ポジションは、価値が変動し得る金融商品の売りまたは買いを行った持ち高の状態を示す。ポジションは、例えば、FXであれば持ち高・為替レート・売買の別などによって表現される。ポジション情報は、例えば、為替レートの情報、購入または販売すべき株価の情報等である。ポジション情報は、対応する注文情報を識別する情報でも良い。ポジション情報は、対応する注文情報へのリンクや、対応する注文情報の識別子等でも良い。ポジション情報は、対応する注文情報を含み、注文が約定したことを示す情報(例えば、フラグ)等でも良い。ポジション格納部113は、通常、ユーザ識別子と対にして1以上のポジション情報を格納している。
パラメータ格納部114は、1以上のパラメータが格納される。パラメータは、例えば、金融商品の取引に関する情報である金融取引情報である。金融取引情報は、注文情報を生成するために使用されるパラメータである。金融取引情報は、例えば、想定変動幅を示す想定変動幅情報、対象資産を示す情報である対象資産情報、注文間隔を示す注文間隔情報、通貨ペア、通貨単位の情報、ポジションの方向を示す方向情報である。なお、以下、想定変動幅情報を単に想定変動幅、対象資産情報を単に対象資産、注文間隔情報を単に注文間隔という場合がある。パラメータ格納部114は、通常、ユーザ識別子と対にして1以上のパラメータを格納している。
パラメータ格納部114は、例えば、ユーザ識別子と各ポジション方向情報(例えば、「売り」「買い」)とに対応付く1以上のパラメータを格納していても良い。かかる場合、通常、ポジション方向が「売り」の場合と「買い」の場合とで、ポジションを算出する際に使用するパラメータは異なる。また、パラメータ格納部114は、例えば、パラメータを算出する式を格納していても良い。かかる場合、式により、算出されるパラメータが異なる。
受信部13は、各種の情報や指示を受信する。受信部13は、例えば、端末装置2または図示しない外部の装置から各種の情報や指示を受信する。各種の情報や指示とは、例えば、注文指示である。注文指示とは、1または2以上の注文を出す指示である。注文指示は、1以上の注文情報を生成するために使用する1以上のパラメータを有する。注文指示は、ユーザ識別子を有する。1以上のパラメータは、例えば、上述した金融取引情報である。また、各種の情報や指示とは、例えば、上述した1以上のパラメータ、現在価値情報等である。
処理部14は、各種の処理を行う。各種の処理とは、例えば、現在価値取得部141、トレンド判断部142、方向変更部143、注文生成部144、ポジション生成部145、決済部146が行う処理である。また、各種の処理とは、例えば、後述するポジションの算出処理である。ポジションの算出処理は、例えば、注文情報の生成処理の一部の処理である。
現在価値取得部141は、金融商品の現在の価値に関する情報である現在価値情報を取得する。現在価値取得部141は、外部の装置から現在価値情報を受信しても良いし、格納部11に格納されている現在価値情報を読みだしても良いし、ユーザ(例えば、管理者)からの入力の受け付けにより現在価値情報を取得しても良い。現在価値取得部141は、通常、取得した現在価値情報を格納部11に蓄積する。現在価値取得部141は、通常、現在価値情報に対応する時刻(日付でも良い)に対応付けて、現在価値情報を格納部11に蓄積する。現在価値情報に対応する時刻または日付は、例えば、現在の時刻または日付である。
トレンド判断部142は、現在価値取得部141が取得した2以上の時刻の異なる際の現在価値情報を用いて、トレンドを判断する。なお、トレンドの判断とは、金融商品の価格が上昇傾向か、下降傾向かを判断することである。また、トレンドの判断とは、金融商品の価格が上昇傾向か、下降傾向か、トレンド無しかを判断することであっても良い。トレンドの判断は、トレンドを4段階以上(例えば、「なりの上昇傾向,少しの上昇傾向,トレンド無し, 少しの下降傾向,かなりの下降傾向」といった5段階)の段階のいずれかであるかの判断を行っても良い。トレンドの判断とは、通常、トレンド情報の取得である。
トレンド判断部142は、現在価値取得部141が取得した2以上の時刻の異なる際の現在価値情報を用いて、トレンド情報を取得する。トレンド情報とは、金融商品の価格のトレンドに関する情報である。トレンド情報は、例えば、上昇傾向を示す「上昇」、下降傾向を示す「下降」のいずれかを取り得る。トレンド情報は、例えば、トレンドが無い状況を示す「無し」の情報を取り得ても良い。2以上の時刻の異なる際の現在価値情報は、通常、現在(最新)の現在価値情報を含む。
トレンド判断部142がトレンドを判断するアルゴリズムは問わない。トレンド判断部142は、公知のトレンド判断のアルゴリズムを使用できる。トレンド判断部142は、例えば、移動平均線のゴールデンクロス、デッドクロスを用いて、上昇トレンドまたは下降トレンドを判断する方法を用いても良い(例えば、インターネットURL「http://www.gaitame.com/smphone/beginner/qa_lesson4.html」参照)。なお、この場合の移動平均線の期間は問わない。また、レンド判断部142は、MACDのゴールデンクロス、デッドクロスを用いて、上昇トレンドまたは下降トレンドを判断する方法を用いても良い(例えば、インターネットURL「http://www.gaitame.com/smphone/beginner/jisseki.html参照)。また、トレンド判断部142は、その他のトレンド判別テクニカルを使用して、トレンド情報を取得しても良い。
また、トレンド判断部142がトレンドを判断するタイミングが問わない。トレンド判断部142は、現在価値情報が取得される毎にトレンドを判断しても良いし、定期的または不定期に間隔をあけてトレンドを判断しても良いし、予め決められた時刻になった場合にトレンドを判断しても良い。また、トレンド判断のタイミングは、ユーザ毎に異なっても良いし、全ユーザに対して同じでも良い。
方向変更部143は、トレンド情報が予め決められた条件を満たす場合、カレント方向格納部111のカレント方向情報を変更する。予め決められた条件は、例えば、カレント方向情報とトレンド情報とがミスマッチの関係にあることである。
方向変更部143は、例えば、カレント方向格納部111に格納されているカレント方向情報が買いを示す情報であり、トレンド判断部142が取得したトレンド情報が下降を示す情報である場合、カレント方向情報を売りを示す情報に変更する。方向変更部143は、例えば、カレント方向格納部111に格納されているカレント方向情報が売りを示す情報であり、トレンド判断部142が取得したトレンド情報が上昇を示す情報である場合、カレント方向情報を買いを示す情報に変更する。
方向変更部143は、トレンド判断部142が取得したトレンド情報がトレンドが無いことを示す情報である場合、カレント方向格納部111のカレント方向情報を変更することは好適である。方向変更部143は、トレンド判断部142が取得したトレンド情報がトレンドが無いことを示す情報である場合、カレント方向情報を変更しないことは好適である。なお、トレンド情報がトレンドが無いことを示す情報である場合に、カレント方向情報を変更するか否かを示す情報をユーザ識別子に対応付けて格納しており、方向変更部143は、当該情報に従って、トレンド判断部142が取得したトレンド情報がトレンドが無いことを示す情報である場合、カレント方向情報を変更したり、カレント方向情報を変更しなかったりしても良い。
注文生成部144は、カレント方向格納部111のカレント方向情報に従って、売りまたは買いのいずれかを示す方向情報に対応付けられる1または2以上の注文情報を生成し、注文格納部112に蓄積する。注文生成部144は、通常、ユーザ識別子に対応付けて、生成した注文情報を注文格納部112に蓄積する。
注文生成部144は、例えば、方向変更部143がカレント方向情報を変更したことをトリガーとして、1以上の注文情報を生成する。注文生成部144は、方向変更部143がカレント方向情報を変更したことをトリガーとして、例えば、以下のような2以上のポジションを算出するポジションの算出処理を行い、当該2以上のポジションに対応する2以上の注文情報を生成し、注文格納部112に蓄積する。注文生成部144は、金融取引情報を用いて、2以上のポジションを算出する。また、注文生成部144は、通常、金融商品の取引によって、対象資産情報が示す対象資産を損失が超えないように、2以上のポジションを算出する。注文生成部144は、例えば、ボラティリティ参考期間と安全係数とを用いて、最大変動PIPSを算出する。そして、注文生成部144は、例えば、当該最大変動PIPSを用いて、2または3以上のポジションを算出する。つまり、注文生成部144は、ユーザごとに、ユーザに対応する1または2以上の金融取引情報を用いて、1以上の他の金融取引情報を算出し、当該算出した金融取引情報を用いて、2または3以上のポジションを算出しても良い。なお、最大変動PIPSとは、最大限に変更するPIPSの幅である。PIPSとは、取引レ−トの最小単位のことである。なお、算出されたポジションは、注文情報を構成する情報となり得る。
注文生成部144は、例えば、金融商品を買うまたは売るポイントであるポジションを算出し、かつ当該金融商品を売るまたは買うポイントも取得しても良い。注文生成部144は、例えば、金融商品を買うポイントであるポジションを算出し、当該金融商品を売るポイントを「買うポイント+P(Pは正の数値であり、例えば、2.00円)」という算出式を用いて、当該金融商品を売るポイントを算出しても良い。例えば、金融商品がFXであり、通貨ペアが米ドルと日本円である場合、注文生成部144が米ドルを買うポイントを「99.00円」と算出した場合、米ドルを売るポイントを「99.00円+2.00円」と算出する。なお、「買うポイント+P」におけるPは固定値でも良いし、金融商品を売るポイントの値または対象資産情報等をパラメータとする演算式により算出される値でも良い。なお、買うポイントであるポジションとは、注文情報が有する買い価格情報に該当する。また、売るポイントであるポジションとは、注文情報が有する売り価格情報に該当する。
例えば、金融取引情報をパラメータとするポジションの算出式の情報が格納部11に格納されており、注文生成部144は、当該算出式の情報が示す算出式に金融取引情報を代入し、2以上のポジションを算出する。ポジションの算出式は、例えば、「B=(Tu×A÷X)+(1.025×A×10×A÷X÷2)」である。ここで、Xはポジション間隔、Aは最大変動PIPS、Bは対象資産(口座資産でも良い)、Tuは必要証拠金(例えば、1ロット千通貨)である。また、上記の式を変形した場合、「X=(Tu×A+5.125×A×A)÷B」となる。
上記の式の場合、注文生成部144は、まず、最大変動PIPS(A)、対象資産(B)、必要証拠金(Tu)を取得する。なお、かかる最大変動PIPS(A)等のパラメータは、ユーザ識別子に対応付けられて、パラメータ格納部114に格納されている。
そして、注文生成部144は、取得した最大変動PIPS(A)、対象資産(B)、必要証拠金(Tu)をポジションの算出式に代入し、ポジション間隔(X)を算出する。そして、注文生成部144は、現在価値から最も近い整数(小数点以下が0)のポイントを第一のポジションとし、ポジション間隔(X)を用いて、第二以降のポジションを取得する。ポジションの算出とは、ポジション方向が「売り」の場合は、通常、注文情報が有する売り価格情報の取得である。また、ポジションの算出とは、ポジション方向が「買い」の場合は、通常、注文情報が有する買い価格情報の取得である。
なお、上記の算出式において、注文生成部144は、XがXmよりも小さい場合はXmを正としてポジションを構成することは好適である。なお、Xmは、予め設定されているポジション間隔の基準値(最小値)である。
注文生成部144は、例えば、一のユーザに対応する幅情報であり、ポジション間の間隔を示す幅情報を用いて、2以上のポジションを算出しても良い。つまり、例えば、注文生成部144は、現在価値情報を格納部11から取得し、当該現在価値情報に最も近い数値であり、小数点以下が0である第一のポジションを取得する。次に、注文生成部144は、例えば、制約を満たさなくなるまで、第一のポジション以降、幅情報が示す幅で、第二以降のポジションを取得していく。
なお、幅情報とは、2以上のポジションの間の幅に関する情報である。なお、3以上のポジションの間の2以上の幅は、通常、一定であるが、一定でなくても良い。幅情報は、例えば、「2.00円」等である。また、幅情報は、2以上のポジション情報と考えても良い。つまり、幅情報は、金融商品の価値の変動に応じて、決済を行う金融商品の価値を示す2以上のポジションであり、金融取引情報を用いて算出された2以上のポジションの情報であると考えても良い。なお、注文生成部144がポジションを算出するアルゴリズムは、種々、あり得、公知技術であるので、詳細な説明は省略する。
注文生成部144は、パラメータ格納部114に格納されているパラメータ(例えば、3つのパラメータ)を変更せずに、当該パラメータを用いて、カレント方向格納部111のカレント方向情報に従って、売りまたは買いのいずれかを示す方向情報に対応付けられる1以上の注文情報を生成し、注文格納部112に蓄積する。ここで、パラメータは、例えば、想定変動幅情報、対象資産情報、注文間隔情報である。注文生成部144は、注文情報を生成する際に使用する情報のうち、ポジション方向情報以外の情報を変更せずに、売りまたは買いのいずれかを示す方向情報に対応付けられる1以上の注文情報を生成し、注文格納部112に蓄積することは好適である。パラメータの変更とは、注文情報を生成するユーザのユーザ識別子に対応付いているパラメータの変更である。
ただし、注文生成部144は、ポジション方向情報以外の情報も変更して、1以上の注文情報を生成し、注文格納部112に蓄積しても良い。つまり、例えば、ユーザ識別子と方向情報(例えば、「売り」および「買い」)に対応付けて、1以上のパラメータ(例えば、想定変動幅情報、対象資産情報、注文間隔情報)がパラメータ格納部114に格納されており、注文生成部144は、ユーザ識別子と方向情報とに対応する1以上のパラメータを取得し、当該1以上のパラメータを用いて、1以上の注文情報を生成する。
注文生成部144は、現在価値情報が示す金融商品の価値が予め決められた生成条件を満たすほど低い場合、注文情報の中で、最も低い価値のポジション情報より低い価値の1以上の注文情報を生成する、または現在価値情報が示す金融商品の価値が予め決められた生成条件を満たすほど高い場合、決済情報が有する注文情報の中で、最も高い価値の注文情報より高い価値の1以上の注文情報を生成する。
ポジション生成部145は、現在価値取得部141が取得した現在価値情報に対応する注文情報に対応するポジション情報を生成し、ポジション格納部113に蓄積する。ポジション生成部145は、例えば、現在価値情報が示す価値と一致または予め決められ条件を満たすほど近似する価格情報を有する注文情報に対応するポジション情報を生成し、ポジション格納部113に蓄積する。ポジション情報の生成とは、対応する注文情報に対応付けて、約定したことを示す情報(例えば、フラグ)を書き込むことでも良い。ポジション情報を生成し、ポジション格納部113に蓄積することは、ポジション格納部113のポジション情報を変更する(例えば、「0」から「1」に変更する)ことでも良い。
決済部146は、現在価値取得部141が取得した現在価値情報に対応するポジション情報に対する決済を行う。
決済部146は、現在価値情報を用いて、決済を行うか否かを判断し、決済を行うと判断した場合に決済を行う。決済部146は、現在価値情報が示す価値が、ポジション情報(または注文情報)に対応する決済条件を満たすか否かを判断し、決済を行うと判断した場合に決済を行う。決済条件は、例えば、現在価値情報が示す価値が、ポジション情報に対応付けられた価値であり、決済を行う価値になることである。また、決済条件は、例えば、現在価値情報が示す価値が、ポジション情報に対応付けられた価値であり、決済を行う価値以下の価値になることである。また、決済条件は、例えば、現在価値情報が示す価値が、ポジション情報に対応付けられた価値であり、決済を行う価値以上の価値になることである。なお、例えば、ポジション情報が示すポジションが「99.00円」である場合、当該ポジション情報に対応付けられた価値は、例えば、「97.00円」である。
決済部146は、方向変更部143がカレント方向情報を変更した場合、ポジション格納部113に格納されているいずれかのポジション情報(決済可能なポジション)に対する決済を行っても良い。決済部146は、方向変更部143がカレント方向情報を変更した場合、ポジション格納部113に格納されているすべてのポジション情報に対する決済を行っても良い。
決済を行うことは、金融商品の決済のための処理である決済処理を行うことである。ここで、決済処理とは、決済を行うことでも良いし、決済の指示を外部の装置に送信することでも良いし、決済に関する情報を印刷すること等でも良い。決済処理とは、決済に関する処理であれば良い。なお、決済部146は、通常、1以上の金融取引情報を用いて決済処理を行う。1以上の金融取引情報は、例えば、通貨ペア、ポジション方向である。
送信部15は、各種の情報を送信する。送信部15は、通常、各種の情報を端末装置2に送信する。各種の情報とは、生成された1以上の注文情報、生成された1以上のポジション情報、決済部146により決済された旨の情報、決済の結果である収益の情報または損失の情報等である。
端末装置2を構成する端末格納部21は、情報を格納し得る。情報とは、例えば、ユーザを識別するユーザ識別子である。ユーザ識別子は、例えば、ユーザID、メールアドレス、端末装置2のID(MACアドレス)、IPアドレス、氏名等である。
端末受付部22は、ユーザから情報や指示等を受け付ける。情報や指示等とは、例えば、幅情報等の金融取引情報などである。
情報や指示等の入力手段は、キーボードやマウスやタッチパネルやメニュー画面によるもの等、何でも良い。端末受付部22は、キーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
端末送信部23は、端末受付部22が受け付けた指示や情報等を、金融情報処理装置1に送信する。また、ここでの指示や情報等は、例えば、1以上の金融取引情報、1以上の金融取引情報とユーザ識別子等である。
端末受信部24は、金融情報処理装置1から情報を受信する。端末受信部24は、例えば、1以上の金融取引情報等の送信に応じて、金融情報処理装置1から2以上の注文情報を受信する。また、端末受信部24は、決済の結果を金融情報処理装置1から受信する。
端末出力部25は、端末受信部24が受信した情報を出力する。また、端末出力部25は、端末受付部22は、ユーザから受け付けた情報や指示等を出力する。
また、ここでの出力とは、通常、ディスプレイへの表示であるが、プロジェクターを用いた投影、プリンタでの印字、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。
格納部11、カレント方向格納部111、注文格納部112、ポジション格納部113、パラメータ格納部114、および端末格納部21は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
格納部11等に情報が記憶される過程は問わない。例えば、記録媒体を介して情報が格納部11等で記憶されるようになってもよく、通信回線等を介して送信された情報が格納部11等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された情報が格納部11等で記憶されるようになってもよい。
受信部13、および端末受信部24は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
送信部15は、および端末送信部23は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
端末出力部25は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。端末出力部25は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
次に、金融情報処理システムAの動作について説明する。まず、金融情報処理装置1の動作について、図3のフローチャートを用いて説明する。
(ステップS301)受信部13は、端末装置2から注文指示を受信したか否かを判断する。注文指示を受信した場合はステップS302に行き、注文指示を受信しなかった場合はステップS304に行く。
(ステップS302)注文生成部144は、注文生成処理を行う。注文生成処理について図4のフローチャートを用いて説明する。
(ステップS303)送信部15は、ステップS302で生成された1以上の注文情報を端末装置2に送信する。ステップS301に戻る。なお、送信された1以上の注文情報は、通常、端末装置2で出力される。
(ステップS304)トレンド判断部142は、トレンド判断のタイミングが否かを判断する。トレンド判断のタイミングであればステップS305に行き、トレンド判断のタイミングでなければステップS307に行く。
(ステップS305)トレンド判断部142は、現在価値取得部141が取得した2以上の時刻の異なる際の現在価値情報を格納部11から取得する。そして、トレンド判断部142は、取得した2以上の現在価値情報を用いて、トレンドを判断し、トレンド情報を取得する。
(ステップS306)方向変更部143、および注文生成部144は、トレンド注文処理を行う。ステップS301に戻る。トレンド注文処理について、図8のフローチャートを用いて説明する。なお、トレンド注文処理とは、ステップS305で取得されたトレンド情報を用いた注文処理である。
(ステップS307)現在価値取得部141は、現在価値情報を取得したか否かを判断する。現在価値情報を取得した場合はステップS308に行き、現在価値情報を取得しなかった場合はステップS301に戻る。
(ステップS308)ポジション生成部145は、ステップS307で取得された現在価値情報を用いて、約定処理を行う。約定処理について、図9のフローチャートを用いて説明する。
(ステップS309)決済部146は、ステップS307で取得された現在価値情報を用いて、決済処理を行う。ステップS301に戻る。決済処理について、図10のフローチャートを用いて説明する。
なお、図3のフローチャートにおいて、現在価値情報の取得を約定処理と決済処理のトリガーとした。しかし、約定処理と決済処理のトリガーは他でも良い。
また、図3のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、ステップS302の注文生成処理について、図4のローチャートを用いて説明する。
(ステップS401)注文生成部144は、ステップS301で受信された注文指示が有する1以上の金融取引情報をパラメータ格納部114から取得する。ここで取得される1以上の金融取引情報は、注文指示を送信してきた端末装置2に対応するユーザのユーザ識別子と対になるパラメータである。
(ステップS402)注文生成部144は、格納部11から現在価値情報を取得する。この現在価値情報は、最新の現在価値情報である。
(ステップS403)注文生成部144は、ステップS401で取得した1以上の金融取引情報を用いて、1以上のポジションを算出する。なお、かかるポジション算出処理の例について、図5〜図7のフローチャートを用いて説明する。また、注文生成部144は、例えば、現在価値情報をも用いて、1以上のポジションを算出する。
(ステップS404)注文生成部144は、ステップS403で算出された1以上の各ポジションを用いて、1以上の注文情報を構成する。注文生成部144は、例えば、1以上の各ポジションに対応する決済条件を取得し、当該ポジションと決済条件とを有する1以上の注文情報を構成する。
(ステップS405)送信部16は、ステップS404で構成した1以上の注文情報を、注文指示を送信した端末装置2のユーザのユーザ識別子に対応付けて、注文格納部112に蓄積する。上位処理にリターンする。
次に、ステップS403のポジション算出処理の第一の例について、図5のフローチャートを用いて説明する。
(ステップS501)注文生成部144は、ボラティリティ参考期間と安全係数とを用いて、最大変動PIPS(X)を算出する。注文生成部144は、通常、注文指示に含まれるユーザ識別子と対になるボラティリティ参考期間の変動PIPS(CP)をパラメータ格納部114から取得し、「最大変動PIPS(X)=変動PIPS(CP)×安全係数」により、最大変動PIPS(X)を算出する。なお、注文生成部144は、例えば、最大変動PIPS(X)を算出するための演算式の情報を予め保持している、とする。なお、安全係数を用いずに、最大変動PIPS(X)を算出しても良い。
(ステップS502)注文生成部144は、Nに2を代入する。
(ステップS503)注文生成部144は、ポジションの候補を算出する。ポジション候補の算出方法について、図6のフローチャートを用いて説明する。
(ステップS504)注文生成部144は、ステップS503で算出した1または2以上のポジション候補に対して、各ポジション候補の評価損益を算出する。注文生成部144は、例えば、「評価損益=ポジション候補のPIP×ロット単位×通貨単位」により、ポジション候補の評価損益を算出する。
(ステップS505)注文生成部144は、ステップS504で算出した各ポジション候補の評価損益、および証拠金の情報を用いて、ユーザの負担(a)を算出する。負担(a)は、「各ポジション候補の評価損益の和+証拠金×ポジション候補の数」である。
(ステップS506)注文生成部144は、「当該ユーザの対象資産<a」を満たすか否かを判断する。「当該ユーザの対象資産<a」を満たす場合はステップS507に行き、「当該ユーザの対象資産<a」を満たさない場合はステップS510に行く。なお、ユーザの対象資産は、例えば、ユーザ識別子に対応付けられて、格納部11に格納されている、とする。また、ここでの対象資産は、口座資産でも良い。
(ステップS507)注文生成部144は、変数「ポジション数」に「N−1」を代入する。変数「ポジション数」は、最終的なポジションの数である。
(ステップS508)注文生成部144は、ポジション数が(N−1)の際のすべてのポジションをバッファから取得する。
(ステップS509)注文生成部144は、ポジションの幅(間隔)を取得する。上位処理にリターンする。
次に、ステップS503のポジション候補の算出方法について、図6のフローチャートを用いて説明する。
(ステップS601)注文生成部144は、カウンタiに1を代入する。
(ステップS602)注文生成部144は、ポジション候補Pi「(X/N)×i」を算出する。
(ステップS603)注文生成部144は、カウンタiを1、インクリメントする。
(ステップS604)注文生成部144は、iとNとが等しいか否かを判断する。iとNが等しければステップS605に行き、iとNが等しくなければステップS602に戻る。
(ステップS605)注文生成部144は、すべてのポジションを図示しないバッファに格納する。上位処理にリターンする。なお、すべてのポジションとは、P1からPiのポジションである。
次に、ステップS403のポジション算出処理の第二の例について、図7のフローチャートを用いて説明する。なお、図7のフローチャートにおいて、図5のフローチャートと同一のステップについて説明を省略する。
(ステップS701)注文生成部144は、カウンタiに1を代入する。
(ステップS702)注文生成部144は、ポジション候補Pi「現在価値−i×x(xは定数)」を算出し、バッファに一時蓄積する。なお、現在価値は、現在価値情報が示す価値(例えば、為替レート、株価等)である。また、xは、例えば、50PIPSである。
(ステップS703)注文生成部144は、ポジション候補Piが、現在価値からの最大変動PIPS(X)を超えないか否かを判断する。超えない場合はステップS704に行き、超える場合はステップS709に行く。
(ステップS704)注文生成部144は、i番目のポジション候補に対する評価損益を算出する。注文生成部144は、例えば、「評価損益=ポジション候補のPIP×ロット単位×通貨単位」により、ポジション候補の評価損益を算出する。
(ステップS705)注文生成部144は、ポジション候補Piの評価損益、および証拠金の情報を用いて、ポジション候補Piに対するユーザの負担(ai)を算出する。負担(ai)は、通常、「ポジション候補Piの評価損益+証拠金」である。
(ステップS706)注文生成部144は、ユーザの負担全体(a)を算出する。ユーザの負担全体(a)は、a1からaiまでの和である。
(ステップS707)注文生成部144は、「当該ユーザの対象資産<a」を満たすか否かを判断する。「当該ユーザの対象資産<a」を満たす場合はステップS708に行き、「当該ユーザの対象資産<a」を満たさない場合はステップS709に行く。なお、ここで口座資産は、対象資産でも良い。また、対象資産は、口座資産の一部でも良い。
(ステップS708)注文生成部144は、カウンタiを1、インクリメントする。
(ステップS709)注文生成部144は、変数「ポジション数」に「i−1」を代入する。変数「ポジション数」は、最終的なポジションの数である。
(ステップS710)注文生成部144は、P1からがPi−1までのすべてのポジションをバッファから取得する。上位処理にリターンする。
次に、ステップS306のトレンド注文処理について、図8のフローチャートを用いて説明する。
(ステップS801)方向変更部143は、カウンタiに1を代入する。
(ステップS802)方向変更部143は、i番目のユーザ識別子が格納部11(カレント方向格納部111や注文格納部112でも良い)に格納されているか否かを判断する。格納されている場合はステップS803に行き、格納されていない場合は上位処理にリターンする。
(ステップS803)方向変更部143は、i番目のユーザ識別子と対になるカレント方向情報をカレント方向格納部111から取得する。
(ステップS804)方向変更部143は、i番目のユーザ識別子で識別されるユーザのカレント方向情報をカレント方向格納部111から取得する。そして、方向変更部143は、i番目のユーザのカレント方向情報がトレンド情報に適合するか否かを判断する。適合する場合はステップS807に行き、適合しない場合はステップS805に行く。なお、i番目のユーザの方向情報がトレンド情報に適合しないことは、i番目のユーザにとって、上述した「トレンド情報が予め決められた条件を満たす場合」である。なお、方向変更部143は、通常、カレント方向情報が「売り」でありトレンド情報が「下降」である場合は「適合する」と判断し、カレント方向情報が「買い」でありトレンド情報が「上昇」である場合は「適合する」と判断する。
(ステップS805)方向変更部143は、i番目のユーザのカレント方向情報を変更する。つまり、方向変更部143は、i番目のユーザ識別子と対になる方向情報を変更する。方向情報の変更は、例えば、「売り」から「買い」への変更、「買い」から「売り」への変更である。
(ステップS806)注文生成部144は、ステップS805で変更されたカレント方向情報を用いて、当該カレント方向情報に従ったポジション方向で、注文情報を生成する、かかる注文情報の生成は、図4に示す注文生成処理と同様でも良い。ただし、かかる注文情報の生成は、図4に示す注文生成処理以外の注文情報の生成処理でも良い。例えば、注文生成部144は、ステップS805で変更されたカレント方向情報に従ったポジション方向で、i番目のユーザ識別子と対になるパラメータを用いて、1以上の注文情報を生成すれば良い。また、注文生成部144は、さらに現在価値情報を用いて、1以上の注文情報を生成することは好適である。
例えば、i番目のユーザのカレント方向情報が「買い」であり、トレンド情報が「下降」であった場合、方向変更部143は、当該ユーザのカレント方向情報を「売り」に変更し、注文生成部144は、現在価値情報が示す価値と同じ価値の売り価格情報を有する一つの注文情報であり、方向情報「売り」を有する注文情報を生成する。かかる注文情報は、例えば、「現在価値情報−2.00円」の価値の買い価格情報(決済条件)を有する。
また、例えば、i番目のユーザのカレント方向情報が「売り」であり、トレンド情報が「上昇」であった場合、方向変更部143は、当該ユーザのカレント方向情報を「買い」に変更し、注文生成部144は、現在価値情報が示す価値と同じ価値の買い価格情報を有し、かつ「現在価値情報+3.00円」の価値の売り価格情報(決済条件)を有する注文情報を含む、2以上の注文情報をしても良い。
(ステップS807)方向変更部143は、カウンタiを1、インクリメントする。ステップS802に戻る。
ステップS308の約定処理について、図9のフローチャートを用いて説明する。
(ステップS901)ポジション生成部145は、カウンタiに1を代入する。
(ステップS902)ポジション生成部145は、i番目のユーザ識別子が格納部11(注文格納部112でも良い)に格納されているか否かを判断する。格納されている場合はステップS903に行き、格納されていない場合は上位処理にリターンする。
(ステップS903)ポジション生成部145は、カウンタjに1を代入する。
(ステップS904)ポジション生成部145は、i番目のユーザ識別子およびj番目の注文情報が存在するか否かを判断する。当該注文情報が存在する場合はステップS905に行き、存在しない場合はステップS908に行く。
(ステップS905)ポジション生成部145は、現在価値情報がj番目の注文情報に適合するか否かを判断する。適合する場合はステップS906に行き、適合しない場合はステップS907に行く。なお、ここでの適合とは、注文を約定する状態になっていることである。
(ステップS906)ポジション生成部145は、i番目のユーザ識別子のj番目の注文情報の約定のための処理を行う。約定のための処理は、例えば、i番目のユーザ識別子に対応付けて、j番目の注文情報に対応する売り価格情報と買い価格情報とを有するポジション情報を生成し、ポジション格納部113に蓄積する処理でも良い。また、約定のための処理は、例えば、i番目のユーザ識別子に対応するj番目の注文情報に約定を示す情報(例えば、ポジション情報であり、上述したフラグ)を付加する処理等でも良い。
(ステップS907)ポジション生成部145は、カウンタjを1、インクリメントする。ステップS904に戻る。
(ステップS908)ポジション生成部145は、カウンタiを1、インクリメントする。ステップS902に戻る。
ステップS309の決済処理について、図10のフローチャートを用いて説明する。
(ステップS1001)決済部146は、カウンタiに1を代入する。
(ステップS1002)決済部146は、i番目のユーザ識別子が格納部11(ポジション格納部113、注文格納部112でも良い)に格納されているか否かを判断する。格納されている場合はステップS1003に行き、格納されていない場合は上位処理にリターンする。
(ステップS1003)決済部146は、カウンタjに1を代入する。
(ステップS1004)決済部146は、i番目のユーザ識別子およびj番目のポジション情報が存在するか否かを判断する。当該ポジション情報が存在する場合はステップS1005に行き、存在しない場合はステップS1008に行く。
(ステップS1005)決済部146は、現在価値情報がj番目のポジション情報に適合するか否かを判断する。適合する場合はステップS1006に行き、適合しない場合はステップS1007に行く。ここでの適合は、現在価値情報が決済条件に適合することである。ここでの適合は、現在価値情報に対して、j番目のポジション情報またはj番目のポジション情報と対になる注文情報が決済するための条件を満たすことである。
(ステップS1006)決済部146は、i番目のユーザ識別子のj番目のポジション情報の決済のための処理を行う。j番目のポジション情報の決済のための処理は、j番目のポジション情報に対応する注文情報の決済のための処理である、と言っても良い。
(ステップS1007)決済部146は、カウンタjを1、インクリメントする。ステップS1004に戻る。
(ステップS1008)決済部146は、カウンタiを1、インクリメントする。ステップS1002に戻る。
次に、端末装置2の動作について、図11のフローチャートを用いて説明する。
(ステップS1101)端末受付部22は、金融取引情報等を受け付けたか否かを判断する。金融取引情報等を受け付ければステップS1102に行き、金融取引情報等を受け付けなければステップS1106に行く。なお、金融取引情報等とは、例えば、金融取引情報を含む注文指示である。
(ステップS1102)端末処理部23は、端末格納部21からユーザ識別子を取得する。
(ステップS1103)端末送信部24は、ステップS1101で受け付けられた金融取引情報等とステップS1102で取得したらユーザ識別子とを金融情報処理装置1に送信する。ここで送信される情報は、例えば、上述した注文指示である。ここでの注文指示は、通常、ユーザ識別子を含む。
(ステップS1104)端末受信部25は、ステップS1103における金融取引情報等の送信に応じて、1または2以上の注文情報を金融情報処理装置1から受信したか否かを判断する。1以上の注文情報を受信すればステップS1105に行き、受信しなければステップS1104に戻る。
(ステップS1105)端末出力部25は、ステップS1104で受信された1以上の注文情報を出力する。ステップS1101に戻る。
(ステップS1106)端末受付部22は、情報の出力指示を受け付けたか否かを判断する。出力指示を受け付ければステップS1107に行き、出力指示を受け付けなければステップS1101に戻る。なお、出力指示は、注文情報、ポジション情報、パラメータ等の情報の出力の指示である。
(ステップS1107)端末処理部23は、端末格納部21からユーザ識別子を取得する。
(ステップS1108)端末送信部24は、ステップS1107で取得したユーザ識別子を含む出力指示を金融情報処理装置1に送信する。
(ステップS1109)端末受信部25は、ステップS1108における出力指示の送信に応じて、情報を金融情報処理装置1から受信したか否かを判断する。情報を受信すればステップS1110に行き、受信しなければステップS1109に戻る。
(ステップS1110)端末出力部25は、ステップS1109で受信された情報を出力する。ステップS1101に戻る。なお、かかる情報は、当該ユーザの注文情報、ポジション情報、パラメータ等である。
なお、図11のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
以下、本実施の形態における金融情報処理システムAの具体的な動作について説明する。金融情報処理システムAの概念図は図1である。
今、金融情報処理装置1の格納部11は、図12に示す注文等管理表を格納している。注文等管理表は、各ユーザの注文情報等を管理する表である。注文等管理表は、「ID」「ユーザ識別子」「カレント方向情報」「注文情報」「ポジション情報」「パラメータ群」等を有する1以上のレコードを管理している。「注文情報」は「ポジション」「決済条件」を有する。「パラメータ群」は、複数のパラメータであり、ここでは「想定変動幅」「対象資産」「注文間隔」を有する。「ID」はレコードを識別する情報である。「注文情報」の「ポジション」は売りまたは買いのポジションである。「注文情報」の「決済条件」は決済する金額を示す。ここで、例えば、「パラメータ群」として、通貨ペア、ボラ参考期間、安全係数、通貨単位等も有する、とする。また、図12に示す注文等管理表の「ID=1」の「通貨ペア」は「米ドル/日本円」、「ボラ参考期間」は「90日」、「安全係数」は「2倍」、「通貨単位」は「千通過」である、とする。また、「ポジション情報」の「1」は注文が約定して、ポジションになっていることを示す。「ポジション情報」が「0」の場合、注文が約定していないことを示す。
なお、図12に示す注文等管理表の「ID=1」のレコードは、ユーザ識別子「AAA」で識別されるユーザの端末装置2から、上述したiサイクル注文におけるFXの注文のための指示であり、金融取引情報等を含む注文指示を、金融情報処理装置1の受信部13が受信した場合に、注文生成部144により生成され、蓄積された情報を含む。そして、現在価値取得部141が現在価値情報を取得した後、ポジション生成部145は、上述した約定処理を行い、当該現在価値情報に対応するポジション情報に「1」が書き込まれる。「ID=1」のレコードのポジション情報「1」は、かかる情報である。そして、注文生成部144が注文情報等を生成した後、送信部15は、生成された1以上の注文情報等を端末装置2に送信する。
そして、端末装置2の端末受信部25は、注文指示の送信に応じて、1または2以上の注文情報を金融情報処理装置1から受信する。端末出力部25は、ステップS1104で受信された1以上の注文情報を出力する。
かかる状況において、現在価値取得部141は、現在価値情報を、図示しない外部装置から受信した、とする。そして、現在価値取得部141は、受信した現在価値情報を現在時刻と対にして、格納部11に蓄積する。
そして、ここで、トレンド判断部142は、トレンド判断のタイミングである、と判断した、とする。なお、トレンド判断部142は、ここでは、予め決められた時刻になった場合、トレンド判断のタイミングである、と判断する、とする。
次に、トレンド判断部142は、最新の現在価値情報を含む、2以上の時刻の異なる際の現在価値情報を格納部11から取得する。そして、トレンド判断部142は、取得した2以上の現在価値情報を用いて、トレンドを判断し、トレンド情報「上昇」を取得した、とする。
次に、決済部146は、カレント方向情報「売り」に対応し、決済可能なポジション情報「1」に対応する注文情報(ポジション情報と言っても良い)に対して、決済を行う。
次に、方向変更部143は、カレント方向情報「売り」に対応するユーザ識別子(例えば、「AAA」)に対応するカレント方向情報を「買い」に変更する。
なお、以下、図12の「ID=1」のレコードに対応する、ユーザ識別子「AAA」で識別されるユーザに対して、トレンドに適合する注文を行う処理について説明する。
注文生成部144は、カレント方向情報の変更前の情報が「売り」に対応するユーザ識別子(ここでは「AAA」)に対応するパラメータ群(例えば、想定変動幅「9.0」、対象資産「200万円」、注文間隔「1.0」等)を取得する。また、注文生成部144は、ユーザ識別子「AAA」と対になるカレント方向情報「買い」を格納部11から取得する。また、注文生成部144は、最新の現在価値情報(例えば、「106.0円」)を格納部11(または図示しない外部装置)から取得する。
そして、注文生成部144は、変更されたカレント方向情報を用いて、当該カレント方向情報「売り」に従ったポジション方向で、iトレンドサイクルの注文情報を生成する。つまり、注文生成部144は、例えば、図13に示す注文情報を生成し、注文情報格納部112に蓄積する。なお、図13の注文情報は、ユーザ識別子「AAA」に対応付いている。なお、図13に示す注文情報を生成する処理は、iトレンドサイクルの注文情報の生成処理であり、公知技術であるので、詳細な説明は省略する。
次に、送信部15は、生成された1以上の注文情報(例えば、図13の注文情報)を端末装置2に送信する。
なお、上記の具体例において、決済部146は、カレント方向情報「売り」に対応し、決済可能なポジション情報「1」に対応する注文情報(ポジション情報と言っても良い)に対して、決済を行った。しかし、かかる決済は行わなくても良い。
また、上記具体例において、ポジション生成部145は、以下のように約定処理を行う。つまり、ポジション生成部145は、現在価値情報が各注文情報に適合するか否かを判断する。そして、ポジション生成部145は、現在価値情報に適合する注文情報と対になるポジション情報を、「0」またはNULLから「1」に変更する。
また、上記具体例において、決済部146は、以下のように決済処理を行う。つまり、決済部146は、現在価値情報が各ポジション情報に適合するか否かを判断する。詳細には、決済部146は、ポジション情報が「1」であり、当該ポジション情報と対になる決済条件が現在価値情報と一致する、または当該決済条件と現在価値情報とが予め決められた条件を満たすほど近似すると判断した場合、当該ポジション情報の決済のための処理を行う。
また、ユーザ識別子「AAA」で識別されるユーザの端末装置2が1以上の注文情報を受信すると、当該1以上の注文情報を出力する。
さらに、上記具体例において、トレンドが無いと判断された場合に、カレント方向情報と逆のポジション方向の1以上の注文情報を生成しても良いし、注文情報を生成しなくても良い。
以上、本実施の形態によれば、現在の注文のポジション方向に対してトレンドが異なっていると判断した場合に、トレンドに適合したポジション方向により自動的に注文ができる。
また、本実施の形態によれば、トレンドが無いと判断された場合にでも適切に自動的に注文ができる。
また、本実施の形態によれば、トレンドの変更を検知した場合に、当該トレンドに適合した決済が可能になる。
また、本実施の形態によれば、トレンドの変更を検知した場合に、適切なパラメータを使用した注文ができる。
また、本実施の形態によれば、iサイクル注文において、トレンドに適合したポジション方向により自動的に注文ができる。
なお、本実施の形態における処理は、スタンドアロンで実現されても良い。かかる場合、金融情報処理装置3の構造は、図14に示すようにブロック図となる。図14において、金融情報処理装置3は、金融情報処理装置3は、格納部11、受付部33、処理部14、および出力部35を備える。
受付部33は、各種の情報や指示等を受け付ける。各種の情報や指示等とは、例えば、注文指示である。受付部33は、キーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
出力部35は、各種の情報を出力する。各種の情報とは、例えば、生成された1以上の注文情報、生成された1以上のポジション情報、決済部146により決済された旨の情報、決済の結果である収益の情報または損失の情報等である。出力部35は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。出力部35は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
さらに、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをCD−ROMなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態における金融情報処理装置1を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータがアクセス可能な記録媒体は、現在の注文の方向に関する情報であり、売りまたは買いのいずれかを示すカレント方向情報が格納されるカレント方向格納部と、価値が変動し得る金融商品に対する注文に関する情報であり、売りまたは買いのいずれかを示す方向情報に対応付けられている1以上の注文情報を格納し得る注文格納部とを具備し、コンピュータを、前記金融商品の現在の価値に関する情報である現在価値情報を取得する現在価値取得部と、前記現在価値取得部が取得した2以上の時刻の異なる際の現在価値情報を用いて、前記金融商品の価格のトレンドに関する情報であるトレンド情報を取得するトレンド判断部と、前記トレンド情報が予め決められた条件を満たす場合、前記カレント方向格納部に格納されているカレント方向情報とは逆のカレント方向情報に従って、売りまたは買いのいずれかを示す方向情報に対応付けられる注文情報を生成し、前記注文格納部に蓄積する注文生成部として機能させるためのプログラムである。
また、上記プログラムにおいて、コンピュータを、前記トレンド情報が予め決められた条件を満たす場合、前記カレント方向格納部のカレント方向情報を変更する方向変更部としてさらに機能させ、前記注文生成部は、前記変更したカレント方向情報に従って、売りまたは買いのいずれかを示す方向情報に対応付けられる注文情報を生成し、前記注文格納部に蓄積するものとして、コンピュータを機能させるプログラムであることは好適である。
また、上記プログラムにおいて、前記方向変更部は、前記トレンド判断部が取得したトレンド情報がトレンドが無いことを示す情報である場合、前記カレント方向情報を変更しないものとして、コンピュータを機能させるプログラムであることは好適である。
また、上記プログラムにおいて、コンピュータがアクセス可能な記録媒体は、金融商品のポジションに関する情報である1以上のポジション情報を格納し得るポジション格納部を具備し、コンピュータを、前記現在価値取得部が取得した現在価値情報に対応する注文情報に対応するポジション情報を生成し、前記ポジション格納部に蓄積するポジション生成部と、前記前記現在価値取得部が取得した現在価値情報に対応するポジション情報に対する決済を行う決済部としてさらに機能させるプログラムであることは好適である。
また、上記プログラムにおいて、前記注文生成部は、前記カレント方向格納部に格納されているカレント方向情報が買いを示す情報であり、前記トレンド判断部が取得したトレンド情報が下降を示す情報である場合、売りの方向情報に対応付けられる注文情報を生成し、前記注文格納部に蓄積し、前記カレント方向格納部に格納されているカレント方向情報が売りを示す情報であり、前記トレンド判断部が取得したトレンド情報が上昇を示す情報である場合、買いの方向情報に対応付けられる注文情報を生成し、前記注文格納部に蓄積するものとして、コンピュータを機能させるプログラムであることは好適である。
また、上記プログラムにおいて、前記決済部は、前記トレンド情報が予め決められた条件を満たした場合、前記注文格納部に格納されている1以上の注文情報に対応するポジションに対する決済を行うものとして、コンピュータを機能させるプログラムであることは好適である。
また、上記プログラムにおいて、前記決済部は、前記トレンド情報が予め決められた条件を満たした場合、前記注文格納部に格納されている1以上の注文情報に対応するすべてのポジションに対する決済を行うものとして、コンピュータを機能させるプログラムであることは好適である。
また、上記プログラムにおいて、記録媒体は、パラメータである想定変動幅、対象資産、および注文間隔が格納されるパラメータ格納部をさらに具備し、前記注文生成部は、前記パラメータ格納部に格納されている前記3つのパラメータを変更せずに、前記3つのパラメータを用いて、前記カレント方向格納部のカレント方向情報に従って、売りまたは買いのいずれかを示す方向情報に対応付けられる1以上の注文情報を生成し、前記注文格納部に蓄積する
ものとして、コンピュータを機能させるプログラムであることは好適である。
また、上記プログラムにおいて、前記注文生成部は、前記現在価値情報が示す金融商品の価値が予め決められた生成条件を満たすほど低い場合、前記決済情報が有するポジション情報の中で、最も低い価値のポジション情報より低い価値の1以上のポジション情報を生成する、または前記現在価値情報が示す金融商品の価値が予め決められた生成条件を満たすほど高い場合、前記決済情報が有するポジション情報の中で、最も高い価値のポジション情報より高い価値の1以上のポジション情報を生成するものとして、コンピュータを機能させるプログラムであることは好適である。
また、上記プログラムにおいて、前記金融商品の価値の変動に関わらず、ポジションの数は一定であるものとして、コンピュータを機能させるプログラムであることは好適である。
また、図15は、本明細書で述べたプログラムを実行して、上述した種々の実施の形態の金融情報処理装置1等を実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。図15は、このコンピュータシステム300の概観図であり、図16は、システム300のブロック図である。
図15において、コンピュータシステム300は、CD−ROMドライブを含むコンピュータ301と、キーボード302と、マウス303と、モニタ304とを含む。
図16において、コンピュータ301は、CD−ROMドライブ3012に加えて、MPU3013と、CD−ROMドライブ3012等に接続されたバス3014と、ブートアッププログラム等のプログラムを記憶するためのROM3015と、MPU3013に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのRAM3016と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク3017とを含む。ここでは、図示しないが、コンピュータ301は、さらに、LANへの接続を提供するネットワークカードを含んでも良い。
コンピュータシステム300に、上述した実施の形態の金融情報処理装置1等の機能を実行させるプログラムは、CD−ROM3101に記憶されて、CD−ROMドライブ3012に挿入され、さらにハードディスク3017に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ301に送信され、ハードディスク3017に記憶されても良い。プログラムは実行の際にRAM3016にロードされる。プログラムは、CD−ROM3101またはネットワークから直接、ロードされても良い。
プログラムは、コンピュータ301に、上述した実施の形態の金融情報処理装置1等の機能を実行させるオペレーティングシステム(OS)、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム300がどのように動作するかは周知であり、詳細な説明は省略する。
なお、上記プログラムにおいて、情報を送信するステップや、情報を受信するステップなどでは、ハードウェアによって行われる処理、例えば、送信ステップにおけるモデムやインターフェースカードなどで行われる処理(ハードウェアでしか行われない処理)は含まれない。
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
また、上記各実施の形態において、一の装置に存在する2以上の通信手段は、物理的に一の媒体で実現されても良いことは言うまでもない。
また、上記各実施の形態において、各処理は、単一の装置によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。