以下、金融情報処理装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態1)
本実施の形態において、決済を行う1または2以上のポイントが存在する場合であり、損失が発生している場合に、予め決められた条件を満たすポジションに対して決済を行う金融情報処理システムについて説明する。
また、本実施の形態において、金融商品の現在価値が予め決められた条件を満たすほど低い場合、最も低い価値のポジション情報より低い価値の1以上のポジション情報を生成する金融情報処理システムについて説明する。また、本実施の形態において、金融商品の現在価値が予め決められた条件を満たすほど高い場合、最も高い価値のポジション情報より高い価値の1以上のポジション情報を生成する金融情報処理システムについて説明する。なお、金融商品の価値とは、通常、金融商品の単位量あたりの価格であり、例えば、FXにおける為替、単位量(例えば、1株)あたりの株価等である。
また、本実施の形態において、1または2以上のポジションに関する情報を、最大変動PIPSに関する情報を用いて自動算出する金融情報処理システムについて説明する。
なお、本実施の形態における金融情報処理システムは、例えば、FXにおいてナンピンを好適に行うために利用され得るシステムである。なお、ナンピンとは、FXや株式等の金融商品の売買手法の一つである。例えば、金融商品を買い建てた後に価格が下落した場合、下値で買い増しすることで、単位量(例えば、1株)あたりの買い値(平均取得価格)を下げる手法である。
図1は、本実施の形態における金融情報処理システムの概念図である。金融情報処理システムは、金融情報処理装置1、および1または2以上の端末装置2を備える。金融情報処理装置1は、例えば、金融商品を販売する企業のサーバ装置である。また、端末装置2は、例えば、金融商品を購入するユーザの端末である。端末装置2は、例えば、いわゆるパソコン、スマートフォン、携帯端末、タブレット端末等である。
図2は、本実施の形態における金融情報処理システムのブロック図である。
金融情報処理システムを構成する金融情報処理装置1は、格納部11、決済情報格納部12、受付部13、ポジション算出部14、蓄積部15、送信部16、現在価値情報取得部17、決済判断部18、決済部19、ポジション情報生成部20を備える。
端末装置2は、端末格納部21、端末受付部22、端末送信部23、端末受信部24、端末出力部25、判断部26、変更部27を備える。
端末受付部22は、第一受付部221、第二受付部222、第三受付部223を備える。
金融情報処理装置1を構成する格納部11は、現在価値情報を格納し得る。現在価値情報とは、金融商品の現在の価値に関する情報である。現在価値情報は、例えば、現在の為替レート、現在の株価、現在の先物の価格などである。現在価値情報は、例えば、外部の図示しないサーバ装置から受信された情報である。また、格納部11は、他の情報を格納していても良い。他の情報とは、例えば、ポジションを算出するために使用される情報であり、例えば、金融商品の価値の遷移履歴を示す情報である。金融商品の価値の遷移履歴を示す情報は、例えば、時期を示す情報と金融商品の価値を示す情報の組である2以上の過去価値情報を有する。金融商品の価値の遷移履歴を示す情報は、例えば、為替レートの過去の変動履歴、株価の過去の遷移履歴である。また、格納部11は、例えば、ユーザごとに、ユーザの資産を格納していても良い。格納部11は、例えば、ユーザごとに、ユーザが入力した1以上の金融取引情報を格納している。また、格納部11は、例えば、ユーザごとに、ユーザの通知先を示す通知先情報を格納していても良い。なお、金融商品は、ここでは、例えば、FX、株、先物取引等である。また、通知先情報は、例えば、メールアドレス、電話番号、IPアドレス等である。また、金融取引情報は、金融商品の取引に関する情報である。金融取引情報は、例えば、通貨ペア、ポジション方向、対象資産を示す情報である対象資産情報、および通貨単位の情報のうちの1以上の情報を含む。また、格納部11は、ユーザ毎のユーザの口座資産を格納しても良い。口座資産は、通常、金額を示す情報を含む。
決済情報格納部12は、1または2以上の決済情報を格納し得る。決済情報は、1または2以上のポジション情報を有する。決済情報は、ユーザ識別子と1または2以上のポジション情報とを有することは好適である。ポジション情報は、ポジションに関する情報である。ポジションは、ポジションを示す点の情報である。ポジションは、価値が変動し得る金融商品の売りまたは買いを行った持ち高の状態を示す。ポジションは、例えば、FXであれば持ち高・為替レート・売買の別などによって表現される。ポジション情報は、例えば、為替レートの情報、購入または販売すべき株価の情報等である。また、ユーザ識別子は、ユーザを識別する情報であり、例えば、ユーザID、メールアドレス、端末装置2のID(MACアドレス)、IPアドレス、氏名等である。
受付部13は、金融商品の取引に関する情報である金融取引情報を受け付ける。ここで、受け付けとは、通常、端末装置2からの受信である。ただし、受け付けとは、ユーザからの入力の受け付け、記録媒体からの読み出し等でも良い。また、受付部13は、例えば、金融取引情報とユーザ識別子とを対に受け付ける。金融取引情報は、例えば、通貨ペア、対象資産を示す情報である対象資産情報、および通貨単位の情報を含む。金融取引情報は、例えば、ポジション方向の情報を含んでも良い。
ポジション算出部14は、受付部13が受け付けた金融取引情報を用いて、1または2または3以上のポジションを算出する。また、ポジション算出部14は、通常、金融商品の取引によって、対象資産情報が示す対象資産を損失が超えないように、1または2以上のポジションを算出する。
ポジション算出部14は、例えば、ボラティリティ参考期間と安全係数とを用いて、最大変動PIPSを算出する。そして、ポジション算出部14は、例えば、当該最大変動PIPSを用いて、2または3以上のポジションを算出する。つまり、ポジション算出部14は、受付部13が受け付けた1または2以上の金融取引情報を用いて、1以上の他の金融取引情報を算出し、当該算出した金融取引情報を用いて、2または3以上のポジションを算出しても良い。なお、最大変動PIPSとは、最大限に変更するPIPSの幅である。PIPSとは、取引レ−トの最小単位のことである。
ポジション算出部14は、例えば、金融商品を買うポイントであるポジションを算出し、かつ当該金融商品を売るポイントも取得しても良い。ポジション算出部14は、例えば、金融商品を買うポイントであるポジションを算出し、当該金融商品を売るポイントを「買うポイント+P(Pは正の数値であり、例えば、2.00円)」という算出式を用いて、当該金融商品を売るポイントを算出しても良い。例えば、金融商品がFXであり、通貨ペアが米ドルと日本円である場合、ポジション算出部14が米ドルを買うポイントを「99.00円」と算出した場合、米ドルを売るポイントを「99.00円+2.00円」と算出する。なお、「買うポイント+P」におけるPは固定値でも良いし、金融商品を売るポイントの値または対象資産情報等をパラメータとする演算式により算出される値でも良い。また、上記の売るポイントは、後述する決済条件である。また、決済条件は、現在価値情報が示す価値が、売るポイント以上であること、であると考えても良い。
ポジション算出部14は、例えば、金融取引情報をパラメータとするポジションの算出式の情報を格納しており、算出式の情報が示す算出式に金融取引情報を代入し、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」となる。
上記の式の場合、ポジション算出部14は、まず、最大変動PIPS(A)、対象資産(B)、必要証拠金(Tu)を取得する。そして、ポジション算出部14は、取得した最大変動PIPS(A)、対象資産(B)、必要証拠金(Tu)をポジションの算出式に代入し、ポジション間隔(X)を算出する。そして、ポジション算出部14は、現在価値から最も近い整数(小数点以下が0)のポイントを第一のポジションとし、ポジション間隔(X)を用いて、第二以降のポジションを取得する。
なお、上記の算出式において、ポジション算出部14は、XがXmよりも小さい場合はXmを正としてポジションを構成することは好適である。なお、Xmは、予め設定されているポジション間隔の基準値(最小値)である。
ポジション算出部14は、例えば、受付部13が受け付けた幅情報であり、ポジション間の間隔を示す幅情報を用いて、2以上のポジションを算出しても良い。つまり、例えば、ポジション算出部14は、現在価値情報を格納部11から取得し、当該現在価値情報に最も近い数値であり、小数点以下が0である第一のポジションを取得する。次に、ポジション算出部14は、例えば、制約を満たさなくなるまで、第一のポジション以降、幅情報が示す幅で、第二以降のポジションを取得していく。
なお、幅情報とは、2以上のポジションの間の幅に関する情報である。なお、3以上のポジションの間の2以上の幅は、通常、一定であるが、一定でなくても良い。幅情報は、例えば、「2.00円」等である。また、幅情報は、2以上のポジション情報と考えても良い。つまり、幅情報は、金融商品の価値の変動に応じて、決済を行う金融商品の価値を示す2以上のポジションであり、金融取引情報を用いて算出された2以上のポジションの情報であると考えても良い。
ポジション算出部14がポジションを算出する具体的なアルゴリズムの例は、後述する。
蓄積部15は、ポジションに関する情報である1または2以上のポジション情報を有する決済情報を決済情報格納部12に蓄積する。蓄積部15は、ポジション算出部14が取得した2以上のポジションに関する2以上のポジション情報を有する決済情報を決済情報格納部12に蓄積する。蓄積部15は、ポジション算出部14が取得した2以上のポジションに関する2以上のポジション情報と、受付部13が受信したユーザ識別子とを用いて、決済情報を構成し、当該決済情報を決済情報格納部12に蓄積する。
送信部16は、情報を端末装置2に送信する。ここで、情報とは、例えば、1または2以上のポジション情報である。また、情報とは、例えば、決済が行われた旨の情報である。
現在価値情報取得部17は、金融商品の現在の価値に関する情報である現在価値情報を取得する。現在価値情報取得部17は、例えば、図示しない外部の装置から現在価値情報を受信する。現在価値情報取得部17は、格納部11から現在価値情報を取得しても良い。
決済判断部18は、現在価値情報を用いて、決済を行うか否かを判断する。決済判断部18は、現在価値情報が示す価値が、予め決められた決済条件を満たすか否かを判断する。決済条件は、通常、ポジション情報に対応づけられている。決済条件は、例えば、現在価値情報が示す価値が、ポジション情報に対応付けられた価値であり、決済を行う価値になることである。また、決済条件は、例えば、現在価値情報が示す価値が、ポジション情報に対応付けられた価値であり、決済を行う価値以下の価値になることである。また、決済条件は、例えば、現在価値情報が示す価値が、ポジション情報に対応付けられた価値であり、決済を行う価値以上の価値になることである。なお、例えば、ポジション情報が示すポジションが「99.00円」である場合、当該ポジション情報に対応付けられた価値は、例えば、「97.00円」である。
決済部19は、決済すると判断した場合、金融商品の決済のための処理である決済処理を行う。つまり、決済条件を満たすと、決済判断部18が判断した場合、決済部19は、金融商品の決済のための処理である決済処理を行う。また、ここで、決済処理とは、決済を行うことでも良いし、決済の指示を外部の装置に送信することでも良いし、決済に関する情報を印刷すること等でも良い。決済処理とは、決済に関する処理であれば良い。なお、決済部19は、通常、1以上の金融取引情報を用いて決済処理を行う。1以上の金融取引情報は、例えば、通貨ペア、ポジション方向である。
ポジション情報生成部20は、現在価値情報が示す金融商品の価値が予め決められた生成条件を満たす場合、1以上のポジション情報を生成する。さらに具体的には、ポジション情報生成部20は、現在価値情報が示す金融商品の価値が予め決められた生成条件を満たすほど低い場合、決済情報が有するポジション情報の中で、最も低い価値のポジション情報より低い価値の1以上のポジション情報を生成する。ここで、生成条件とは、例えば、現在価値情報が示す金融商品の価値が、決済情報が有するポジション情報の中で、最も低い価値のポジション情報が示す価値と同じまたは低いことである。また、生成条件とは、例えば、現在価値情報が示す金融商品の価値が、決済情報が有する2以上のポジション情報の中で、半分以上のポジション情報が示す価値より低いことである。また、ポジション情報生成部20が生成するポジション情報が示すポジション(価値)、および数は問わない。ポジション情報生成部20は、例えば、決済情報が有するポジション情報の中で、最も低い価値のポジション情報より、予め決められた幅(例えば、2円)だけ低いポジションのポジション情報を生成する。なお、ポジション情報生成部20が生成するポジション情報のポジションは問わない。現在のポジション情報の中で最も低い価値のポジション情報より低いポジションのポジション情報を生成すれば良い。また、ポジション情報生成部20がC個(Cは、通常、1であるが2以上の自然数でも良い)のポジション情報を生成した場合、ポジション情報生成部20は、C個の既存のポジション情報を削除することは好適である。なお、削除されるC個の既存のポジション情報は、最も高い価値のポジション情報を含む上位の価値のC個のポジション情報である。つまり、金融商品の価値の変動に関わらず、ポジションの数は一定であることは好適である。
また、ポジション情報生成部20は、現在価値情報が示す金融商品の価値が予め決められた生成条件を満たすほど高い場合、決済情報が有するポジション情報の中で、最も高い価値のポジション情報より高い価値の1以上のポジション情報を生成する。ここで、予め決められた生成条件とは、例えば、現在価値情報が示す金融商品の価値が、決済情報が有するポジション情報の中で、最も高い価値のポジション情報が示す価値と同じまたは高いことである。また、予め決められた生成条件とは、例えば、現在価値情報が示す金融商品の価値が、決済情報が有する2以上のポジション情報の中で、半分以上のポジション情報が示す価値より高いことである。ポジション情報生成部20は、例えば、決済情報が有するポジション情報の中で、最も高い価値のポジション情報より、予め決められた幅(例えば、2円)だけ高いポジションのポジション情報を生成する。なお、ポジション情報生成部20が生成するポジション情報のポジションは問わない。現在のポジション情報の中で最も高い価値のポジション情報より高いポジションのポジション情報を生成すれば良い。
また、ポジション情報生成部20がC個(Cは、通常、1であるが2以上の自然数でも良い)のポジション情報を生成した場合、ポジション情報生成部20は、C個の既存のポジション情報を削除することは好適である。なお、削除されるC個の既存のポジション情報は、最も低い価値のポジション情報を含む下位の価値のC個のポジション情報である。つまり、金融商品の価値の変動に関わらず、ポジションの数は一定であることは好適である。
また、ポジション情報生成部20は、生成した各ポジション情報に対して、決済を行う決済条件を生成し、各ポジション情報に対応付けて、決済条件を蓄積することは好適である。なお、例えば、決済条件は、現在価値情報が示す価値が、ポジション情報に対応づけられて蓄積されている数値(価値)と同じになることである。また、例えば、決済条件は、現在価値情報が示す価値が、ポジション情報に対応づけられて蓄積されている数値(価値)以下になることである。また、例えば、決済条件は、現在価値情報が示す価値が、ポジション情報に対応づけられて蓄積されている数値(価値)以上になることである。 また、ポジション情報生成部20が生成するポジション情報が示すポジション(価値)、および数は問わない。また、ポジション情報生成部20が生成したポジション情報は、通常、決済情報格納部12に蓄積され、決済情報格納部12の中の対応する決済情報に含まれることとなる。
端末装置2を構成する端末格納部21は、情報を格納し得る。情報とは、例えば、ユーザを識別するユーザ識別子である。ユーザ識別子は、例えば、ユーザID、メールアドレス、端末装置2のID(MACアドレス)、IPアドレス、氏名等である。
端末受付部22は、ユーザから情報や指示等を受け付ける。情報や指示等とは、例えば、幅情報、変更指示、金融取引情報、登録指示などである。
ここで、変更指示とは、端末出力部25が出力した2以上の各ポジション情報に対する修正の指示である。変更指示は、通常、ポジションの位置の修正の指示である。ただし、変更指示は、ポジションの削除、ポジションの追加等でも良い。なお、各ポジション情報に対する修正とは、すべてのポジション情報に対する修正を意味するものではなく、いずれかのポジション情報に対する修正、ポジションの追加等も含む意味である。
さらに、登録指示とは、ポジションの登録の指示である。登録指示の入力は、例えば、登録ボタンの押下でも良い。登録指示は、2以上のポジション情報を含んでも良い。
情報や指示等の入力手段は、キーボードやマウスやタッチパネルやメニュー画面によるもの等、何でも良い。端末受付部22は、キーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
第一受付部221は、幅情報を受け付ける。ここで、受け付けとは、通常、金融情報処理装置1からの受信であるが、ユーザからの入力の受け付けでも良い。第一受付部221は、2以上のポジション情報を含む幅情報を、金融情報処理装置1から受信しても良い。また、第一受付部221は、数値を有する幅情報を、ユーザから受け付けても良い。
第二受付部222は、端末出力部25が出力した2以上の各ポジション情報に対する変更指示を受け付ける。変更指示の入力手段は、キーボードやマウスやタッチパネルやメニュー画面によるもの等、何でも良い。
第二受付部222は、1以上の制約を充足しない変更指示を受け付けないことは好適である。制約を充足しない変更指示を受け付けないことは、不適切な変更指示を受け付けないことである。
制約とは、例えば、一のポジションが他のポジションと同じにならないことである。また、制約とは、端末出力部25が出力した2以上のポジションにおいて、一のポジションより上位に位置するポジションが、当該一のポジションより下位に移動できないことである。また、制約とは、ユーザの対象資産を超えて損をすることができないことである。また、制約とは、ユーザの口座資産を超えて損をすることができないことである。
第三受付部223は、金融商品の取引に関する情報である1以上の金融取引情報を受け付ける。第三受付部223は、1以上の金融取引情報と取得指示とを受け付けても良い。取得指示は、2以上のポジション情報の取得の指示である。
端末送信部23は、端末受付部22が受け付けた指示や情報等を、金融情報処理装置1に送信する。端末送信部23は、変更部27が変更した1以上のポジションを含む、2以上のポジションに関する2以上のポジション情報を金融情報処理装置1に送信しても良い。また、ここでの指示や情報等は、例えば、1以上の金融取引情報、1以上の金融取引情報とユーザ識別子、2以上のポジション情報、2以上のポジション情報とユーザ識別子、登録指示、登録指示とユーザ識別子等である。
端末受信部24は、金融情報処理装置1から情報を受信する。端末受信部24は、例えば、1以上の金融取引情報等の送信に応じて、金融情報処理装置1から2以上のポジション情報、またはポジション関連情報を受信する。また、端末受信部24は、2以上のポジション情報または登録指示の送信に応じて、2以上のポジション情報の登録結果を受信する。また、端末受信部24は、決済の結果を金融情報処理装置1から受信する。
端末出力部25は、第一受付部221が受け付けた幅情報を用いて、2以上のポジションに関する情報である2以上のポジション情報を出力する。また、幅情報を用いて2以上のポジション情報を出力することとは、幅情報から2以上のポジション情報を生成し、当該2以上のポジション情報を出力することでも良いし、金融情報処理装置1から受信された2以上のポジション情報を出力すること等でも良い。なお、端末出力部25におけるポジション情報の出力態様は問わない。端末出力部25は、図を用いて、2以上のポジション情報を出力することは好適である。端末出力部25は、後述する図10に示すように、図的なメジャーと共に、2または3以上のポジションの位置を明示する図を出力することは好適である。
端末出力部25は、2以上のポジション間の各間隔と、ポジションの数に関する情報を含むポジション関連情報を出力しても良い。なお、ポジション関連情報は、2以上のポジション情報を含む。
また、第一受付部221が、ユーザから幅情報を受け付けた場合、上述したように、端末出力部25は、当該幅情報を用いて、2以上のポジションを生成し、当該生成した2以上のポジションに関する2以上のポジション情報を出力しても良い。第一受付部221が、ユーザから幅情報を受け付けた場合、端末出力部25は、例えば、現在価値情報を取得し、当該現在価値情報に最も近い自然数のポジション(小数点以下が0であるポジション)を第一のポジションとして、当該第一のポジションから、幅情報が示す幅だけ異なる第二以降のポジションを生成する。例えば、幅情報が「2.00」であり、現在価値情報が「99.50円」である場合、端末出力部25は、第一のポジション「99.00円」を取得し、当該第一のポジションから、「2.00」だけ異なる第二以降のポジションである、「97.00円」、「95.00円」、「93.00円」等を取得する。ここで、端末出力部25は、制約を満たすポジションを生成することは好適である。なお、制約を満たすか否かは、後述する判断部26が判断しても良い。
また、ここでの出力とは、通常、ディスプレイへの表示であるが、プロジェクターを用いた投影、プリンタでの印字、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。
判断部26は、ポジションに関する1以上の制約を、第二受付部222が受け付けた変更指示が充足するか否かを判断する。判断部26は、例えば、1以上の制約情報を保持しており、かかる1以上の制約情報を取得し、当該1以上の制約情報が示す制約に、変更指示に対応するポジションが合致するか否かを判断する。
変更部27は、変更指示に基づいて、1以上のポジションを変更する。変更部27におけるポジションの変更とは、通常、ポジションの位置の変更である。ポジションの変更とは、ポジションの追加、削除等でも良い。変更部27におけるポジションの変更により、端末出力部25は、変更されたポジションに関するポジション情報を出力する。なお、変更されたポジションとは、例えば、位置(ポジション)が変更されたポジション、追加されたポジション、削除されたポジション等である。
格納部11、決済情報格納部12、端末格納部21は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
格納部11等に現在価値情報等が記憶される過程は問わない。例えば、記録媒体を介して現在価値情報等が格納部11等で記憶されるようになってもよく、通信回線等を介して送信された現在価値情報等が格納部11等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された現在価値情報等が格納部11等で記憶されるようになってもよい。
ポジション算出部14、蓄積部15、決済判断部18、決済部19、ポジション情報生成部20、判断部26、変更部27は、通常、MPUやメモリ等から実現され得る。ポジション算出部14の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
送信部16、端末送信部23は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
現在価値情報取得部17、端末受信部24は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
端末出力部25は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。端末出力部25は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
次に、金融情報処理システムの動作について説明する。まず、金融情報処理装置1の動作について、図3のフローチャートを用いて説明する。
(ステップS301)受付部13は、端末装置2から1以上の金融取引情報を受信したか否かを判断する。1以上の金融取引情報を受信した場合はステップS302に行き、1以上の金融取引情報を受信していない場合はステップS307に行く。なお、受付部13は、通常、1以上の金融取引情報と対に、ユーザ識別子も受信する。
(ステップS302)ポジション算出部14は、ステップS301で受信した1以上の金融取引情報を取得する。
(ステップS303)ポジション算出部14は、格納部11から現在価値情報を取得する。
(ステップS304)ポジション算出部14は、1以上の金融取引情報を用いて、1以上のポジションを算出する。なお、かかるポジション算出処理の例について、図4〜図6のフローチャートを用いて説明する。また、ポジション算出部14は、例えば、現在価値情報をも用いて、1以上のポジションを算出する。また、ポジション算出部14は、取得した1以上のポジションに関する1以上のポジション情報を、ユーザ識別子に対応付けて、図示しないバッファに一時蓄積することは好適である。
(ステップS305)送信部16は、ステップS304で算出された1以上のポジションを用いて、1以上のポジション情報を構成する。
(ステップS306)送信部16は、ステップS305で構成した1以上のポジション情報を端末装置2に送信する。ステップS301に戻る。
(ステップS307)受付部13は、端末装置2から、1以上のポジション情報等を受信したか否かを判断する。1以上のポジション情報等を受信すればステップS308に行き、1以上のポジション情報等を受信しなければステップS301に戻る。なお、1以上のポジション情報等とは、例えば、1以上のポジション情報とユーザ識別子である。また、1以上のポジション情報等は、登録指示に含まれていても良い。つまり、受付部13は、端末装置2から、1以上のポジション情報等を含む登録指示を受信しても良い。
(ステップS308)蓄積部15は、ステップS307で受信された1または2以上のポジション情報を、受信されたユーザ識別子に対応付けて蓄積する。ステップS301に戻る。蓄積部15は、通常、2以上のポジション情報を格納部11に蓄積する。
(ステップS309)決済判断部18は、決済を行うタイミングであるか否かを判断する。決済を行うタイミングである場合はステップS310に行き、決済を行うタイミングでない場合はステップS301に戻る。なお、決済を行うタイミングは、例えば、金融商品の販売会社の営業日(例えば、金融情報処理装置1が動作している日、または金融情報処理装置1に予め設定されている日)の予め決まった時刻(例えば、15時など)である。ただし、決済を行うタイミングは問わない。
(ステップS310)現在価値情報取得部17は、金融商品の現在価値情報を取得する。
(ステップS311)決済判断部18は、カウンタiに1を代入する。
(ステップS312)決済判断部18は、決済情報格納部12に、i番目のユーザのポジション情報が存在するか否かを判断する。i番目のユーザのポジション情報が存在すればステップS313に行き、存在しなければステップS301に戻る。
(ステップS313)決済判断部18は、i番目のユーザの1または2以上のポジション情報を、決済情報格納部12から取得する。
(ステップS314)決済判断部18は、カウンタjに1を代入する。
(ステップS315)決済判断部18は、ステップS313で取得した1以上のポジション情報のうち、j番目のポジション情報が存在するか否かを判断する。j番目のポジション情報が存在すればステップS316に行き、存在しなければステップS320に行く。
(ステップS316)決済判断部18は、ステップS310で取得した現在価値情報を用いて、j番目のポジション情報に対応する決済条件を満たすか否かを判断する。当該決済条件を満たす場合は、例えば、現在価値情報が示す価値がj番目のポジション情報に対応付けられている価値以下である場合である。また、当該決済条件を満たす場合は、例えば、現在価値情報が示す価値がj番目のポジション情報に対応付けられている価値以上である場合である。
(ステップS317)決済部19は、現在価値情報を用いて、金融商品の決済処理を行う。決済部19は、通常、格納部11に格納されている、当該ユーザの1以上の金融取引情報を用いて決済処理を行う。なお、決済部19は、決済を行った場合、当該決済に対応するポジション情報を削除することは好適である。
(ステップS318)送信部16は、決済が行われた旨の情報を当該ユーザの端末装置2に送信する。送信部16は、例えば、当該ユーザのユーザ識別子に対応する通知先情報を取得する。そして、送信部16は、通知先情報が示す通知先に、決済が行われた旨の情報を送信する。送信部16は、決済時の金融商品の価値等を送信しても良い。
(ステップS319)ポジション情報生成部20は、ポジション情報生成のための生成条件を満たすか否かを判断する。生成条件を満たす場合はステップS320に行き、生成条件を満たさない場合はステップS321に行く。なお、ポジション情報生成のための生成条件を満たすか否かの判断は、例えば、現在価値情報が示す金融商品の価値が予め決められた条件を満たすほど低いか否かの判断である。また、ポジション情報生成のための条件を満たすか否かの判断は、例えば、現在価値情報が示す金融商品の価値が予め決められた条件を満たすほど高いか否かの判断でも良い。
(ステップS320)ポジション情報生成部20は、1以上のポジション情報を生成する。なお、ポジション情報生成部20は、例えば、ステップS313で取得されたポジション情報の中で、最も低い価値のポジション情報より低い価値の1以上のポジション情報を生成する。また、ポジション情報生成部20は、例えば、ステップS313で取得されたポジション情報の中で、最も高い価値のポジション情報より高い価値の1以上のポジション情報を生成する場合もあり得る。また、ポジション情報生成部20が1以上のポジション情報を生成した場合、既に存在する1以上のポジション情報を削除することは好適である。なお、ポジション情報生成部20が生成するポジション情報の数と、削除するポジション情報の数は同数であることが好適である。
(ステップS321)決済判断部18は、カウンタiを1、インクリメントする。ステップS312に戻る。
(ステップS322)決済判断部18は、カウンタjを1、インクリメントする。ステップS315に戻る。
なお、図3のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
また、図3のフローチャートにおいて、受付部13は、幅情報を端末装置2から受信し、当該幅情報を用いて、ポジション算出部14が2以上のポジションを算出しても良い。かかる場合、送信部16は、当該2以上のポジションに関する2以上のポジション情報を端末装置2に送信する。なお、この端末装置2は、幅情報を送信した端末装置2である。
次に、ステップS304のポジション算出処理の第一の例について、図4のフローチャートを用いて説明する。
(ステップS401)ポジション算出部14は、ボラティリティ参考期間と安全係数とを用いて、最大変動PIPS(X)を算出する。ポジション算出部14は、通常、ボラティリティ参考期間の変動PIPS(CP)を格納部11から取得し、「最大変動PIPS(X)=変動PIPS(CP)×安全係数」により、最大変動PIPS(X)を算出する。なお、ポジション算出部14は、最大変動PIPS(X)を算出するための演算式の情報を予め保持している、とする。なお、安全係数を用いずに、最大変動PIPS(X)を算出しても良い。
(ステップS402)ポジション算出部14は、Nに2を代入する。
(ステップS403)ポジション算出部14は、ポジションの候補を算出する。ポジション候補の算出方法について、図5のフローチャートを用いて説明する。
(ステップS404)ポジション算出部14は、ステップS403で算出した1または2以上のポジション候補に対して、各ポジション候補の評価損益を算出する。ポジション算出部14は、例えば、「評価損益=ポジション候補のPIP×ロット単位×通貨単位」により、ポジション候補の評価損益を算出する。
(ステップS405)ポジション算出部14は、ステップS404で算出した各ポジション候補の評価損益、および証拠金の情報を用いて、ユーザの負担(a)を算出する。負担(a)は、「各ポジション候補の評価損益の和+証拠金×ポジション候補の数」である。
(ステップS406)ポジション算出部14は、「当該ユーザの対象資産<a」を満たすか否かを判断する。「当該ユーザの対象資産<a」を満たす場合はステップS407に行き、「当該ユーザの対象資産<a」を満たさない場合はステップS410に行く。なお、ユーザの対象資産は、例えば、ユーザ識別子に対応付けられて、格納部11に格納されている、とする。また、ここでの対象資産は、口座資産でも良い。
(ステップS407)ポジション算出部14は、変数「ポジション数」に「N−1」を代入する。変数「ポジション数」は、最終的なポジションの数である。
(ステップS408)ポジション算出部14は、ポジション数が(N−1)の際のすべてのポジションをバッファから取得する。
(ステップS409)ポジション算出部14は、ポジションの幅(間隔)を取得する。上位処理にリターンする。
次に、ステップS403のポジション候補の算出方法について、図5のフローチャートを用いて説明する。
(ステップS501)ポジション算出部14は、カウンタiに1を代入する。
(ステップS502)ポジション算出部14は、ポジション候補Pi「(X/N)×i」を算出する。
(ステップS503)ポジション算出部14は、カウンタiを1、インクリメントする。
(ステップS504)ポジション算出部14は、iとNとが等しいか否かを判断する。iとNが等しければステップS505に行き、iとNが等しくなければステップS502に戻る。
(ステップS505)ポジション算出部14は、すべてのポジションを図示しないバッファに格納する。上位処理にリターンする。なお、すべてのポジションとは、P1からPiのポジションである。
次に、ステップS304のポジション算出処理の第二の例について、図6のフローチャートを用いて説明する。なお、図6のフローチャートにおいて、図4のフローチャートと同一のステップについて説明を省略する。
(ステップS601)ポジション算出部14は、カウンタiに1を代入する。
(ステップS602)ポジション算出部14は、ポジション候補Pi「現在価値−i×x(xは定数)」を算出し、バッファに一時蓄積する。なお、現在価値は、現在価値情報が示す価値(例えば、為替レート、株価等)である。また、xは、例えば、50PIPSである。
(ステップS603)ポジション算出部14は、ポジション候補Piが、現在価値からの最大変動PIPS(X)を超えないか否かを判断する。超えない場合はステップS604に行き、超える場合はステップS609に行く。
(ステップS604)ポジション算出部14は、i番目のポジション候補に対する評価損益を算出する。ポジション算出部14は、例えば、「評価損益=ポジション候補のPIP×ロット単位×通貨単位」により、ポジション候補の評価損益を算出する。
(ステップS605)ポジション算出部14は、ポジション候補Piの評価損益、および証拠金の情報を用いて、ポジション候補Piに対するユーザの負担(ai)を算出する。負担(ai)は、通常、「ポジション候補Piの評価損益+証拠金」である。
(ステップS606)ポジション算出部14は、ユーザの負担全体(a)を算出する。ユーザの負担全体(a)は、a1からaiまでの和である。
(ステップS607)ポジション算出部14は、「当該ユーザの対象資産<a」を満たすか否かを判断する。「当該ユーザの対象資産<a」を満たす場合はステップS608に行き、「当該ユーザの対象資産<a」を満たさない場合はステップS609に行く。なお、ここで口座資産は、対象資産でも良い。また、対象資産は、口座資産の一部でも良い。
(ステップS608)ポジション算出部14は、カウンタiを1、インクリメントする。
(ステップS609)ポジション算出部14は、変数「ポジション数」に「i−1」を代入する。変数「ポジション数」は、最終的なポジションの数である。
(ステップS610)ポジション算出部14は、P1からがPi−1までのすべてのポジションをバッファから取得する。上位処理にリターンする。
次に、端末装置2の動作について、図7のフローチャートを用いて説明する。
(ステップS701)第三受付部223は、金融取引情報等を受け付けたか否かを判断する。金融取引情報等を受け付ければステップS702に行き、金融取引情報等を受け付けなければステップS706に行く。なお、金融取引情報等とは、例えば、金融取引情報とポジション情報の取得指示である。
(ステップS702)端末送信部23は、端末格納部21からユーザ識別子を取得する。
(ステップS703)端末送信部23は、ステップS701で受け付けられた金融取引情報とステップS702で取得したらユーザ識別子とを金融情報処理装置1に送信する。
(ステップS704)第一受付部221は、ステップS703における金融取引情報等の送信に応じて、1または2以上のポジション情報を金融情報処理装置1から受信したか否かを判断する。1または2以上のポジション情報を受信すればステップS705に行き、受信しなければステップS704に戻る。
(ステップS705)端末出力部25は、ステップS704で受信された1または2以上のポジション情報を出力する。ステップS701に戻る。
(ステップS706)第一受付部221は、幅情報を受け付けたか否かを判断する。幅情報を受け付けた場合はステップS707に行き、幅情報を受け付けない場合は、ステップS709に行く。なお、ここでは、第一受付部221は、通常、ユーザから幅情報を受け付ける。
(ステップS707)端末出力部25は、当該幅情報を用いて、2以上のポジションを取得する。
(ステップS708)端末出力部25は、ステップS707で取得した2以上のポジションについての2以上のポジション情報を出力する。ステップS701に戻る。なお、ステップS705におけるポジション情報の出力態様と、ステップS708におけるポジション情報の出力態様とは、通常、同じである。
(ステップS709)第二受付部222は、端末出力部25が出力した2以上の各ポジション情報に対する変更指示を受け付けたか否かを判断する。変更指示を受け付けた場合はステップS710に行き、変更指示を受け付けない場合はステップS715に行く。
(ステップS710)変更部27は、変更指示に対応するポジション情報を取得する。
(ステップS711)判断部26は、1以上の制約情報を取得する。
(ステップS712)判断部26は、ステップS710で取得されたポジション情報が、1以上の制約情報が示す1以上のすべての制約に合致するか否かを判断する。1以上のすべての制約に合致する場合はステップS713に行き、いずれかの制約に合致しない場合はステップS714に行く。
(ステップS713)端末出力部25は、変更指示により変更されたポジション情報を出力する。なお、通常、端末出力部25は、変更指示により変更されていないポジション情報も出力する。ステップS701に戻る。
(ステップS714)端末出力部25は、変更指示が不適切である旨のエラーメッセージを出力する。ステップS701に戻る。
(ステップS715)端末受付部22は、登録指示を受け付けたか否かを判断する。登録指示を受け付けた場合はステップS716に行き、登録指示を受け付けない場合はステップS701に戻る。
(ステップS716)端末送信部23は、端末格納部21に格納されているユーザ識別子を取得する。
(ステップS717)端末送信部23は、1または2以上のポジション情報を取得する。そして、端末送信部23は、1または2以上のポジション情報と、ステップS716で取得したユーザ識別子とを、金融情報処理装置1に送信する。ステップS701に戻る。なお、変更指示が入力された場合、ここでの1または2以上のポジション情報は、変更指示により変更されたポジション情報を含む、2以上のポジション情報である。
なお、図7のフローチャートのステップS707において、端末出力部25は、当該幅情報を用いて、2以上のポジションを生成した。しかし、ステップS707において、端末送信部23が幅情報を金融情報処理装置1に送信し、端末受信部24が2以上のポジション情報を金融情報処理装置1から受信し、端末出力部25が2以上のポジション情報を出力しても良い。
また、図7のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
以下、本実施の形態における金融情報処理システムの具体的な動作について説明する。金融情報処理システムAの概念図は図1である。
ここでは、金融情報処理システムは、FXの金融商品のナンピンを好適に行うためのシステムであり、2以上のポジションをユーザに提示できるシステムである、とする。以下、3つの具体例について説明する。
(具体例1)
具体例1は、金融情報処理装置1が自動的に1または2以上のポジションを取得し、当該取得した1以上のポジションを用いて、自動的に決済処理を行う場合である。また、具体例1において、現在価値情報が示す金融商品の価値が予め決められた条件を満たすほど低い場合、ポジション情報生成部20は、決済情報が有するポジション情報の中で、最も低い価値のポジション情報より低い価値の1以上のポジション情報を生成する。なお、具体例1において、ユーザが、出力されている1以上のポジション情報に対して変更指示を入力し、ポジション情報を変更しても良い。
具体例1において、第一に、金融情報処理装置1が自動算出した2以上のポジションの情報が出力される。そして、第二に、ユーザが、出力されている2以上のポジション情報に対して変更指示を入力し、1以上のポジション情報を変更する。具体例1では、かかる2つのステップにより、最終的なポジションが決定される。そして、次に、条件を満たした場合に、自動決済される。さらに、現在価値情報が示す金融商品の価値が、決済情報が有するポジション情報の中で、最も低い価値のポジション情報と同じまたはより低くなった場合、金融情報処理装置1が当該最も低い価値のポジション情報より、予め決められた幅だけ低い価値のポジション情報を生成する。
まず、金融情報処理装置1の受付部13は、図示しない外部の装置から、通貨ペア「USDJPY」に対応する現在価値情報「99.50」を受信した、とする。そして、蓄積部15は、受付部13が受信した現在価値情報「99.50」を、格納部11に蓄積する。なお、通貨ペア「USDJPY」は、米ドルと日本円のペアを示す。
また、金融情報処理装置1を構成する格納部11は、現在価値情報以外に、当該ユーザの資産「200,000円」を保持している、とする。
かかる状況において、ユーザは、金融情報処理装置1にアクセスし、FXのナンピンを好適に行うための、2以上のポジションを取得する画面を、金融情報処理装置1から端末装置2にダウンロードした、とする。つまり、端末装置2の端末受信部24は、2以上のポジションを取得する画面を有するウェブページを受信する。そして、図示しない出力部はウェブページを出力する。かかるウェブページ(画面)は、図8である。なお、図8は、1以上の金融取引情報を入力する画面である。ここで、1以上の金融取引情報は、通貨ペア、ボラティリティ参考期間、安全係数、ポジション方向、対象資産情報、通貨単位の情報である。なお、ボラティリティ参考期間は、ボラティリティを取得するための期間であり、ここでは、例えば、「30日(1カ月)、60日(2カ月)、90日(3カ月)、180日(半年)、365日(1年)、3年」から選択するものとする。また、安全係数とは、ボラティリティ参考期間における最大変動幅(PIPS)に対する倍率であり、ここでは、例えば、「1倍、2倍、3倍、5倍、10倍」から選択するものとする。ポジション方向は、「売り」「買い」「両方」のうちのいずれかである。また、対象資産とは、取り引きの対象となる資産である。対象資産は、ここでは、数値または、口座資産に対する割合(%)が入力され得る。また、ここでは、対象資産において、口座資産を超える数値が入力された場合はエラーとなる。また、口座資産に対する割合について、10%刻みで100%まで入力可能である、とする。さらに、通貨単位は、ここでは「千通貨」「一万通貨」のいずれかを選択できる。なお、千通貨、一万通貨は通貨単位である。千通貨、一万通貨は、例えば、FXでの1回の取引を行う際の最小の数量を表す。例えば、一万通貨は、100000ドルを取引する際に起こる差損益を得る取引である。また、千通貨は、1000ドルを取引する際に起こる差損益を得る取引である。
次に、ユーザは、図8の画面に対して、各種の情報を有する金融取引情報を入力した、とする。その入力結果を図9に示す。そして、次に、ユーザは、図9の「最適化」ボタン91を押下した、とする。なお、図9の金融取引情報は、通貨ペア「USDJPY」、ボラティリティ参考期間「90日(3ヶ月)」、安全係数「2倍」、ポジション方向「売り」、対象資産情報「口座資産の50%」、および通貨単位「千通貨」を有する。
すると、端末受付部22は、ユーザから入力された金融取引情報を受け付ける。また、端末受付部22は、「最適化」ボタン91に対応するポジションの取得指示を受け付ける。
そして、端末送信部23は、ユーザ識別子「AAA」を端末格納部21から読み出す。次に、端末送信部23は、端末受付部22が受け付けた1以上の金融取引情報(図9参照)を含むポジションの取得指示と、読み出したユーザ識別子「AAA」とを金融情報処理装置1に送信する。
次に、金融情報処理装置1の受付部13は、1以上の金融取引情報を含むポジションの取得指示とユーザ識別子「AAA」とを受信する。
次に、ポジション算出部14は、受信された1以上の金融取引情報を取得する。次に、ポジション算出部14は、格納部11から現在価値情報「99.50」を取得する。
次に、ポジション算出部14は、金融取引情報を用いて、図4を用いて説明したアルゴリズムにより、以下のように、1または2以上のポジションを算出する、とする。なお、受信された金融取引情報は、通貨ペアは「USDJPY」、売買方向「買」、対象資産「50%」、通貨単位(ロット単位)「1000」であり、単価「5000円」である。また、ボラティリティ参考期間は「90日」であり、かかるボラティリティ参考期間におけるPIPSは「400PIPS」である。また、安全係数は「2倍」である。
つまり、まず、ポジション算出部14は、ボラティリティ参考期間と安全係数とを用いて、ボラティリティ参考期間における「400PIPS」と安全係数「2倍」とを乗算し、最大変動PIPS(X)「800PIPS」を算出する。また、ポジション算出部14は、口座資産「2000,000円」と対象資産「50%」とを乗算し、対象資産(金額)を「100,000円」と算出する。
次に、ポジション算出部14は、最大許容変動の2分の1=400PIPのところに1ロット建てる。そして、ポジション算出部14は、証拠金5000円、最大許容変動まで動いた時の評価損益を口座資産から引き、「100,000−(5000+4000)=91,000」を算出する。次に、ポジション算出部14は、上記の演算結果が正の値なので、結果をクリアする。
次に、ポジション算出部14は、最大許容変動の3分の1=266PIPのところと533PIPのところに1ロットずつ建てる。そして、ポジション算出部14は、証拠金5000円、最大許容変動まで動いた時の評価損益を口座資産から引き、「100,000−(5,000+5,340)−(5,000+2,670)=81,990」を算出する。次に、ポジション算出部14は、上記の演算結果が正の値なので、結果をクリアする。
次に、ポジション算出部14は、最大許容変動の4分の1=200PIP、400PIP、600PIPのところに1ロットずつ建てる。そして、ポジション算出部14は、証拠金5000円、最大許容変動まで動いた時の評価損益を口座資産から引き、「100,000−(5,000+6,000)−(5,000+4,000)−(5,000+2,000)=73,000」を算出する。次に、ポジション算出部14は、上記の演算結果が正の値なので、結果をクリアする。
ポジション算出部14は、かかる計算を、1つずつポジションを増やしながら繰り返し、答えがマイナスになったところの一つ前を、最適ポジション数として決定する。
ここで、12ポジションを持ったところがマイナスになり、ポジション算出部14は、最適ポジションを11ポジションとして決定する。
そして、ポジション算出部14は、11のポジションを取得する。11のポジションは、例えば、「99.00」「97.00」「95.00」「93.00」「91.00」「89.00」「87.00」「85.00」「83.00」「81.00」「79.00」である。なお、ここで、ポジション算出部14は、最初のポジションとして、現在価値情報に最も近い数値であり、小数点以下が0であるポジションを取得したが、他の最初のポジションを取得しても良い。例えば、ポジション算出部14は、「現在価値情報−X(Xは正の数値であり、例えば、「2.00」)」に最も近い数値であり、小数点以下が0であるポジションを取得しても良い。
次に、送信部16は、ポジション算出部14により算出された11のポジションを用いて、11のポジション情報を有するポジション関連情報を構成する。ここで、ポジション関連情報は、各ポジションの情報および各ポジションに対応する決済注文の情報(例えば、「ポジション+2.00」)、現在価値情報「99.50」を有する、とする。なお、各ポジション情報に対応する決済条件は、通常、現在価値情報が示す価値が、各ポジション情報に対応する決済注文の情報と同じ、またはそれ以上になることである。なお、ポジション関連情報を構成する処理は、ポジション算出部14が行っても良い。
次に、送信部16は、構成した11のポジション情報を有するポジション関連情報を、端末装置2に送信する。
次に、端末装置2の端末受信部24は、金融情報処理装置1からポジション関連情報を受信する。そして、ポジション出力部25は、端末受信部24が受信したポジション関連情報を出力する。なお、ポジション関連情報の出力例は、図10である。図10において、各ポジションが図的に表示されている。図10において、金融商品の価値を示す指標の中で、各ポジションが示す価値が示されている。
次に、図10の画面において、ユーザは、ポジション「97.00」を、ポジション「98.00」に変更する変更指示を入力した、とする。すると、第二受付部222は、かかる変更指示を受け付ける。
そして、変更部27は、変更指示に対応するポジション「98.00」を取得する。次に、判断部26は、格納している1以上の制約情報を取得する。ここで、1以上の制約情報は、「一のポジションが他のポジションと同じにならないことを示す情報」「一のポジションより上位に位置するポジションが、一のポジションより下位に移動できないことを示す情報」「対象資産を超えて損をすることができないことを示す情報」の3つである、とする。次に、判断部26は、取得されたポジション「98.00」が、3つの制約情報が示す3つの制約に合致するか否かを判断する。ここで、判断部26は、変更されたポジション「98.00」が、3つの制約情報が示す3つの制約に合致する、と判断する。そして、ポジション出力部25は、変更指示により変更されたポジションを出力する。かかる変更指示の入力後のポジションは、図11の111である。なお、変更部27が一のポジションを「97.00」から「98.00」に変更した場合、変更部27は、当該変更に応じて、決済条件(決済注文の情報と言っても良い。)である、当該金融商品の売りの条件を「99.00」から「100.00」に変更する。変更部27は、「ポジション情報が示す価値+2.00」を計算し、決済条件を取得する、とする。
また、図10の画面において、ユーザは、「96.50」の位置に新しいポジションを生成する変更指示を入力した、とする。すると、第二受付部222は、かかる変更指示を受け付ける。
そして、変更部27は、変更指示に対応するポジション「96.50」を取得する。次に、判断部26は、3つの制約情報を取得する。次に、判断部26は、取得されたポジション「96.50」が、3つの制約情報が示す3つの制約に合致すると判断する。また、変更部27は、ポジション情報の「96.50」を用いて、「96.50+2.00」を計算し、決済条件「98.50」を取得する。
そして、ポジション出力部25は、変更指示により変更されたポジションを出力する。かかる変更指示の入力後のポジションは、図11の112である。
次に、図10の画面において、ユーザは、ポジション「87.00」を削除する変更指示を入力した、とする。すると、第二受付部222は、かかる変更指示を受け付ける。
次に、判断部26は、取得されたポジション「96.50」が、3つの制約情報が示す3つの制約に合致すると判断する。そして、変更部27は、変更指示に対応するポジション「87.00」を削除する。
次に、ユーザは、図11の113の「登録」ボタンを押下した、とする。すると、端末受付部22は、登録指示を受け付ける。
次に、端末送信部23は、端末格納部21に格納されているユーザ識別子(ここでは、「AAA」)を取得する。そして、端末送信部23は、図11の画面に表示されている、すべてのポジションを取得する。ここで、すべてのポジションは、「99.00」「98.00」「96.50」「95.00」「93.00」「91.00」「89.00」「85.00」「83.00」「81.00」「79.00」である。そして、端末送信部23は、11のポジションを有する11のポジション情報とユーザ識別子「AAA」とを、金融情報処理装置1に送信する。
次に、金融情報処理装置1の受付部13は、端末装置2から、11のポジション情報とユーザ識別子とを受信する。そして、蓄積部15は、受信された11のポジション情報を、受信されたユーザ識別子「AAA」に対応付けて、格納部11に蓄積する。
以上により、具体例1において、第一ステップで、適切な2以上のポジションが提示され、第二ステップで、ユーザ所望のポジションを詳細設定できる。そのため、簡単かつ柔軟に、金融商品の2以上のポジションを設定できる。なお、第二ステップにおける、ユーザによるポジションの詳細設定は必須ではない。また、第一ステップでポジション情報が自動生成されたが、ユーザにより1または2以上のポジション情報が入力されても良い。
また、現在価値情報が示す金融商品の価値が、一のポジション情報の価値と同じになった場合、または一のポジション情報の価値より低くかつ各ポジション情報の次に低い価値のポジション情報より高くなった場合に、決済判断部18は決済を行うと判断する。そして、決済部19は、現在価値情報が示す価値において、金融商品の決済処理を行う。
そして、現在価値情報が示す金融商品の価値が予め決められた条件を満たすほど低い場合、ポジション情報生成部20は、決済情報が有するポジション情報の中で、最も低い価値のポジション情報より低い価値の1以上のポジション情報を生成する。ここでは、現在価値情報が示す金融商品の価値が最も低い価値の「79.00」と同じ、または「79.00」を下回った場合、ポジション情報生成部20は、「77.00」のポジション情報を生成する。ここで、ポジション情報生成部20は、2以上のポジション情報(例えば、「77.00」、「75.00」、「73.00」)を生成しても良い。なお、ポジション情報生成部20が生成するポジション情報の数は問わない。ポジション情報生成部20が生成するポジション情報の数は、常に一つ等の定数個でも良いし、現在価値情報に応じて変動しても良い。
(具体例2)
具体例2において、第一に、ユーザが入力した幅情報に基づいて2以上のポジション情報が出力される。そして、第二に、ユーザが、変更指示を入力し、ポジション情報を変更する。かかる2つのステップにより、最終的なポジションが決定される。
まず、ユーザは、幅情報「2.00」を金融情報処理装置1に入力した、とする。なお、ここで入力された幅情報は、ポジション間の間隔を示す情報である。幅情報「2.00」は、「2.00円」の間隔で、ポジションを設定することを示す。
次に、第一受付部221は、幅情報「2.00」を受け付ける。
次に、ポジション出力部25は、当該幅情報を用いて、2以上のポジションを生成する。つまり、まず、ポジション出力部25は、現在価値情報「99.50円」を取得した、とする。なお、ポジション出力部25は、例えば、現在価値情報を金融情報処理装置1等の外部装置から取得する。または、ポジション出力部25は、例えば、外部装置から取得し、端末格納部21に格納されている現在価値情報を読み出す。次に、ポジション出力部25は、現在価値情報に最も近い数値であり、小数点以下が0であるポジション「99.00」を取得する。
そして、次に、ポジション出力部25は、制約を満たさなくなるまで、ポジション「99.00」以降、「2.00」の幅で、ポジションを取得していく。なお、ここでは、制約は、「対象資産を超えて損をすることができないこと」であることとする。なお、ここでは、対象資産は「100,000円」とする。対象資産は、端末格納部21に格納されているとする。つまり、ポジション出力部25は、ポジション「97.00」、「95.00」と、損をした場合にでも損が対象資産「100,000円」を上回らないように、次々とポジションを生成する。そして、ポジション出力部25は、ポジションは、「99.00」「98.00」「96.50」「95.00」「93.00」「91.00」「89.00」「87.00」「85.00」「83.00」「81.00」「79.00」を生成した、とする。また、ポジション出力部25は、各ポジション情報に対応付けて、決済条件を取得する。決済条件は、例えば、「ポジション情報が示す数値+2.00」である。なお、ポジション出力部25がポジションを生成したが、ポジションの生成は、金融情報処理装置1が行っても良い。かかる場合、端末受信部24が2以上のポジション情報を受信する、
次に、ポジション出力部25は、生成した2以上のポジションを出力する。かかる出力例は、図10である。
次に、図10の画面において、ユーザは、ポジション「97.00」を、ポジション「98.00」に変更する変更指示を入力した、とする。すると、第二受付部222は、かかる変更指示を受け付ける。
そして、変更部27は、変更指示に対応するポジション「98.00」を取得する。次に、判断部26は、格納している1以上の制約情報を取得する。ここで、1以上の制約情報は、「一のポジションが他のポジションと同じにならないことを示す情報」「一のポジションより上位に位置するポジションが、一のポジションより下位に移動できないことを示す情報」「対象資産を超えて損をすることができないことを示す情報」の3つである、とする。次に、判断部26は、取得されたポジション「98.00」が、3つの制約情報が示す3つの制約に合致するか否かを判断する。ここで、判断部26は、変更されたポジション「98.00」が、3つの制約情報が示す3つの制約に合致する、と判断する。なお、変更部27が一のポジションを「97.00」から「98.00」に変更した場合、変更部27は、当該変更に応じて、決済条件(決済注文の情報と言っても良い。)である、当該金融商品の売りの条件を「99.00」から「100.00」に変更する。変更部27は、自動的に「ポジション情報が示す価値+2.00」を計算し、決済条件を取得する、とする。
そして、ポジション出力部25は、変更指示により変更されたポジションを出力する。かかる変更指示の入力後のポジションは、図11の111である。
また、図10の画面において、ユーザは、「96.50」の位置に新しいポジションを生成する変更指示を入力した、とする。すると、第二受付部222は、かかる変更指示を受け付ける。
そして、変更部27は、変更指示に対応するポジション「96.50」を取得する。次に、判断部26は、3つの制約情報を取得する。次に、判断部26は、取得されたポジション「96.50」が、3つの制約情報が示す3つの制約に合致すると判断する。また、変更部27は、ポジション情報の「96.50」を用いて、「96.50+2.00」を計算し、決済条件「98.50」を取得する。
そして、ポジション出力部25は、変更指示により変更されたポジションを出力する。かかる変更指示の入力後のポジションは、図11の112である。
次に、図10の画面において、ユーザは、ポジション「87.00」を削除する変更指示を入力した、とする。すると、第二受付部222は、かかる変更指示を受け付ける。
次に、判断部26は、取得されたポジション「96.50」が、3つの制約情報が示す3つの制約に合致すると判断する。そして、変更部27は、変更指示に対応するポジション「87.00」を削除する。
次に、ユーザは、図11の113の「登録」ボタンを押下した、とする。すると、端末受付部22は、登録指示を受け付ける。
次に、端末送信部23は、端末格納部21に格納されているユーザ識別子(ここでは、「AAA」)を取得する。そして、端末送信部23は、図11の画面に表示されている、すべてのポジションを取得する。ここで、すべてのポジションは、「99.00」「98.00」「96.50」「95.00」「93.00」「91.00」「89.00」「85.00」「83.00」「81.00」「79.00」である。そして、端末送信部23は、11のポジション情報と、ユーザ識別子「AAA」とを、金融情報処理装置1に送信する。
次に、金融情報処理装置1の受付部13は、端末装置2から、11のポジション情報とユーザ識別子とを受信する。そして、蓄積部15は、受信された11のポジション情報を、受信されたユーザ識別子「AAA」に対応付けて、格納部11に蓄積する。
以上により、具体例2において、第一ステップで、ユーザが指定した幅情報に基づいて2以上のポジションが提示され、第二ステップで、ユーザ所望のポジションを細かく設定できる。そのため、簡単かつ柔軟に、金融商品の2以上のポジションを設定できる。
(具体例3)
具体例2等で説明した処理により、決済情報格納部12には、1または2以上の決済情報が格納された、とする。また、ユーザが複数のポジションを入力することにより、決済情報格納部12には、1または2以上の決済情報が格納されても良い。
また、かかる1または2以上の決済情報が格納されている表は、図12に示す決済情報管理表である、とする。決済情報管理表は、「ID」「ユーザ識別子」「ポジション情報」「決済条件」を有するレコードを、1以上格納している。属性「ポジション情報」は、2以上のポジション情報を含む。なお、「決済条件」は、ここでは、金融商品を売る条件である。
かかる状況において、決済判断部18は、金融商品の販売会社の営業日であり、15時になったので、決済を行うタイミングである、と判断した、とする。なお、ここでは、決済を行うタイミングは、金融情報処理装置1に予め設定されている、金融商品の販売会社の営業日であり、予め決まった時刻(15時)である、とする。
次に、現在価値情報取得部17は、金融商品の現在価値情報「101.00」を、外部の図示しないサーバ装置から取得した、とする。
次に、決済判断部18は、1番目のユーザ「AAA」の2以上のポジション情報を、決済情報管理表から取得する。
次に、決済判断部18は、取得した現在価値情報「101.00」と1番目のポジション情報と対になる決済条件「101.00」とを用いて、決済の条件を満たすと判断する。ポジション情報が示すポジションが、現在価値情報が示す価値以上であるからである。
次に、決済部19は、現在価値情報「101.00」で、金融商品の決済処理を行う。ここでは、金融商品の決済処理は、ドルを売り、円を買うための処理である。そして、決済部19は、ユーザ「AAA」のポジション情報「99.00」のレコードを削除する。
以上の決済のための処理を2番目以降のユーザのポジション情報に対して行う。なお、2番目のユーザ「ABB」の2以上のポジション情報については、決済判断部18は、現在価値情報「101.00」を用いて、決済の条件を満たさない、と判断し、ユーザ「ABB」に対しては決済処理を行わない。「現在価値情報「101.00」>ポジション情報「100.00」」だからである。
また、各ユーザに対応して、現在価値情報が示す金融商品の価値が、一のポジション情報の価値と同じになった場合、または一のポジション情報の価値より高くなった場合に、決済判断部18は決済を行うと判断する。そして、決済部19は、現在価値情報が示す価値において、金融商品の決済処理を行う。
そして、例えば、現在価値情報が示す金融商品の価値が予め決められた生成条件を満たすほど低い場合、ポジション情報生成部20は、決済情報が有するポジション情報の中で、最も低い価値のポジション情報より低い価値の1以上のポジション情報を生成する。ここでは、1番目のユーザ「AAA」に対して、現在価値情報が示す金融商品の価値が最も低い価値の「79.00」と同じ、または「79.00」を下回った場合、ポジション情報生成部20は、「77.00」のポジション情報を生成する。なお、1番目のユーザ「AAA」に対応する幅情報「2.00」を用いて、ポジション情報生成部20は、「79.00−2.00=77.00」を算出する。ここで、ポジション情報生成部20は、2以上のポジション情報(例えば、「77.00」、「75.00」、「73.00」)を生成しても良い。なお、ポジション情報生成部20が生成するポジション情報の数は問わない。ポジション情報生成部20が生成するポジション情報の数は、常に一つ等の定数個でも良いし、現在価値情報に応じて変動しても良い。また、ポジション情報生成部20は、例えば、生成したポジション情報に対応付けて決済条件を取得する。決済条件は、例えば、「ポジション情報が示す価値+2.00」である。
また、例えば、2番目のユーザ「ABB」に対して、現在価値情報が示す金融商品の価値が最も低い価値の「80.00」と同じ、または「80.00」を下回った場合、ポジション情報生成部20は、例えば、「77.00」のポジション情報を生成する。なお、2番目のユーザ「ABB」に対応する幅情報「3.00」を用いて、ポジション情報生成部20は、「80.00−3.00=77.00」を算出する。また、ポジション情報生成部20は、例えば、生成したポジション情報に対応付けて決済条件を取得する。決済条件は、例えば、「ポジション情報が示す価値+3.00」である。
以上、本実施の形態によれば、金融商品の価値の変動に応じて動的にポジションを設定することにより、ユーザがより長く取引を継続できる
また、本実施の形態によれば、簡単かつ柔軟に、金融商品の1または2以上のポジションを設定できる。
さらに、本実施の形態によれば、金融商品の価値の変動に応じて、動的にポジションを生成できる。
なお、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをCD−ROMなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態における金融情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムにおいて、コンピュータがアクセス可能な記録媒体は、価値が変動し得る金融商品のポジションに関する情報である1または2以上のポジション情報を有する決済情報を格納し得る決済情報格納部を具備し、コンピュータを、前記金融商品の現在の価値に関する情報である現在価値情報を取得する現在価値情報取得部と、前記現在価値情報が示す価値が、予め決められた決済条件を満たすか否かを判断する決済判断部と、前記現在価値情報が示す価値が、前記決済条件を満たすと、前記決済判断部が判断した場合、前記金融商品の決済のための処理である決済処理を行う決済部と、前記現在価値情報が示す金融商品の価値が予め決められた生成条件を満たす場合、1以上のポジション情報を生成するポジション情報生成部として機能させるためのプログラムである。
また、上記プログラムにおいて、ポジション情報生成部は、前記現在価値情報が示す金融商品の価値が予め決められた生成条件を満たすほど低い場合、前記決済情報が有するポジション情報の中で、最も低い価値のポジション情報より低い価値の1以上のポジション情報を生成する、または前記現在価値情報が示す金融商品の価値が予め決められた生成条件を満たすほど高い場合、前記決済情報が有するポジション情報の中で、最も高い価値のポジション情報より高い価値の1以上のポジション情報を生成するものとして、コンピュータをさらに機能させることは好適である。
また、上記プログラムにおいて、金融商品の取引に関する情報である金融取引情報を受け付ける受付部と、金融商品の価値の変動に応じて、金融商品の2以上のポジションを、前記受付部が受け付けた金融取引情報を用いて算出するポジション算出部と、前記2以上のポジションに関する情報である2以上のポジション情報を有する決済情報を前記決済情報格納部に蓄積する蓄積部として、コンピュータをさらに機能させることは好適である。
また、上記プログラムにおいて、前記金融取引情報は、ボラティリティ参考期間を含み、前記ポジション算出部は、前記ボラティリティ参考期間を用いて、最大変動PIPSを算出し、当該最大変動PIPSを用いて、2または3以上のポジションを算出するものとして、コンピュータを機能させることは好適である。
また、上記プログラムにおいて、前記金融商品の価値の変動に関わらず、ポジションの数は一定であるものとして、コンピュータを機能させることは好適である。
(実施の形態2)
本実施の形態において、実施の形態1における処理をスタンドアロンで実現した場合について説明する。
図13は、本実施の形態における金融情報処理装置3のブロック図である。
金融情報処理装置3は、格納部11、決済情報格納部12、端末受付部22、ポジション算出部14、蓄積部15、現在価値情報取得部17、決済判断部18、決済部19、ポジション情報生成部20、端末出力部25、判断部26、変更部27を備える。
次に、金融情報処理装置3の動作について、図14のフローチャートを用いて説明する。図14のフローチャートにおいて、図3または図7のフローチャートと同一のステップについて、その説明を省略する。
(ステップS1401)ユーザから1以上の金融取引情報を受け付けたか否かを判断する。1以上の金融取引情報を受け付ければステップS302に行き、1以上の金融取引情報を受け付けなければステップS706に行く。
(ステップS1402)端末出力部25は、ステップS305で構成された2以上のポジション情報を出力する。ステップS301に戻る。
(ステップS1403)蓄積部15は、2以上のポジション情報を決済情報格納部12に蓄積する。ステップS301に戻る。
なお、図14のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
金融情報処理装置3の動作は、実施の形態1における金融情報処理システムの動作と比較して、スタンドアロンで処理を行っている点だけが異なるので、本実施の形態における金融情報処理装置3の具体的な動作について説明を省略する。
以上、本実施の形態によれば、金融商品の複雑な決済処理を簡単に行える。
また、本実施の形態によれば、簡単かつ柔軟に、金融商品の1または2以上のポジションを設定できる。
さらに、本実施の形態によれば、金融商品の価値の変動に応じて、柔軟にポジションを生成できる。
なお、本実施の形態における情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムにおいて、記録媒体は、価値が変動し得る金融商品のポジションに関する情報である1または2以上のポジション情報とを有する決済情報を格納し得る決済情報格納部を具備し、コンピュータを、前記金融商品の現在の価値に関する情報である現在価値情報を取得する現在価値情報取得部と、前記現在価値情報が示す価値が、予め決められた決済条件を満たすか否かを判断する決済判断部と、前記現在価値情報が示す価値が、前記決済条件を満たすと、前記決済判断部が判断した場合、前記金融商品の決済のための処理である決済処理を行う決済部と、前記現在価値情報が示す金融商品の価値が予め決められた生成条件を満たす場合、1以上のポジション情報を生成するポジション情報生成部として機能させるためのプログラムである。
また、上記プログラムにおいて、ポジション情報生成部は、前記現在価値情報が示す金融商品の価値が予め決められた生成条件を満たすほど低い場合、前記決済情報が有するポジション情報の中で、最も低い価値のポジション情報より低い価値の1以上のポジション情報を生成する、または前記現在価値情報が示す金融商品の価値が予め決められた生成条件を満たすほど高い場合、前記決済情報が有するポジション情報の中で、最も高い価値のポジション情報より高い価値の1以上のポジション情報を生成するものとして、コンピュータをさらに機能させることは好適である。
また、上記プログラムにおいて、金融商品の取引に関する情報である金融取引情報を受け付ける受付部と、金融商品の価値の変動に応じて、金融商品の2以上のポジションを、前記受付部が受け付けた金融取引情報を用いて算出するポジション算出部と、前記2以上のポジションに関する情報である2以上のポジション情報を有する決済情報を前記決済情報格納部に蓄積する蓄積部として、コンピュータをさらに機能させることは好適である。
また、上記プログラムにおいて、前記金融取引情報は、ボラティリティ参考期間を含み、前記ポジション算出部は、前記ボラティリティ参考期間を用いて、最大変動PIPSを算出し、当該最大変動PIPSを用いて、2または3以上のポジションを算出するものとして、コンピュータを機能させることは好適である。
また、図15は、本明細書で述べたプログラムを実行して、上述した種々の実施の形態の金融情報処理装置を実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。図15は、このコンピュータシステム300の概観図であり、図16は、システム300のブロック図である。
図15において、コンピュータシステム300は、CD−ROMドライブを含むコンピュータ301と、キーボード302と、マウス303と、モニタ304とを含む。
図16において、コンピュータ301は、CD−ROMドライブ3012に加えて、MPU3013と、バス3014と、ROM3015と、RAM3016と、ハードディスク3017とを含む。なお、バス3014は、MPU3013やCD−ROMドライブ3012に接続されている。また、ROM3015には、ブートアッププログラム等のプログラムが記憶されている。また、RAM3016は、MPU3013に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのものである。また、ハードディスク3017は、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのものである。ここでは、図示しないが、コンピュータ301は、さらに、LANへの接続を提供するネットワークカードを含んでも良い。
コンピュータシステム300に、上述した実施の形態の金融情報処理装置の機能を実行させるプログラムは、CD−ROM3101に記憶されて、CD−ROMドライブ3012に挿入され、さらにハードディスク3017に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ301に送信され、ハードディスク3017に記憶されても良い。プログラムは実行の際にRAM3016にロードされる。プログラムは、CD−ROM3101またはネットワークから直接、ロードされても良い。
プログラムは、コンピュータ301に、上述した実施の形態の金融情報処理装置の機能を実行させるオペレーティングシステム、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム300がどのように動作するかは周知であり、詳細な説明は省略する。
なお、上記プログラムにおいて、情報を送信するステップや、情報を受信するステップなどでは、ハードウェアによって行われる処理、例えば、送信するステップにおけるモデムやインターフェースカードなどで行われる処理(ハードウェアでしか行われない処理)は含まれない。
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
また、上記各実施の形態において、一の装置に存在する2以上の通信手段は、物理的に一の媒体で実現されても良いことは言うまでもない。
また、上記各実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。