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