(57)【要約】【課題】大量のデータを効率よく処理する。【解決手段】本発明の一実施形態として、情報処理装置を提供する。その情報処理装置は、データ記憶部と、属性記憶部と、読出部と、処理記憶部と、処理部とを有する。データ記憶部は、複数の契約データを記憶する。属性記憶部は、前記複数の契約データのそれぞれに関連づけられる契約データの属性として前記契約データの契約の変更履歴を記憶する。読出部は、前記データ記憶部より前記複数の契約データの中から一つの契約データを読み出し前記読み出した契約データに関連づけられる属性を前記属性記憶部より読み出す。処理記憶部は、読出部により読み出された一つの契約データとその契約データに関連づけられる属性との関連付けを維持して記憶する。処理部は、処理記憶部に記憶された契約データとそれに関連づけられた属性とを処理単位として処理を行う。【選択図】図１
2014241136.tif 000002
【特許請求の範囲】
【請求項１】
第１データを記憶する第１データ記憶部と、
前記第１データに関連付けられる第２データを記憶する第２データ記憶部と、
前記第１データ記憶部および前記第２データ記憶部から前記第１データおよび前記第２データをそれぞれ読み出す読出部と、
前記読出部により読み出された前記第１データおよび前記第２データを一定範囲のアドレス領域に記憶する処理記憶部と、
前記アドレス領域に記憶された前記第１データおよび前記第２データとを合わせて処理単位として数値計算処理を行う処理部とを備える、
情報処理装置。
【請求項２】
前記一定範囲のアドレス領域は、連続したアドレスにより構成される請求項１に記載の情報処理装置。
【請求項３】
前記処理部は、試行錯誤を伴う処理を行う請求項１に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置に関する。より具体的には、処理対象のデータとそれに関連づけられている属性の途中で分割されないようにデータを分割した後、処理を行う情報処理装置に好適に適用できる情報処理装置、情報処理方法、情報処理プログラムなどに関する。
【背景技術】
【０００２】
大量に蓄積されたデータを処理する手法として、データを分割して処理する手法が知られている。例えば特許文献１においては、データを処理に適した大きさに分割することが開示されている。
【０００３】
一方において、国際財務報告基準（ＩＦＲＳ）が採用されつつある。ＩＦＲＳによれば、金融商品やローン契約などについての実効金利と償却原価との計算を行うことが規定されている。実効金利の計算は、将来に予測されるキャッシュフローを現在価値に割り引く計算に基づいて計算される。このため、将来に予測されるキャッシュフローが頻繁に変更される大量の金融商品やローン契約などを保有する銀行などにおいては、単純に金融商品などのデータを分割するだけでは、実効金利および償却原価の計算処理を効率的に遂行することが困難となることが予測される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−２７１７８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特に銀行においては、大量のデータを処理するために、決められた時間までに処理を終了させる必要がある。なぜなら、決められた時間までに処理が終了しないと、日常業務に悪影響が発生してしまうことがあるからである。
【０００６】
そこで、本発明は、ＩＦＲＳが正式に採用された場合に備え、データを効率よく処理するための情報処理装置、情報処理方法、情報処理プログラムなどを提供することを目的とする。
【課題を解決するための手段】
【０００７】
そこで、本発明の一実施形態として、情報処理装置を提供する。その情報処理装置は、第１データを記憶する第１データ記憶部と、第１データに関連付けられる第２データを記憶する第２データ記憶部と、第１データ記憶部および第２データ記憶部から第１データおよび第２データをそれぞれ読み出す読出部と、読出部により読み出された第１データおよび第２データを一定範囲のアドレス領域に記憶する処理記憶部と、アドレス領域に記憶された第１データおよび第２データとを合わせて処理単位として数値計算処理を行う処理部とを備える。
【０００８】
また、本発明の別の一実施形態に係る情報処理装置は、一定範囲のアドレス領域が連続したアドレスにより構成されてもよい。さらに、処理部が試行錯誤を行う処理を行ってもよい。
【発明の効果】
【０００９】
本発明によれば、大量のデータを効率よく処理することが可能となる。また、大量のデータ中に異なる決算期などの異なる期のデータが存在する場合であっても、効率よく処理することが可能となる。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施形態に係る情報処理装置の機能ブロック図
【図２】本発明の一実施形態に係る情報処理装置に記憶されるデータの構造を示す図
【図３】本発明の一実施形態に係る情報処理装置に記憶されるデータの構造を示す図
【図４】本発明の一実施形態に係る情報処理装置の動作のフローチャート
【図５】本発明の一実施形態に係る情報処理装置の処理対象のデータの構造を示す図
【図６】本発明の一実施形態に係る情報処理装置をローン契約のデータ処理に適用する場合のデータ構造を示す図
【発明を実施するための形態】
【００１１】
本発明を実施するための形態について図面を参照しながら説明を行う。なお、本発明は、以下の説明に限定されることはなく、種々の変形を行って実施することが可能である。
【００１２】
図１（ａ）は、本発明の一実施形態に係る情報処理装置の機能ブロック図を示す。情報処理装置１００は、記憶部１０１と、読出部１０２と、処理記憶部１０３と、処理部１０４とを有する。
【００１３】
記憶部１０１は、データ記憶部１０５と、属性記憶部１０６と、を有し、データとその属性とを記憶する。データ記憶部１０５は、データを記憶する。データは、文字、符号や数値などのまとまりにより表現を行う。具体的には、データは、現実の世界において存在している概念、もの、人を表わす。より具体的には、データは、商品、契約や社員などを表現する。商品は、無体物および有体物に分類される。無体物の商品としては、金融商品などを挙げることができる。契約には、ローン契約など、将来のキャッシュフローを発生させる契約を挙げることができる。属性記憶部１０６は、データ記憶部１０５に記憶されるデータの属性を記憶する。属性は、データに関連づけられる情報としてのデータである。具体的には、属性は、現実の世界において存在している概念、もの、人に関連づけられている情報である。より具体的には、データの属性は、データが表わす商品や社員などに関連づけられていれる情報である。例えば、商品がローン契約であれば、データの属性は、ローン契約に関連づけられている金利、期間を表わす情報などにより構成される。
【００１４】
一つのデータに対して、複数の属性が存在し得る。例えば、データに対して、複数の履歴それぞれをデータの属性とすることができる。具体的な例としては、データが金融商品を表わしている場合には、履歴として、そのローン契約などの金利の変更の履歴、期間の変更履歴などの契約の内容の変更などの履歴を挙げることができる。
【００１５】
図２（ａ）は、一つのデータに対して、複数のデータの属性が関連づけられている例を示す。すなわち、データ１（２０１）に対して、複数の属性として、属性１−１（２０２）、属性１−２（２０３）および属性１−３（２０４）が存在しており、関連づけを表わ
すために、データ１（２０１）を表わすノードと、属性１−１（２０２）、属性１−２（２０３）および属性１−３（２０４）を表わすノードそれぞれとがエッジにより結ばれている。また、データ２（２１１）に対して、複数のデータの属性として、属性２−１（２１２）および属性２−２（２１３）が存在しており、関連づけを表わすために、データ２（２１１）を表わすノードと、属性２−１（２１２）および属性２−２（２１３）を表わすノードそれぞれとがエッジにより結ばれている。
【００１６】
図２（ａ）に示されるデータと属性との関連付けは、図２（ｂ）に示すように、少なくとも二つのテーブルを用いることにより、情報処理の対象となる情報の形式にて表現することができる。すなわち、まず、テーブルＲとして、それぞれのデータであるデータ１（２０１）およびデータ２（２１１）に対応する行データを格納するテーブルを用意する。例えば、主キー列の値として１を有する行をデータ１（２０１）に対応させ、データ１そのものが有する情報をその行のＡ列からＺ列に格納する。例えば、ローン契約の元本情報や期間情報などを列に格納する。また、主キー列の値として２を有する行をデータ２（２１１）に対応させ、データ２そのものが有する情報をその行のＡ列からＺ列に格納する。なお、主キー列に格納される値には重複はないとし、主キー列に格納される値により、一意に行が特定されるとする。
【００１７】
次に、テーブルＳとして、それぞれの属性である属性１−１（２０２）、属性１−２（２０３）、属性１−３（２０４）、属性２−１（２１２）および属性２−２（２１３）に対応する行データを格納するテーブルを用意する。例えば、外部キー列の値として１を有する行を属性１−１（２０２）に対応させ、属性１−１（２０２）そのものが有する情報をその行のａ列からｚ列に格納する。ここに、外部キー列の値として１を格納しているのは、属性１−１（２０２）がデータ１（２０１）に関連づけられているため、テーブルＲにおいて、データ１（２０１）が対応する行の主キー列の値１を格納しているためである。これにより、データ１（２０１）と属性１−１（２０２）との関連付けが表わされる。
【００１８】
同様に、別の行として、外部キー列の値として１を有する行を属性１−２（２０３）に対応させ、属性１−２（２０３）の有する情報をその行のａ列からｚ列に格納し、別の行として、外部キー列の値として１を有する行を属性１−３（２０４）に対応させ、属性１−３（２０４）の有する情報をその行のａ列からｚ列に格納する。また、別の行として、外部キー列の値として２を有する行を属性２−１（２１２）に対応させ、属性２−１（２１２）の有する情報をその行のａ列からｚ列に格納し、別の行として、外部キー列の値として２を有する行を属性２−２（２１３）に対応させ、属性２−２（２１３）の有する情報をその行のａ列からｚ列に格納する。
【００１９】
したがって、テーブルＲは、データ記憶部１０５に対応し、テーブルＳは、属性記憶部１０６に対応することとなる。
【００２０】
なお、属性に、その属性を、さらに関連づけることもできる。すなわち、属性をデータとみなして属性を関連づけることができる。例えば、図３（ａ）に示すように、データ１（３０１）に対して、属性１−１（３０２）および属性１−２（３０３）が関連づけられているとする。このとき、属性１−１（３０２）をデータとみなして、その属性として、属性１−１−１（３０４）および属性１−１−２（３０５）を関連づけることができる。同様に属性１−２（３０３）の属性として、属性１−２−１（３０６）を関連づけることができる。
【００２１】
図３（ａ）に示すデータとその属性の関連付け、さらに、属性とその属性の関連付けは、図３（ｂ）に示すように、すくなくとも３つのテーブルを用いることにより、情報処理の対象となる情報として表現することができる。図３（ｂ）のテーブルＲおよびテーブル
Ｓのそれぞれは、図２（ｂ）のテーブルＲおよびテーブルＳのそれぞれに対応する。ただし、テーブルＳの行を一意に特定するために、テーブルＳに主キー列が追加されている。
【００２２】
また、テーブルＴは、テーブルＳに格納されるそれぞれの行が表わす属性に関連づけられる属性を表わす行を格納する。すなわち、図２（ｂ）におけるテーブルＳのテーブルＲに対する関係が、図３（ｂ）におけるテーブルＴのテーブルＳに対する関係となっている。すなわち、テーブルＴの外部キー列に、テーブルＳの主キー列の値が格納されることにより、属性とその属性との関連付けが表現されている。例えば、属性１−１（３０２）に属性１−１−１（３０４）および属性１−１−２（３０５）が関連づけられていることが、テーブルＴの外部キー列の値として、１１が格納されている行が２行あることにより表現されている。ここに、１１は、テーブルＳにおいて、属性１−１（３０２）に対応する行の主キー列の値である。
【００２３】
この場合、図１（ｂ）の情報処理装置１１０の機能ブロック図に示されるように、情報処理装置１１０は、記憶部１１１を有し、記憶部１１１が、データ記憶部１１５と、第１属性記憶部１１６と、第２属性記憶部１１７とを備える構成となる。この場合、データ記憶部１１５がデータを記憶し、第１属性記憶部１１６がデータの属性を記憶し、第２属性記憶部１１７が属性の属性を記憶する。したがって、テーブルＲは、データ記憶部１１５に対応し、テーブルＳは、第１属性記憶部１１６に対応し、テーブルＴは、第２属性記憶部１１７に対応する。なお、情報処理装置１１０は、記憶部１１１のほかに、読出部１１２と、処理記憶部１１３と、処理部１１４とを有する。読出部１１２と、処理記憶部１１３と、処理部１１４とのそれぞれは、情報処理装置１００の読出部１０２と、処理記憶部１０３と、処理部１０４とに対応する。
【００２４】
読出部１０２、１１２は、記憶部１０１、１１１に記憶されているデータおよびそのデータの属性を順次読み出す。読出部１０２、１１２は、データとそのデータに関連付けられている属性とをひとまとまりとなるように読み出しを行い、処理記憶部１０３、１１３に記憶する。いいかえると、処理部１０４、１１４が、一つのデータとそのデータに関連づけられている属性とを読み出す。読み出したデータと属性とは処理記憶部１０３、１１３に記憶される。
【００２５】
このとき、一つのデータとそのデータに関連付けられる属性とは関連付けが維持されて処理記憶部１０３、１１３に記憶される。これにより、処理部１０４、１１４は、一つのデータとそのデータに関連付けられる属性とを処理単位として処理できるようになる。読出部１０２、１１２は、データを記憶部１０１、１１１のデータ記憶部１０５、１１５より一つのデータを読み出すごとに、そのデータに関連付けられているデータの属性を記憶部１０１、１１１の属性記憶部１０６、第１属性記憶部１１６より読み出し、処理記憶部１１３に記憶することができる。このとき、読み出されたデータとそのデータの属性とは、処理記憶部１１３にアドレスが連続あるいは近接するように記憶するのが好ましい。例えば、一つのデータとそのデータに関連付けられる属性とを同じファイルに格納してもよい。このように記憶することにより、処理記憶領域に対するアクセスを局所化することができ、効率よく処理を行うことが可能となる。
【００２６】
なお、一つのファイルに複数のデータとその複数のデータそれぞれに関連付けられる属性とを格納してもよい。また、複数のファイルに、複数のデータとその複数のデータそれぞれに関連付けられる属性とを格納してもよい。この場合であっても、ある一つのデータとそれに関連付けられる属性とが異なるファイルに記憶されない。処理記憶部１０３、１１３は、関連付けを維持して記憶を行うからである。
【００２７】
図５は、図２（ａ）などに示すデータとその属性を読出部１０２が読み出し、処理記憶
部１０３に記憶させた状態の一例を示す。読出部１０２は、データ１（２０１）を記憶部１０１のデータ記憶部１０５より読み出し、領域５０２に、データ１（２０１）の情報を記憶する。データ１（２０１）の情報は、例えば、図２（ｂ）に示すテーブルＲの主キー列の値として１を有する行の、Ａ列、Ｂ列、…、Ｚ列の値である。なお、領域５０２には、テーブルＲの行の全ての列の値が記憶される必要はなく、処理部１０４、１１４による処理に必要な列の値が記憶されればよい。このため、読出部１０２、１１２は、データとその属性との有する情報の一部を読み出したり、処理記憶部１０３、１１３は、データとその属性との有する情報の一部を記憶するようになっていてもよい。
【００２８】
次に、読出部１０２は、データ１に関連づけられている属性１−１（２０２）、属性１−２（２０３）、属性１−３（２０４）の情報を記憶部１０１の属性記憶部１０６より読み出し、領域５０２に隣接する領域である領域５０３、領域５０４、領域５０５に記憶する。具体的には、領域５０３、領域５０４、領域５０５には、図２（ｂ）のテーブルＳに格納されている行のうち、外部キー列の値として１を有する行それぞれのａ列、ｂ列、…ｚ列の値が記憶される。
【００２９】
以上により、データ１（２０１）とそれに関連付けられた属性との情報が領域５０１に格納される。図５に示すように領域５０１は連続したアドレスの領域とすることができる。
【００３０】
同様に、領域５１２にデータ２（２１１）の情報が記憶され、領域５１３、領域５１４に属性２−１（２１２）、属性２−２（２１３）の情報が記憶される。これにより、データ２（２１１）とそれに関連付けられた属性との情報が領域５１１に格納される。図５に示すように領域５１１も連続したアドレスの領域とすることができる。
【００３１】
なお、領域５０１と領域５１１とを連続した領域として配置することもできるが、処理記憶部１０３、１１３の制約によって、領域５０１と領域５１１とを記憶するのに必要な記憶容量が所定の大きさを超える場合などには、領域５０１の領域の終わりのアドレスと領域５１１の領域の始めのアドレスとが連続せず、領域５０１と領域５１１とを分離して記憶してもよい。これは、読出部１０２、１１２が、一つのデータとその一つのデータに関連づけられる属性と一群の情報として読み出すようにするためである。このため、領域５０１、領域５１１のそれぞれはアドレスが連続した領域であるのが好ましいが、領域５０１と領域５１１とが連続した領域を形成している必要はない。
【００３２】
また、図３（ａ）などに示されるようにデータの属性にさらに属性が関連付けられている場合には、読出部１１２は、データの属性を記憶部１１１の第１属性記憶部１１６より読み出した後に、そのデータの属性に関連づけられる属性を記憶部１１１の第２属性記憶部１１７より読み出し、データの属性とそれに関連づけられた属性とをひとまりとなるようにする。
【００３３】
なお、一つのデータに関連づけられているデータの属性が複数存在する場合には、データの属性の有する情報により、データの属性をソートしてもよい。例えば、データの属性が履歴を表わす場合には、列ａ、列ｂなどの値を用いてソートを行ってもよい。例えば、日付や時間などを用いて時間順になるようにソートを行ってもよい。これにより、処理記憶部１０３、１１３により記憶された領域をアドレス順に走査する処理により、時間系列に沿った処理を効率的に行うことができる。
【００３４】
処理記憶部１０３、１１３は、読出部１０２により読み出されたデータとそのデータの属性などを記憶する。情報処理装置１００、１１０がコンピュータにより実現される場合には、主メモリや二次記憶装置を用いて処理記憶部１０３、１１３が構成される。
【００３５】
図４は、本実施形態に係る情報処理装置１００、１１０の読出部１０２、１１２および処理記憶部１０３、１１３による動作を説明するフローチャートである。ステップＳ４０１の処理として、変数ｎに１を代入する。変数ｎは、データ記憶部１０５に記憶されたデータの番号を示す。例えば、変数ｎは、図２の（ｂ）テーブルＲの行番号を示す。ステップＳ４０２の処理として、読出部１０２が、データ記憶部１０５より第ｎ番目のデータの情報を読み出し、処理記憶部１０３、１１３に記憶する処理が行われる。
【００３６】
ステップＳ４０３の処理として、読出部１０２、１１２が第ｎ番目のデータに関連づけられた属性を読み出し、処理記憶部１０３、１１３に記憶する処理が行われる。具体例としては、図２（ｂ）のテーブルＲの第ｎ行の外部キー列の値を読み出し、読み出された主キー列の値を、図２（ｂ）のテーブルＳの主キー列の値として有する行を検索して属性の情報を読み出し、処理記憶部１０３、１１３に記憶する。
【００３７】
ステップＳ４０４の処理として変数ｎの値を１増やす。ステップＳ４０５の処理として、第ｎ番目のデータが存在するかどうかを判断し、第ｎ番目のデータが存在すれば、ステップＳ４０２に戻り、第ｎ番目のデータが存在しなければ、フローチャートの処理を終了させる。
【００３８】
なお、属性にさらに属性が関連づけられている場合には、ステップＳ４０３において、第ｎ番目のデータに関連づけられた属性を第１属性記憶部１１６から読み出すごとに、その属性に関連づけられた属性を第２属性記憶部１１７より読み出すことを行い、処理記憶部１１３に記憶する。
【００３９】
処理部１０４、１１４は、処理記憶部１０３に記憶されたデータとそのデータの属性などに対する処理を行う。すなわち、読出部１０２、１１２が、一群の情報として読み出したデータとそのデータの属性などを処理の単位として処理を行う。処理の単位として処理を行うとは、処理部１０４、１１４は、読出部１０２、１１２が一つのデータとそれに関連づけられた属性を読み出すごとに、読み出された一つのデータとそれに関連づけられた属性について処理を行うことである。処理部１０４が行う処理の内容には任意のものを用いることができる。例えば、データの属性として、時系列的に測定された数値が含まれる場合には、その数値の移動平均を算出する処理を挙げることができる。
【００４０】
また、処理部１０４は、処理の単位ごとに、並列処理を行ってもよい。すなわち、処理記憶部１０３、１１３により、一群の情報としての一つのデータとそれに関連づけられた属性とが記憶された領域ごとに処理を行うスレッドなどを割り当てて、スレッドなどを並列に動作させてもよい。これにより、処理を効率的に行うことが可能となる。
【００４１】
一つのデータとそのデータに関連づけられている属性とが、ひとまとまりとなるように記憶部１０１、１１１から読み出されて処理記憶部１０３、１１３に記憶されている。このため、処理部１０４、１１４は、そのようにひとまとまりとなるように記憶されているデータとそのデータに関連づけられている属性とを処理単位として処理を行うことができる。これにより、効率的な処理が可能となる。
【００４２】
特に、データに関連づけられている複数の属性を処理部１０４、１１４が走査し、処理に必要なパラメータを確定することが可能であるので、無駄な処理を行う必要がなくなる。
【００４３】
処理部１０４、１１４により行われた処理の結果は、情報処理装置１００、１１０の外部に出力することができる。また、処理部１０４、１１４により行われた処理の結果は、
記憶部１０１、１１１に記憶されるようになっていてもよい。例えば、領域５０３、領域５０４、領域５０５に記憶された属性１−１（２０２）、属性１−２（２０３）、属性１−３（２０４）の情報を処理して得られる結果を用いて、データ記憶部１０５に記憶されているデータ１（２０１）の情報を更新、追加してもよい。具体例としては、図２（ｂ）に示すテーブルＲのＡ列、Ｂ列などに格納されている値を変更する。
【００４４】
上述したように、情報処理装置１００、１１０はコンピュータを用いて実現することができる。コンピュータは、ＣＰＵ、主記憶装置、二次記憶装置、入出力インターフェースを備えている。そこで、記憶部１０１、１１１を主記憶装置や二次記憶装置を用いて構成し、読出部１０２、１１２を、ＣＰＵが実行することにより動作するプログラムやモジュールにより実現し、処理記憶部１０３、１１３を主記憶装置や二次記憶装置を用いて構成し、処理部１０４、１１４をＣＰＵが実行することにより動作するプログラムやモジュールにより実現することができる。
【００４５】
図６は、本発明の一実施形態による実施例を説明する。図６は、ローン契約を表わすデータと、ローン契約についての時系列的な変更履歴を表わす属性を用いる例を示す。
【００４６】
すなわち、図６（ａ）において、データ６０１は、一つのローン契約を表わしており、契約を特定する識別情報としての「契約データ１」と、ローンの元本を表わす情報として「元本情報１」と、約定金利を表わす情報として「約定金利情報１」と、ローンの期間を表わす情報として「期間情報１」と、実効金利を表わす情報として「実効金利情報１」と、償却原価を表わす情報として「償却原価情報１」とを含む。
【００４７】
データ６０１のようなデータをテーブルに格納して表現するためには、「契約データ１」を主キー列の値とし、「元本情報１」、「約定金利情報１」、「実効金利情報１」、「償却原価情報１」を他の列の値とすればよい。
【００４８】
なお、データおよびそのデータの属性は複数あってもよいが、説明を簡単にするために、図６では、データとして１つを示し、データの属性として２つを示している。
【００４９】
また、データ６０１の属性として、属性６０２と属性６０３とがデータ６０１に関連づけられている。属性６０２と属性６０３とはデータ６０１のローン契約についての約定を表わす情報となっている。属性６０２は、識別情報として「約定データ１−１」と、日付情報として「日付１−１」と、日付１−１の示す日に行われた金利変更を表わす情報として「金利変更情報１−１」とを含む。また、属性６０３は、識別情報として「約定データ１−２」と、日付情報として「日付１−２」と、日付１−２の示す日に行われた「金利変更情報１−２」とを含む。
【００５０】
属性６０２、６０３のような属性をテーブルに格納して表現するためには、「契約データ１」を外部キー列の値とし、「日付１−１」、「金利変更情報１−１」を他の列の値とし、また、「日付１−２」、「金利変更情報１−２」を別の行の列の値とする。
【００５１】
したがって、データ記憶部１０５には、ローン契約を表わすデータが記憶され、属性記憶部１０６には、ローン契約それぞれに対する約定情報が記憶される。具体的には、主キー列の値としてローン契約の識別情報を用いたテーブルを用いてデータ記憶部１０５が構成され、外部キー列の値としてローン契約の識別情報を用いたテーブルを用いて属性記憶部１０６が構成される。
【００５２】
情報処理装置１００は、データ記憶部１０５からデータ６０１を読み出し、処理記憶部１１３に記憶する。具体的には、図６（ｂ）に示す領域６１１に、データ６０１の情報を
記憶し、領域６１１に続く領域６１２に属性６０３の情報を記憶し、領域６１２に続く領域６１３に属性６０２の情報を記憶する。なお、ここでは、読出部１１２は、日付を表わす情報により属性をソートして処理記憶部１１３に記憶するとし、「日付１−２」が「日付１−１」の表わす日付よりも前の日付であるとする。
【００５３】
図６（ｂ）に示されるように処理記憶部１１３により記憶された情報に対して、処理部１１４は任意の処理を行うことができる。例えば、償却原価および実効金利を求める処理を行うことができる。ここに、償却原価は、ローン契約の残存期間にわたって予測されるキャッシュフローを実効金利により割り引いて得られる現在価値として算出される。したがって、償却原価を算出するためには、予測されるキャッシュフローと実効金利を算出する必要がある。
【００５４】
予測されるキャッシュフローは、例えば、元本に対する約定金利の割合で毎期利子が得られ、ローンの期間経過後に元本額が得られるとすることができる。また、実効金利は、予測されるキャッシュフローを現在の償却原価まで割り引く利率として定義される。したがって、実効金利は、残存期間の長さがｎ期間であるとすると、
現在の償却原価＝第１期利子／（１＋ｒ）＋第２期利子／（１＋ｒ）２＋第３期利子／（１＋ｒ）３＋・・・＋第ｎ期利子／（１＋ｒ）ｎ＋元本／（１＋ｒ）ｎ
という方程式を解くことにより計算される。しかしながら、このような方程式に一般的な解の公式は存在せず、数値的にしか解くことができない。このため、ｒを任意に定めて、右辺の値を求め、左辺と右辺との値を比較して、右辺の値が大きければｒの値を大きくし、右辺の値が小さければｒの値を小さくし、左辺と右辺との値が同じになるまで繰り返すこととなる。すなわち、実効金利の計算には試行錯誤が伴う。このため、金利が変更となる都度、実効金利を求め、償却原価を求めることを行うと、計算量が多くなってしまう。
【００５５】
一方、本発明の一実施形態では、図６（ｂ）に示すような構造のデータを処理するので、金利が複数回変更となっていても、領域６１２および領域６１３を順に走査し、最終的に変更された金利を確定してから、実効金利を求めることができるので、計算量を少なくすることができる。
【００５６】
なお、属性６０２の日付１−１の示す日付と属性６０３の日付１−０２の示す日付とが、異なる期に属する場合には、処理部１０４、１１４は、領域６１２に格納された金利変更情報１−２を用いて属性６０３の日付１−０２の示す日付が属する期の期末における償却原価を計算し、その計算された償却原価を引き継いで、属性６０２の日付１−１の示す日付の属する期の実効金利を計算し、償却原価を計算するようにすることもできる。
【００５７】
以上の例では、金利の変更のみを扱ったが、金利の変更以外にも、ローン契約の期間や元本の変更が複数ある場合にも適用が可能であり、一つのローン契約に関連づけられている約定を順に走査し、最終的な元本情報、約定金利情報を決定した後に、一度だけ実効金利を求めればよいこととなる。したがって、本発明の一実施形態は、大量のローン契約についてのバッチ処理を行うことに適している。
【符号の説明】
【００５８】
１００  情報処理装置、１０１  記憶部、１０２  読出部、１０３  処理記憶部、１０４
処理部、１０５  データ記憶部、１０６  属性記憶部、１１０  情報処理装置、１１１
記憶部、１１２  読出部、１１３  処理記憶部、１１４  処理部、１１５  データ記憶部、１１６  属性記憶部、
【図１】
2014241136.tif 000003
【図２】
2014241136.tif 000004
【図３】
2014241136.tif 000005
【図４】
2014241136.tif 000006
【図５】
2014241136.tif 000007
【図６】
2014241136.tif 000008