以下、添付図面を参照しながら、本発明のポートフォリオ最適化注文発注システムを実施するための形態を詳細に説明する。
<ポートフォリオ最適化注文発注システムの構成>
図1は、本実施の形態に係るポートフォリオ最適化注文発注システムの概略構成を示す図である。
図1に示すように、ポートフォリオ最適化注文発注システム100は、ネットワーク130を介して端末140に接続されている。また、ポートフォリオ最適化注文発注システム100は、ネットワーク130を介して約定システム120にも接続されている。ポートフォリオ最適化注文発注システム100は、ユーザが使用する端末140からの入力情報を受け取り、その入力情報に従ってポートフォリオを最適化するための注文を作成して、作成された注文を約定システム120に対して発注するものである。約定システム120は、一般的な証券のオンラインシステムなどで提供される約定システムである。
ポートフォリオ最適化注文発注システム100は、ワークステーションやパーソナルコンピュータなどの情報処理装置によって構成されている。ポートフォリオ最適化注文発注システム100は、中央演算処理装置と、補助記憶装置と、主記憶装置と、入出力装置とを備えている。例えば、中央演算処理装置は、CPU(Central Processing Unit)などのプロセッサ(又は演算部ともいう)で構成されている。また、例えば、補助記憶装置はハードディスクであり、主記憶装置はメモリであり、入出力装置は、キーボード及びポインティングデバイス(マウスなど)やディスプレイである。
ポートフォリオ最適化注文発注システム100は、ポートフォリオ分析部101と、初回注文情報作成部(概算作成)102と、売注文発注部103と、買注文再計算部104と、買注文発注部105と、ポートフォリオ完成判定部106とから構成されている。この実施例では、各処理部101乃至106を、コンピュータ上で実行されるプログラムの機能として実現してもよい。すなわち、各処理部101乃至106は、プログラムコードとしてメモリに格納して、CPUが各プログラムコードを実行することによって各処理部が実現されてもよい。
また、ポートフォリオ最適化注文発注システム100は、運用指図107と、運用中ポートフォリオ108と、ポートフォリオ情報109と、口座情報110と、残高情報111と、銘柄情報112と、手数料情報113と、税率情報114と、自動作成補助情報115と、注文情報116と、警告情報117と、約定情報119とを備える。これらの情報は、ハードディスクに、例えばデータベースとして格納されている。運用指図107に関しては、ポートフォリオ最適化注文発注システム100の受付部(図示せず)によって端末140からの入力情報が受付けられ、受付部によって入力情報が運用指図107に格納される。
以下に、ポートフォリオ最適化注文発注システム100の各処理部101乃至106について説明する。ポートフォリオ分析部101は、投資家のポートフォリオ組み換えの指示あるいは、増資・減資の指示が格納された運用指図107から指示情報を取得する。また、ポートフォリオ分析部101は、口座情報110を取得し、投資家の口座状態が取引可能か判断した後、現在適用されている運用中ポートフォリオ108から現在の時価評価額を抽出し、ポートフォリオ情報109の一部に格納し、自動注文作成のための基本処理を行う。
初回注文情報作成部(概算注文作成)102は、ポートフォリオ情報109から、目標となる金額と、前提処理で格納された運用中のポートフォリオの時価評価額の差分を取得し、現在の保有額が目標数値を上回っている場合は売注文、目標数値を下回っている場合は買注文として、注文を仮作成する。この時、初回注文情報作成部(概算注文作成)102は、概算の税・手数料を記録する。また、初回注文情報作成部(概算注文作成)102は、概算の税・手数料を利用して目標金額の補正の行った後、再び同一処理を行い、売注文・買注文をそれぞれ作成し、注文情報116に格納する。さらに、初回注文情報作成部(概算注文作成)102は、売注文・買注文を自動作成した結果、警告すべき内容があれば警告情報117に格納する。上述の処理のために、初回注文情報作成部(概算注文作成)102は、売り注文自動作成部と、買注文自動作成部とを備える。これら売り注文自動作成部及び買注文自動作成部の具体的な処理内容は、後述する。
売注文発注部103は、注文情報116から売注文を抽出して、注文データ118として約定システム120に対して発注する。なお、注文データ118は、一般的な証券のオンラインシステムを利用して市場に発注される。売注文発注部103は、市場の約定システム120で約定した結果を、約定情報119として受け取る。
買注文再計算部104は、(既に発注済した分の)約定結果を約定情報119から抽出し、残高情報111に記録する。この時、買注文再計算部104は、概算で計算して発注した金額と、約定した金額を比較し、予定の多寡に応じて目標金額に補正をかけて買注文を再作成し、注文情報116に格納する。
買注文発注部105は、残高情報111から買付余力を取得し、未発注の買付注文を優先度順に取得し、買付余力が十分と判断された注文を注文データ118として順次発注をする。また、ポートフォリオ完成判定部106は、約定結果を約定情報119から抽出し、残高情報111に記録する。この時、ポートフォリオ完成判定部106は、注文情報116で発注した全ての注文が約定状態になっていればポートフォリオを完成と判断し、運用指図107と運用中ポートフォリオ108をポートフォリオ構築完了として更新する。
<各種情報の構成>
以下に、図1で示した各種情報を図19乃至図35を用いて詳細に説明する。なお、以後の説明では「テーブル」構造を用いて本発明の情報について説明するが、これら情報は必ずしもテーブルによるデータ構造で表現されていなくても良く、リスト、DB、キュー等のデータ構造やそれ以外で表現されていても良い。そのため、データ構造に依存しないことを示すために「テーブル」、「リスト」、「DB」、「キュー」等について単に「情報」と呼ぶことがある。
運用指図107は、システムが投資家からの指示を格納したものである。図19は、図1の運用指図107のデータ構造の一例を示す図である。運用指図1900は、ポートフォリオの運用方法を指図するための情報を管理する。運用指図1900は、指図を特定するための指図ID1901と、運用指図対象となる口座を特定するための口座ID1902と、現在運用中のポートフォリオを示すための現在ポートフォリオID1903と、運用指図によってポートフォリオIDを変更する必要がある場合の変更後のポートフォリオIDを示す変更ポートフォリオID1904と、運用指図によって増減資が指定されているならばその金額を示す増減資1905と、ポートフォリオの運用変更・増資・減資といったポートフォリオの運用に係る指図を示す最適化種別1906と、運用指図の現在の状態を示す状況1907とを構成項目として含んでいる。状況1907は、端末から指図を受けた直後の状態の「予約」と、本システムによってポートフォリオ最適化を行っている状態の「変更中」と、本システムによってポートフォリオ最適化が終了した状態の「完了」とを設定値として有する。
運用中ポートフォリオ108は、投資家が現在運用しているポートフォリオの情報を格納したものである。図20は、図1の運用中ポートフォリオ108のデータ構造の一例を示す図である。運用中ポートフォリオ2000は、運用中のポートフォリオを構成する商品分類群とそれらに対する割当の情報を管理する。運用中ポートフォリオ2000は、口座ID2001と、ポートフォリオID2002と、資産種別2003と、詳細種別2004と、詳細ID2005と、運用比率2006と、時価評価額2007と、ステータス2008とを構成項目として含んでいる。口座ID2001は、運用指図対象となるIDを示す。ポートフォリオID2002は、運用中のポートフォリオを特定するためのIDである。資産種別2003は、運用中のポートフォリオの金融商品としての分類を示す。詳細種別2004は、資産種別の詳細な分類を示す。また、詳細ID2005は、詳細な分類群に割り当てられる銘柄を特定するためのIDである。運用比率2006は、運用指図対象となる口座の(現金を除く)全体の時価評価額に占める対象の詳細種別2004の割合「時価評価額2007/(Σ時価評価額2007)」を示す。時価評価額2007は、詳細種別2004に対する現在の時価評価額を示す。ステータス2008は、運用中ポートフォリオの詳細ID単位の運用状況を示す。
なお、資産種別2003は、本発明で取り扱う「株式」「ETF」「REIT」「投資信託」といった金融商品の基本的な分類を有する。詳細種別2004は、金融商品の分類を更に細かく分類したものであり、例えば国内株式であれば公開された業種分類種別に基づく分類あるいは東証などの市場の上場種別などポートフォリオ構成目的に合致した分類を指定する。ステータス2008は、ポートフォリオの最適化を実行中の状態を示す「再構築中」と、構築が完了し実際に運用している状態を示す「運用中」とを設定値として有する。
ポートフォリオ情報109は、ポートフォリオ組み換えのために必要な情報として、ポートフォリオに組み込む銘柄と、目標の構成比率が設定された情報である。ポートフォリオ情報109は、投資家が選択可能なポートフォリオが複数登録されている。なお、ポートフォリオ情報109は、あらかじめ定義されているとする。ポートフォリオ情報109は、図21に示すポートフォリオ情報(全体)2100のデータ構造と、図22に示すポートフォリオ情報(詳細)2200のデータ構造と、図23に示すポートフォリオ情報(全体目標)2300のデータ構造とを含む。
図21は、ポートフォリオ情報(全体)2100のデータ構造の一例を示す図である。ポートフォリオ情報(全体)2100は、事前に登録されたポートフォリオの基本的な状態を管理しており、運用指図で指定する変更後のポートフォリオIDはこの中から選択される。ポートフォリオ情報(全体)2100は、基本情報を管理するポートフォリオを特定するためのポートフォリオID2101と、基本情報を管理するポートフォリオの金融商品としての分類を示す資産種別2102と、資産種別の詳細な分類を示す詳細種別2103と、詳細な分類群に割り当てられる銘柄を特定するための詳細ID2104と、各詳細種別に割り当てられる比率を定義する割当比率2105とを構成項目として含んでいる。例えば、同一のポートフォリオID2101の割当比率2105を合計すると100%になるように割当比率が設定されている。
図22は、ポートフォリオ情報(詳細)2200のデータ構造の一例を示す図である。ポートフォリオ情報(詳細)2200は、ポートフォリオ情報(全体)2100で定義されている詳細な割当分類群を示す詳細ID2104に紐づく具体的な銘柄を管理する。ポートフォリオ情報(詳細)2200は、詳細な分類群に割り当てられる銘柄を特定するための詳細ID2201と、詳細ID2201の金融商品としての分類を示す資産種別2202と、詳細IDの具体的な分類内容を示す詳細種別2203と、具体的に割り当てる銘柄を示す割当銘柄ID2204と、詳細IDの中の銘柄ごとの割当て比率を示す詳細割当比率2205とを構成項目として含んでいる。同一の詳細ID2201の詳細割当比率2205を合計すると100%になるように割当比率が設定されている。
本実施例において、ポートフォリオ情報(全体)2100とポートフォリオ情報(詳細)2200とを分けて管理する理由について記述する。株式のように1単元の金額が非常に大きく、例えば銘柄によっては50万円を超えている資産をポートフォリオに組み込む場合、その資産に対する割当価額が50万に満たなければ購入不可であり、全体としてみた場合のポートフォリオの構成が大きく崩れる。この状況をするために回避するために、例えば「金融」という分野に対して、金額に幅をもたせた複数の銘柄を組み込むことで、詳細レベルで購入できない銘柄があったとしても、「金融」という括りに対しては、ポートフォリオの構成を極力崩さないようにすることを目的としている。例えば、1万円、5万円、10万円、50万円の4種類の銘柄を組み込み、「金融」に割り当てられた40万円を、50万円を除く3種類の銘柄に対しては投資可能にしている。
図23は、ポートフォリオ情報(全体目標)2300のデータ構造の一例を示す図である。ポートフォリオ情報(全体目標)2300は、運用指図によってポートフォリオの最適化を行う場合に口座IDごとのポートフォリオ構築目標を記録するための一時的な情報を管理する。ポートフォリオ情報(全体目標)2300は、運用指図対象となる口座ID2301と、運用指図によって変更するポートフォリオID2302と、運用中のポートフォリオの金融商品としての分類を示す資産種別2303と、資産種別の詳細な分類を示す詳細種別2304と、詳細な分類群に割り当てられる銘柄を特定するための詳細ID2305と、運用指図対象の口座が現時点で変更後のポートフォリオと同一の資産を保有している場合に格納される時価評価額2306と、ポートフォリオ情報(全体)2100で指定された割当比率2105から算出される割当価額2307と、ポートフォリオ最適化時に発生する取引の手数料や概算の譲渡益税が考慮された割当価額(税・手数料調整)2308と、割当比率2309とを構成項目として含んでいる。
割当価額2307は、「運用指図対象の増減資を考慮した合計時価評価額(Σ(運用中ポートフォリオ2000の時価評価額2007) + 運用指図1900の増減資1905)×目標の割当比率(ポートフォリオ情報(全体)2100の割当比率2105)」で計算される。
割当価額(割当価額(税・手数料調整)2308は、「運用指図対象の増減資/税・手数料を控除した合計時価評価額(Σ(運用中ポートフォリオ2000の時価評価額2007) + 運用指図1900の増減資1905 − Σ(取引に伴う手数料・税(概算)))×目標の割当比率(ポートフォリオ情報(全体)2100の割当比率2105)」で計算される。
口座情報110は、投資家の情報として口座の情報を格納する。口座情報110は、あらかじめ定義されているとする。図24は、図1の口座情報110のデータ構造の一例を示す図である。口座情報2400のデータ構造は、運用指図が指示される口座の基本的な情報を管理する。口座情報2400は、運用指図対象となる口座ID2401と、譲渡益税の考慮要否(源泉徴収)を決めるための税徴収区分2402と、自動作成時に口座の取引作成可否を判断するためのコンプライアンス2403と、元本2404とを構成項目として含んでいる。また、本データ管理は、一般的な証券口座を管理するためのその他の基本情報(口座契約者名、住所など)を含むことが可能だが、ポートフォリオ最適化のための自動注文作成・発注に係らない項目は記載していない。
残高情報111は、投資家の資産を格納するための情報を格納する。残高情報111は、図25に示す残高情報(全体)2500のデータ構造と、図26に示す残高情報(銘柄)2600のデータ構造とを含む。
図25は、残高情報(全体)2500のデータ構造の一例を示す図である。残高情報(全体)2500は、運用指図が指示される口座の残高を、営業日単位で未来の日付まで管理する。残高情報(全体)2500は、口座の残高の基準となる日付2501と、運用指図対象となる口座ID2502と、保有する金融資産を時価評価額で現金換算した約定日ベースの価額である約定ベース(価額)2503と、同じく時価評価額で現金換算した受渡日ベースの価額である受渡ベース(価額)2504、保有する現金資産の約定日ベースの資金額である約定ベース(資金)2505、同じく現金試算の受渡日ベースの資金額である受渡ベース(資金)2506と、ポートフォリオ最適化に係る資金の支出(取引による出金・手数料支払い・税金徴収予定額)を管理する税・手数料・拘束額2507とを構成項目として含んでいる。本実施例は、主として日本の金融商品(株式、ETF、REIT、投資信託)の購入に係る市場ルールを元にしており、取引は、約定日・受渡日で管理されることを想定している。従って、残高情報(全体)では、取引の自動作成・発注を迅速に行うため、約定日・受渡日のルールを適用した形式で未来の残高を予測可能なように、一つの口座ID2502に対しても、未来日までのデータを管理する。
図26は、残高情報(銘柄)2600のデータ構造の一例を示す図である。残高情報(銘柄)2600は、運用指図対象となる口座IDごとに保有する金融商品の銘柄について詳細を管理する。残高情報(銘柄)2600は、運用指図対象となる口座ID2601と、保有する金融商品の銘柄ID2602と、銘柄の約定日ベースの時価を示す約定ベース(時価)2603、銘柄の受渡日ベースの時価を示す受渡ベース(時価)2604と、銘柄の約定日ベースの数量を示す約定ベース(数量)2605と、銘柄の受渡日ベースの数量を示す受渡ベース(数量)2606と、譲渡益税計算に係る平均取得単価2607とを構成項目として含んでいる。残高情報(銘柄)2600において、残高情報(全体)2500と同様に、約定日・受渡日の概念を適用するならば、日単位でデータを持つことも可能だが、ポートフォリオ運用に関しては、1回の運用最適化中に、同じ銘柄に対して売り・買いを同時に発生させないように制御する。当日時点の約定ベースで保有しているかどうかだけ分かれば、自動売却は可能であるため、残高情報(銘柄)2600においては1日分の情報を格納している。
銘柄情報112は、株式・REIT・ETF、投資信託の注文作成に必要な情報を格納する。図27は、図1の銘柄情報112のデータ構造の一例を示す図である。銘柄情報2700は、金融商品の銘柄について一般的な情報を管理する。銘柄情報2700は、銘柄を特定するための銘柄ID2701と、銘柄名2702と、資産種別2703と、上場銘柄の場合の上場市場を示す市場2704と、単元2705と、直近時価評価額2706と、直前の場における取引傾向を示す直近取引結果2707と、証券取引所の指示等による制約事項を示す取引制限2708と、何日後を約定日とするかの約定日2709と、何日後を受渡日とするかの受渡日2710と、ストップ高の価額を示すS高2711と、ストップ安の価額を示すS安2712とを構成項目として含んでいる。なお、銘柄情報に関しては、本実施例のシステムでは特に説明していないが、一般的な金融商品の過程で取得可能な情報であり、それらから構築されることを前提としている。
手数料情報113は、一般的な金融商品取引で発生する手数料情報を格納する。図28は、図1の手数料情報113のデータ構造の一例を示す図である。手数料情報2800は、一般的な金融商品取引で発生する手数料計算を想定したデータを管理する。手数料情報2800は、金融商品の分類を示す資産種別2801と、当該手数料が発生する取引方法2802と、特定の銘柄に手数料が発生する場合の銘柄ID2803と、約定金額の幅によって手数料が発生する場合の約定金額(下限)2804と、手数料が発生する場合の約定金額(上限)2805と、発生する手数料2806とを構成項目として含んでいる。手数料は、一般的な徴収形式に則り、固定の場合の直接金額指定、約定金額に対する割合指定を想定する。
税率情報114は、金融商品の取引で発生する税の情報を格納する。税率情報114は、あらかじめ定義されているとする。図29は、図1の税率情報114のデータ構造の一例を示す図である。税率情報2900は、金融商品の取引で発生する税を管理する。税率情報2900は、発生する税の種別を管理する税種別2901と、税徴収に係る対象期間の開始2902と、税徴収に係る対象期間の終了2903と、当該税金の徴収対象となる資産種別2904と、税率2905と、税率の内訳のうち国税2906と、地方税2907とを構成項目として含んでいる。
自動作成補助情報115は、システムが自動作成中に判断を行うための情報を格納する。自動作成補助情報115は、あらかじめ定義されているとする。図30は、図1の自動作成補助情報115のデータ構造の一例を示す図である。自動作成補助情報3000は、ポートフォリオ最適化注文作成・発注を行うにあたって、投資家が不利にならないように自動作成に設ける一定のルールのうち、指定可能な項目を管理する。
自動作成補助情報3000は、自動作成指示を特定する指示ID3001と、指示内容3002と、指定値3003と、自動採用値3004とを構成項目として含んでいる。自動作成補助情報3000の情報について、外部からの指定が無い場合、システムの自動採用値に基づいて注文作成・発注を進めるようにしてもよい。
指示内容3002のうち、「前場取引開始(経過時間)」「後場取引開始(経過時間)」は、自動発注を行うタイミングを決定しており、0分ならば場の開始時の板寄せから発注をしかける。また、指示内容3002のうち、「最低取引金額手数料比率」は、自動作成注文の概算の発注金額と概算の手数料を比較し、発注金額に対して一定の割合以上の手数料がかかる場合に不利とみなして注文作成を抑止する。
指示内容3002のうち、「株価上昇時指値上乗せ率」は、銘柄情報2700の直近取引結果2707が値上がり傾向だった場合に、注文自動作成時の指値を判断するために利用する。例えば、銘柄の株価が1,000円から1,500円に値上がっていて、指定値3003として「20%」が指定されていた場合、値上がり分500円×20%を乗じた金額1,600円で注文を自動作成する。できる限り素早く、指定額で約定させるための項目である。
指示内容3002のうち「投資信託口数切替比率」は、投資信託の売却する割合が、左記の保有口数の比率を超えた場合に口数指定に切り替える。ポートフォリオを正確に構築する上で、投資信託は、基本的に金額指定で厳密に売却すべきだが、安全率として設定する。例えば、値動きの激しい局面で、10,000円分(1,000口)保有のうち8,000円分(800口分)を売却する時に、投資信託の値が半額になり、8,000円分が1,600口に相当する場合、金額指定では保有する口数(1,000口)以上の売却になってしまう。このように大部分を売却する場合は口数で注文するのが安全である。
指示内容3002のうち「最低取引金額」は、注文を自動作成するかどうかの閾値を示す。少額になった場合、手数料が割高になる可能性があるため注文の自動作成を取りやめる閾値として利用する。また、指示内容3002のうち「最低維持現金率」は、維持すべき現金の最低割合を示す。本実施例は、ポートフォリオ内に現金を管理するデータ構成にしており、そこから手数料・税が徴収される。手元の現金が一定の割合以下の状態で税・手数料が徴収されると、手元の現金が赤字になる可能性がある。そのために最低限維持しなければならない現金の割合を定義する。
注文情報116は、システムによって自動作成される注文情報を格納する。注文情報116は、図31に示す注文情報(株式・REIT・ETF)3100のデータ構造と、図32に示す注文情報(投資信託)3200のデータ構造とを含む。
図31は、注文情報(株式・REIT・ETF)3100のデータ構造の一例を示す図である。注文情報(株式・REIT・ETF)3100は、株式・ETF・REITの発注に係る一般的な項目を管理する。注文情報(株式・REIT・ETF)3100は、運用指図対象となる口座ID3101と、銘柄を特定するための銘柄ID3102と、作成した注文の買い・売りを表す売買3103と、注文方法を指定する取引種別3104と、指値3105と、売買対象の株数3106と、概算注文金額3107と、概算譲渡益税3108と、手数料3109と、注文の発注状態を表す状態3110と、注文を特定するための注文ID3111とを構成項目として含んでいる。
取引種別3104に関しては、売り注文は全て「成行き」で作成される。また、買い注文は、単元の注文の場合は全て「不成り」(指し成りと同義)で作成され、単元未満株の場合は「成行き」で作成される。また、状態3110は、概算の注文を作成した状態で再計算がありえる「仮作成」と、確定した注文で発注を待つ状態の「未発注」と、発注後/約定前の「注文中」と、約定した状態の「約定」と、なんらかの原因で取り消された場合の「取消」とを設定値として取りうる。
図32は、注文情報(投資信託)3200のデータ構造の一例を示す図である。注文情報(投資信託)3200は、投資信託の注文に係る一般的な項目を管理する。注文情報(投資信託)3200は、運用指図対象となる口座ID3201と、銘柄を特定するための銘柄ID3202と、作成した注文の買い・売りを表す売買3203と、注文方法を指定する取引種別3204と、特定金額分を指定して売買する場合の指定金額3205と、特定口数を指定して売買する場合の指定口数3206と、概算注文金額3207と、概算譲渡益税3208と、手数料3209と、注文の発注状態を表す状態3210と、注文を特定するための注文ID3211とを構成項目として含んでいる。
売買3203は、投資信託の一般的な売買方法である、購入に係る「買付」、売却に係る「買取」「解約」を指定する。また、取引種別3204は、投資信託の一般的な売買方法である、「金額指定」「口数指定」を指定する。また、状態3210は、注文情報(株式・REIT・ETF)3100の状態3110と同様の考え方であり、状態3110と同様の値が設定される。
警告情報117は、注文作成の際にシステムから発せられた警告情報を格納する。図33は、図1の警告情報117のデータ構造の一例を示す図である。警告情報3300は、自動注文情報作成において、警告とみなされる情報を管理する。警告情報3300は、どの指図で発生したか特定するための指図ID3301と、運用指図対象となる口座ID3302と、警告の種類を示す警告ID3303と、警告が発生した銘柄を特定するための銘柄ID3304と、具体的な警告を説明する警告内容3305とを構成項目として含んでいる。
警告内容3305には、ポートフォリオ作成時に立てた予定と実際の割当比率に大きな差異を及ぼす可能性がある「前日ストップ高」や「前日ストップ安」などが指定されうる。また、警告内容3305には、証券取引等の制約による発注不可の状態を示す「取引停止中」や「監理銘柄」なども指定されうる。さらに、警告内容3305には、ポートフォリオの指定が誤っていたため本自動作成では取り扱わない同一銘柄に対する買/売が同時に行われた場合の「買い売り同時指定あり」も指定されうる。また、警告内容3305には、最低金額に満たない場合や、手数料上、投資家の不利になる可能性があるために注文作成を中止した「金額調整の結果未作成」も設定されうる。さらに、警告内容3305には、先行する株式注文の約定結果によって金額不足に陥り、残りの銘柄が購入できなかった場合の「金額調整の結果発注中止」が指定されうる。
なお、警告情報3300は、注文の自動作成・発注の過程において起こりうる事象を警告として出力することに留め、投資家が何らかの制御を行わない場合は、当初想定されている自動作成処理をそのまま継続する。
約定情報119は、約定した結果の情報を格納する。約定情報119は、図34に示す約定情報(株式・REIT・ETF)3400のデータ構造と、図35に示す約定情報(投資信託)3500のデータ構造とを含む。
図34は、約定情報(株式・REIT・ETF)3400のデータ構造の一例を示す図である。約定情報(株式・REIT・ETF)3400は、株式・ETF・REITの約定に係る一般的な項目を管理する。約定情報(株式・REIT・ETF)3400は、約定を特定するための約定ID3401と、銘柄を特定するための銘柄ID3402と、約定の買い・売りを表す売買3403と、約定日3404と、受渡日3405と、約定株数3406と、約定単価3407と、約定金額3408と、概算譲渡益税3409と、手数料3410と、約定の元になった注文を特定するための注文ID3411とを構成項目として含んでいる。
また、図35は、約定情報(投資信託)3500のデータ構造の一例を示す図である。約定情報(投資信託)3500は、投資信託の約定に係る一般的な項目を管理する。約定情報(投資信託)3500は、約定を特定するための約定ID3501と、銘柄を特定するための銘柄ID3502と、約定の買い・売りを表す売買3503と、約定日3504と、受渡日3505と、約定単価3506と、約定口数3507と、約定金額3508と、概算譲渡益税3509と、手数料3510と、約定の元になった注文を特定するための注文ID3511とを構成項目として含んでいる。
<ポートフォリオ最適化注文発注システムにおける処理>
次に、上述の構成を有するポートフォリオ最適化注文発注システムにおいて行われる処理について説明する。図2〜18はポートフォリオ最適化注文発注システムにおいて行われる処理の概要を示すフローチャートである。
図2は、本発明の一実施の形態に係るポートフォリオ最適化注文発注システムの概略実施内容を説明したフローチャートである。概略処理200では、ポートフォリオ最適化注文発注システム100で示した各処理部の概略と起動条件を記載している。
ステップ201は、全体の処理を開始するトリガーを示す。ステップ201において、ポートフォリオ分析部101が、端末140から指示された運用指図を、運用指図107から受け取る。
次に、ステップ202において、ポートフォリオ分析部101が、現在運用中のポートフォリオと、目的とするポートフォリオの比較を行う。ここで、ポートフォリオを形成する資産から「割当金額」決定のためのポートフォリオ情報(全体目標)2300を設定する。
次に、ステップ203において、初回注文情報作成部(概算作成)102が、時価評価額と割当金額の差分に対して、余剰分は売り注文、不足分は買い注文として注文を仮作成する。また、同時に、初回注文情報作成部(概算作成)102が、概算手数料、概算税金を計算する。
次に、ステップ204において、売注文発注部103が、前述の概算手数料、概算税金を控除した上で、改めて余剰金額を計算し、概算注文を確定した売り注文に再編集する。そして、売注文発注部103が、その売り注文を発注する。
ステップ205は、買注文再計算部104の起動条件を記述している。「指定時刻」は、初回は売注文発注後の場の終了時刻(売注文発注が前場であれば前場終了時)を示し、次回以降は直前の場の終了時刻(直前が後場であれば、後場終了時刻)を示している。ステップ205では、買注文再計算部104が指定時刻であるかを判定する。指定時刻である場合は、ステップ206に進み、そうでない場合は、指定時刻になるまで待つことになる。
ステップ206において、買注文再計算部104が、時刻をトリガーに起動する。そして、買注文再計算部104は、起動までに約定した売り注文、または買い注文の金額を集計する。その後、買注文再計算部104は、起動時点での約定結果をもとに買い注文を再構築する。
ステップ207において、買注文発注部105が、最新の残高をもとにして金額不足にならないように、商品ごとに定める発注ルールに基づき、発注する。
ステップ208は、ポートフォリオ完成判定部106の起動条件を記述している。「指定時刻」は、直前の買注文発注部105の行われた場の終了時刻を示す。ステップ208では、ポートフォリオ完成判定部106が指定時刻であるかを判定する。指定時刻である場合は、ステップ209に進み、そうでない場合は、指定時刻になるまでステップ207を繰り返し実行することになる。
ステップ209において、ポートフォリオ完成判定部106は、未約定の注文が無いかどうか判定し、運用中ポートフォリオが完成したか判定する。そして、ステップ210において、ポートフォリオ完成判定部106が、ポートフォリオが完成したかを判定し、ポートフォリオの完成をもって、全体処理を終了とする。完成していない場合は、ステップ205〜209を繰り返し実行する。
図3は本発明の一実施の形態に係るポートフォリオ最適化注文発注システムのうち、ポートフォリオ分析部101の処理を示すフローチャートである。
ステップ301において、運用指図1900から、ポートフォリオ組み換え、あるいは増資・減資の「予約」状態にあるデータを取得し、予約状態が存在する場合に限り後続のステップ302に進む。ここで、予約状態である口座IDを、以降は「対象の口座」と表現する。
ステップ302において、運用指図1900の対象の口座をもとに、口座情報2400のコンプライアンス状態を確認する。対象の口座が取引可能な状態(コンプライアンス状態が良好)ならばステップ303に進む。
ステップ303において、運用指図1900の予約状態の口座IDをキーとして、運用中ポートフォリオ2000の情報を取得する。
次に、ステップ304において、運用中ポートフォリオ2000のうち、運用指図対象となる口座の時価評価額を合計する。この合計金額を、運用中のポートフォリオ全体の時価評価額とする。
次に、ステップ305において、ステップ301で取得した運用指図に記された増資・減資の有無を判定する。増資・減資が0の場合、ステップ306に進む。この場合、ステップ306では、「全体の時価評価額」を、そのまま「ポートフォリオ全体の時価評価額」とする。一方、増資・減資>0の場合、ステップ307に進む。ステップ307では、「全体の時価評価額」から増資・減資分を計算した金額を「ポートフォリオ全体の時価評価額」とする。
ステップ308において、運用指図1900の取得情報からポートフォリオの変更が指示されているか判定する。変更ポートフォリオID1904が示されている場合、ステップ309に進む。ステップ309では、変更ポートフォリオID1904をもとにして、ポートフォリオ情報(全体)2100から情報を取得する。一方、変更ポートフォリオID1904が指定されていない場合、ステップ310に進む。ステップ310では、現在ポートフォリオID1903をもとにして、ポートフォリオ情報(全体)2100から情報を取得する。
次に、ポートフォリオ情報(全体)2100の件数をもとにループ処理311とループ処理312を行う。ループ処理中のステップ313において、ポートフォリオ情報(全体)2100の詳細ID2104と運用中ポートフォリオ2000の詳細ID2005が一致した場合、ステップ314に進む。
ステップ314では、「ポートフォリオ全体の時価評価額 × 割当比率2105」で、変更後(変更しない可能性もある)ポートフォリオの資産に割り当てる金額を算出する。これにより、それぞれの詳細IDに対して割当てるべき「割当金額」が算出される。
次に、ステップ315において、運用中ポートフォリオ2000のデータと、算出された「割当金額」からポートフォリオ情報(全体目標)2300を作成する。なお、ステップ313で詳細IDが一致しない場合、ループ処理312を繰り返す。最終的に一件も一致しない場合、ステップ316の処理を実行する。
ステップ316において、時価評価額は、運用中ポートフォリオ2000の値か、または、割当価額0でポートフォリオ情報(全体目標)2300に登録する。運用中ポートフォリオ2000に詳細IDが存在し、ポートフォリオ情報2100に詳細IDが存在しないということは、変更後のポートフォリオでは組入れない詳細IDであることを意味しているため、割当価額および割当比率を0にする。これは、すなわち自動注文作成時には、全て売却することを意味している。最終的に、ポートフォリオ情報(全体)2100の件数分のループ処理311を実行した後に、処理を終了する。
図4は、本発明の一実施の形態に係るポートフォリオ最適化注文発注システムのうち、初回注文情報作成部102の第一の処理(税・手数料考慮前の概算作成)400を示すフローチャートである。本処理は、運用指図対象となる口座ID1件について述べる。
ステップ401において、ポートフォリオ分析部101での処理300で作成したポートフォリオ情報(全体目標)2300の情報を、運用指図対象となる口座ID1件について取得する。以降、ポートフォリオ情報(全体目標)2300で取得した件数分、ループ処理402を繰り返す。
ステップ403において、目標残高(時価評価額2306−割当価額2307)を計算し、その値が0より大きい場合(余剰あり)は、割当価額より保有残高の方が大きいため、ステップ404に進む。ステップ404では、目標残高分(目標売却金額と読み替える)を売却するために売注文自動作成600(図6の(1)Sへ進む)を実施する。
ステップ403にて、目標残高が0以下の場合(不足あり)は、ステップ405に進む。ステップ405では、目標残高分の絶対値分(目標買付金額と読み替える)を買付するために買注文自動作成900(図9の(2)Sへ進む)を実施する。それぞれの処理で作成した注文が終了した後(すなわち、(1)Eあるいは(2)Eの処理から戻ってきたら)、ステップ406を実行する。ステップ406では、作成された注文を、注文情報(株式・REIT・ETF)3100と注文情報(投資信託)3200に登録する。この際、注文情報(株式・REIT・ETF)3100の状態3110または注文情報(投資信託)3200の状態3211を「仮作成」として登録する。最終的に、ポートフォリオ情報(全体目標)2300で取得した件数分のループ処理402を実行した後に、処理を終了する。
図5は、本発明の一実施の形態に係るポートフォリオ最適化注文発注システムのうち、初回注文情報作成部102の第二の処理(税・手数料考慮後の概算作成)500を示すフローチャートである。
ステップ501では、図4のステップ404またはステップ405で登録してステップ406で「仮作成」とした注文の概算譲渡益税(3108または3208)と、手数料(3109または3209)を加算して、Σ(税・手数料)とし、ポートフォリオ情報(全体目標)2300の割当価額の合算をΣ(割当価額)とする。この場合、ポートフォリオ情報(全体目標)2300の割当金額(税・手数料調整)2308を、詳細ID2305単位に以下の通り計算して登録する。
割当金額(税・手数料調整)2308 = (Σ(割当価額)−Σ(税・手数料))× 割当比率2309
また、残高情報(全体)2500の、本処理を行った日付2501以降の全ての税・手数料・拘束額2507に対してΣ(税・手数料)を登録する。また、この時点で作成した仮注文を破棄する。
次に、ポートフォリオ情報(全体目標)2300で取得した件数分、ループ処理502を繰り返す。ステップ503において、目標残高(時価評価額2306−割当価額(税・手数料調整)2309)を計算し、その値が0より大きい場合(余剰あり)は、割当価額より保有残高の方が大きいため、ステップ504に進む。ステップ504では、目標残高分(目標売却金額と読み替える)を売却するために売注文自動作成600(図6の(1)Sへ進む)を実施する。
一方、ステップ503にて、目標残高が0以下の場合(不足あり)はステップ505に進む。ステップ505では、目標残高分の絶対値分(目標買付金額と読み替える)を買付するために、買注文自動作成900(図9の(2)Sへ進む)を実施する。
それぞれの処理で作成した注文が終了した後(すなわち、(1)Eあるいは(2)Eの処理から戻ってきたら)、ステップ506において、注文情報(株式・REIT・ETF)3100の状態3110または注文情報(投資信託)3200の状態3211を、売注文の場合は「未発注」(確定した状態)で、買注文の場合は「仮作成」で登録する。
次に、ループ処理502の終了後、ステップ507において、運用中ポートフォリオ2000を、新しい変更後のポートフォリオ情報(全体目標)2300をもとに再作成し、運用中ポートフォリオ2000のステータス2008を「再構築中」とする。また、以下の通り、警告情報3300を作成する。例えば、作成した注文の状態をチェックし、ポートフォリオ情報(詳細)2200では組入れる予定だったが、金額が折り合わず実際に自動作成されなかった場合の警告情報3300を登録する。また、銘柄情報2700と照らし合わせて、前日ストップ高や前日ストップ安のものについて警告情報3300を登録する。なお、警告情報3300は、本実施例ではあくまで投資家に対する警告に留め、無視された場合も自動作成・発注処理を継続する。
図6は、本発明の一実施の形態に係るポートフォリオ最適化注文発注システムのうち、初回注文情報作成部102の売り注文自動作成部の第一の処理(売却方式の決定(全て売却または、部分的な売却))600を示すフローチャートである。本処理は、詳細ID単位の目標売却金額を受け取った状態で開始される。ここでは、全体の処理を通して、詳細ID単位のポートフォリオを再構成(売買)しながら、目標売却金額分を概算値で確保する。
ステップ601において、ポートフォリオ情報(全体目標)2300から、運用指図対象とすべき口座の割当比率2309を取得し、0を超えるかどうか判定する。割当比率2309が0を超える場合は、保有残高に照らし合わせた売買を行うためにループ処理602へ進む。一方、割当比率2309が0の場合、その商品分類は一切組入れないことを意味するため、全てを売却するためのループ処理609へ進む。
ループ処理602では、ポートフォリオ情報(詳細)2200で組入れ対象になっている銘柄IDを調べる。また、ループ処理603では、残高情報(銘柄)2600の保有残高を銘柄ID単位でループする。
ステップ604において、保有残高が不足していないかチェックする。銘柄IDが一致(その銘柄を保有している場合)する場合、以下の計算を行う。
銘柄単位の目標買付金額 = (詳細ID単位の割当価額2307(計算済みの場合は割当価額(税・手数料調整)2308)×詳細割当比率2205)−約定ベース(時価)2603
銘柄単位の目標買付金額が正の場合、買付注文作成処理を行う(図12の(2)−3Sへ進む)。
あるいは、保有残高が0の場合「銘柄単位の目標買付金額 = (目標売却金額×割当比率2309)−0(残高まったく無し)」ならば、その銘柄が不足しているため、買付注文作成処理を行う(図12の(2)−3Sへ進む)。買付金額は、ループ処理602を抜けた後に目標売却金額に加算する。上記以外の場合は、買付注文作成処理を行わない。なお、ループ処理602およびループ処理603の中で、残高情報(銘柄)2600には存在するが、ポートフォリオ情報(詳細)には存在しないものをチェックしておく。ループ処理603及びループ処理602の終了した後は、ステップ605へ進む。
ステップ605では、ループ処理602およびループ処理603の中で、残高情報(銘柄)2600には存在するが、ポートフォリオ情報(詳細)には存在しないものについて、つまり最適化後のポートフォリオには組み込まない銘柄IDについて、「全て売却」の指定で注文を作成する。注文情報(株式・REIT・ETF)3100、注文情報(投資信託)3200ともに同様の考え方である。「全て売却」指定とする注文作成は、一般的かつ単純な方法で自動作成できる。株式(REIT・ETF)の場合は、単元での注文作成を優先し、単元に満たない端数を単元未満株として、いずれも「成行き」で作成する。投資信託の場合は保有口数を全て「口数指定」で売却する。譲渡益税は、利益が出ている場合(売却銘柄の数量×(平均取得単価2607−銘柄情報2700の直近時価評価額2706)>0)に税率情報2900の税率を乗じる。手数料は、売却対象の銘柄の種別、概算注文金額等から適切なもの手数料情報2800より取得する。なお、ここでの概算注文金額を目標売却金額から減算する。
次に、ループ処理606では、ポートフォリオ情報(詳細)2200のID単位でループ処理を行う。ステップ607において、目標売却金額に到達したかを判定する。ここでは、以下の式を計算する。
目標売却金額(全体) = 目標売却金額 − Σ売却額(ステップ605の概算注文金額合計) + Σ買付金額(ループ処理602の買付金額)
詳細IDレベルでは、売却するものと買付するものとが混在する場合が考えられるため、売却額の合計と買付金額の合計の両方を考慮して目標売却金額に到達したかを判定する。上記の式で計算された「目標売却金額(全体)」<0の場合は、目標売却金額に到達していることを意味する。したがって、売却終了となる。一方、「目標売却金額(全体)」が0以上の場合は、ステップ608に進む。
ステップ608では、「銘柄単位の目標売却金額=約定ベース時価(2603)−((詳細ID単位の割当価額2307(計算済みの場合は割当価額(税・手数料調整)2308)×詳細割当比率2205)」が正のもの、つまり最適化後のポートフォリオにも組入れ対象だが、現時点で余分に保有している銘柄について差分売却を行う。上記に該当する銘柄がある場合は、図7の(1)−1Sに進む。なお、差分売却を行う場合は、保有残高の高い順に売却処理を実施する。以上が、割当比率が存在する詳細IDに対する処理である。
なお、ステップ601において、割当比率が0の場合は、ループ処理609を実行する。ループ処理609は、残高情報(銘柄)2600の銘柄ID単位で実行される。ループ処理609の中のステップ610にて、保有している残高を全て売却する。なぜなら、ポートフォリオに組み込まない資産分類であるからである。「全て売却」指定とする注文作成は、一般的かつ単純な方法で自動作成できるため省略する。(税・手数料の計算もステップ605で説明済のため省略する。)
図7は、本発明の一実施の形態に係るポートフォリオ最適化注文発注システムのうち、初回注文情報作成部102の売り注文自動作成部の第二の処理(銘柄単位の目標売却金額を決定)700を示すフローチャートである。ここでは銘柄単位の目標売却金額の計算を行う。
データ701は、直前の売却処理による過不足情報を表している。初回は0であり、過剰に売った場合は−値、売却金額が不足している場合は+値である。
ステップ702において、「銘柄単位の目標売却金額(調整後)=銘柄単位の目標売却金額+ステップ701の売却金額(過不足)」を計算する。
次に、ステップ703において、銘柄単位の目標売却金額(調整後)が自動作成補助情報3000の指示内容3002に定義される最低取引金額を超えているかどうか判定する。超えている場合は目標売却金額(調整後)をもとに注文作成処理を継続する(図8の(1)−2Sに進む)。一方、超えていない場合は、金額過少であり、手数料の関係から投資家が不利になる可能性があるため、データ704として、銘柄単位の目標売却金額(調整後)を売却金額(過不足)に記憶する。そして、注文作成は行わない(以降の処理でデータ701として利用される)。この処理後、図6の(1)−1Eに戻る。なお、図6の処理が終了した後((1)−2Eに戻ってきた時)も、図6の(1)−1Eに戻る。
図8は、本発明の一実施の形態に係るポートフォリオ最適化注文発注システムのうち、初回注文情報作成部102の売り注文自動作成部の第三の処理(注文作成)800を示すフローチャートである。本処理では、詳細ID単位の目標売却金額を受け取り、株式(REIT・ETFを含む)と投資信託の商品特性に応じた売注文を作成する。
ステップ801では、詳細IDをもとにポートフォリオ情報(詳細)2200から、情報を取得する。資産種別2202が、株式(REIT・ETF)の場合はステップ802に進み、投資信託の場合はステップ809に進む。
まず、ステップ802以降の株式(REIT・ETF)の注文作成について述べる。
ステップ803において、銘柄情報2700からデータを取得し、売却可能な単元数「(銘柄単位の目標売却金額 と 保有残高である売却約定ベース(時価)2603を比べて小さい方)÷(単元2705×直近時価評価額2706)」を計算する。この計算結果が1以上の場合、単元での売買が可能なため、ステップ804へ進む。一方、1未満の場合、単元未満株として売却するためステップ806に進む。
ステップ804において、ステップ803で計算した「売却可能な単元数」分の売却注文を注文情報(株式・REIT・ETF)3100に作成した後、現在の直近時価評価額2706で概算注文金額を計算し、その概算注文金額を目標売却金額から減算して、目標売却金額を再計算する。
その後、ステップ805において、再計算した目標売却金額が、自動作成補助情報3000の指示内容3002に定義される最低取引金額を超えているかどうかを判定する。目標売却金額が最低取引金額より小さければ、十分な金額分を作成したと判断し、ステップ813へ進む。目標売却金額が最低取引金額より大きければ、まだ売却可能と判断し、ステップ806へ進む。
ステップ806では、単元未満株で売却注文を作成する。売却目標の範囲「目標売却金額÷直近時価評価額2706」の株数を「成行き」で注文情報(株式・REIT・ETF)3100に売却注文を作成する。その後、現在の直近時価評価額2706で概算注文金額を計算し、その概算注文金額を目標売却金額から減算して、目標売却金額を再計算する。
ステップ807では、単元未満株で作成した注文の概算注文金額が自動作成補助情報3000の指示内容3002に定義される最低取引金額を超えているかどうかを判定する。概算注文金額が最低取引金額よりも小さければ、少額すぎるため手数料等を考えると投資家に不利な注文と判断して、ステップ808へ進む。概算注文金額が最低取引金額より大きければ、注文は有効と判断して、ステップ813へ進む。
ステップ808では、単元未満株の注文を破棄する。破棄した分の概算注文金額を、目標売却金額に加算して、目標売却金額を再計算し、ステップ813へ進む。
次に、ステップ809以降の投資信託の注文作成について述べる。
ステップ810では、売却金額が残高情報(銘柄)の約定ベース(時価)2603に占める割合(売却金額÷残高情報(銘柄)の約定ベース(時価)2603×100)を計算する。計算された割合が、自動作成補助情報3000の指示内容3002で定義される投資信託口数切替比率以上の場合、ステップ812へ進む。一方、計算された割合が投資信託口数切替比率未満の場合は、ステップ811へ進む。
ステップ811では、目標売却金額分、金額指定で投資信託の売却注文を注文情報(投資信託)3200に作成する。その後、目標売却金額から概算注文金額を減算して、目標売却金額を再計算する(ただし、金額指定なのでここは通常は0になる)。
ステップ812では、計算した割合に従った口数「残高情報(銘柄)の約定ベース(数量)2605×(ステップ810の割合と100を比べて小さい方)×100」分の売却注文を注文情報(投資信託)3200に作成する。その後、目標売却金額から概算注文金額を減算して、目標売却金額を再計算する。
ステップ813では、税・手数料を計算して、注文情報(株式・REIT・ETF)3100または、注文情報(投資信託)3200に作成された注文のデータに記録する。譲渡益税は、利益が出ている場合(売却銘柄の数量×(平均取得単価2607−銘柄情報2700の直近時価評価額2706)>0)に税率情報2900の税率を乗じる。手数料は、売却対象の銘柄の種別、概算注文金額等から適切なものを手数料情報2800より取得する。データ814は、目標売却金額を記憶する(今回の処理で売却注文を作成しきれなかった金額)。これらの処理が終了後、図7の(1)−2Eに戻る。
図9は、本発明の一実施の形態に係るポートフォリオ最適化注文発注システムのうち、初回注文情報作成部102の買注文自動作成部の第一の処理(買付方式の決定(詳細ポートフォリオ内での銘柄入れ替え判定))900を示すフローチャートである。ここでは、詳細ID単位の目標買付金額を受け取った状態から処理がスタートする。
ループ処理901は、残高情報(銘柄)2600の銘柄ID単位でループ処理を行い、ループ処理902は、その銘柄IDに一致するポートフォリオ情報(詳細)2200の割当銘柄IDのループ処理を行う。
ステップ903において、残高情報(銘柄)2600とポートフォリオ情報(詳細)2200の銘柄IDが一致するものを調査する。一致する場合は、余剰に保有しているかどうか調べるためにステップ904に進む。一致しない場合は、該当銘柄の残高を全て売却するためにステップ905に進む。
ステップ904では、まず銘柄IDで注文情報(株式・REIT・ETF)3100と注文情報(投資信託)3200を問い合わせ、注文が存在し、状態が発注後(注文中・約定済)あるいは取消かどうかを調べる。未発注の場合、売却可能な余剰保有「約定ベース(時価)2603−(ポートフォリオ情報(全体目標)の詳細ID単位の割当金額(税・手数料調整)または、左記が未計算の場合は割当金額2307×詳細割当比率2205÷100)>自動作成補助情報3000の指示内容3002で定義される最低取引金額」を計算する。この条件を満たす場合は、売却可能な残高であるため、計算式の左辺を銘柄単位の目標売却金額として売注文自動作成部の第三の処理(注文作成)800を行う(図8の(1)−2Sへ進む)。いずれにも該当しない場合(状態が発注済または取消または売却可能な残高なし)、該当銘柄IDについては処理を行わず、ループ処理901において次の銘柄IDの処理を行う。なお、図8の処理が終了した場合(図8の(1)−2Eから戻ってきた時)も、ループ処理901において次の銘柄IDの処理を行う。
ステップ905に進んだ場合、保有銘柄が組入れ不要なので、全てを売却する。「全て売却」指定とする注文作成は、一般的かつ単純な方法で自動作成できるため省略する。また、ステップ906においては、図6のステップ605と同様の処理を行う。既に図6のステップ605で説明済のため、説明を省略する。
ステップ907では、目標買付金額を再計算する。ステップ906までに売却注文を作成済の場合、「目標買付金額=目標買付金額+売注文の概算注文金額(仮作成、未発注、注文中、約定済を含む。取消を除く)」を計算する。終了後、買注文作成を継続する(図10の(2)−1Sに進む)。
図10は、本発明の一実施の形態に係るポートフォリオ最適化注文発注システムのうち、初回注文情報作成部102の買注文自動作成部の第二の処理(買付方式の決定(詳細での売買判定/注文作成判定))1000を示すフローチャートである。当処理全体としては、注文未作成、状態が仮作成または未発注の銘柄について、買注文の作成(再作成)を行うか判断する。なお、ここでは、再計算後の目標買付金額を受け取った状態で処理をスタートする。
ループ処理1001及びループ処理1002では、ポートフォリオ情報(詳細)2200と、作成済みの注文情報(株式・REIT・ETF)3100または注文情報(投資信託)3200で一致する銘柄IDを見つけるために繰り返し処理を行う。ループ処理の中で、ステップ1003において、注文作成済みのものがあるかどうかを確認する。
そして、ステップ1004では、「作成済の注文が存在しない」か、あるいは「作成済の注文が存在した場合でも未発注または仮作成」であれば、注文作成(注文再作成)可能なので、買注文自動作成処理を実行する(図11の(2)−2Sへ進む)。既に注文中あるいは約定済の場合は、あらためて注文を再作成せず、ループ処理1001を引き続き実行し、次の銘柄IDの処理を行う。なお、図11の処理が終了した場合(図11の(2)−2Eから戻ってきた時)も、ループ処理1001において次の銘柄IDの処理を行う。
以上の処理が終了後、図9の(2)−1Eに戻り、その後、図5の(2)Eに戻る。
図11は、本発明の一実施の形態に係るポートフォリオ最適化注文発注システムのうち、初回注文情報作成部102の買注文自動作成部の第三の処理(銘柄単位の目標買付金額決定)1100を示すフローチャートである。ここでは銘柄単位の買付金額に係る調整を行う。
データ1101は、直前の買付処理による過不足情報を表している。初回は0であり、過剰に買い付けた場合は−値、買付金額が不足している場合は+値である。以下では、この過不足情報を「目標買付金額(残)」と表記する。
ステップ1102において、銘柄単位の目標買付金額を以下の計算式で計算する。
銘柄単位の目標買付金額 = (ポートフォリオ情報(全体目標)2300の割当額(再計算後) × ポートフォリオ情報(詳細)2200の詳細割当比率) + 目標買付金額(残)
ループ処理1103は、買付対象の銘柄IDが残高情報(銘柄)2600に含まれるかどうか検索する。ステップ1104において、買付対象の銘柄IDが残高情報(銘柄)2600と一致した場合、買付前に既にその銘柄を保有済みのため、ステップ1105に進む。
ステップ1105では、保有銘柄分を考慮して銘柄単位の目標買付金額の調整を行う。ここでは、「銘柄単位の目標買付金額 = 銘柄単位の目標買付金額 − 残高情報(銘柄)の約定ベース(時価)」として、銘柄単位の目標買付金額を再計算する。
ステップ1106では、銘柄単位の目標買付金額(調整後)が自動作成補助情報3000の指示内容3002に定義される最低取引金額を超えているかどうかを判定する。超えている場合は目標買付金額(調整後)をもとに買注文自動作成部の第四の処理(注文作成)1200を行う(図12の(2)−3Sに進む)。超えていない場合は、金額過少であり、手数料の関係から投資家が不利になる可能性がある。したがって、データ1107として、銘柄単位の目標買付金額(調整後)を買付金額(過不足)に記憶する。そして、注文作成は行わない(以降の処理でデータ1101として利用される)。なお、この処理後は、図10の(2)−2Eに戻る。なお、図12の処理が終了した場合(図12の(2)−3Eから戻ってきた時)も、図10の(2)−2Eに戻る。
図12は、本発明の一実施の形態に係るポートフォリオ最適化注文発注システムのうち、初回注文情報作成部102の買注文自動作成部の第四の処理(注文作成)1200を示すフローチャートである。本処理では、詳細ID単位の目標買付金額を受け取り、株式(REIT・ETFを含む)と投資信託の商品特性に応じた買注文を作成する。
ステップ1201では、詳細IDをもとにポートフォリオ情報(詳細)2200から、情報を取得する。資産種別2202が、株式(REIT・ETF)の場合はステップ1202へ進み、投資信託の場合はステップ1210へ進む。
まず、ステップ1202以降の株式(REIT・ETF)の注文作成について述べる。
ステップ1203では、銘柄情報2700の直近取引結果2707を取得する。直近取引結果が値上がり傾向(+数値)の場合、(注文単価=直近取引金額2706+呼値単位での補正(呼値×(直近取引結果×自動注文作成情報3200の指示内容3202で定義される株価上昇時指値上乗せ率×100)÷呼値(小数点切捨)))として計算する。つまり、直前の場が値上がり傾向の場合は、注文作成時の指値部分は株価上昇時上乗せ率に従った金額を上乗せした金額で発注を試みる。
ステップ1204では、ステップ1203で計算した注文単価と、銘柄情報2700からデータを取得する。そして、買付可能な単元数「銘柄単位の目標買付金額÷(単元2705×注文単価)」を計算して、単元単位で購入可能かを判定する。計算された値が1以上の場合、単元での売買が可能なため、ステップ1205へ進む。一方、計算された値が1未満の場合、単元未満株として買付するためステップ1207へ進む。
ステップ1205では、ステップ1203の注文単価とステップ1204で計算した買付可能な単元数分の買付注文を、注文情報(株式・REIT・ETF)3100に作成する。単元での買付注文は、取引種別3104を「不成り」あるいは指し成りとし、指値3105を注文単価とし、概算注文金額3107を注文単価×買付可能な単元数とする。その後、目標買付金額から概算注文金額3107を減算して、目標買付金額を再計算する。なお、注文種別を「不成り」として作成するのは、ポートフォリオの構成比率を可能な狙った値に近づけるためには金額指定が有効なためである。一方で、指値では約定できない可能性も十分にある。この場合はポートフォリオの成立時期を後ろ延ばしにしてしまう可能性が生じるため、引けでは「成行き」とする。
ステップ1206では、再計算した目標買付金額が、自動作成補助情報3000の指示内容3002に定義される最低取引金額を超えているかどうかを判定する。再計算した目標買付金額が最低取引金額より小さければ、十分な金額分を作成したと判断し、ステップ1212へ進む。再計算した目標買付金額が最低取引金額より大きければ、まだ売却可能と判断して、ステップ1207へ進む。
ステップ1207では、単元未満株で買付注文を作成する。買付目標の範囲「目標買付金額÷直近時価評価額2706」の株数を「成行き」で注文情報(株式・REIT・ETF)3100に買付注文として作成する。その後、現在の直近時価評価額2706で概算注文金額3107を計算し、その概算注文金額3107を目標買付金額から減算して、目標買付金額を再計算する。
ステップ1208では、単元未満株で作成した注文の概算注文金額が自動作成補助情報3000の指示内容3002に定義される最低取引金額を超えているかどうかを判定する。単元未満株で作成した注文の概算注文金額が最低取引金額よりも小さければ、少額すぎるため手数料等を考えると投資家に不利な注文と判断して、ステップ1209へ進む。一方、最低取引金額より大きければ、注文は有効と判断して、ステップ1212へ進む。
ステップ1209では、単元未満株の注文を破棄し、破棄した分の概算注文金額を、目標買付金額に加算して、目標買付金額を再計算する。その後、ステップ1212へ進む。
次に、ステップ1210以降の投資信託の注文作成について述べる。
ステップ1211では、目標買付金額分、金額指定で投資信託の買付注文を注文情報(投資信託)3200に作成する。その後、目標買付金額から概算注文金額を減算して、目標売却金額を再計算する(ただし、金額指定なのでここは通常は0になる)。
ステップ1212では、税・手数料を計算して、注文情報(株式・REIT・ETF)3100または、注文情報(投資信託)3200に作成された注文に記録する。手数料は、買付対象の銘柄の種別、概算注文金額等から適切なもの手数料情報2800より取得する。なお、その後、データ1213として、目標買付金額を記憶する(今回の処理で買付注文を作成しきれなかった金額)。なお、この処理後は、図11の(2)−3Eに戻る。
図13は、本発明の一実施の形態に係るポートフォリオ最適化注文発注システムのうち、売注文発注部103の処理を示すフローチャートである。本処理では、自動作成補助情報3000で指示されている発注時刻に、市場に対して売却注文を発注する。なお、金融商品の市場に対する発注方法については、一般化されており、それらの金融商品取引の仕組みを利用するものとする。また、資金調達が円滑に行うため、本処理は買付注文の発注よりも以前に行われる。
ループ処理1301は、取得した未発注の売り注文の件数分だけ繰り返し実行する。ステップ1302では、自動作成補助情報3000の指示内容3002に定義される前場取引開始(経過時間)あるいは、後場取引開始(経過時間)が経過しているか判断する。一定時刻が過ぎていればステップ1303に進む。過ぎていない場合、時刻到来を待つ。
ステップ1303では、注文情報(株式・REIT・ETF)3100または、注文情報(投資信託)3200のうち、未発注の注文を取得する。
ループ処理1304では、ステップ1303で取得した未発注の注文分だけ繰り返し実行する。ステップ1305では、取得した未発注の注文を市場に対して発注する。発注には一般的な金融商品取引の仕組みを利用する。前場あるいは後場で、自動作成補助情報3000によって一定時間発注を保留するのは、板寄せによる予想外の価格の変動(GU:ギャップアップ、GD:ギャップダウンなど)によって約定結果が想定価額から大きく振れるのを防ぐために設けた仕組みである。0分が指定されていれば、場の開始に合わせて発注する。特に指定がない場合は、本実施例で標準的に設定した時間を自動採用して発注する。
図14は、本発明の一実施の形態に係るポートフォリオ最適化注文発注システムのうち、買注文再計算部104の処理を示すフローチャートである。本処理は、先行して発注した売却注文が実際に約定した金額に基づいて、概算で計画していた買付注文を補正することを目的としている。
ステップ1401では、市場からの約定結果を受信する。約定結果の受信については、一般的な金融取引の方法を利用する。約定で管理するデータについても、約定情報(株式・REIT・ETF)3400、約定情報(投資信託)3500のように一般的な項目とする。取得した約定情報を残高情報(全体)2500と残高情報(銘柄)2600に反映させる。残高情報(銘柄)2600については、約定金額を約定ベース(時価)2602、約定株数3406(株式・REIT・ETFの場合)あるいは約定口数3507(投資信託)を約定ベース(数量)2606にそれぞれ加算する。平均取得単価2607は、約定ベースで計算するが、既に保有していた場合も考慮して、平均取得単価 = (約定金額+(更新前の)平均取得単価2607×(更新前の)約定ベース(数量)2606)÷(約定株数あるいは約定口数+(更新前の)約定ベース(数量)2606)で算出する。
残高情報(全体)2500については、株式・REIT・ETFあるいは投資信託ともに更新の仕組みは同様である。約定データの約定日、受渡日に着目する。例えば、買の約定データの場合、約定日と日付2501が一致する場合、同一日付以降の全ての日付に対して、銘柄の残高である約定ベース(価額)2503を加算し、購入金額に相当する約定ベース(資金)2506を減算する(銘柄を加算、資金を減算)。
また、約定までの間、資金ショートを発生させないように拘束しておく「税・手数料・拘束額2507」は、発注日以降の全ての日付から、「約定の元になった注文(注文ID一致)」の源泉徴収税、手数料、拘束額(単元数×ストップ高の金額)を減算した後、約定データの源泉徴収税、手数料を加算する。拘束額は資金ショートを発生させないように事前にストップ高を想定して拘束しており、約定後は前手順で約定金額が約定ベース(資金)2506が減算されているため拘束を解除する。
(1)ある日付で購入可能な資金 = 約定ベース(資金) − 税・手数料・拘束額
(2)購入時は、拘束額をストップ額で計算する。(想定できる最大の金額)
(3)約定時は、約定ベース(資金)から約定金額を減算し、拘束額を0にする。
仕組み上、約定ベース(資金)は負の値にならない。
なお、受渡金額についても、同様に制御(上記説明の「約定」を「受渡」に置き換えただけ)するため省略する。
例えば売りの約定データの場合、約定日と日付2501が一致する場合、同一日付以降の全ての日付に対して、銘柄の残高である約定ベース(価額)2503を減算し、購入金額に相当する約定ベース(資金)2506を加算する(銘柄を減算、資金を加算)。
ステップ1402は、今回の運用指図全体が注文仮作成時点で売りのみかどうか確認する。ポートフォリオの大幅な変更が生じず、単に減資だけ行う場合などにあり得る。注文情報(株式・REIT・ETF)3100あるいは注文情報(投資信託)3200に買注文が作成されていなければ、買注文再計算を行わずに終了する。買注文が作成されている場合、ステップ1403へ進む。
ステップ1403では、買注文再計算時点で、売に分類される注文の「概算注文金額+譲渡益税+手数料」と実際の約定の「約定金額+譲渡益税+手数料」について、それぞれ注文IDが一致するものを対象として差分の合計を計算して「売り評価」を求める。売り評価>0であれば、実際の約定金額が概算値を上回っていることになり、資金不足が予測される(すなわち、予定より安く売れた状態)。
ステップ1404では、買注文再計算時点で、買に分類される注文の「概算注文金額+譲渡益税+手数料」と実際の約定の「約定金額+譲渡益税+手数料」について、それぞれ注文IDが一致するものを対象として差分の合計を計算して「買い評価」を求める。買い評価>0であれば、実際の約定金額が概算値を上回っていることになり、資金不足が予測される(すなわち、予定より高く購入した状態)。
ステップ1405では、求めた「売り評価」、「買い評価」をもとに過不足がないか確認する。当初予定金額と比べて不足なし(買い評価−売り評価≧0)ならば、予定通り進めても特に問題はないため、ループ処理1407へ進む。当初予定金額と比べて不足あり(買い評価−売り評価<0)ならば、ステップ1406へ進む。
ステップ1406では、完成予定のポートフォリオ自体の金額を再計算しなおす。ここでは、不足分を考慮した割当価額を計算しなおす。全体の割当価額=Σ(割当価額(税・手数料調整)2306)−前処理までの不足分(買い評価−売り評価)を計算し、各詳細IDに対して、全体の割当価額×割当比率2309を更新する。
ループ処理1407では、詳細ID単位の買注文再計算を行う。
ステップ1408では、「詳細ID単位の割当価額(税・手数料調整)2306−Σ(詳細ID単位に紐づく銘柄の約定ベース(時価)2603)」を目標買付金額として計算する。その後、この目標買付金額として買い注文を作成するために、図9の(2)Sへ進む。図9の処理が終了した後(図9の(2)Eから戻った時)、ステップ1409へ進む。
ステップ1409では、再計算結果の買注文は発注対象になるため、注文としての確定ステータスである「未発注」として注文情報(株式・REIT・ETF)3100または、注文情報(投資信託)3200に登録する。そして、ループ処理1407の終了条件に従って処理を終了する。
図15は、本発明の一実施の形態に係るポートフォリオ最適化注文発注システムのうち、買注文発注部105の第一の処理(全体概要)1500を示すフローチャートである。本処理では、自動作成補助情報3000で指示されている発注時刻に、市場に対して買付注文を発注する。なお、金融商品の市場に対する発注方法については、一般化されており、それらの金融商品取引の仕組みを利用するものとする。また、売約定金額を当てにした発注を行うため、売り注文発注の後続の処理として行われ、発注するために十分な金額があるか、都度判定を行う。
ループ処理1501は、ザラ場中は、一定時間おきに引けまで繰り返す処理を実行する。ステップ1502では、自動作成補助情報3000の指示内容3002に定義される前場取引開始(経過時間)あるいは、後場取引開始(経過時間)が経過しているか判断し、一定時刻が過ぎていれば、ステップ1503に進む。過ぎていない場合、時刻到来を待つ。
ステップ1503では、ステップ1401と同様の方法で約定情報を受信し、残高に反映させる。したがって、説明は省略する。
ステップ1504では、注文情報(株式・REIT・ETF)3100に未発注の注文があるかどうかを確認し、存在する場合は、図16の(3)Sへ進む。存在しない場合は、ループ処理1505へ進む。すなわち、本実施例では、ポートフォリオ完成速度を考慮し、ザラ場中に約定する株式注文の発注を、投資信託の発注より優先する。
ループ処理1505では、未発注の投資信託の注文について繰り返し実行する。ステップでは、投資信託の注文を発注するだけの十分な残高があるかチェックする。銘柄情報2700の約定日2709、受渡日2710から、当日を発注日とした場合の約定日と受渡日を算出する。左記の約定日と残高情報(全体)2500の日付2501が一致するデータについて「一致する日付以降の「約定ベース(資金)2505」の最小値−最低維持現金>処理中の注文の概算注文金額3207」であれば、約定ベースの資金を十分とする。同様に、左記の受渡日と残高情報(全体)2500の日付2501が一致するデータについて「一致する日付以降の「受渡ベース(資金)2505」の最小値−最低維持現金>処理中の注文の概算注文金額3207」であれば、受渡ベースの資金を十分とする。いずれの資金も十分な場合、ステップ1507へ進む。不足する場合は、次の注文の判定に移る。
ステップ1507では、資金が十分とされた投資信託の注文を市場に発注する。発注する際に、前の処理で求めた約定日が、残高情報(全体)2500の日付2501が一致する日付以降のデータについて、税・手数料・拘束金に概算注文金額3207を加算する。上記までの処理を繰り返し、引け時間が来た時点で処理を終了する。
図16は、本発明の一実施の形態に係るポートフォリオ最適化注文発注システムのうち、買注文発注部105の第二の処理(株式・REIT・ETF 発注)1600を示すフローチャートである。なお、この処理は、最低維持現金(Σ(ポートフォリオ情報(全体目標)の割当価額(税・手数料調整))2308×(自動作成補助情報3000の最低維持現金率))を計算後に行う。本処理では、未発注注文のうち、株式・REIT・ETFについて、資金が十分な場合は発注を行う。なお、金融商品の市場に対する発注方法については、一般化されており、それらの金融商品取引の仕組みを利用するものとする。また、ポートフォリオを素早く構築するためにザラ場中に約定する単元株を優先して発注する。単元未満株は場の終了後に約定となることを想定し、後回しにする。
ステップ1601では、株式・REIT・ETFについての未発注の注文を注文情報(株式・REIT・ETF)3100から取得する。ステップ1602では、未発注の単元での注文が残っているか調査し、存在する場合は、単元株に対して発注を行うためのループ処理1603へ進む。一方、存在しない場合は単元未満株について発注を行うためのループ処理1607へ進む。
ループ処理1603では、未発注の注文数分だけ繰り返し処理を実行する。
ステップ1604では、未発注注文が単元単位の注文かどうかチェックし、単元の場合はステップ1605へ進む。単元未満株の場合は対象とせず、処理をスキップする。
ステップ1605では、単元での注文が発注可能な金額かどうかチェックし、十分な金額がある場合は発注する。銘柄情報2700の約定日2709、受渡日2710から、当日を発注日とした場合の約定日と受渡日を算出する。左記の約定日と残高情報(全体)2500の日付2501が一致するデータについて「一致する日付以降の「約定ベース(資金)2505」の最小値−最低維持現金>処理中の注文のストップ高の注文金額(株数3106×S高2711)」であれば、約定ベースの資金を十分とする。同様に、左記の受渡日と残高情報(全体)2500の日付2501が一致するデータについて「一致する日付以降の「受渡ベース(資金)2505」の最小値−最低維持現金>処理中の注文のストップ高の注文金額(株数3106×S高2711)」であれば、受渡ベースの資金を十分とする。いずれの資金も十分な場合、ステップ1606へ進む。一方、不足する場合は次の注文の判定に移る。
ステップ1606では、資金が十分とされた株・REIT・ETFの注文を市場に発注する。発注する際に、前の処理で求めた約定日が、残高情報(全体)2500の日付2501が一致する日付以降のデータについて、税・手数料・拘束金にストップ高の注文金額(株数3106×S高2711)を加算する。ループ処理1603の処理が終了した後は、図15の(3)Eに戻る。
ループ処理1607では、未発注の注文数分だけ繰り返し処理を実行する。ここでは、単元未満株での発注を行うための処理を記載する。ステップ1608は、ステップ1605と同様の処理を行う。株数3106が単元単位ではないだけで、同様の処理である。また、ステップ1609は、ステップ1606と同様の処理を行う。ループ処理1607の処理が終了した後は、図15の(3)Eに戻る。
図17は、本発明の一実施の形態に係るポートフォリオ最適化注文発注システムのうち、ポートフォリオ完成判定部106の第一の処理(全体概要)1700を示すフローチャートである。本処理は、ポートフォリオ最適化注文発注システムを通じて注文自動作成・発注を行った結果、ポートフォリオが完成できたかどうか判定するために行う。
ステップ1701では、ステップ1401と同様の方法で約定情報を受信し、残高に反映させる。また、ステップ1702では、作成した売注文が全約定しているかどうか判定し、「約定しているか、または最初から存在しない」場合は、ステップ1703へ進む。一方、未約定がある場合は、注文作成処理続行のためにステップ1708へ進む。売注文が全て約定済にならないうちは、買注文に当てられる資金が確保できる可能性があるため、買注文の取消判定はせずに続行する。
ステップ1703では、作成した買注文が全約定しているか判定し、「全約定しているか、または最初から存在しない」場合、全注文が約定済なのでポートフォリオ完成を示すステップ1704へ進む。一方、未約定の注文が存在する場合、未発注の判定を行うためのステップ1705へ移る。
ステップ1704では、全注文が約定した場合に到達するため、運用指図1900の状況1907を完了、および運用中ポートフォリオ2000のステータス2008を運用中の状態に更新し、処理を終了する。
ステップ1705では、買注文に未発注があるかどうか判定し、未発注がある場合は、図18の4(S)へ進む。一方、未発注がない場合は、ポートフォリオ構築を続行するためにステップ1708へ進む。なお、図18の処理が終了した後(図18の(4)Eから戻った時)、ステップ1706へ進む。
ステップ1706では、未発注の買注文の取消後、取消以外が全て約定済かを判定し、約定した場合は条件つきでポートフォリオを完成するためのステップ1707へ進む。一方、未約定の場合は、ポートフォリオ構築を続行するためのステップ1708へ進む。
ステップ1707は、取消が存在した場合、取消した注文に対して警告情報3300を出力後、運用指図1900の状況1907を完了、および運用中ポートフォリオ2000のステータス2008を運用中の状態に更新し、処理を終了する。
ステップ1708では、自動注文作成・発注を継続するために通過する。取消が存在した場合、取消した注文に対して警告情報3300を出力後、本発明の一実施の形態に係るポートフォリオ最適化注文発注システムのうち、買注文再計算部の処理1400に進む。
図18は、本発明の一実施の形態に係るポートフォリオ最適化注文発注システムのうち、ポートフォリオ完成判定部106の第二の処理(発注不可注文取消)1800を示すフローチャートである。本処理は、未発注の買注文がある場合、売注文の約定結果や、他の買注文の約定金額次第で購入できない場合が生じる。その場合にポートフォリオ最適化のための自動注文作成・発注を強制終了させるための仕組みである。この処理は、最低維持現金(Σ(ポートフォリオ情報(全体目標)の割当価額(税・手数料調整))2308×(自動作成補助情報3000の最低維持現金率))を計算後に行う。
ステップ1801では、日付2501が当日以降の約定ベース(資金)2505、あるいは受渡ベース(2506)について、それぞれ最小値(買注文に利用可能な最小資金)を計算する。
ステップ1802では、ステップ1801で計算した金額が自動作成補助情報3000の指示内容3002で定義された最低維持現金未満かどうかを判定する。最低維持現金を下回っている場合は、発注が完全にできないため、ステップ1803へ進む。ステップ1803では、未発注注文を全て取り消す。一方、最低金額未満以外の場合は、ループ処理1804へ進む。
ループ処理1804は、未発注注文1件ずつについて先々発注可能かチェックする。ステップ1805では、未発注の注文が株式・REIT・ETFか投資信託か判断し、株式・REIT・ETFならステップ1806へ進む。一方、投資信託の場合、金額指定ならば注文可能なのは明白のため、次の未発注注文をチェックする。
ステップ1806では、銘柄情報2700が未発注注文の銘柄から、注文可能な最低金額(Σ(1単元×直近時価評価額2706)>最低維持現金)を計算する。「注文可能な最低金額<ステップ1801で計算した金額」かつ「注文可能な最低金額>最低維持現金」ならば、先々注文できる可能性があるため、次の未発注注文をチェックする。左記以外の場合は、ステップ1807へ進む。次に、ステップ1807では、発注不可と判断された未発注注文を取り消す。ループ処理1804が終了した後は、図17の(4)Eへ戻る。
以上のように、本実施例のポートフォリオ最適化発注システムによれば、株式・REIT・ETF、投資信託ならびに現金から成るポートフォリオの割合があらかじめ定められた状態で、運用中のポートフォリオあるいは現金から、目標とすべきポートフォリオと現在の資産との差分を計算し、目標とすべきポートフォリオを形成するための金融商品の注文を自動的に作成する。
この構成によれば、端末からポートフォリオの運用方法が指図されれば、自動的に注文を作成・発注し、指示したポートフォリオに近い状態で運用可能となる。従って、投資家にとっては、ポートフォリオを構成する銘柄が多数になった場合でも手動で多数の注文を作るまでもなく、運用方法を決めるだけでポートフォリオを構築可能になる。また、投資経験に拠らず、狙ったポートフォリオの構成比率に近い状態で、速やかに運用することができる。これによって、投資家は最適なポートフォリオの選択に注力することができ、ポートフォリオを形成するために、多数の銘柄で、それぞれの商品によって異なる税・手数料に気遣いながら注文を作る必要がなくなる。
また、本実施例のポートフォリオ最適化発注システムによれば、投資する金額とあらかじめ設定した希望するポートフォリオを指定されると、ポートフォリオに現金を含めて計算しつつ、指定された金額内で手数料・概算の源泉徴収税、約定予定の金額を考慮する。この構成によれば、手数料や税金なども考慮しつつ、ポートフォリオを形成する過程の注文作成・発注時に資産がマイナスに陥らないように適切なコントロールが可能となる。
また、本実施例のポートフォリオ最適化発注システムによれば、売買注文を仮作成した後に売注文を発注し、その売注文の約定結果を取得し、買付に利用可能な金額(余力)を再計算し、適切な順番で発注する。この構成によれば、売注文の実際の約定結果を反映させて現在に利用可能な金額が正確に算出されるので、資金をショートさせることなく、適切な買注文を作成することができる。
また、本実施例のポートフォリオ最適化発注システムによれば、注文に関して約定ベース及び受渡ベースでの計算を行い、当日に受渡日を迎えない複数の金融商品の発注に関しても、将来的な資金の増減を考慮しつつ、注文を行うことができる。すなわち、注文が約定後で受渡日が来ていない状態でも、未来を予測した資産を再構成し、次の注文の発注までを自動的に行うことができる。
また、本実施例のポートフォリオ最適化発注システムによれば、株式・REIT・ETFについては単元、単元未満株を選択し、投資信託については金額指定、口数指定を場面に応じて選択することができる。これにより、狙ったポートフォリオの構成比率に近い状態で、速やかに運用することができる。
本発明は上記した実施形態に限定されるものではなく、様々な変形例が含まれる。上述では、株式・REIT・ETFや投資信託の金融商品について説明したが、先物・オプション取引など、その他の様々な金融商品を含めて運用することも可能である。
上記した実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、各実施形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
また、本分野にスキルのある者には、本発明を実施するのに相応しいハードウェア、ソフトウェア、およびファームウエアの多数の組み合わせがあることが解るであろう。例えば、本実施形態に記載の機能を実現するプログラムコードは、アセンブラ、C/C++、perl、Shell、PHP、Java(登録商標)等の広範囲のプログラムまたはスクリプト言語で実装できる。