(57)【要約】  約定情報取得部（４１）が、マッチング部（２２）から、約定ごとに売り指値と買い指値を取得し、不満関数作成部（４２）が、売り指値と次の株価の差分と、次の株価と買い指値の差分とに基づいて、不満関数を約定ごとに作成する。そして、総和関数作成部（４３）が、約定ごとの不満関数に基づいて全約定の不満総和関数を作成し、決定部（４４）が、不満総和関数に基づいて次の株価を決定する。そして、出力部（２４）が、銘柄ごとに約定情報を注文管理装置（１２）に内部ネットワーク（２）を介して送信する。
2020179073.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
約定ごとに売り指値と買い指値を取得し、
取得した売り指値と次の取引価格の差分と、該次の取引価格と取得した買い指値の差分とに基づいて、該次の取引価格を変数として投資家の不満を表す不満関数を約定ごとに作成し、
約定ごとに作成した不満関数に基づいて全約定の総不満関数を作成し、
作成した総不満関数の値に基づいて前記次の取引価格を決定する
処理を実行させることを特徴とする取引プログラム。
【請求項２】
前記不満関数は、取得した売り指値と次の取引価格の差分と、該次の取引価格と取得した買い指値の差分との和であることを特徴とする請求項１に記載の取引プログラム。
【請求項３】
前記不満関数は、取得した売り指値と次の取引価格の差分の二乗と、該次の取引価格と取得した買い指値の差分の二乗との和であることを特徴とする請求項１に記載の取引プログラム。
【請求項４】
前記総不満関数は、約定ごとに作成した不満関数の総和であることを特徴とする請求項１、２又は３に記載の取引プログラム。
【請求項５】
前記次の取引価格を決定する処理は、前記総不満関数の値を最小にする値を前記次の取引価格とすることを特徴とする請求項１に記載の取引プログラム。
【請求項６】
前記次の取引価格を決定する処理は、前記総不満関数の値を最小にする値を黄金分割探索を用いて特定することを特徴とする請求項５に記載の取引プログラム。
【請求項７】
コンピュータが、
約定ごとに売り指値と買い指値を取得し、
取得した売り指値と次の取引価格の差分と、該次の取引価格と取得した買い指値の差分とに基づいて、該次の取引価格を変数として投資家の不満を表す不満関数を約定ごとに作成し、
約定ごとに作成した不満関数に基づいて全約定の総不満関数を作成し、
作成した総不満関数の値に基づいて前記次の取引価格を決定する
処理を実行することを特徴とする取引方法。
【請求項８】
前記不満関数は、取得した売り指値と次の取引価格の差分の二乗と、該次の取引価格と取得した買い指値の差分の二乗との和であることを特徴とする請求項７に記載の取引方法。
【請求項９】
前記次の取引価格を決定する処理は、前記総不満関数の値を最小にする値を前記次の取引価格とすることを特徴とする請求項７又は８に記載の取引方法。
【請求項１０】
約定ごとに売り指値と買い指値を取得する取得部と、
前記取得部により取得された売り指値と次の取引価格の差分と、該次の取引価格と取得した買い指値の差分とに基づいて、該次の取引価格を変数として投資家の不満を表す不満関数を約定ごとに作成する第１作成部と、
前記第１作成部により約定ごとに作成された不満関数に基づいて全約定の総不満関数を作成する第２作成部と、
前記第２作成部により作成された総不満関数の値に基づいて前記次の取引価格を決定する決定部と
を有することを特徴とする取引装置。
【請求項１１】
前記第１作成部により作成される不満関数は、取得した売り指値と次の取引価格の差分の二乗と、該次の取引価格と取得した買い指値の差分の二乗との和であることを特徴とする請求項１０に記載の取引装置。
【請求項１２】
前記決定部は、前記総不満関数の値を最小にする値を前記次の取引価格とすることを特徴とする請求項１０又は１１に記載の取引装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、取引プログラム、取引方法及び取引装置に関する。
【背景技術】
【０００２】
株などの取引においては、板寄せとザラ場がある。板寄せとは、注文を受け付けてから売買開始までの注文をまとめ、売買を成立させて始値を決定する取引である。ザラ場とは、すでに発注されている注文と新たに発注された注文、あるいは、新たに発注された注文同士で売買を成立させる取引である。【０００３】
取引には、売り注文の売り指値及び売り注文数と買い注文の買い指値及び買い注文数を示す板情報が用いられる。図１４は、株取引における板情報の一例を示す図である。図１４において、中列は指値の価格、左列は価格に対応する売り注文の枚数、右列は価格に対応する買い注文の枚数を示す。ここで、１枚は単位株数である。例えば、１０２円を売り指値とする売り注文の枚数は４であり、１０２円を買い指値とする買い注文の枚数は３である。【０００４】
株取引の板寄せでは、約定装置は、売り注文の安い順、買い注文の高い順に順番に売り注文と買い注文を約定させる。そして、約定装置は、売り注文と買い注文が同一価格となったところで約定をやめ、この時の価格を現在値とする。そして、約定した全ての取引は全て現在値で行われる。【０００５】
図１５は、株取引の板寄せを説明するための図である。図１５に示すように、約定装置は、まず、９８円の売り４件と１０４円の買い４件を約定させる。次に、約定装置は、９９円の売り３件と１０２円の買い３件を約定させる。次に、約定装置は、９９円の売り２件と１０１円の買い２件を約定させる。そして、約定装置は、１００円の売り３件と１００円の買い３件を約定させ、約定を終了する。この場合、約定装置は、合計で１２件を１００円で約定させ、現在値を１００円とする。【０００６】
なお、従来技術として、取引の双方における関係者のために取引価格を最適化する方法で連結取引を行うシステムがある。ここで、連結取引とは、個々の同時取引においてコンピュータ化された複数の有価証券取引である。このシステムは、連結取引ワークステーションと、複数の取引者ワークステーションと、中央制御エンジンとを備える。【０００７】
連結取引者は、連結取引ワークステーションを用いて、取引の全費用に基づいて同時に複数の有価証券を取引する満足度を定義する満足密度プロファイルを入力する。個々の有価証券取引者は、取引者ワークステーションを用いて、価格／量の関数として特定の有価証券を取引する満足度を示す満足密度プロファイルを入力する。【０００８】
中央制御エンジンは、取引者の入力に基づいて個々の有価証券の各々に対する満足密度関数を決定し、個々の満足密度関数から全ての有価証券に対する合同満足関数を決定する。そして、中央制御エンジンは、連結満足関数と、連結取引者によって入力された満足密度プロファイルとから相互満足関数を決定し、相互満足関数を最大化して、個々の有価証券の各々を取引する１組の価格、量と当事者を確定する。中央制御エンジンは、さらに、識別された当事者の間で確定された価格と量で複数の有価証券の取引を同時に実行する。【０００９】
また、従来技術として、商品のスポット市場において、利益の期待値を最大化する最適な入札価格の設定を支援するシステムがある。このシステムでは、過去時系列データ取得部が、スポット市場で過去に約定されたスポット価格過去時系列データを取得する。また、利益算出用データ取得部が、利益指標の期待値を算出するための利益算出用データとして、生産コストデータ又は小売価格データを取得する。【００１０】
そして、時系列分析部が、スポット価格過去時系列データを分析することによって、過去のスポット価格の１期先予測値の時系列（予測価格時系列）と、１期先予測値と１期先実績値との予測誤差の標準偏差又は分散の時系列を生成する。そして、入札価格最適化部が、予測価格時系列と、予測誤差の標準偏差又は分散の時系列、及び、生産コストデータ又は小売価格データを用いて、売り取引及び買い取引に対して予め設定された利益指標の期待値が最大になる最適な入札価格を算出する。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特表２００１−５２２４８７号公報
【特許文献２】特開２００７−１２２５９２号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
図１５に示した板寄せには、現在値より高い売り注文と、現在値より安い買い注文と、現在値の売り注文又は現在値の買い注文のいずれかとが決済されずに保留になるため、保留分は板に残ってしまい、約定数が少ない。そこで、現在値にはとらわれず、指値より投資家にとって有利な価格であれば約定させることで約定数を増やすことが考えられる。ここで、有利な価格とは、売り注文なら指値より高い価格であり、買い注文なら指値より安い価格である。しかしながら、現在値にはとらわれず、指値より投資家にとって有利な価格であれば約定させると、約定ごとに約定価格が異なり、次の株価をどのように決定するかが問題となる。【００１３】
本発明は、１つの側面では、板寄せにおいて複数の約定価格がある場合に次の株価を決定することを目的とする。
【課題を解決するための手段】
【００１４】
１つの態様では、取引プログラムは、コンピュータに、約定ごとに売り指値と買い指値を取得する処理を実行させる。そして、取引プログラムは、コンピュータに、取得した売り指値と次の取引価格の差分と、該次の取引価格と取得した買い指値の差分とに基づいて、該次の取引価格を変数として投資家の不満を表す不満関数を約定ごとに作成する処理を実行させる。そして、取引プログラムは、コンピュータに、約定ごとに作成した不満関数に基づいて全約定の総不満関数を作成させる。そして、取引プログラムは、コンピュータに、作成した総不満関数の値に基づいて次の取引価格を決定する処理を実行させる。
【発明の効果】
【００１５】
本発明は、１つの側面では、板寄せにおいて複数の約定価格がある場合に次の株価を決定することができる。
【図面の簡単な説明】
【００１６】
【図１】図１は、実施例に係る約定装置による板寄せの例を示す図である。
【図２】図２は、投資家の不満の定義を説明するための図である。
【図３】図３は、活性化関数Ａ(ｄ)の例を示す図である。
【図４】図４は、不満関数ＤＣ(ｑ)の例を示す図である。
【図５】図５は、不満総和関数の例を示す図である。
【図６】図６は、実施例に係る取引システムの構成を示す図である。
【図７Ａ】図７Ａは、ネットワークフローの最大フロー問題を説明するための図である。
【図７Ｂ】図７Ｂは、板のネットワークフローとしての定式化を説明するための図である。
【図７Ｃ】図７Ｃは、図７Ｂに示したネットワークフローの最大フローを示す図である。
【図８】図８は、約定装置による処理のフローを示すフローチャートである。
【図９】図９は、マッチング部による処理のフローを示すフローチャートである。
【図１０】図１０は、次価格決定部による処理のフローを示すフローチャートである。
【図１１】図１１は、黄金分割探索を用いて次の株価を特定する処理のフローを示すフローチャートである。
【図１２】図１２は、ＤＳ(ｑ)の値を計算する処理のフローを示すフローチャートである。
【図１３】図１３は、実施例に係る約定プログラムを実行するコンピュータのハードウェア構成を示す図である。
【図１４】図１４は、株取引における板情報の一例を示す図である。
【図１５】図１５は、株取引の板寄せを説明するための図である。
【発明を実施するための形態】
【００１７】
以下に、本願の開示する取引プログラム、取引方法及び取引装置の実施例を図面に基づいて詳細に説明する。なお、実施例は開示の技術を限定するものではない。
【実施例】
【００１８】
まず、実施例に係る約定装置による板寄せ方式について説明する。実施例に係る約定装置は、現在値にとらわれず、指値又は指値より投資家にとって有利な価格であれば約定させる。【００１９】
図１は、実施例に係る約定装置による板寄せの例を示す図である。図１に示すように、実施例に係る約定装置は、９８円売りの４件と９８円買いの４件、９９円売りの５件と１００円買いの５件、１００円売りの３件と１０２円買いの３件、１０３円売りの３件と１０４円買いの３件の合計１５件を約定させる。図１５に示した場合と比較して、実施例に係る約定装置による板寄せ方式では、約定数が３件増える。【００２０】
このように、実施例に係る約定装置による板寄せでは、どの売り注文とどの買い注文を約定させるかに自由度ができるため、約定数の最大化や約定値段差の最小化などの約定方式の選択が可能になる。また、実施例に係る約定装置による板寄せでは、約定価格は、次の株価をｑ円とすると売り手と買い手の指値の区間のうち、ｑ円に近い値段とする。【００２１】
また、実施例に係る約定装置は、投資家の不満を次の株価を用いて定量化し、次の価格を投資家の不満を最小にする価格に決定する。図２は、投資家の不満の定義を説明するための図である。図２では、９７円の売りと１０３円の買いが約定する。【００２２】
ｑ＜９７の場合、約定価格は９７円である。この場合、売り手には、指値以上で売れたので、不満はない。一方、買い手には、９７円で買ったのに次の株価ｑ円がより安いので、不満がある。差分（９７−ｑ）が大きいほど買い手の不満は大きい。例えば、差分2を不満関数ＤＣ（ｑ）の定義とすると、ｑ＝９４の場合、ＤＣ(９４)＝(９７−９４)2＝９が買い手の不満となる。【００２３】
９７≦ｑ≦１０３の場合、約定価格と次の株価が等しいので、売り手にも買い手にも不満はない。【００２４】
１０３＜ｑの場合、約定価格は１０３円である。この場合、売り手には、１０３円で売ったのに次の株価ｑ円がより高いので、不満がある。差分（ｑ−１０３）が大きいほど売り手の不満は大きい。一方、買い手には、指値以下で買えたので、不満はない。例えば、差分2を不満関数ＤＣ(ｑ)の定義とすると、ｑ＝１０７の場合、ＤＣ(１０７)＝(１０７−１０３)2＝１６が売り手の不満となる。【００２５】
そこで、実施例に係る約定装置は、差分ｄに応じた不満を返すための関数である活性化関数Ａ(ｄ)、売り指値ｓ円、買い指値ｂ円を用いて、不満関数ＤＣ(ｑ)を
ＤＣ(ｑ)＝Ａ(ｓ−ｑ)＋Ａ(ｑ−ｂ)
と定義する。図３は、活性化関数Ａ(ｄ)の例を示す図である。図３（ａ）は、活性化関数Ａ(ｄ)が線形である場合を示し、図３（ｂ）は、活性化関数Ａ(ｄ)が平方である場合を示す。【００２６】
図３（ａ）に示すように、ｄ≧０の場合はＡ(ｄ)＝ｄであり、ｄ＜０の場合はＡ(ｄ)＝０である。また、図３（ｂ）に示すように、ｄ≧０の場合はＡ(ｄ)＝ｄ2であり、ｄ＜０の場合はＡ(ｄ)＝０である。【００２７】
図４は、不満関数ＤＣ(ｑ)の例を示す図である。図４では、ｓ＝９７、ｂ＝１０３である。図４（ａ）は、線形の活性化関数を用いた場合を示し、図４（ｂ）は、平方の活性化関数を用いた場合を示す。図４に示すように、不満関数は下に凸な凸関数である。【００２８】
そして、実施例に係る約定装置は、次の株価ｑ円に対する不満総和関数ＤＣＳ(ｑ)を
ＤＣＳ(ｑ)＝ΣＤＣi(ｑ)
と定義し、ＤＣＳ(ｑ)を最小にするｑを特定する。ここで、ＤＣi(ｑ)は、約定ｉにおける不満関数である。ＤＣＳ(ｑ)は下に凸な関数である。【００２９】
図５は、不満総和関数の例を示す図である。図５に示すように、ｑ＝１００とすると、１０１円売りと１０５円買い、１０６円売りと１０８円買いの２件の約定について買い手に不満があり、ＤＣＳ(１００)＝１2＋６2＝３７となる。なお、この例では、活性化関数Ａ(ｄ)に平方が用いられている。【００３０】
次に、実施例に係る取引システムの構成について説明する。図６は、実施例に係る取引システムの構成を示す図である。図６に示すように、実施例に係る取引システム１は、受付装置１１と、注文管理装置１２と、約定装置１３とを有する。受付装置１１と注文管理装置１２と約定装置１３は内部ネットワーク２で接続される。【００３１】
受付装置１１は、注文情報を受け付け、注文管理装置１２に送信する。注文情報には、例えば、注文者を識別する注文者識別子、銘柄、売り買いの区別、指値、株数などが含まれる。受付装置１１は、例えば、外部ネットワークを介して情報処理装置から送信される注文情報を受信する。情報処理装置は、例えば、投資家がマウスやキーボードを用いて入力した注文に基づいて注文情報を送信する。【００３２】
また、受付装置１１は、注文管理装置１２から約定結果を受信して情報処理装置へ送信する。約定結果には、例えば、注文者識別子、銘柄、売り買いの区別、約定価格、約定株数などが含まれる。受付装置１１は、例えば、注文者識別子に対応付けられたＩＰアドレスを用いて、注文情報の送信元の情報処理装置に約定結果を送信する。【００３３】
注文管理装置１２は、注文情報を例えば注文を識別する注文識別子を付加して管理する。注文管理装置１２は、板寄せ開始までに受付装置１１により受け付けられた注文情報を全て記憶し、板寄せ開始時に、銘柄ごとに売り指値と売り注文数、買い指値と買い注文数を約定装置１３に送信する。【００３４】
また、注文管理装置１２は、銘柄ごとに約定情報を約定装置１３から受信し、注文情報を更新する。また、注文管理装置１２は、約定情報に基づいて約定結果を作成し、受付装置１１に送信する。約定情報には、１つ以上の約定について、例えば、売り指値、買い指値、約定価格、約定株数などが含まれる。【００３５】
約定装置１３は、板寄せにおいて、内部ネットワーク２を介して注文管理装置１２から、銘柄ごとに、売り注文と買い注文の情報を受信し、売り注文と買い注文を約定させ、約定価格と次の株価を決定する。各売り注文の情報には、売り指値と売り注文数が含まれ、各買い注文の情報には、買い指値と買い注文数が含まれる。また、約定装置１３は、内部ネットワーク２を介して、銘柄ごとに、約定情報を注文管理装置１２に送信する。【００３６】
約定装置１３は、取得部２１と、マッチング部２２と、価格決定部２３と、出力部２４とを有する。取得部２１は、内部ネットワーク２を介して注文管理装置１２から、銘柄ごとに、売り注文と買い注文の情報を受信する。【００３７】
マッチング部２２は、銘柄ごとに売り注文と買い注文をマッチングさせる。マッチング部２２は、現在値にとらわれず、指値又は指値より投資家にとって有利な価格であればマッチングさせる。マッチング部２２は、板をネットワークフローとして定式化することで、マッチング数を最大化する。【００３８】
図７Ａは、ネットワークフローの最大フロー問題を説明するための図である。図７Ａに示すように、最大フロー問題とは、グラフの辺に沿って頂点ｓ（ソース）から頂点ｔ（シンク）までできるだけ多く水を流すには、どの辺にどのくらいの量を流すようにすればよいかを求める問題である。ただし、図７Ａ（ａ）に示すように、各辺には水を流せる最大容量が設定されている。図７Ａ（ｂ）は、解を示し、各辺の分数は、分母が容量で分子が流量である。図７Ａ（ｂ）では、ｓからｔまで最大１０の水が流れる。【００３９】
図７Ｂは、板のネットワークフローとしての定式化を説明するための図である。図７Ｂに示すように、マッチング部２２は、ｓ（ソース）、ｔ（シンク）、売り指値、買い指値に応じた頂点を作成する。そして、マッチング部２２は、売り頂点と買い頂点との間の容量は∞（制約なし）とし、ｓから売り頂点への辺の容量は、売り頂点の売り指値の売り注文数とし、買い頂点からｔへの辺の容量は、買い頂点の買い指値の買い注文数とする。【００４０】
図７Ｂでは、ｓから９８円の売り頂点への辺の容量は５でり、ｓから９９円の売り頂点への辺の容量は０であり、ｓから１００円の売り頂点への辺の容量は３である。また、ｓから１０１円の売り頂点への辺の容量は２であり、ｓから１０２円の売り頂点への辺の容量は１である。【００４１】
同様に、９８円の買い頂点からｔへの辺の容量は１であり、９９円の買い頂点からｔへの辺の容量は４であり、１００円の買い頂点からｔへの辺の容量は１０である。また、１０１円の買い頂点からｔへの辺の容量は２であり、１０２円の買い頂点からｔへの辺の容量は３である。【００４２】
図７Ｃは、図７Ｂに示したネットワークフローの最大フローを示す図である。図７Ｃでは、各辺の流量がマッチング数を示し、マッチング数の合計は１１である。例えば、９８円売りの１件と９８円買いの１件、９８円売りの４件と９９円買いの４件、１００円売りの３件と１００円買いの３件、１０１円売りの２件と１０１円買いの２件、１０２円売りの１件と１０２円買いの１件の合計１１件がマッチングする。【００４３】
マッチング部２２は、最大フロー問題を解くアルゴリズムとして、Ｈｏｐｃｒｏｆｔ−Ｋａｒｐ、Ｄｉｎｉｃ、Ｅｄｍｏｎｄｓ−Ｋａｒｐなどのアルゴリズムを用いる。頂点数をＶ、辺数をＥとすると、Ｈｏｐｃｒｏｆｔ−Ｋａｒｐの計算量はＯ（Ｅ√Ｖ）であり、Ｄｉｎｉｃの計算量はＯ（Ｖ2Ｅ）であり、Ｅｄｍｏｎｄｓ−Ｋａｒｐの計算量はＯ（ＶＥ2）である。【００４４】
なお、マッチング部２２は、ネットワークフローの最大フロー問題として定式化する以外のマッチング方法を用いてもよい。例えば、マッチング部２２は、全検索によるマッチングを行うことで売り注文と買い注文をマッチングさせてもよい。具体的には、マッチング部２２は、売り注文ｊ件のリストＡと買い注文ｊ件のリストＢを作成する。そして、マッチング部２２は、Ａのｊ件とＢのｊ件の組み合わせを１つ選択し、ｊ件全てについて売り指値が買い指値以下である組み合わせをマッチング候補として記録する記録処理を行う。マッチング部２２は、この記録処理を、Ａのｊ件とＢのｊ件の組み合わせを変えながら全組み合わせについて実行する。さらに、マッチング部２２は、この記録処理を、Ａ又はＢを変更しながら、ＡとＢの全組み合わせてについて実行する。さらに、マッチング部２２は、この記録処理を、マッチング件数ｊを１からｕまで変化させながら行う。ここで、ｕは、売り注文数と買い注文数の小さい方である。【００４５】
そして、マッチング部２２は、マッチング候補の中から最適なマッチングを選択する。ここで、最適なマッチングとは、例えば、売り指値の平均が最も安い、買い指値の平均が最も高い、マッチング数が最大である、同一証券会社間のマッチングが少ないなどがある。【００４６】
あるいは、マッチング部２２は、売り注文と買い注文をランダムに選択することでマッチングを行ってもよい。具体的には、マッチング部２２は、売り注文ｊ件のリストＡと買い注文ｊ件のリストＢを作成する。そして、マッチング部２２は、ＡとＢからランダムに１件ずつ選択して売り指値が買い指値以下であるかを判定し、ＡとＢのｊ件全てについて売り指値が買い指値以下である組み合わせをマッチング候補として記録する記録処理を行う。マッチング部２２は、この記録処理を、Ａ又はＢを変更しながら、ＡとＢの全組み合わせてについて実行する。さらに、マッチング部２２は、この記録処理を、マッチング件数ｊを１からｕまで変化させながら行う。そして、マッチング部２２は、マッチング候補の中から最適なマッチングを選択する。【００４７】
あるいは、マッチング部２２は、分岐限定法によるマッチングを行ってもよい。具体的には、マッチング部２２は、売り注文と買い注文のマッチングにおいて深さ優先探索を行い、ある探索点でより深い探索を行っても最適なマッチングは得られないと判定すると、より深い探索を行わない。【００４８】
あるいは、マッチング部２２は、遺伝的アルゴリズムを用いて売り注文と買い注文をマッチングさせてもよい。具体的には、マッチング部２２は、２つのマッチング案の交配ルールを決めておき、交配ルールによって２つのマッチング案を交配させ、次世代のマッチング案を作る。マッチング部２２は、次世代のマッチング案の作成を繰り返すことで、よりよいマッチング案を作成する。マッチング部２２は、例えば、数千世代のマッチング案を作成する。【００４９】
あるいは、マッチング部２２は、二分探索を用いて最大約定数ｋを特定し、安い方からｋ個の売り注文と高い方からｋ個の買い注文をマッチングさせてもよい。あるいは、マッチング部２２は、二部グラフを用いて最大約定数ｋを特定してもよい。【００５０】
価格決定部２３は、マッチング部２２によるマッチングに基づいて、マッチングごとの約定価格と銘柄ごとの次の株価を決定する。価格決定部２３は、次価格決定部３１と約定価格決定部３２とを有する。【００５１】
次価格決定部３１は、次の株価を決定する。次価格決定部３１は、約定情報取得部４１と、不満関数作成部４２と、総和関数作成部４３と、決定部４４とを有する。【００５２】
約定情報取得部４１は、全約定（マッチング）について、マッチング部２２から約定ごとの売り指値及び買い指値を取得する。【００５３】
不満関数作成部４２は、約定情報取得部４１が取得した売り指値及び買い指値と、次の株価ｑ円、活性化関数Ａ(ｄ)とを用いて不満関数ＤＣ(ｑ)を約定ごとに作成する。【００５４】
総和関数作成部４３は、不満関数作成部４２により約定ごとに作成された不満関数ＤＣ(ｑ)を全約定について加えて不満総和関数ＤＣＳ(ｑ)を作成する。【００５５】
決定部４４は、不満総和関数ＤＣＳ(ｑ)の値を最小にするｑの値ｑminを特定し、次の株価をｑmin円とする。決定部４４は、例えば黄金分割探索を用いてｑminを特定する。決定部４４は、板全体を一度見るだけでｑに対応するＤＣＳ(ｑ)を計算することができるので、Ｏ（ＮｌｏｇＮ）でｑminを特定することができる。なお、決定部４４は、二分探索、四分探索を用いてもよい。【００５６】
約定価格決定部３２は、売り指値をｓ円、買い指値をｂ（ｓ≦ｂ）円とし、次の株価をｑ円とし、区間［ｓ，ｂ］のうちｑに近い値をｒとすると、約定価格をｒ円とする。すなわち、約定価格決定部３２は、次の株価に基づいて約定価格を決定する。【００５７】
出力部２４は、銘柄ごとに約定情報を注文管理装置１２に内部ネットワーク２を介して送信する。【００５８】
次に、約定装置１３による処理のフローについて説明する。図８は、約定装置１３による処理のフローを示すフローチャートである。なお、約定装置１３は、銘柄ごとに図８に示す処理を行う。図８に示すように、約定装置１３は、板寄せの開始時に注文管理装置１２から売り注文と買い注文の情報を受信する（ステップＳ１）。【００５９】
そして、約定装置１３は、売買のマッチングを決定する（ステップＳ２）。約定装置１３は、現在値にとらわれず、指値又は指値より投資家にとって有利な価格であればマッチングを行う。そして、約定装置１３は、次の株価を決定し（ステップＳ３）、マッチングごとに約定価格を決定する（ステップＳ４）。そして、約定装置１３は、注文管理装置１２に、約定情報を送信する（ステップＳ５）。【００６０】
このように、約定装置１３は、現在値にとらわれず、指値又は指値より投資家にとって有利な価格であればマッチングさせ、マッチングごとに約定価格を決定するので、約定数を増やすことができる。【００６１】
図９は、マッチング部２２による処理のフローを示すフローチャートである。図９に示すように、マッチング部２２は、売り注文と買い注文をもとにネットワークフローを作成する（ステップＳ１１）。そして、マッチング部２２は、最大フローを生成し（ステップＳ１２）、最大フローの流量からマッチングを抽出する（ステップＳ１３）。【００６２】
このように、マッチング部２２は、板をネットワークフローとしての定式化することで、マッチング数が最大のマッチングを特定することができる。【００６３】
図１０は、次価格決定部３１による処理のフローを示すフローチャートである。なお、ここでは、活性化関数として平方を用いる場合を示す。図１０に示すように、次価格決定部３１は、マッチング部２２から、全約定について売り指値と買い指値を取得する（ステップＳ２１）。そして、次価格決定部３１は、売り指値と次の株価の差分の二乗と、次の株価と買い指値の差分の二乗を加えて約定ごとに不満関数を作成する（ステップＳ２２）。【００６４】
そして、次価格決定部３１は、全約定の不満関数を加えて不満総和関数を作成し（ステップＳ２３）、不満総和関数の値を最小にする次の株価を特定する（ステップＳ２４）。【００６５】
このように、次価格決定部３１は、不満総和関数の値を最小にする次の株価を特定するので、次の株価に対する投資家の不満を最小にすることができる。【００６６】
なお、不満関数及び不満総和関数を作成することなく、不満総和関数の値を最小にする次の株価を直接特定することもできる。そこで、不満総和関数の値を最小にする次の株価を黄金分割探索を用いて直接特定する処理のフローについて説明する。図１１は、黄金分割探索を用いて次の株価を特定する処理のフローを示すフローチャートである。【００６７】
図１１に示すように、次価格決定部３１は、全約定について売り指値と買い指値を取得する（ステップＳ３１）。そして、次価格決定部３１は、売り指値及び買い指値の最小値をｍ、最大値をＭとしたときの初期値をｘ1＝ｍ、ｘ3＝Ｍとし、ｘ1、ｘ3を１：φに内分する値を四捨五入してｘ2とする（ステップＳ３２）。ここで、φは黄金比（（１＋√５）／２）である。【００６８】
そして、次価格決定部３１は、ｘ1＋１とｘ3が等しいか否かを判定し（ステップＳ３３）、ｘ1＋１とｘ3が等しくない場合には、ｘ1、ｘ3をφ：１に内分する値を四捨五入してｘ4とする（ステップＳ３４）。そして、次価格決定部３１は、ＤＳ(ｘ1)＞ＤＳ(ｘ2)＞ＤＳ(ｘ4)であるか否かを判定し（ステップＳ３５）、ＤＳ(ｘ1)＞ＤＳ(ｘ2)＞ＤＳ(ｘ4)である場合には、（ｘ1，ｘ2，ｘ3）を（ｘ2，ｘ4，ｘ3）で置き換える（ステップＳ３６）。一方、（ＤＳ(ｘ1)＞ＤＳ(ｘ2)＞ＤＳ(ｘ4)）でない場合には、次価格決定部３１は、（ｘ1，ｘ2，ｘ3）を（ｘ1，ｘ2，ｘ4）で置き換える（ステップＳ３７）。そして、次価格決定部３１は、ＤＳの値も置き換えて（ステップＳ３８）、ステップＳ３３へ戻る。【００６９】
ステップＳ３３において、ｘ1＋１とｘ3が等しい場合には、次価格決定部３１は、ｘ1を次の株価として特定する（ステップＳ３９）。【００７０】
図１２は、ＤＳ(ｑ)の値を計算する処理のフローを示すフローチャートである。図１２に示すように、次価格決定部３１は、不満の総和Ｓ＝０とし（ステップＳ４１）、ｉ＝１とする（ステップＳ４２）。そして、次価格決定部３１は、Ｓに約定ｉの不満の値Ａ(ｓi−ｑ)＋Ａ(ｑ−ｂi)を足し（ステップＳ４３）、ｉ＝ｉ＋１とする（ステップＳ４４）。【００７１】
そして、次価格決定部３１は、ｉがｎ以下か否かを判定する（ステップＳ４５）。ここで、ｎは約定数である。そして、次価格決定部３１は、ｉがｎ以下の場合には、ステップＳ４３に戻り、ｉがｎ以下でない場合には、Ｓの値をＤＳ(ｑ)として返す（ステップＳ４６）。【００７２】
このように、次価格決定部３１は、不満総和関数の値を最小にする次の株価を黄金分割探索を用いて直接特定するので、次の株価を効率よく特定することができる。【００７３】
上述してきたように、実施例では、約定情報取得部４１が、約定ごとに売り指値と買い指値を取得し、不満関数作成部４２が、売り指値と次の株価の差分と、次の株価と買い指値の差分とに基づいて、不満関数を約定ごとに作成する。そして、総和関数作成部４３が、約定ごとの不満関数に基づいて全約定の不満総和関数を作成し、決定部４４が、不満総和関数に基づいて次の株価を決定する。したがって、約定装置１３は、投資家の不満に基づいて次の株価を決定することができる。【００７４】
また、実施例では、不満関数作成部４２は、不満関数を作成するときに、活性化関数として平方を用いてもよいので、不満が大きいほど不満関数の増加を大きくすることができる。【００７５】
また、実施例では、決定部４４は、不満総和関数の値を最小にする次の株価を特定するので、約定装置１３は、投資家の不満を最小にすることができる。【００７６】
なお、実施例では、約定装置１３について説明したが、約定装置１３が有する構成をソフトウェアによって実現することで、同様の機能を有する約定プログラムを得ることができる。そこで、約定プログラムを実行するコンピュータについて説明する。【００７７】
図１３は、実施例に係る約定プログラムを実行するコンピュータのハードウェア構成を示す図である。図１３に示すように、コンピュータ５０は、メインメモリ５１と、ＣＰＵ（Central  Processing  Unit）５２と、ＬＡＮ（Local  Area  Network）インタフェース５３と、ＨＤＤ（Hard  Disk  Drive）５４とを有する。また、コンピュータ５０は、スーパーＩＯ（Input  Output）５５と、ＤＶＩ（Digital  Visual  Interface）５６と、ＯＤＤ（Optical  Disk  Drive）５７とを有する。【００７８】
メインメモリ５１は、プログラムやプログラムの実行途中結果等を記憶するメモリである。ＣＰＵ５２は、メインメモリ５１からプログラムを読み出して実行する中央処理装置である。ＣＰＵ５２は、メモリコントローラを有するチップセットを含む。【００７９】
ＬＡＮインタフェース５３は、コンピュータ５０をＬＡＮ経由で他のコンピュータに接続するためのインタフェースである。ＨＤＤ５４は、プログラムやデータを格納するディスク装置であり、スーパーＩＯ５５は、マウスやキーボード等の入力装置を接続するためのインタフェースである。ＤＶＩ５６は、液晶表示装置を接続するインタフェースであり、ＯＤＤ５７は、ＤＶＤの読み書きを行う装置である。【００８０】
ＬＡＮインタフェース５３は、ＰＣＩエクスプレス（ＰＣＩｅ）によりＣＰＵ５２に接続され、ＨＤＤ５４及びＯＤＤ５７は、ＳＡＴＡ（Serial  Advanced  Technology  Attachment）によりＣＰＵ５２に接続される。スーパーＩＯ５５は、ＬＰＣ（Low  Pin  Count）によりＣＰＵ５２に接続される。【００８１】
そして、コンピュータ５０において実行される約定プログラムは、コンピュータ５０により読み出し可能な記録媒体の一例であるＤＶＤに記憶され、ＯＤＤ５７によってＤＶＤから読み出されてコンピュータ５０にインストールされる。あるいは、約定プログラムは、ＬＡＮインタフェース５３を介して接続された他のコンピュータシステムのデータベース等に記憶され、これらのデータベースから読み出されてコンピュータ５０にインストールされる。そして、インストールされた約定プログラムは、ＨＤＤ５４に記憶され、メインメモリ５１に読み出されてＣＰＵ５２によって実行される。【００８２】
また、実施例では、取引システム１が受付装置１１と注文管理装置１２と約定装置１３とを有する場合について説明したが、受付装置１１と注文管理装置１２と約定装置１３の機能を１つにまとめて取引装置を構成してもよい。あるいは、受付装置１１と注文管理装置１２の機能を１つにまとめるなど、任意の２つの機能を１つにまとめて１つの装置としてもよい。【００８３】
また、実施例では、株を取引する場合について説明したが、取引システム１は、他の有価証券や品物を取引してもよい。
【符号の説明】
【００８４】
１    取引システム
２    内部ネットワーク
１１    受付装置
１２    注文管理装置
１３    約定装置
２１    取得部
２２    マッチング部
２３    価格決定部
２４    出力部
３１    次価格決定部
３２    約定価格決定部
４１    約定情報取得部
４２    不満関数作成部
４３    総和関数作成部
４４    決定部
５０    コンピュータ
５１    メインメモリ
５２    ＣＰＵ
５３    ＬＡＮインタフェース
５４    ＨＤＤ
５５    スーパーＩＯ
５６    ＤＶＩ
５７    ＯＤＤ
【図１】
2020179073.tif 000003
【図２】
2020179073.tif 000004
【図３】
2020179073.tif 000005
【図４】
2020179073.tif 000006
【図５】
2020179073.tif 000007
【図６】
2020179073.tif 000008
【図７Ａ】
2020179073.tif 000009
【図７Ｂ】
2020179073.tif 000010
【図７Ｃ】
2020179073.tif 000011
【図８】
2020179073.tif 000012
【図９】
2020179073.tif 000013
【図１０】
2020179073.tif 000014
【図１１】
2020179073.tif 000015
【図１２】
2020179073.tif 000016
【図１３】
2020179073.tif 000017
【図１４】
2020179073.tif 000018
【図１５】
2020179073.tif 000019
【手続補正書】
【提出日】令和3年6月1日(2021.6.1)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピュータに、
約定ごとに売り指値と買い指値を取得し、
取得した売り指値と次の取引価格の差分と、該次の取引価格と取得した買い指値の差分とに基づいて、該次の取引価格を変数として投資家の不満を表す不満関数を約定ごとに作成し、
約定ごとに作成した不満関数に基づいて全約定の総不満関数を作成し、
作成した総不満関数の値に基づいて前記次の取引価格を決定する
処理を実行させることを特徴とする取引プログラム。
【請求項２】
前記不満関数は、取得した売り指値と次の取引価格の差分と、該次の取引価格と取得した買い指値の差分との和であることを特徴とする請求項１に記載の取引プログラム。
【請求項３】
前記不満関数は、取得した売り指値と次の取引価格の差分の二乗と、該次の取引価格と取得した買い指値の差分の二乗との和であることを特徴とする請求項１に記載の取引プログラム。
【請求項４】
前記総不満関数は、約定ごとに作成した不満関数の総和であることを特徴とする請求項１、２又は３に記載の取引プログラム。
【請求項５】
前記次の取引価格を決定する処理は、前記総不満関数の値を最小にする値を前記次の取引価格とすることを特徴とする請求項１に記載の取引プログラム。
【請求項６】
前記次の取引価格を決定する処理は、前記総不満関数の値を最小にする値を黄金分割探索を用いて特定することを特徴とする請求項５に記載の取引プログラム。
【請求項７】
コンピュータが、
約定ごとに売り指値と買い指値を取得し、
取得した売り指値と次の取引価格の差分と、該次の取引価格と取得した買い指値の差分とに基づいて、該次の取引価格を変数として投資家の不満を表す不満関数を約定ごとに作成し、
約定ごとに作成した不満関数に基づいて全約定の総不満関数を作成し、
作成した総不満関数の値に基づいて前記次の取引価格を決定する
処理を実行することを特徴とする取引方法。
【請求項８】
約定ごとに売り指値と買い指値を取得する取得部と、
前記取得部により取得された売り指値と次の取引価格の差分と、該次の取引価格と取得した買い指値の差分とに基づいて、該次の取引価格を変数として投資家の不満を表す不満関数を約定ごとに作成する第１作成部と、
前記第１作成部により約定ごとに作成された不満関数に基づいて全約定の総不満関数を作成する第２作成部と、
前記第２作成部により作成された総不満関数の値に基づいて前記次の取引価格を決定する決定部と
を有することを特徴とする取引装置。
【国際調査報告】
2020179073.tif 000020
2020179073.tif 000021
2020179073.tif 000022
2020179073.tif 000023