以下、金融情報処理装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態1)
本実施の形態において、損失拡大の方向に動いてしまった時のために、間隔が広がるように注文を生成する融情報処理装置を有する金融情報処理システムについて説明する。なお、間隔の広がり方は、一定の広がり方でも良いし、不規則な広がり方でも良い。
また、本実施の形態において、リスク軽減値を用いて、一定の間隔で間隔が広がる注文を生成する融情報処理装置を有する金融情報処理システムについて説明する。
また、本実施の形態において、指定価格に対して、上の価格および下の価格の両方の注文を生成する金融情報処理装置を有する金融情報処理システムについて説明する。なお、かかる注文は、いわゆるWサイクル注文と言う、金融商品の自動注文を実現する。なお、ここでの金融商品とは、例えば、FX、株、先物取引等である。
また、本金融情報処理システムは、例えば、いわゆるiサイクル注文(登録商標)を実現するシステムでも良い。つまり、Wサイクル注文を行った後、iサイクル注文により、継続した取り引きが実施されるように処理が行われることは好適である。なお、iサイクル注文とは、金融商品の現在価値が予め決められた条件を満たすほど低い場合、最も低い価値のポジション情報より低い価値の1以上のポジション情報を生成する方式である。また、iサイクル注文は、金融商品の現在価値が予め決められた条件を満たすほど高い場合、最も高い価値のポジション情報より高い価値の1以上のポジション情報を生成する方式である。iサイクル注文において、通常、金融商品の価値の変動に関わらず、ポジションの数は一定であることは好適である。iサイクル注文については、例えば、インターネットのウェブページ(URL:https://www.gaitameonline.com/icycle/)参照のこと。なお、金融商品の価値とは、通常、金融商品の単位量あたりの価格であり、例えば、FXにおける為替、単位量(例えば、1株)あたりの株価等である。
また、本金融情報処理システムは、例えば、いわゆるサイクル注文を実現するシステムでも良い。
また、本実施の形態において、予め決められた条件を満たした場合に当該注文に対応するポジションが生成される金融情報処理装置を有する金融情報処理システムについて説明する。なお、ポジションは、予め決められた条件を満たした場合、通常、決済される。
また、本実施の形態において、想定変動幅、ポジション間隔を用いて注文情報を生成する金融情報処理装置を有する金融情報処理システムについて説明する。
また、本実施の形態において、指定価格の直近には注文をおかない金融情報処理装置を有する金融情報処理システムについて説明する。
また、本実施の形態において、1以上のポジションの決済後、注文が動的に生成される金融情報処理装置を有する金融情報処理システムについて説明する。
さらに、本実施の形態において、指定レートと現在レートとが、予め決められた条件を満たすほど離れている場合、現在レートのポジションを生成する金融情報処理装置を有する金融情報処理システムについて説明する。なお、ここで生成されるポジションは、予定注文数と同じであることは好適である。また、生成された各ポジションに対応する決済条件が異なることは好適である。
図1は、本実施の形態における金融情報処理システムAの概念図である。金融情報処理システムAは、金融情報処理装置1、および1または2以上の端末装置2を備える。金融情報処理装置1は、例えば、金融商品を販売する企業のサーバ装置である。金融情報処理装置1は、例えば、クラウドサーバ、ASPサーバ等であり、その種類は問わない。また、端末装置2は、例えば、金融商品を購入するユーザの端末である。端末装置2は、例えば、いわゆるパソコン、スマートフォン、携帯端末、タブレット端末等であり、その種類は問わない。
図2は、本実施の形態における金融情報処理システムAのブロック図である。
金融情報処理システムAは、金融情報処理装置1、および1または2以上の端末装置2を備える。
金融情報処理装置1は、格納部11、受信部12、処理部13、および送信部14を備える。
格納部11は、注文格納部111、ポジション格納部112、およびパラメータ格納部113を備える。受信部12は、注文指示受信部121を備える。処理部13は、現在価値取得部131、注文生成部132、およびポジション生成部133、および決済部134を備える。
端末装置2は、端末格納部21、端末受付部22、端末処理部23、端末送信部24、端末受信部25、および端末出力部26を備える。
金融情報処理装置1を構成する格納部11は、各種の情報が格納される。各種の情報とは、例えば、注文情報、ポジション情報、各種のパラメータ、現在価値情報等である。各種のパラメータとは、例えば、後述する想定変動幅情報、後述する対象資産情報、後述する注文間隔情報である。現在価値情報とは、金融商品の現在の価値に関する情報である。現在価値情報は、例えば、現在の為替レート、現在の株価、現在の先物の価格などである。現在価値情報は、例えば、外部の図示しないサーバ装置から受信された情報である。また、現在価値情報は、例えば、ユーザが金融情報処理装置1に入力した情報等でも良い。
注文格納部111は、3以上の注文情報が格納される。3以上の注文情報は、対応づいている注文情報である。3以上の注文情報のポジション間隔は広がっていく注文情報である。注文情報とは、価値が変動し得る金融商品に対する注文に関する情報である。注文情報は、通常、「売り」または「買い」のいずれかを示す方向情報に対応付けられている情報である。注文情報は、方向情報を含んでも良い。注文情報は、例えば、買いの価格を示す価格情報(以下、適宜「買い価格情報」という。)と売りの価格を示す価格情報(以下、適宜「売り価格情報」という。)とを有する。注文情報は、例えば、ポジションと決済条件とを有する。ポジションとは、金融商品を売るまたは買う価格の情報であると言える。また、決済条件とは、ポジションに対して、決済を行う条件であり、決済を行う価格の情報であると言える。注文情報がポジションと決済条件とを有する場合であり、方向情報が示すポジション方向が「売り」である場合は、ポジションは「売り価格情報」であり、決済条件は「買い価格情報」である。また、注文情報がポジションと決済条件とを有する場合であり、方向情報が示すポジション方向が「買い」である場合は、ポジションは「買い価格情報」であり、決済条件は「売り価格情報」である。注文格納部111は、例えば、ユーザごとに3以上の注文情報を格納している。注文格納部111は、通常、ユーザ識別子と対にして3以上の注文情報を格納している。ユーザ識別子は、ユーザを識別する情報であり、例えば、ユーザID、メールアドレス、端末装置2のID(MACアドレス)、IPアドレス、氏名等である。ユーザ識別子は、ユーザを識別する情報であれば良く、その種類は問わない。
ポジション格納部112は、3以上のポジション情報を格納し得る。ポジション情報とは、金融商品のポジションに関する情報である。ポジションは、金融商品の売りまたは買いを行った持ち高の状態を示す。ポジションは、例えば、FXであれば持ち高・為替レート・売買の別などによって表現される。ポジション情報は、例えば、為替レートの情報、購入または販売すべき株価の情報等である。ポジション情報は、対応する注文情報を識別する情報でも良い。ポジション情報は、対応する注文情報へのリンクや、対応する注文情報の識別子等でも良い。ポジション情報は、対応する注文情報を含み、注文が約定したことを示す情報(例えば、フラグ)等でも良い。ポジション格納部112は、通常、ユーザ識別子と対にして3以上のポジション情報を格納している。
パラメータ格納部113は、1以上のパラメータが格納される。パラメータは、例えば、指定価格、想定変動幅、ポジション間隔、リスク軽減値である。指定価格とは、ユーザが指定した価格である。指定価格は、指定価格情報と言っても良い。想定変動幅は、想定変動幅情報と言っても良い。ポジション間隔は、ポジション間隔情報と言っても良いし、注文間隔、注文間隔情報と言っても良い。リスク軽減値は、ポジション間隔の広がる度合いを示す情報である。パラメータは、例えば、金融商品の取引に関する情報である金融取引情報である。金融取引情報は、注文情報を生成するために使用されるパラメータである。金融取引情報は、例えば、想定変動幅を示す想定変動幅情報、対象資産を示す情報である対象資産情報、注文間隔を示す注文間隔情報、通貨ペア、通貨単位の情報、ポジションの方向を示す方向情報である。なお、上述したように、想定変動幅情報を単に想定変動幅、対象資産情報を単に対象資産、注文間隔情報を単に注文間隔等と言っても良い。パラメータ格納部113は、通常、ユーザ識別子と対にして1以上のパラメータを格納している。
受信部12は、各種の情報や指示を受信する。受信部12は、例えば、端末装置2または図示しない外部の装置から各種の情報や指示を受信する。各種の情報や指示とは、例えば、指定価格を含む注文指示、出力指示である。なお、受信部12が措定価格を受信するタイミングと、注文の指示を受信するタイミングは異なっても良い。つまり、受信部12が受信する一の注文指示を構成する情報や指示は、2回以上に分かれて受信されても良い。注文指示は、1または2以上の注文を出す指示である。注文指示は、金融商品の注文の指示である。注文指示は、通常、1以上の注文情報を生成するために使用する1以上のパラメータを有する。注文指示は、通常、ユーザ識別子を有する。1以上のパラメータは、例えば、上述した金融取引情報である。また、各種の情報や指示とは、例えば、上述した1以上のパラメータ、現在価値情報、リスク軽減値等である。なお、注文指示は、1以上のパラメータまたはユーザ識別子と対応付いても良い。また、出力指示は、情報の出力(送信)を促す指示である。
注文指示受信部121は、注文指示を端末装置2から受信する。注文指示は、リスク軽減値を有しても良い。
処理部13は、各種の処理を行う。各種の処理とは、例えば、現在価値取得部131、注文生成部132、ポジション生成部133、決済部134が行う処理である。また、各種の処理とは、例えば、後述するポジションの算出処理である。ポジションの算出処理は、例えば、注文情報の生成処理の一部の処理である。
現在価値取得部131は、金融商品の現在の価値に関する情報である現在価値情報を取得する。現在価値取得部131は、外部の装置から現在価値情報を受信しても良いし、格納部11に格納されている現在価値情報を読みだしても良いし、ユーザ(例えば、管理者)からの入力の受け付けにより現在価値情報を取得しても良い。現在価値取得部131は、通常、取得した現在価値情報を格納部11に蓄積する。現在価値取得部131は、通常、現在価値情報に対応する時刻(日付でも良い)に対応付けて、現在価値情報を格納部11に蓄積する。現在価値情報に対応する時刻または日付は、例えば、現在の時刻または日付である。なお、現在価値情報は、例えば、現在の為替レート、現在の株価等である。
注文生成部132は、注文指示の受信に応じて、3以上の注文情報を生成する。注文生成部132は、注文指示の受信に応じて、3以上の各注文情報が有するポジション間の間隔であるポジション間隔が広がるようにポジションを決定し、当該ポジションと決済条件とを有する3以上の注文情報を生成する。そして、注文生成部132は、生成した3以上の注文情報を対応付けて注文格納部111に蓄積する。注文生成部132は、通常、注文指示を送信した端末装置2のユーザのユーザ識別子に対応付けて、生成した3以上の注文情報を注文格納部111に蓄積する。
注文生成部132は、例えば、3以上の上位価格注文情報を生成し、生成された3以上の上位価格注文情報を対応付けて注文格納部111に蓄積する。なお、注文生成部132は、例えば、3以上の上位価格注文情報が有するポジション間の間隔であるポジション間隔が広がるようにポジションを決定し、ポジションと決済条件とを有する3以上の上位価格注文情報を生成し、3以上の上位価格注文情報を対応付けて注文格納部111に蓄積する。言い換えれば、注文生成部132は、例えば、指定価格が示す価格より上の価格を示す価格情報に対応付いた情報であり、「売り」のポジション方向の情報である売りポジション方向情報を有する3以上の注文情報であり、3以上の各注文情報が有するポジション間の間隔であるポジション間隔が広がるようにポジションを決定し、ポジションと決済条件とを有する3以上の注文情報を生成し、3以上の注文情報を対応付けて注文格納部111に蓄積する。なお、注文生成部132は、例えば、決定した各ポジションに閾値を減算し、決済条件を決定する。そして、注文生成部132は、決定したポジションと当該ポジションに閾値を減算して算出した決済条件とを有する注文情報を、3以上生成し、注文格納部111に蓄積する。なお、閾値は、通常、固定であるが、変動しても良い。また、ここでの決済条件は、「買い」の条件である。
注文生成部132は、例えば、3以上の下位価格注文情報を生成し、生成された3以上の下位価格注文情報を対応付けて注文格納部111に蓄積する。なお、注文生成部132は、例えば、3以上の下位価格注文情報が有するポジション間の間隔であるポジション間隔が広がるようにポジションを決定し、ポジションと決済条件とを有する3以上の下位価格注文情報を生成し、3以上の下位価格注文情報を対応付けて注文格納部111に蓄積する。言い換えれば、注文生成部132は、例えば、指定価格が示す価格より下の価格を示す価格情報に対応付いた情報であり、「買い」のポジション方向の情報である買いポジション方向情報を有する3以上の注文情報であり、3以上の各注文情報が有するポジション間の間隔であるポジション間隔が広がるようにポジションを決定し、当該ポジションと決済条件とを有する3以上の注文情報を生成し、3以上の注文情報を対応付けて注文格納部111に蓄積する。なお、注文生成部132は、例えば、決定した各ポジションに閾値を加算し、決済条件を決定する。そして、注文生成部132は、決定したポジションと当該ポジションに閾値を加算して算出した決済条件とを有する注文情報を、3以上生成し、注文格納部111に蓄積する。なお、閾値は、通常、固定であるが、変動しても良い。また、ここでの決済条件は、「売り」の条件である。
注文生成部132は、例えば、指定価格が示す価格より上の価格を示す価格情報に対応付いた情報であり、「売り」のポジション方向の情報である売りポジション方向情報を有する3以上の注文情報であり、3以上の各注文情報が有するポジション間の間隔であるポジション間隔が広がるようにポジションを決定し、当該ポジションと決済条件とを有する3以上の注文情報を生成し、かつ、指定価格が示す価格より下の価格を示す価格情報に対応付いた情報であり、「買い」のポジション方向の情報である買いポジション方向情報を有する3以上の注文情報であり、3以上の各注文情報が有するポジション間の間隔であるポジション間隔が広がるようにポジションを決定し、当該ポジションと決済条件とを有する3以上の注文情報を生成し、かつ、6以上の注文情報を対応付けて注文格納部111に蓄積する。つまり、注文生成部132は、例えば、3以上の上述した上位価格注文情報と3以上の上述した下位価格注文情報とを生成し、生成された6以上の注文情報を対応付けて注文格納部111に蓄積する。
注文生成部132は、例えば、各注文情報が有するポジション間のポジション間隔が一定の間隔で広がるように、3以上または6以上の注文情報を生成し、3以上または6以上の注文情報を対応付けて注文格納部111に蓄積する。なお、ポジション間隔の広がり方が徐々に大きくなる、不規則である等でも良い。
注文生成部132は、例えば、3以上または6以上のポジション間隔が、リスク軽減値が示す値で広がるように、3以上または6以上の注文情報を生成し、3以上または6以上の注文情報を対応付けて注文格納部111に蓄積する。
注文生成部132は、例えば、指定価格に対して予め決められた条件を満たす価格を示す価格情報に対応付いた注文情報は生成しない。予め決められた条件を満たす価格とは、例えば、指定価格に一致する価格である。予め決められた条件を満たす価格とは、例えば、指定価格と、予め決められた条件を満たすほど近い価格である。
注文生成部132は、例えば、決済部134が決済を行った後、現在価値取得部131が取得した現在価値情報が、決済が行われた対象のポジション情報に対して予め決められた条件を満たす場合、現在価値情報に対応する注文情報を生成する。注文生成部132は、例えば、現在価値情報が示す金融商品の価値が予め決められた生成条件を満たすほど低い場合、注文情報の中で、最も低い価値のポジション情報より低い価値の1以上の注文情報を生成する、または、例えば、現在価値情報が示す金融商品の価値が予め決められた生成条件を満たすほど高い場合、決済情報が有する注文情報の中で、最も高い価値の注文情報より高い価値の1以上の注文情報を生成する。かかる注文情報の生成は、iサイクル注文の仕様を満たすための処理である。
注文生成部132は、例えば、金融商品を買うまたは売るポイントであるポジションを算出し、かつ当該金融商品を売るまたは買うポイントも取得しても良い。注文生成部132は、例えば、金融商品を買うポイントであるポジションを算出し、当該金融商品を売るポイントを「買うポイント+P(Pは正の数値であり、例えば、2.00円)」という算出式を用いて、当該金融商品を売るポイント(決済条件と言っても良い)を算出しても良い。例えば、金融商品がFXであり、通貨ペアが米ドルと日本円である場合、注文生成部132が米ドルを買うポイントを「99.00円」と算出した場合、米ドルを売るポイントを「99.00円+2.00円」と算出する。なお、「買うポイント+P」におけるPは固定値でも良いし、金融商品を売るポイントの値または対象資産情報等をパラメータとする演算式により算出される値でも良い。なお、買うポイントであるポジションとは、注文情報が有する買い価格情報に該当する。また、売るポイントであるポジションとは、注文情報が有する売り価格情報に該当する。
例えば、金融取引情報をパラメータとするポジションの算出式の情報が格納部11に格納されており、注文生成部132は、当該算出式の情報が示す算出式に金融取引情報を代入し、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」となる。なお、PIPSとは、取引レ−トの最小単位のことである。なお、ポジションが3以上になる場合、ポジション間隔は、ここでは、例えば、リスク軽減値×i(iは1以上の自然数)だけ広がっていく。ポジション間隔は、不規則に広がっていっても良い。
上記の式の場合、注文生成部132は、まず、最大変動PIPS(A)、対象資産(B)、必要証拠金(Tu)を取得する。なお、かかる最大変動PIPS(A)等のパラメータは、ユーザ識別子に対応付けられて、パラメータ格納部113に格納されている。
そして、注文生成部132は、取得した最大変動PIPS(A)、対象資産(B)、必要証拠金(Tu)をポジションの算出式に代入し、ポジション間隔(X)を算出する。そして、注文生成部132は、現在価値から最も近い整数(小数点以下が0)のポイントを第一のポジションとし、ポジション間隔(X)を用いて、第二以降のポジションを取得する。ポジションの算出とは、ポジション方向が「売り」の場合は、通常、注文情報が有する売り価格情報の取得である。また、ポジションの算出とは、ポジション方向が「買い」の場合は、通常、注文情報が有する買い価格情報の取得である。
なお、上記の算出式において、注文生成部132は、XがXmよりも小さい場合はXmを正としてポジションを構成することは好適である。なお、Xmは、予め設定されているポジション間隔の基準値(最小値)である。
ポジション生成部133は、現在価値取得部131が取得した現在価値情報に対応する注文情報に対応するポジション情報を生成し、ポジション格納部112に蓄積する。
ポジション生成部133は、例えば、パラメータ格納部113に格納されている指定価格と現在価値情報との差が予め決められた条件を満たすほど大きい場合、現在価値情報に対応する1以上のポジション情報を生成し、ポジション格納部112に蓄積する。予め決められた条件とは、指定価格と現在価値情報との差が閾値以上、または指定価格と現在価値情報との差が閾値より大きいことである。現在価値情報に対応する1以上のポジション情報とは、例えば、現在価値情報に一致するまたは閾値以内に近似するポジションを有する1以上のポジション情報である。また、現在価値情報に対応する1以上のポジション情報とは、例えば、注文生成部132が生成した注文情報の数(N)の半分(N/2)の数のポジション情報である。また、現在価値情報に対応する2以上の各ポジション情報は、異なる決済条件を有することは好適である。異なる決済条件に関して、i番目のポジション情報が有する決済条件は、例えば、「指定価値+ポジション間隔×i(iは1以上の自然数)」、または「指定価値−ポジション間隔×i(iは1以上の自然数)」である。
ポジション生成部133は、想定変動幅とポジション間隔とを用いて算出されたポジション情報の数(N)のポジション情報を生成し、ポジション格納部112に蓄積する。
ポジション生成部133は、例えば、現在価値情報が示す価値と一致または予め決められ条件を満たすほど近似する価格情報を有する注文情報に対応するポジション情報を生成し、ポジション格納部112に蓄積する。
なお、ポジション情報の生成とは、対応する注文情報に対応付けて、約定したことを示す情報(例えば、フラグ)を書き込むことでも良い。ポジション情報を生成し、ポジション格納部112に蓄積することは、ポジション格納部112のポジション情報を変更する(例えば、「0」から「1」に変更する)ことでも良い。
決済部134は、現在価値取得部131が取得した現在価値情報に対応するポジション情報に対する決済を行う。
決済部134は、現在価値情報を用いて、決済を行うか否かを判断し、決済を行うと判断した場合に決済を行う。決済部134は、現在価値情報が示す価値が、ポジション情報(または注文情報)に対応する決済条件を満たすか否かを判断し、決済を行うと判断した場合に決済を行う。決済条件は、例えば、現在価値情報が示す価値が、ポジション情報に対応付けられた価値であり、決済を行う価値になることである。また、決済条件は、例えば、現在価値情報が示す価値が、ポジション情報に対応付けられた価値であり、決済を行う価値以下の価値になることである。また、決済条件は、例えば、現在価値情報が示す価値が、ポジション情報に対応付けられた価値であり、決済を行う価値以上の価値になることである。なお、例えば、ポジション情報が示すポジションが「99.00円」である場合、当該ポジション情報に対応付けられた価値は、例えば、「97.00円」である。
決済を行うことは、金融商品の決済のための処理である決済処理を行うことである。ここで、決済処理とは、決済を行うことでも良いし、決済の指示を外部の装置に送信することでも良いし、決済に関する情報を印刷すること等でも良い。決済処理とは、決済に関する処理であれば良い。なお、決済部134は、通常、1以上の金融取引情報を用いて決済処理を行う。1以上の金融取引情報は、例えば、通貨ペア、ポジション方向である。
送信部14は、各種の情報を送信する。送信部14は、通常、各種の情報を端末装置2に送信する。各種の情報とは、生成された1以上の注文情報、生成された1以上のポジション情報、決済部134により決済された旨の情報、決済の結果である収益の情報または損失の情報等である。
端末装置2を構成する端末格納部21は、情報を格納し得る。情報とは、例えば、ユーザを識別するユーザ識別子である。ユーザ識別子は、例えば、ユーザID、メールアドレス、端末装置2のID(MACアドレス)、IPアドレス、氏名等である。
端末受付部22は、ユーザから情報や指示等を受け付ける。情報や指示等とは、例えば、注文指示、出力指示、指定価格やリスク軽減値や幅情報等の金融取引情報などである。
情報や指示等の入力手段は、キーボードやマウスやタッチパネルやメニュー画面によるもの等、何でも良い。端末受付部22は、キーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
端末処理部23は、各種の処理を行う。各種の処理とは、端末受付部22が受け付けた情報や指示等を、金融情報処理装置1に送信するデータ構造にすることである。
端末送信部24は、端末処理部23が構成した指示や情報等を、金融情報処理装置1に送信する。また、ここでの指示や情報等は、例えば、注文指示、1以上の金融取引情報、1以上の金融取引情報とユーザ識別子等である。
端末受信部25は、金融情報処理装置1から情報を受信する。端末受信部25は、例えば、1以上の金融取引情報等の送信に応じて、金融情報処理装置1から2以上の注文情報を受信する。また、端末受信部25は、決済の結果を金融情報処理装置1から受信する。
端末出力部26は、端末受信部25が受信した情報を出力する。また、端末出力部26は、端末受付部22は、ユーザから受け付けた情報や指示等を出力する。
また、ここでの出力とは、通常、ディスプレイへの表示であるが、プロジェクターを用いた投影、プリンタでの印字、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。
格納部11、注文格納部111、ポジション格納部112、パラメータ格納部113、端末格納部21は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
格納部11等に情報が記憶される過程は問わない。例えば、記録媒体を介して情報が格納部11等で記憶されるようになってもよく、通信回線等を介して送信された情報が格納部11等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された情報が格納部11等で記憶されるようになってもよい。
受信部12、注文指示受信部121、端末受信部25は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
処理部13、現在価値取得部131、注文生成部132、ポジション生成部133、決済部134、端末処理部23は、通常、MPUやメモリ等から実現され得る。処理部13等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
送信部14、端末送信部24は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
次に、金融情報処理システムAの動作について説明する。まず、金融情報処理装置1の動作について、図3のフローチャートを用いて説明する。
(ステップS301)注文指示受信部121は、端末装置2から注文指示を受信したか否かを判断する。注文指示を受信した場合はステップS302に行き、注文指示を受信しなかった場合はステップS309に行く。
(ステップS302)現在価値取得部131は、現在価値情報を取得する。この現在価値情報は、最新の現在価値情報である。
(ステップS303)注文生成部132は、ステップS301で受信された注文指示が有する1以上のパラメータ(金融取引情報)を取得する。なお、ここで取得される1以上の金融取引情報は、格納部11に、端末装置2に対応するユーザのユーザ識別子と対に蓄積されている情報でも良い。
(ステップS304)注文生成部132は、ステップS303で取得された1以上のパラメータを用いて、3以上の注文情報を生成する。ここで、3以上の各注文情報が有するポジション間の間隔であるポジション間隔のすべてが一定ではなく、一部のポジション間隔は広がるように、注文生成部132は、3以上の注文情報を生成する。また、注文生成部132が3以上の注文情報を生成する方法は、上述したように種々考えられる。
(ステップS305)ポジション生成部133は、指定価格と現在価値情報との差が予め決められた条件を満たすほど大きいか否かを判断する。予め決められた条件を満たすほど、差が大きい場合はステップS306に行き、差が大きくない場合はステップS301に戻る。
(ステップS306)ポジション生成部133は、現在価値情報に対応する1以上のポジション情報を生成する。ステップS301に戻る。かかる場合のポジション情報の生成処理の詳細について、上述した。
(ステップS307)現在価値取得部131が現在価値を取得したか否かを判断する。現在価値情報を取得した場合はステップS308に行き、現在価値情報を取得しなかった場合はステップS301に戻る。
(ステップS308)ポジション生成部133は、ステップS307で取得された現在価値情報を用いて、約定処理を行う。約定処理について、図4のフローチャートを用いて説明する。
(ステップS311)決済部134は、ステップS307で取得された現在価値情報を用いて、決済処理を行う。ステップS301に戻る。決済処理について、図5のフローチャートを用いて説明する。
なお、図3のフローチャートにおいて、現在価値情報の取得を約定処理と決済処理のトリガーとした。しかし、約定処理と決済処理のトリガーは他でも良い。
また、図3のフローチャートにおいて、例えば、端末装置2から出力指示を受信した場合、当該出力指示に応じた情報を格納部11から取得し、端末装置2に送信することは好適である。
さらに、図3のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
ステップS310の約定処理について、図4のフローチャートを用いて説明する。
(ステップS401)ポジション生成部133は、カウンタiに1を代入する。
(ステップS402)ポジション生成部133は、i番目のユーザ識別子が格納部11(注文格納部111でも良い)に格納されているか否かを判断する。格納されている場合はステップS403に行き、格納されていない場合は上位処理にリターンする。
(ステップS403)ポジション生成部133は、カウンタjに1を代入する。
(ステップS404)ポジション生成部133は、i番目のユーザ識別子およびj番目の注文情報が存在するか否かを判断する。当該注文情報が存在する場合はステップS405に行き、存在しない場合はステップS408に行く。
(ステップS405)ポジション生成部133は、現在価値情報がj番目の注文情報に適合するか否かを判断する。適合する場合はステップS406に行き、適合しない場合はステップS407に行く。なお、ここでの適合とは、注文を約定する状態になっていることである。
(ステップS406)ポジション生成部133は、i番目のユーザ識別子のj番目の注文情報の約定のための処理を行う。約定のための処理は、例えば、i番目のユーザ識別子に対応付けて、j番目の注文情報に対応する売り価格情報と買い価格情報とを有するポジション情報を生成し、ポジション格納部112に蓄積する処理でも良い。また、約定のための処理は、例えば、i番目のユーザ識別子に対応するj番目の注文情報に約定を示す情報(例えば、ポジション情報であり、上述したフラグ)を付加する処理等でも良い。
(ステップS407)ポジション生成部133は、カウンタjを1、インクリメントする。ステップS404に戻る。
(ステップS408)ポジション生成部133は、カウンタiを1、インクリメントする。ステップS402に戻る。
ステップS311の決済処理について、図5のフローチャートを用いて説明する。
(ステップS501)決済部134は、カウンタiに1を代入する。
(ステップS502)決済部134は、i番目のユーザ識別子が格納部11(ポジション格納部112、注文格納部111でも良い)に格納されているか否かを判断する。格納されている場合はステップS503に行き、格納されていない場合は上位処理にリターンする。
(ステップS503)決済部134は、カウンタjに1を代入する。
(ステップS504)決済部134は、i番目のユーザ識別子およびj番目のポジション情報が存在するか否かを判断する。当該ポジション情報が存在する場合はステップS505に行き、存在しない場合はステップS508に行く。
(ステップS505)決済部134は、現在価値情報がj番目のポジション情報に適合するか否かを判断する。適合する場合はステップS506に行き、適合しない場合はステップS507に行く。ここでの適合は、現在価値情報が決済条件に適合することである。ここでの適合は、現在価値情報に対して、j番目のポジション情報またはj番目のポジション情報と対になる注文情報が決済するための条件を満たすことである。
(ステップS506)決済部134は、i番目のユーザ識別子のj番目のポジション情報の決済のための処理を行う。j番目のポジション情報の決済のための処理は、j番目のポジション情報に対応する注文情報の決済のための処理である、と言っても良い。
(ステップS507)決済部134は、カウンタjを1、インクリメントする。ステップS504に戻る。
(ステップS508)決済部134は、カウンタiを1、インクリメントする。ステップS502に戻る。
次に、注文生成部132が行う注文情報の生成処理(ステップS304の処理)の他の例について、図6のフローチャートを用いて説明する。
ここで、注文生成部132は、3以上の上位価格注文情報を生成する場合、ポジション方向情報「売り」で、想定変動幅を実際の想定変動幅の1/2として、下記の注文情報の生成処理を行う。ここで、3以上の各上位価格注文情報が有するポジション間の間隔であるポジション間隔が広がるように、注文生成部132はポジションを決定する。
また、注文生成部132は、3以上の下位価格注文情報を生成する場合、ポジション方向情報「買い」で、想定変動幅を実際の想定変動幅の1/2として、下記の注文情報の生成処理を行う。ここで、3以上の各下位価格注文情報が有するポジション間の間隔であるポジション間隔が広がるように、注文生成部132はポジションを決定する。
そして、注文生成部132は、3以上の上位価格注文情報を生成する処理、3以上の下位価格注文情報を生成する処理のうち、1以上の下記の注文情報の生成処理を行う。
(ステップS601)注文生成部132は、注文指示に対応する1以上の金融取引情報をパラメータ格納部113から取得する。ここで取得される1以上の金融取引情報は、注文指示を送信してきた端末装置2に対応するユーザのユーザ識別子と対になるパラメータである。
(ステップS602)注文生成部132は、格納部11から現在価値情報を取得する。この現在価値情報は、最新の現在価値情報である。
(ステップS603)注文生成部132は、ステップS601で取得した1以上の金融取引情報を用いて、1以上のポジションを算出する。なお、かかるポジション算出処理の例について、図7〜図9のフローチャートを用いて説明する。また、注文生成部132は、例えば、現在価値情報をも用いて、1以上のポジションを算出する。また、ここでのポジション算出処理は、ポジション間隔が広がるようにポジションを決定する処理である。
(ステップS604)注文生成部132は、ステップS603で算出された1以上の各ポジションを用いて、1以上の注文情報を構成する。注文生成部132は、例えば、1以上の各ポジションに対応する決済条件を取得し、当該ポジションと決済条件とを有する1以上の注文情報を構成する。なお、ポジション方向が「売り」の場合、ポジションに対応する決済条件は、「ポジションの値−予め決められた正の値」である。また、ポジション方向が「買い」の場合、ポジションに対応する決済条件は、「ポジションの値+予め決められた正の値」である。
(ステップS605)処理部13は、ステップS604で構成した1以上の注文情報を、注文指示を送信した端末装置2のユーザのユーザ識別子に対応付けて、注文格納部111に蓄積する。上位処理にリターンする。
次に、ステップS603のポジション算出処理の第一の例について、図7のフローチャートを用いて説明する。
(ステップS701)注文生成部132は、ボラティリティ参考期間と安全係数とを用いて、最大変動PIPS(X)を算出する。注文生成部132は、通常、注文指示に含まれるユーザ識別子と対になるボラティリティ参考期間の変動PIPS(CP)をパラメータ格納部113から取得し、「最大変動PIPS(X)=変動PIPS(CP)×安全係数」により、最大変動PIPS(X)を算出する。なお、注文生成部132は、例えば、最大変動PIPS(X)を算出するための演算式の情報を予め保持している、とする。なお、安全係数を用いずに、最大変動PIPS(X)を算出しても良い。
(ステップS702)注文生成部132は、Nに2を代入する。
(ステップS703)注文生成部132は、ポジションの候補を算出する。ポジション候補の算出方法について、図8のフローチャートを用いて説明する。
(ステップS704)注文生成部132は、ステップS703で算出した1または2以上のポジション候補に対して、各ポジション候補の評価損益を算出する。注文生成部132は、例えば、「評価損益=ポジション候補のPIP×ロット単位×通貨単位」により、ポジション候補の評価損益を算出する。
(ステップS705)注文生成部132は、ステップS704で算出した各ポジション候補の評価損益、および証拠金の情報を用いて、ユーザの負担(a)を算出する。負担(a)は、「各ポジション候補の評価損益の和+証拠金×ポジション候補の数」である。
(ステップS706)注文生成部132は、「当該ユーザの対象資産<a」を満たすか否かを判断する。「当該ユーザの対象資産<a」を満たす場合はステップS707に行き、「当該ユーザの対象資産<a」を満たさない場合はステップS710に行く。なお、ユーザの対象資産は、例えば、ユーザ識別子に対応付けられて、格納部11に格納されている、とする。また、ここでの対象資産は、口座資産でも良い。
(ステップS707)注文生成部132は、変数「ポジション数」に「N−1」を代入する。変数「ポジション数」は、最終的なポジションの数である。
(ステップS708)注文生成部132は、ポジション数が(N−1)の際のすべてのポジションをバッファから取得する。
(ステップS709)注文生成部132は、ポジションの幅(間隔)を取得する。上位処理にリターンする。
次に、ステップS703のポジション候補の算出方法について、図8のフローチャートを用いて説明する。
(ステップS801)注文生成部132は、カウンタiに1を代入する。
(ステップS802)注文生成部132は、「i番目のポジション候補Pi=Pi−1−i番目のポジション間隔」、「i番目のポジション間隔=x+(i−1)×r」(P0=現在価値)により、ポジション候補Piを算出し、バッファに一時蓄積する。なお、xは定数であり、基本となるポジション間隔(例えば、10pips)である。また、rはリスク軽減値(例えば、1pip)である。また、現在価値は、現在価値情報が示す価値(例えば、為替レート、株価等)である。また、ここでは、ポジション方向が「買い」の場合である。
なお、ポジション方向が「売り」の場合、注文生成部132は、「i番目のポジション候補Pi=Pi−1+i番目のポジション間隔」、「i番目のポジション間隔=x+(i−1)×r」(P0=現在価値)により、ポジション候補Piを算出し、バッファに一時蓄積する。
(ステップS803)注文生成部132は、カウンタiを1、インクリメントする。
(ステップS804)注文生成部132は、iとNとが等しいか否かを判断する。iとNが等しければステップS805に行き、iとNが等しくなければステップS802に戻る。
(ステップS805)注文生成部132は、すべてのポジションを図示しないバッファに格納する。上位処理にリターンする。なお、すべてのポジションとは、P1からPiのポジションである。
に、ステップS803のポジション算出処理の第二の例について、図9のフローチャートを用いて説明する。なお、図9のフローチャートにおいて、図7のフローチャートと同一のステップについて説明を省略する。
(ステップS901)注文生成部132は、カウンタiに1を代入する。
(ステップS902)注文生成部132は、i番目のポジション候補Piを算出し、バッファに一時蓄積する。なお、ポジション方向が「買い」の場合、注文生成部132は、「i番目のポジション候補Pi=Pi−1−i番目のポジション間隔」、「i番目のポジション間隔=x+(i−1)×r」(P0=現在価値)により、ポジション候補Piを算出する。また、ポジション方向が「売り」の場合、注文生成部132は、「i番目のポジション候補Pi=Pi−1+i番目のポジション間隔」、「i番目のポジション間隔=x+(i−1)×r」(P0=現在価値)により、ポジション候補Piを算出する。
(ステップS903)注文生成部132は、ポジション候補Piが、現在価値からの最大変動PIPS(X)を超えないか否かを判断する。超えない場合はステップS904に行き、超える場合はステップS909に行く。
(ステップS904)注文生成部132は、i番目のポジション候補に対する評価損益を算出する。注文生成部132は、例えば、「評価損益=ポジション候補のPIP×ロット単位×通貨単位」により、ポジション候補の評価損益を算出する。
(ステップS905)注文生成部132は、ポジション候補Piの評価損益、および証拠金の情報を用いて、ポジション候補Piに対するユーザの負担(ai)を算出する。負担(ai)は、通常、「ポジション候補Piの評価損益+証拠金」である。
(ステップS906)注文生成部132は、ユーザの負担全体(a)を算出する。ユーザの負担全体(a)は、a1からaiまでの和である。
(ステップS907)注文生成部132は、「当該ユーザの対象資産<a」を満たすか否かを判断する。「当該ユーザの対象資産<a」を満たす場合はステップS908に行き、「当該ユーザの対象資産<a」を満たさない場合はステップS909に行く。なお、ここで口座資産は、対象資産でも良い。また、対象資産は、口座資産の一部でも良い。
(ステップS908)注文生成部132は、カウンタiを1、インクリメントする。
(ステップS909)注文生成部132は、変数「ポジション数」に「i−1」を代入する。変数「ポジション数」は、最終的なポジションの数である。
(ステップS910)注文生成部132は、P1からがPi−1までのすべてのポジションをバッファから取得する。上位処理にリターンする。
次に、端末装置2の動作について、図10のフローチャートを用いて説明する。
(ステップS1001)端末受付部22は、金融取引情報等を受け付けたか否かを判断する。金融取引情報等を受け付ければステップS1002に行き、金融取引情報等を受け付けなければステップS1006に行く。なお、金融取引情報等とは、例えば、金融取引情報を含む注文指示である。
(ステップS1002)端末処理部23は、端末格納部21からユーザ識別子を取得する。
(ステップS1003)端末送信部24は、ステップS1001で受け付けられた金融取引情報等とステップS1002で取得したユーザ識別子とを含む注文指示を金融情報処理装置1に送信する。
(ステップS1004)端末受信部25は、ステップS1003における注文指示の送信に応じて、1または2以上の注文情報を金融情報処理装置1から受信したか否かを判断する。1以上の注文情報を受信すればステップS1005に行き、受信しなければステップS1004に戻る。
(ステップS1005)端末出力部25は、ステップS1004で受信された1以上の注文情報を出力する。ステップS1001に戻る。
(ステップS1006)端末受付部22は、情報の出力指示を受け付けたか否かを判断する。出力指示を受け付ければステップS1007に行き、出力指示を受け付けなければステップS1001に戻る。なお、出力指示は、注文情報、ポジション情報、パラメータ等の情報の出力の指示である。
(ステップS1007)端末処理部23は、端末格納部21からユーザ識別子を取得する。
(ステップS1008)端末送信部24は、ステップS1007で取得したユーザ識別子を含む出力指示を金融情報処理装置1に送信する。
(ステップS1009)端末受信部25は、ステップS1008における出力指示の送信に応じて、情報を金融情報処理装置1から受信したか否かを判断する。情報を受信すればステップS1010に行き、受信しなければステップS1009に戻る。
(ステップS1010)端末出力部25は、ステップS1009で受信された情報を出力する。ステップS1001に戻る。なお、かかる情報は、当該ユーザの注文情報、ポジション情報、パラメータ等である。
なお、図10のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
以下、本実施の形態における金融情報処理システムAの具体的な動作について説明する。金融情報処理システムAの概念図は、図1である。ここでの金融商品は、例えば、FXである。
今、金融情報処理装置1の格納部11は、図11に示す構成を有する注文等管理表を格納している。注文等管理表は、各ユーザの注文情報等を管理する表である。注文等管理表は、「ID」「ユーザ識別子」「注文情報」「方向情報」「パラメータ群」等を有する1以上のレコードを管理している。「注文情報」は「ポジション」「決済条件」を有する。「ID」はレコードを識別する情報である。「注文情報」の「ポジション」は売りまたは買いのポジションである。「注文情報」の「決済条件」は決済する金額を示す。「方向情報」は、ポジションの方向を示す情報であり、ここでは、「売り」または「買い」を採り得る。「パラメータ群」は、複数のパラメータであり、ここでは「指定価格」「想定変動幅」「ポジション間隔」「リスク軽減値」を有する。また、ここでの「パラメータ群」は、例えば、通貨ペア、ボラ参考期間、安全係数、通貨単位等も有しても良い。また、例えば、図11に示す注文等管理表の「ID=1」の「通貨ペア」は「米ドル/日本円」、「ボラ参考期間」は「90日」、「安全係数」は「2倍」、「通貨単位」は「千通過」である、とする。また、図11の注文等管理表の「ID」「ユーザ識別子」「注文情報」は、注文格納部111に格納されている、と考えても良い。また、図11の注文等管理表の「ID」「ユーザ識別子」「方向情報」「パラメータ群」は、パラメータ格納部113に格納されている、と考えても良い。
また、金融情報処理装置1のポジション格納部112は、図12に示す構成を有するポジション管理表を格納している。ポジション管理表は、各ユーザのポジション情報等を管理する表である。ポジション管理表は、「ID」「ユーザ識別子」「ポジション情報」「決済完了」等を有する1以上のレコードを管理している。「ポジション情報」は「ポジション」「決済完了」を有する。「ID」はレコードを識別する情報である。「ポジション情報」の「ポジション」は売りまたは買いのポジションである。「ポジション情報」の「決済条件」は決済する金額を示す。「ポジション情報」は、ここでは、図11の「注文情報」をコピーした情報となっている。ただし、「ポジション情報」は、「注文情報」に対応付けられた情報であり、約定しているか否かを示すフラグでも良い。ここでの「決済完了」は、「ポジション情報」に対応するポジションの決済が完了しているか否かを示すフラグである。
かかる状況において、3つの具体例について説明する。具体例1は、いわゆるWサイクル注文を行う場合であり、かつリスク軽減値を使用して、リスクが軽減された注文を行う場合(リスク軽減機能を使用する場合)である。なお、具体例1において、ポジション情報は生成しない。具体例2は、注文指示を受け付けた際に、指定価格と現在価値情報との差が予め決められた条件を満たすほど大きい場合であり、注文情報を生成し、かつポジション情報を生成する場合である。具体例2は、いわゆるWサイクル注文を行う場合であり、かつリスク軽減値を使用して、リスクが軽減された注文を行う場合である。具体例3は、いわゆるWサイクル注文を行う場合であり、リスク軽減機能を使用しない場合である。
(具体例1)
今、ユーザ識別子「AAA」で識別されるユーザは、端末装置2に対して、指定価格「100.00」、想定変動幅「100pips」、ポジション間隔「10pips」、リスク軽減値「1pip」の金融取引情報等を含む注文指示を入力した、とする。すると、端末受付部22は、かかる注文指示を受け付ける。
次に、端末処理部23は、端末格納部21からユーザ識別子「AAA」を取得する。そして、端末処理部23は、ユーザ識別子「AAA」と、指定価格「100.00」、想定変動幅「100pips」、ポジション間隔「10pips」、リスク軽減値「1pip」の金融取引情報等とを含む注文指示を構成する。次に、端末送信部24は、当該注文指示を金融情報処理装置1に送信する。
次に、金融情報処理装置1の注文指示受信部121は、端末装置2から当該注文指示を受信する。
次に、現在価値取得部131は、例えば、図示しない外部の装置から、現在価値情報「100.00」を取得した、とする。
次に、注文生成部132は、受信された注文指示が有するパラメータ群(想定変動幅「100pips」、ポジション間隔「10pips」、リスク軽減値「1pip」)を取得する。
次に、注文生成部132は、受信された注文指示が有する指定価値「100.00」を取得する。
次に、注文生成部132は、取得したパラメータ群(想定変動幅「100pips」、ポジション間隔「10pips」)を用いて、以下のように、3以上の上位価格注文情報を生成する。つまり、まず、注文生成部132は、上位価格注文情報に対する想定変動幅(100÷2=50pips)を算出する。次に、「i番目のポジション候補Pi=Pi−1+i番目のポジション間隔」、「i番目のポジション間隔=x+(i−1)×r」(P0=現在価値)(ここで、現在価値=100.00円,x=10pips=0.1円,リスク軽減値=1pip=0.01円)により、上位価格注文情報に対する想定変動幅である50pips(100.00円+0.5円=100.50円)を超えないことを条件として、注文生成部132は、iを1から増加させていき、1番目のポジション、2番目のポジション、3番目のポジション等と、ポジションを算出する。ここでは、注文生成部132は、i番目のポジションが、100.50円を超えないように、「1番目のポジション=100.10」、「2番目のポジション=100.21」、「3番目のポジション=100.33」、「4番目のポジション=100.46」を取得する。なお、5番目のポジションは100.60となり、100.50円を超えるので、注文生成部132は、5番目のポジションを取得しない。
また、注文生成部132は、各ポジションに対する決済条件を「各ポジション−0.10」により算出し、4つの注文情報(ポジション,決済条件)「(100.10,100.00)(100.21,100.11)(100.33,100.23)(100.46,100.36)」を生成する。そして、注文生成部132は、生成した4つの上位価格注文情報を、ユーザ識別子「AAA」に対応付けて、注文格納部111に蓄積する。なお、注文生成部132は、4つの上位価格注文情報を、方向情報「売り」、パラメータ群(想定変動幅「100pips」、ポジション間隔「10pips」、リスク軽減値「1pip」)に対応付けて蓄積することは好適である。
次に、注文生成部132は、取得したパラメータ群(想定変動幅「100pips」、ポジション間隔「10pips」)を用いて、以下のように、3以上の下位価格注文情報を生成する。つまり、まず、注文生成部132は、上位価格注文情報に対する想定変動幅(100÷2=50pips)を算出する。次に、「i番目のポジション候補Pi=Pi−1−i番目のポジション間隔」、「i番目のポジション間隔=x+(i−1)×r」(P0=現在価値)(ここで、現在価値=100.00円,x=10pips=0.1円,リスク軽減値=1pip=0.01円)により、下位価格注文情報に対する想定変動幅である50pips(100.00円−0.5円=99.50円)を下回らないことを条件として、注文生成部132は、iを1から増加させていき、1番目のポジション、2番目のポジション、3番目のポジション等と、ポジションを算出する。ここでは、注文生成部132は、i番目のポジションが99.50円を下回らないように、「1番目のポジション=99.90」、「2番目のポジション=99.79」、「3番目のポジション=99.67」、「4番目のポジション=99.54」を取得する。なお、5番目のポジションは99.40となり、99.50円を下回るので、注文生成部132は、5番目のポジションを取得しない。
また、注文生成部132は、各ポジションに対する決済条件を「各ポジション+0.10」により算出し、4つの注文情報(ポジション,決済条件)「(99.90,100.00)(99.79,99.89)(99.67,99.77)(99.54,99.64)」を生成する。そして、注文生成部132は、生成した4つの下位価格注文情報を、ユーザ識別子「AAA」に対応付けて、注文格納部111に蓄積する。なお、注文生成部132は、4つの下位価格注文情報を、方向情報「買い」、パラメータ群(想定変動幅「100pips」、ポジション間隔「10pips」、リスク軽減値「1pip」)に対応付けて蓄積することは好適である。
以上の処理により蓄積されたレコードが図11の「ID=1」のレコードである。なお、「ID=1」のレコードは、ポジションの大きさにより、降順に注文情報がソートされている。
次に、ポジション生成部133は、指定価格と現在価値情報との差が予め決められた条件を満たすほど大きくない、と判断する。
次に、送信部14は、生成された8の注文情報(図11の「ID=1」の注文情報)を端末装置2に送信する。
次に、端末装置2は、8の注文情報を受信し、出力する。かかる出力により、ユーザ識別子「AAA」で識別されるユーザは、自分が入力した注文指示に応じて自動生成された注文情報を把握できる。なお、注文情報の出力態様は問わない。
また、本具体例1において、ポジション生成部133は、以下のように約定処理を行う。つまり、ポジション生成部133は、現在価値情報が各注文情報に適合するか否かを判断する。そして、ポジション生成部133は、現在価値情報に適合する注文情報を、ポジション情報管理表に、ユーザ識別子と対にして蓄積する。なお、現在価値情報が注文情報に適合することは、ここでは、現在価値情報と注文情報が有するポジションとが一致する、または現在価値情報と注文情報が有するポジションとが予め決められた条件を満たすほど近似することである。
また、本具体例1において、決済部134は、以下のように決済処理を行う。つまり、決済部134は、現在価値情報が各ポジション情報に適合するか否かを判断する。詳細には、決済部134は、ポジション情報管理表が有する決済条件が現在価値情報と一致する、または当該決済条件と現在価値情報とが予め決められた条件を満たすほど近似すると判断した場合、当該ポジション情報の決済のための処理を行う。
(具体例2)
今、ユーザ識別子「AAA」で識別されるユーザは、端末装置2に対して、指定価格「100.00」、想定変動幅「100pips」、ポジション間隔「10pips」、リスク軽減値「1pip」の金融取引情報等を含む注文指示を入力した、とする。すると、端末受付部22は、かかる注文指示を受け付ける。
次に、端末処理部23は、端末格納部21からユーザ識別子「AAA」を取得する。そして、端末処理部23は、ユーザ識別子「AAA」と、指定価格「100.00」、想定変動幅「100pips」、ポジション間隔「10pips」、リスク軽減値「1pip」の金融取引情報等とを含む注文指示を構成する。次に、端末送信部24は、当該注文指示を金融情報処理装置1に送信する。
次に、金融情報処理装置1の注文指示受信部121は、端末装置2から当該注文指示を受信する。
次に、現在価値取得部131は、例えば、図示しない外部の装置から、現在価値情報「100.50」を取得した、とする。
次に、注文生成部132は、具体例1で説明した処理を行い、8つの注文情報を生成し、注文格納部111に蓄積する。かかる注文情報は、図11の「ID=1」の情報である。
次に、ポジション生成部133は、指定価格「100.00」と現在価値情報「100.50」との差が予め決められた条件を満たすほど大きい、と判断する。ここで、指定価格と現在価値情報との差が閾値(ここでは、「0.20」)以上または閾値より大きい場合に、ポジション生成部133は、予め決められた条件を満たすと判断する、とする。
そして、ポジション生成部133は、上記で算出された注文数「4」と同じ数であり、現在価値情報「100.50」をポジションとするポジション情報であり、決済条件が異なるポジション情報を生成する。なお、ここでは、ポジション生成部133は、決済条件がポジション間隔「10pips」分だけ異なる4つのポジション情報を生成する、とする。また、ここでは、指定価格「100.00」基準として、ポジション間隔「10pips」分だけ、増加する点が決済条件となる、とする。
次に、ポジション生成部133は、生成した4つのポジション情報をポジション管理表に蓄積する。かかるポジション情報は、図12の「ID=38〜41」のポジション情報である。
次に、送信部14は、生成された8つの注文情報(図11の「ID=1」の注文情報)と4つのポジション情報(図12の「ID=38〜41」のポジション情報)とを端末装置2に送信する。
次に、端末装置2は、8つの注文情報と4つの注文情報とを受信し、出力する。かかる出力により、ユーザ識別子「AAA」で識別されるユーザは、自分が入力した注文指示に応じて自動生成された注文情報とポジション情報とを把握できる。
また、具体例2において、ポジション生成部133は、具体例1と同様に、約定処理を行う。また、具体例2において、決済部134は、具体例1と同様に、決済処理を行う。
以上の処理により、ユーザ識別子「AAA」で識別されるユーザの注文指示に応じた注文情報が自動的に蓄積された。また、予め決められた条件を満たした場合、ポジション情報が自動生成された。また、注文情報が条件を満たした場合に約定処理が行われた。さらに、ポジション情報が条件を満たした場合に決済のための処理が行われた。
(具体例3)
今、ユーザ識別子「ABB」で識別されるユーザは、端末装置2に対して、指定価格「100.00」、想定変動幅「100pips」、ポジション間隔「10pips」の金融取引情報等を含む注文指示を入力した、とする。すると、端末受付部22は、かかる注文指示を受け付ける。ここで、注文指示は、リスク軽減値を有さない。
次に、端末処理部23は、端末格納部21からユーザ識別子「ABB」を取得する。そして、端末処理部23は、ユーザ識別子「ABB」と、指定価格「100.00」、想定変動幅「100pips」、ポジション間隔「10pips」の金融取引情報等とを含む注文指示を構成する。次に、端末送信部24は、当該注文指示を金融情報処理装置1に送信する。
次に、金融情報処理装置1の受信部12は、端末装置2から当該注文指示を受信する。
次に、現在価値取得部131は、例えば、図示しない外部の装置から、現在価値情報「100.00」を取得した、とする。
次に、注文生成部132は、受信された注文指示が有するパラメータ群(想定変動幅「100pips」、ポジション間隔「10pips」)を取得する。
次に、注文生成部132は、受信された注文指示が有する指定価値「100.00」を取得する。
次に、注文生成部132は、取得したパラメータ群(想定変動幅「100pips」、ポジション間隔「10pips」)を用いて、以下のように、1以上の上位価格注文情報を生成する。つまり、まず、注文生成部132は、上位価格注文情報に対する想定変動幅(100÷2=50pips)を算出する。次に、注文生成部132は、注文数(上位価格注文情報に対する想定変動幅÷ポジション間隔)を「5=50/10」と算出する。そして、注文生成部132は、指定価値「100.00」とポジション間隔「10pips」とを用いて、指定価値「100.00」より高い注文数分「5」の方向情報「売り」のポジション(100.50,100.40,100.30,100.20,100.10)を取得する。また、注文生成部132は、各ポジションに対する決済条件を「各ポジション−0.10」により算出し、5つの注文情報(ポジション,決済条件)「(100.50,100.40)(100.40,100.30)(100.30,100.20)(100.20,100.10)(100.10,100.00)」を生成する。そして、注文生成部132は、生成した5つの上位価格注文情報を、ユーザ識別子「AAA」に対応付けて、注文格納部111に蓄積する。なお、注文生成部132は、5つの上位価格注文情報を、方向情報「売り」、パラメータ群(想定変動幅「100pips」、ポジション間隔「10pips」)に対応付けて蓄積することは好適である。
また、注文生成部132は、取得したパラメータ群(想定変動幅「100pips」、ポジション間隔「10pips」)を用いて、以下のように、1以上の下位価格注文情報を生成する。つまり、注文生成部132は、指定価値「100.00」とポジション間隔「10pips」とを用いて、指定価値「100.00」より低い注文数分「5」の方向情報「買い」のポジション(99.90,99.80,99.70,99.60,99.50)を取得する。また、注文生成部132は、各ポジションに対する方向情報「買い」の決済条件を「各ポジション+0.10」により算出し、5つの注文情報(ポジション,決済条件)「(99.90,100.00)(99.80,99.90)(99.70,99.80)(99.60,99.70)(99.50,99.60)」を生成する。そして、注文生成部132は、生成した5つの下位価格注文情報を、ユーザ識別子「AAA」に対応付けて、注文格納部111に蓄積する。なお、注文生成部132は、5つの上位価格注文情報を、方向情報「買い」、パラメータ群(想定変動幅「100pips」、ポジション間隔「10pips」)に対応付けて蓄積することは好適である。
以上の処理により蓄積されたレコードが図11の「ID=56」のレコードである。
次に、ポジション生成部133は、指定価格と現在価値情報との差が予め決められた条件を満たすほど大きくない、と判断する。
次に、送信部14は、生成された10の注文情報(図11の「ID=56」の注文情報)を端末装置2に送信する。
次に、端末装置2は、10の注文情報を受信し、出力する。かかる出力により、ユーザ識別子「AAA」で識別されるユーザは、自分が入力した注文指示に応じて自動生成された注文情報を把握できる。
また、具体例3において、ポジション生成部133は、具体例1と同様に、約定処理を行う。また、具体例3において、決済部134は、具体例1と同様に、決済処理を行う。
以上の処理により、ユーザ識別子「ABB」で識別されるユーザの注文指示に応じた注文情報が自動的に蓄積された。また、注文情報が条件を満たした場合に約定処理が行われた。さらに、ポジション情報が条件を満たした場合に決済のための処理が行われた。
以上、本実施の形態によれば、相場が損失拡大の方向に動いた場合でも、ポジションの過大保持を回避できる。
また、本実施の形態によれば、いわゆるWサイクル注文において、相場が損失拡大の方向に動いた場合でも、ポジションの過大保持を回避できる。
また、本実施の形態によれば、いわゆるiサイクル注文において、相場が損失拡大の方向に動いた場合でも、ポジションの過大保持を回避できる。
また、本実施の形態によれば、「売り」のポジション方向の注文において、相場が損失拡大の方向に動いた場合でも、ポジションの過大保持を回避できる。
さらに、本実施の形態によれば、「買い」のポジション方向の注文において、相場が損失拡大の方向に動いた場合でも、ポジションの過大保持を回避できる。
なお、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをCD−ROMなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態における金融情報処理装置1を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータがアクセス可能な記録媒体は、
価値が変動し得る金融商品に対する注文に関する情報であり、ポジションと決済条件とを有する3以上の注文情報を格納し得る注文格納部を具備し、
コンピュータを、
価値が変動し得る金融商品の注文の指示である注文指示を受信する注文指示受信部と、
前記注文指示の受信に応じて、3以上の注文情報であり、当該3以上の各注文情報が有するポジション間の間隔であるポジション間隔が広がるようにポジションを決定し、当該ポジションと決済条件とを有する3以上の注文情報を生成し、当該3以上の注文情報を対応付けて前記注文格納部に蓄積する注文生成部として機能させるためのプログラムである。
上記プログラムにおいて、記録媒体は、指定価格が格納されるパラメータ格納部をさらに具備し、前記注文生成部は、前記指定価格が示す価格より上の価格を示す価格情報に対応付いた情報であり、「売り」のポジション方向の情報である売りポジション方向情報を有する3以上の注文情報であり、当該3以上の各注文情報が有するポジション間の間隔であるポジション間隔が広がるようにポジションを決定し、当該ポジションと決済条件とを有する3以上の注文情報を生成し、当該3以上の注文情報を対応付けて前記注文格納部に蓄積するものとして、コンピュータを機能させるプログラムであることは好適である。なお、ここで、パラメータ格納部の指定価格は注文指示に含まれており、揮発性の記録媒体に格納されていても良いことは言うまでもない。
上記プログラムにおいて、前記注文生成部は、指定価格が示す価格より下の価格を示す価格情報に対応付いた情報であり、「買い」のポジション方向の情報である買いポジション方向情報を有する3以上の注文情報であり、当該3以上の各注文情報が有するポジション間の間隔であるポジション間隔が広がるようにポジションを決定し、当該ポジションと決済条件とを有する3以上の注文情報を生成し、当該3以上の注文情報を対応付けて前記注文格納部に蓄積するものとして、コンピュータを機能させるプログラムであることは好適である。
上記プログラムにおいて、前記注文生成部は、指定価格が示す価格より上の価格を示す価格情報に対応付いた情報であり、「売り」のポジション方向の情報である売りポジション方向情報を有する3以上の注文情報であり、当該3以上の各注文情報が有するポジション間の間隔であるポジション間隔が広がるようにポジションを決定し、当該ポジションと決済条件とを有する3以上の注文情報を生成し、かつ、前記指定価格が示す価格より下の価格を示す価格情報に対応付いた情報であり、「買い」のポジション方向の情報である買いポジション方向情報を有する3以上の注文情報であり、当該3以上の各注文情報が有するポジション間の間隔であるポジション間隔が広がるようにポジションを決定し、当該ポジションと決済条件とを有する3以上の注文情報を生成し、かつ、前記6以上の注文情報を対応付けて前記注文格納部に蓄積するものとして、コンピュータを機能させるプログラムであることは好適である。
上記プログラムにおいて、前記注文生成部は、各注文情報が有するポジション間のポジション間隔が一定の間隔で広がるように、3以上または6以上の注文情報を生成し、当該3以上または6以上の注文情報を対応付けて前記注文格納部に蓄積するものとして、コンピュータを機能させるプログラムであることは好適である。
上記プログラムにおいて、前記注文指示は、ポジション間隔の広がる度合いを示すリスク軽減値を有し、前記注文生成部は、前記3以上または6以上のポジション間隔が、リスク軽減値が示す値で広がるように、3以上または6以上の注文情報を生成し、当該3以上または6以上の注文情報を対応付けて前記注文格納部に蓄積するものとして、コンピュータを機能させるプログラムであることは好適である。
また、図13は、本明細書で述べたプログラムを実行して、上述した種々の実施の形態の金融情報処理装置1等を実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。図13は、このコンピュータシステム300の概観図であり、図14は、システム300のブロック図である。
図13において、コンピュータシステム300は、CD−ROMドライブを含むコンピュータ301と、キーボード302と、マウス303と、モニタ304とを含む。
図14において、コンピュータ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以上の通信手段は、物理的に一の媒体で実現されても良いことは言うまでもない。
また、上記各実施の形態において、各処理は、単一の装置によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。