JP6832126B2 - 取引装置、取引プログラムおよび取引方法 - Google Patents

取引装置、取引プログラムおよび取引方法 Download PDF

Info

Publication number
JP6832126B2
JP6832126B2 JP2016207120A JP2016207120A JP6832126B2 JP 6832126 B2 JP6832126 B2 JP 6832126B2 JP 2016207120 A JP2016207120 A JP 2016207120A JP 2016207120 A JP2016207120 A JP 2016207120A JP 6832126 B2 JP6832126 B2 JP 6832126B2
Authority
JP
Japan
Prior art keywords
price
order
market price
market
trigger
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016207120A
Other languages
English (en)
Other versions
JP2018067255A (ja
Inventor
茂紀 河野
茂紀 河野
福島 勝
勝 福島
晃司 土田
晃司 土田
由美 小田
由美 小田
Original Assignee
上田ハーロー 株式会社
上田ハーロー 株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 上田ハーロー 株式会社, 上田ハーロー 株式会社 filed Critical 上田ハーロー 株式会社
Priority to JP2016207120A priority Critical patent/JP6832126B2/ja
Publication of JP2018067255A publication Critical patent/JP2018067255A/ja
Application granted granted Critical
Publication of JP6832126B2 publication Critical patent/JP6832126B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、取引装置、取引プログラムおよび取引方法に関する。
投資家のコンピュータと金融商品取引業者のコンピュータとを通信回線で接続し、投資家がオンラインで金融商品の取引を行うことが可能なオンライン取引システムが使用されている。金融商品の取引に関する指標を時々刻々と算出して、投資家のコンピュータに表示させることにより、投資家の判断を支援する指標値算出装置が提案されている(特許文献1)。
特開2014−102589号公報
金融商品の市場価格は常に変動しているので、取引を行うタイミングが損益に大きく影響する。しかしながら、一般投資家は金融商品の取引が本業ではないため、市場価格を常に監視して有利な取引を行うことは難しい。
一つの側面では、金融商品の市場価格が投資家の想定している方向に変動したことを検出して、取引を行う取引装置等を提供することを目的とする。
取引装置は、金融商品の市場価格に関するトリガ幅と、第1トレール幅と、第2トレール幅とを取得する条件取得部と、金融商品の市場価格を逐次取得する市場価格取得部と、所定の条件で前記市場価格取得部が取得した第1市場価格に前記トリガ幅を加算したトリガ価格を算出するトリガ算出部と前記第1市場価格から前記第2トレール幅を減算したストップ価格を算出するストップ算出部と、前記市場価格取得部が前記第1市場価格よりも後に取得した第2市場価格と前記トリガ価格とを比較して前記第2市場価格の方が高い場合に、前記第2市場価格から前記第1トレール幅を減算した逆指値を算出する逆指値算出部と、前記市場価格取得部が前記第2市場価格よりも後に取得した第3市場価格が、前記逆指値算出部が算出した逆指値以下である場合、および、前記第3市場価格が前記ストップ価格以下である場合に売りの約定を行う約定部とを備える。
取引装置は、金融商品の市場価格に関するトリガ幅と、第1トレール幅と、第2トレール幅とを取得する条件取得部と、金融商品の市場価格を逐次取得する市場価格取得部と、所定の条件で前記市場価格取得部が取得した第1市場価格から前記トリガ幅を減算したトリガ価格を算出するトリガ算出部と、前記第1市場価格に前記第2トレール幅を加算したストップ価格を算出するストップ算出部と、前記市場価格取得部が前記第1市場価格よりも後に取得した第2市場価格と前記トリガ価格とを比較して前記第2市場価格の方が安い場合に、前記第2市場価格に前記第1トレール幅を加算した逆指値を算出する逆指値算出部と、前記市場価格取得部が前記第2市場価格よりも後に取得した第3市場価格が、前記逆指値算出部が算出した逆指値以上である場合、および、前記第3市場価格が前記ストップ価格以上である場合に買いの約定を行う約定部とを備える。
一つの側面では、金融商品の市場価格が投資家の想定している方向に変動したことを検出して、取引を行う取引装置等を提供することが可能となる。
取引システムの構成を示す説明図である。 レートDBのレコードレイアウトを示す説明図である。 デルタTDBのレコードレイアウトを示す説明図である。 HLDBのレコードレイアウトを示す説明図である。 投資家情報DBのレコードレイアウトを示す説明図である。 受注DBのレコードレイアウトを示す説明図である。 発注DBのレコードレイアウトを示す説明図である。 ポジションDBのレコードレイアウトを示す説明図である。 投資家クライアントの入力画面例を示す説明図である。 デルタ注文による新規注文を説明する説明図である。 相対トリガトレール注文による決済注文を説明する説明図である。 受注DBのレコードレイアウトを示す説明図である。 発注DBのレコードレイアウトを示す説明図である。 レート記録サーバのプログラムの処理の流れを示すフローチャートである。 投資家サーバのプログラムの処理の流れを示すフローチャートである。 注文受付サブルーチンの処理の流れを示すフローチャートである。 証拠金確認サブルーチンの処理の流れを示すフローチャートである。 発注証拠金更新サブルーチンの処理の流れを示すフローチャートである。 合計発注証拠金算出サブルーチンの処理の流れを示すフローチャートである。 ポジション取得サブルーチンの処理の流れを示すフローチャートである。 デルタ判定のサブルーチンの処理の流れを示すフローチャートである。 ポジション決済サブルーチンの処理の流れを示すフローチャートである。 ストップトリガ判定サブルーチンの処理の流れを示すフローチャートである。 相対トリガトレール判定サブルーチンの処理の流れを示すフローチャートである。 実施の形態2の相対トリガトレール注文による決済注文を説明する説明図である。 実施の形態2のポジション決済のサブルーチンの処理の流れを示すフローチャートである。 実施の形態3の投資家クライアントの入力画面例を示す説明図である。 実施の形態3の相対トリガトレール注文による新規注文を説明する説明図である。 実施の形態3のポジション取得サブルーチンの処理の流れを示すフローチャートである。 実施の形態4のポジション取得サブルーチンの処理の流れを示すフローチャートである。 実施の形態5の取引装置の動作を示す機能ブロック図である。 実施の形態6の取引システムの構成を示す説明図である。
[実施の形態1]
図1は、取引システム10の構成を示す説明図である。取引システム10は、時々刻々と価格が変動する金融商品の取引を行う際に使用されるシステムである。本実施の形態においては、外国為替証拠金取引を行う際に使用する取引システム10を例にして説明する。株式取引、先物取引等においても、同様のシステムを使用することが可能である。
取引システム10は、投資家サーバ11、レート記録サーバ21、投資家クライアント
31、金融機関サーバ32およびこれらを相互に接続するネットワークを含む。
投資家クライアント31は、投資家がオンライン取引に使用するパソコン、タブレットまたはスマートフォン等の情報処理装置である。投資家クライアント31のハードウェア構成については説明を省略する。
金融機関サーバ32は、インターバンク市場に参加する銀行等が使用する情報処理装置である。金融機関サーバ32は、為替レートの市場価格を1秒間に10回から100回程度の頻度でネットワークを介して提示する。金融機関サーバ32のハードウェア構成については説明を省略する。
なお、インターバンク市場においては、市場参加者がそれぞれ市場価格を提示して取引を行う。インターバンク市場の参加者は、信用度が高く、多額の外貨を取引する大手銀行に限定されている。一方、外国為替証拠金取引はインターバンク市場で形成されている市場価格に準じる為替レートに基づいて取引される。
投資家サーバ11は、金融商品取引業者が管理および運用を行う情報処理装置である。投資家サーバ11は、投資家クライアント31からオンラインで受信した金融商品の取引を処理する情報処理装置である。本実施の形態においては、金融商品取引業者は、顧客である個々の投資家に対して、1つの投資家サーバ11を使用する。投資家サーバ11は、本実施の形態の取引装置の一例である。
レート記録サーバ21は、金融商品取引業者が管理および運用を行う情報処理装置である。レート記録サーバ21は、金融機関サーバ32から提示された市場価格を記録および処理し、投資家サーバ11に提供する情報処理装置である。
投資家サーバ11は、CPU(Central Processing Unit)12、主記憶装置13、補助記憶装置14、通信部15およびバスを備える。
CPU12は、本発明に係るプログラムを実行する演算制御装置である。CPU12には、一または複数のCPUまたはマルチコアCPU等が使用される。CPU12は、バスを介して投資家サーバ11を構成するハードウェア各部と接続されている。
主記憶装置13は、SRAM(Static Random Access Memory)、DRAM(Dynamic Random Access Memory)、フラッシュメモリ等の記憶装置である。主記憶装置13には、CPU12が行う処理の途中で必要な情報およびCPU12で実行中のプログラムが一時的に保存される。
補助記憶装置14は、SRAM、フラッシュメモリ、ハードディスクまたは磁気テープ等の記憶装置である。補助記憶装置14には、CPU12に実行させるプログラム、投資家情報DB(Database)51、受注DB52、発注DB53、ポジションDB54、およびプログラムの実行に必要な各種データが保存される。通信部15は、投資家サーバ11とネットワークとの間の通信を行うインターフェイスである。
本実施の形態の投資家サーバ11は、汎用のパーソナルコンピュータ、大型計算機等の情報機器等である。また、本実施の形態の投資家サーバ11は、大型計算機上で動作する仮想マシンでも良い。投資家情報DB51、受注DB52、発注DB53およびポジションDB54は、投資家サーバ11の外部に設置された大容量記憶装置等に記憶されていても良い。
レート記録サーバ21は、レート記録CPU22、主記憶装置23、補助記憶装置24、通信部25およびバスを備える。
レート記録CPU22は、本発明に係るプログラムを実行する演算制御装置である。レート記録CPU22には、一または複数のCPUまたはマルチコアCPU等が使用される。レート記録CPU22は、バスを介してレート記録21を構成するハードウェア各部と接続されている。
主記憶装置23は、SRAM、DRAM、フラッシュメモリ等の記憶装置である。主記憶装置23には、レート記録CPU22が行う処理の途中で必要な情報およびレート記録CPU22で実行中のプログラムが一時的に保存される。
補助記憶装置24は、SRAM、フラッシュメモリ、ハードディスクまたは磁気テープ等の記憶装置である。補助記憶装置24には、レート記録CPU22に実行させるプログラム、レートDB41、HLDB43、デルタTDB42、およびプログラムの実行に必要な各種データが保存される。通信部25は、レート記録サーバ21とネットワークとの間の通信を行うインターフェイスである。
本実施の形態のレート記録サーバ21は、汎用のパーソナルコンピュータ、大型計算機等の情報機器等である。また、本実施の形態のレート記録サーバ21は、大型計算機上で動作する仮想マシンでも良い。レートDB41、HLDB43およびデルタTDB42は、レート記録サーバ21の外部に設置された大容量記憶装置等に記憶されていても良い。
図2は、レートDB41のレコードレイアウトを示す説明図である。レートDB41は、通貨ペアごとの売値および買値の市場価格とタイムスタンプとを関連づけるDBである。レートDB41は、通貨ペアフィールド、売レートフィールド、買レートフィールドおよびタイムスタンプフィールドを有する。
通貨ペアフィールドには、外国為替取引を行う二つの通貨の組合せが記録されている。たとえば「USD/JPY」は、米ドルと日本円との組合せを示す。同様に、「EUR」はユーロ、「GBP」は、英ポンド、「AUD」は、オーストラリアドルを示す。
売レートフィールドには、投資家が通貨ペアフィールドに記録された通貨ペアのうちの、前側の通貨を後側の通貨で購入する際の市場価格が記録されている。買レートフィールドには、投資家が通貨ペアフィールドに記録された通貨ペアのうちの、前側の通貨を後側の通貨で売却する際の市場価格が記録されている。
タイムスタンプフィールドには、市場価格をレートDB41に記録した日時が記録されている。タイムスタンプフィールドの前半は日付、後半は時刻を示す。時刻の小数点以下の3桁は、ミリ秒単位の時刻を示す。レートDB41は、一組の通貨ペアについて1つのフィールドを有する。
具体例を挙げて説明する。図2に示すレートDB41の1行目は、米ドルを売却したい投資家に対しては1ドル100.096円のレートが、米ドルを購入したい投資家に対しては1ドル100.104円のレートが、それぞれタイムスタンプに示す日時に提示されたことを示す。
レート記録CPU22は、金融機関サーバ32から提示された市場価格を受信するたびに、該当する通貨ペアのレコードを更新する。すなわち、レートDB41には、その時点で最新の市場価格が記録されている。レート記録サーバ21は、一つの金融機関サーバ3
2から提示される市場価格を受信してレートDB41に記録しても良いし、複数の金融機関サーバ32から提示される市場価格を受信してレートDB41に記録しても良い。
レート記録サーバ21は、他の金融商品取引業者から提示される為替レートをレートDB41に記録しても良い。また、レート記録サーバ21は、インターバンク市場の市場価格に基づいて自社の為替ディーラが判断した市場価格を記録しても良い。
図3は、デルタTDB42のレコードレイアウトを示す説明図である。デルタTDB42は、番号と判定時間幅ΔTとを関連づけるDBである。デルタTDB42は番号フィールドとΔTフィールドとを有する。番号フィールドには、1から連番で番号が記録されている。ΔTフィールドには、判定時間幅ΔTが記録されている。デルタTDB42は、一つの番号について1つのレコードを有する。デルタTDB42は、次に説明するHLDB43を作成する際に使用されるDBである。
図4は、HLDB43のレコードレイアウトを示す説明図である。HLDB43は、タイムスタンプ、その時点の市場価格と、判定時間幅ΔT内の過去の最低市場価格Lおよび最高市場価格Hとを関連づけるDBである。HLDB43は、通貨ペアフィールド、売買フィールド、タイムスタンプフィールド、市場価格フィールド、ΔT=10秒フィールド、ΔT=30秒フィールドを有する。ΔT=10秒フィールドおよびΔT=30秒フィールドは、それぞれLフィールドおよびHフィールドを有する。HLDB43は、後述するデルタ注文を行う際に使用されるDBである。
通貨ペアフィールドには、外国為替取引を行う二つの通貨の組合せが記録されている。売買フィールドには、「売」または「買」の別が記録されている。タイムスタンプフィールドには、タイムスタンプが記録されている。市場価格フィールドには、通貨ペアフィールドおよび売買フィールドに記録された為替取引に関する市場価格が記録されている。
ΔT=10秒フィールドのLフィールドには、タイムスタンプの時点から過去10秒間で最も安い市場価格が記録されている。ΔT=10秒フィールドのHフィールドには、タイムスタンプの時点から過去10秒間で最も高い市場価格が記録されている。ΔT=30秒フィールドのLフィールドには、タイムスタンプの時点から過去30秒間で最も安い市場価格が記録されている。ΔT=30秒フィールドのHフィールドには、タイムスタンプの時点から過去30秒間で最も高い市場価格が記録されている。
なお、図4ではΔT=10秒フィールドおよびΔT=30秒フィールド以外は記載を省略するが、HLDB43は図3を使用して説明したデルタTDB42のΔTフィールドに記録されたそれぞれの判定時間幅ΔTに対応するフィールドを有する。それぞれのフィールドは、ΔT=10秒フィールドと同様にLフィールドおよびHフィールドを有する。HLDB43は、一つのタイムスタンプについて一つのレコードを有する。
具体例を挙げて説明する。図4の上から2レコード目の、タイムスタンプが「2016/09/05 10:00:00.005」時点から過去10秒間の最高の市場価格は100.200円である。上から3レコード目の、タイムスタンプが「2016/09/05 10:00:00.040」の時点の市場価格は、100.280円である。そのため、このレコードの時点から過去10秒間の最高の市場価格は100.280円であり、ΔT=10秒フィールドのHフィールドに「100.280」が記録される。
図5は、投資家情報DB51のレコードレイアウトを示す説明図である。投資家情報DB51は、投資家サーバ11が取引を処理する投資家に関する情報を記録するDBである。投資家情報DB51は、項目フィールドと内容フィールドとを有する。項目フィールド
には、「投資家ID(IDentification)」、「氏名」、「証拠金」等の項目名が記録されている。内容フィールドには、それぞれの項目に対応する内容が記録されている。証拠金については後述する。
図6は、受注DB52のレコードレイアウトを示す説明図である。受注DB52は、金融商品取引業者に注文した外国為替取引の注文番号、注文の内容および注文状況を関連づけるDBである。
受注DB52は、注文番号フィールド、通貨ペアフィールド、注文タイプフィールド、取引種別フィールド、執行条件フィールド、注文価格フィールド、トリガ値フィールド、トリガ幅フィールド、トレール幅フィールド、ΔPフィールド、ΔTフィールド、取引金額フィールド、期限フィールド、注文状況フィールド、発注証拠金フィールドおよび親注文番号フィールドを有する。
注文番号フィールドには、個々の注文に固有に付与された注文番号が記録されている。通貨ペアフィールドには、注文された通貨ペアが記録されている。注文タイプフィールドには、「新規」「決済利益確定」「決済ストップ」のいずれのタイプの注文であるかが記録されている。「新規」は、投資家が新たなポジションを取得する注文を意味する。「決済利益確定」は、投資家が保有しているポジションを反対売買により決済して利益を確定する注文を意味する。「決済ストップ」は、投資家が保有しているポジションを反対売買により決済して、損切りを行うストップ注文を意味する。
取引種別フィールドには、「売」または「買」のどちらの注文であるかが記録されている。「売」は売り注文を、「買」は、買い注文を意味する。執行条件フィールドには、注文を執行する際の判定条件の種類が記録されている。「デルタ」、「相対トリガトレール」および「トレール」については後述する。
「指値」は、後述する注文価格フィールドに記録された価格よりも投資家にとって有利な条件であれば約定することを意味する。たとえば、買い注文である場合には、注文価格よりも市場価格が安い場合に約定する。売り注文である場合には、注文価格よりも市場価格が高い場合に約定する。
「逆指値」は、後述する注文価格フィールドに記録された価格よりも投資家にとって不利な条件であれば約定することを意味する。たとえば、買い注文である場合には、注文価格よりも市場価格が高い場合に約定する。売り注文である場合には、注文価格よりも市場価格が安い場合に約定する。
注文価格フィールドには、投資家が指定した注文価格が記録されている。注文価格フィールドに「−」が記録されている場合には、価格が未定であることを意味する。
トリガ値フィールド、トリガ幅フィールド、トレール幅フィールド、ΔPフィールドおよびΔTフィールドには、執行条件が「デルタ」、「相対トリガトレール」および「トレール」である場合のパラメータが記録されている。各パラメータの詳細については後述する。
取引金額フィールドには、顧客が注文した取引金額が記録されている。取引金額は、通貨ペアの左側に示された通貨を使用して示す。具体的には、注文番号101は米ドルで1000ドルの注文であることを示す。
期限フィールドには、注文の有効期限が記録されている。「GTC」は、Good Till Ca
ncelの略であり、無期限で有効な注文を意味する。注文状況フィールドには、注文の状況が記録されている。「注文中」は投資家が指定した条件と市場価格とが合致した場合に約定する注文を示す。「待機中」は、関連する注文が約定した場合に、有効になる注文を示す。注文状況フィールドには、約定したことを示す「成立」、注文を取り消したことを示す「取消済」等も記録される。
発注証拠金フィールドには、新規注文を行う際に必要な発注証拠金が記録されている。発注証拠金については後述する。なお、決済注文を行う場合には発注証拠金は不要であるので「−」が記録されている。
親注文番号フィールドには、関連する新規注文の注文番号が記録されている。たとえば注文番号101は、新規注文であるので親注文は存在しない。そのため親注文番号フィールドには「−」が記録されている。注文番号102および注文番号103は、注文番号101の決済注文であるので、親注文番号フィールドに「101」が記録されている。
図7は、発注DB53のレコードレイアウトを示す説明図である。発注DB53は、投資家が指定した条件と市場価格とが合致した場合に約定する外国為替取引の注文番号、注文の内容および注文状況を関連づけるDBである。
発注DB53は、注文番号フィールド、通貨ペアフィールド、注文タイプフィールド、取引種別フィールド、執行条件フィールド、注文価格フィールド、トリガ値フィールド、トリガ幅フィールド、トレール幅フィールド、ΔPフィールド、ΔTフィールド、取引金額フィールド、期限フィールド、発注証拠金フィールドおよび親注文番号フィールドを有する。各フィールドに記録されているデータは、図6を使用して説明した受注DB52と同様であるので説明を省略する。
図8は、ポジションDB54のレコードレイアウトを示す説明図である。ポジションDB54は、投資家が保有しているポジションの注文番号、ポジションの内容および関連注文の番号を関連づけるDBである。ポジションDB54は、注文番号フィールド、通貨ペアフィールド、取引種別フィールド、約定価格フィールド、取引金額フィールド、約定日時フィールドおよび決済注文番号フィールドを有する。決済注文番号フィールドは、利益確定フィールドとストップフィールドとを有する。
注文番号フィールドには、個々の注文に固有に付与された注文番号が記録されている。通貨ペアフィールドには、注文された通貨ペアが記録されている。取引種別フィールドには、「売」または「買」のどちらのポジションであるかが記録されている。「売」は売り注文により取ったポジションであることを、「買」は買い注文により取ったポジションであることを意味する。
約定価格フィールドには、ポジションを取った際の約定価格が記録されている。取引金額フィールドには、ポジションの取引金額が記録されている。約定日時フィールドには、ポジションが約定した日時が記録されている。利益確定フィールドには、利益確定注文の注文番号が記録されている。ストップフィールドにはストップ注文の注文番号が記録されている。
ここで、証拠金および発注証拠金について説明する。証拠金は、投資家が金融商品取引業者に対して担保として差し入れた金銭を示す。外国為替証拠金取引では、投資家は証拠金を担保として、証拠金よりも高額の外国通貨の売りポジションまたは買いポジションを取ることができる。投資家は、保有しているポジションを反対売買により決済することにより、為替変動に応じた損益を得る。
以下の説明では、投資家が差し入れた証拠金から、投資家が保有しているポジションを時価評価した場合の損益を差し引いた金額を、有効証拠金と呼ぶ。有効証拠金は、保有しているポジションをすべて時価で決済した場合に、投資家の手元に残る証拠金に相当する金額である。
同様に、投資家が保有しているポジションを取得した際の価格に対して所定の証拠金率を積算した金額を、必要証拠金と呼ぶ。投資家は、必要証拠金以上の有効証拠金を維持する必要がある。仮に有効証拠金が必要証拠金を下回った場合には、金融商品取引業者は投資家が保有しているポジションを強制的に決済する、いわゆるロスカットを行う。ロスカットにより、差し入れた証拠金以上の損失を投資家がこうむることを防止することができる。
投資家が新たなポジションを取得した場合には、取得価格に応じて必要証拠金が増加する。仮に、有効証拠金が増加後の必要証拠金を下回った場合には、ポジションを取得した直後にロスカットが発生して投資家が損失をうける可能性がある。
このような損失を避けるため、新規注文を行う場合には、約定した場合の投資家の有効証拠金が十分であるか否かを確認することが望ましい。本実施の形態においては、CPU12は、式(1)に基づいてそれぞれの新規注文に対する発注証拠金を算出し、受注DB52の発注証拠金フィールドに記録する。
発注証拠金=約定見込価格×取引金額×証拠金率 ‥‥‥ (1)
発注証拠金は、約定見込価格の為替レートで新規注文が約定した場合に増加する必要証拠金の金額である。
投資家から新規注文を受け付けた場合には、CPU12はその新規注文に対する発注証拠金を算出する。CPU12は、受け付けた新規注文を含む未約定の注文に関する発注証拠金の合計額である合計発注証拠金を算出する。CPU12は、有効証拠金が合計発注証拠金と必要証拠金との和以上である場合には、新規注文を受け付ける。CPU12は、有効証拠金が合計発注証拠金と必要証拠金との和未満である場合には、新規注文を受け付けない。
以上により、CPU12は、約定した直後に必要証拠金が有効証拠金を超えてロスカットが起きる可能性の高い新規注文を防止することができる。
CPU12は、投資家からの注文を受け付けた日時における市場価格を式(1)の約定見込価格に使用することができる。CPU12は、図4を使用して説明したHLDB43から最新のレコードを抽出し、任意の判定時間幅ΔTのHフィールドに記録された値を約定見込価格に使用することもできる。このようにすることにより、実際に約定した際に増加する必要証拠金が式(1)に基づいて算出した発注証拠金を大きく上回り、ロスカットが起きる可能性を低減できる。
CPU12は、投資家からの注文を受け付けた日時における市場価格に所定の安全係数を積算した値を式(1)の約定見込価格に使用することができる。安全係数には1以上の任意の数値を使用することができる。このようにすることにより、投資家が市場価格の変動が激しい通貨ペアを発注して約定した場合に、ロスカットが起こる可能性を低減できる。
CPU12は、投資家の投資実績および保有資産等の条件、発注する通貨ペアおよび外国為替市場の状況等により、安全係数を変更しても良い。
図9は、投資家クライアント31の入力画面例を示す説明図である。投資家クライアント31は、ネットワークを介して投資家サーバ11から受信した情報に基づいてディスプレイに図9に示す入力画面を表示する。投資家クライアント31は、タッチパネル、キーボードまたはマウスなどの入力機器を介して、投資家による入力を受け付け、ネットワークを介して投資家サーバ11に送信する。なお、投資家サーバ11と投資家クライアント31との間の通信は、SSL(Secure Sockets Layer)等の暗号化技術により、セキュリティを確保する。
入力画面は、通貨ペア欄61、金額欄62、新規欄63、決済欄64および成立反復欄65を含む。新規欄63は、新規種別欄631および新規注文欄632を含む。決済欄64は、決済種別欄641、利益確定注文欄642およびストップ注文欄643を含む。なお、図9においては、選択されている項目を二重線で囲んで示す。
CPU12は、通貨ペア欄61を介して、投資家が取引する通貨ペアを受け付ける。CPU12は、金額欄62を介して、投資家が取引する金額を受け付ける。CPU12は、新規種別欄631を介して、「売」または「買」のどちらの新規注文であるかを受け付ける。なお、CPU12は、決済種別欄641に新規種別欄631で受け付けた注文の反対取引が選択された状態を表示する。
CPU12は、新規注文欄632を介して新規注文の執行条件およびパラメータを受け付ける。CPU12は、利益確定注文欄642を介して利益確定注文の執行条件およびパラメータを受け付ける。CPU12は、ストップ注文欄643を介してストップ注文の執行条件およびパラメータを受け付ける。
CPU12は、成立反復欄65を介して決済注文が約定した後に再度同じ注文を反復するか否かを受け付ける。図9において「Off」は注文の反復を行わないことを意味する。「PL+Repeat」は、決済注文が約定した際に利益が出た場合には同一条件の注文を反復し、利益が出なかった場合には反復を行わないことを意味する。
図10は、デルタ注文による新規注文を説明する説明図である。縦軸は市場価格を示す。横軸は時間を示す。黒丸は、各時間における市場価格を示す。図10を使用してデルタ注文について説明する。
市場価格は、短期的にみると不規則に変動するが、長期的にみると上昇トレンド相場と下降トレンド相場とを繰り返して周期的に変動する場合が多いことが経験的に知られている。また、トレンド相場の間では、市場価格が狭い価格帯の範囲で変動するいわゆるレンジ相場が発生する場合が多いことも経験的に知られている。
投資家は、市場価格がどのように変動するかを予測して、投資を行う。特に、レンジ相場から上昇トレンド相場に移行するタイミングで取った買いポジションを上昇トレンド相場の終了時に決済すること、およびレンジ相場から下降トレンド相場に移行するタイミングで取った売りポジションを上昇トレンド相場の終了時に決済することにより、投資家は効率良く利益を得ることができる。
図10において、現在時刻をtAで示す。時刻tAにおける市場価格はAである。判定時間幅ΔTの時間Tの開始時刻が時刻tS、終了時刻が時刻tEである。ここで時刻tEは、時刻tAの一つ前のタイムスタンプである。時刻tSから時刻tEまでの時間内における最低市場価格Lおよび最高市場価格Hを図10にHおよびLの記号で示す。
図4を使用して説明したHLDB43の一つのレコードのタイムスタンプフィールドに時刻tEが、市場価格フィールドに時刻tEにおける市場場価格Eが、Lフィールドに最低市場価格Lが、Hフィールドに最高市場価格Hがそれぞれ記録されている。
市場価格が上昇トレンド相場に入った場合には、図10に示すように、市場価格Aと最低市場価格Lとの差が、単位判定価格幅ΔPと判定時間幅ΔTとの積である判定価格幅よりも大きくなる。CPU12は、デルタ注文の条件が満たされたと判定して、約定を行う。ここで、単位判定価格幅ΔPおよび判定時間幅ΔTは、デルタ注文に関するパラメータである。
以上に説明したデルタ注文について、簡単にまとめる。判定時間幅ΔTは、市場価格が上昇トレンド相場または下降トレンド相場に入ったか否かを判定する時間幅を示すパラメータである。単位判定価格幅ΔPは、市場価格が上昇トレンド相場または下降トレンド相場に入ったか否かを判定する単位時間あたりの価格幅を示すパラメータである。
本実施の形態においては、CPU12は、市場価格Aと最低市場価格Lとの差が単位判定価格幅ΔPと判定時間幅ΔTとの積である判定価格幅を超えたことを、市場価格が上昇トレンド相場に入ったことを示す指標に使用する。同様に、CPU12は、最高市場価格Hと市場価格Aとの差が単位判定価格幅ΔPと判定時間幅ΔTとの積である判定価格幅を超えたことを、市場価格が下降トレンド相場に入ったことを示す指標に使用する。
図10に示すように、CPU12が、市場価格が上昇トレンド相場に入った直後である時刻tAに価格Aで買いポジションを取り、市場価格が十分に上昇した時刻tBに市場価格Bで決済することにより、価格Bと価格Aの差額に対応する利益が生じる。同様に、CPU12が、市場価格が下降トレンド相場に入った直後に売りポジションを取り、市場価格が十分に下落した後に決済することにより、売却価格と購入価格の差額に対応する利益が生じる。
上昇トレンド相場が生じると予測している投資家は、デルタ注文による買い注文を指示する。市場価格の推移を投資家自身がリアルタイムで監視しなくても、上昇トレンド相場が生じた場合にはCPU12が自動的に有利なポジションを取る処理を行う。予測が外れて上昇トレンド相場が生じない場合には、CPU12は買いポジションを取る処理を行わないため、損失の発生を回避することが可能である。
下降トレンド相場が生じると予測している投資家は、デルタ注文による売り注文を指示する。市場価格の推移を投資家自身がリアルタイムで監視しなくても、下降トレンド相場が生じた場合にはCPU12が自動的に有利なポジションを取る処理を行う。予測が外れて下降トレンド相場が生じない場合には、CPU12は売りポジションを取る処理を行わないため、損失の発生を回避することが可能である。
CPU12は、最小値幅単位pipsに基づいて単位判定価格幅ΔPおよび判定時間幅ΔTの入力を受け付けても良い。様々な為替ペアを扱う投資家である場合、pipsを使用することにより、外国為替の値動きを把握しやすい場合がある。
CPU12は、単位判定価格幅ΔPの代わりに、判定価格幅の入力を受け付けても良い。判定時間幅ΔTと、判定価格幅とを別々に考慮したい投資家の要望に対応することが可能である。
CPU12は、単位判定価格幅ΔPを市場価格に対する相対値により受け付けても良い。たとえば、注文入力時の市場価格、最高市場価格H、最低市場価格L、または最高市場
価格Hと最低市場価格Lとの平均値のいずれかに対する5%のように定めることができる。
図11は、相対トリガトレール注文による決済注文を説明する説明図である。縦軸は市場価格を示す。横軸は時間を示す。黒丸は、各時間における市場価格を示す。図10を使用して相対トリガトレール注文について説明する。
トレール注文は、市場価格の上昇幅、または下落幅に合わせて、逆指値注文の価格をリアルタイムで自動修正する注文方法であり、ストップ注文に利用されている。相対トリガトレール注文においては、トレール注文の初期値を相対的に定める。
時刻tAにおいて、市場価格Aで買いポジションを取った場合を例にして説明する。ここで買いポジションは、図9を使用して説明したデルタ注文を使用して取ることができる。また従来から広く使用されている指値注文または成行き注文により買いポジションを取っても良い。
CPU12は、買いポジション価格である市場価格Aに利益確定注文のトリガ幅ΔTgを加算した価格を、相対トリガトレール注文のトリガ価格Trigに設定する。CPU12は、買いポジション価格である市場価格Aからストップ注文のトレール幅ΔSを減算した価格S1をストップ注文価格に設定する。ストップ注文価格は、保有しているポジションを反対売買により決済して、損切りを行うストップ注文を実施する逆指値である。
CPU12は、市場価格を逐次取得する。時刻t23における市場価格P23からストップ注文のトレール幅ΔSを減算した価格S2が価格S1より高いので、CPU12はストップ注文価格を価格S2に変更する。同様に、時刻t24における市場価格P24からストップ注文のトレール幅ΔSを減算した価格S3が価格S2より高いので、CPU12は、時刻t24においてストップ注文価格を価格S3に変更する。
時刻t25において、CPU12は市場価格P25がトリガ価格Trigを上回ると判定する。CPU12は、市場価格P25から利益確定注文のトレール幅ΔRを減算した価格M1をトレール価格に設定する。トレール価格は、保有しているポジションを反対売買により決済して、利益を確定する逆指値注文を行う価格である。さらに時刻t25において、CPU12は、ストップ注文を取り消す。
時刻t26における市場価格P26からトレール幅ΔRを減算した価格M2がトレール価格M1より高いので、CPU12は価格M2をトレール価格に設定する。時刻tBにおける市場価格Bがトレール価格M2以下であるので、CPU12は利益確定注文を実施する。
以上に説明した相対トリガトレール注文について、簡単にまとめる。利益確定注文のトリガ幅ΔTgは、相対トリガトレール注文のトレール開始価格を定めるパラメータである。利益確定注文のトレール幅ΔRは、相対トリガトレール注文の逆指値の変動量を定めるパラメータである。
本実施の形態においては、CPU12は、トレール価格のトレールを開始するトリガ価格を、ポジションの取得価格を基準にして相対的に設定する。図10を使用して説明したデルタ注文のように、約定するまでポジションの価格が定まらない場合であっても、CPU12は、投資家が期待する水準および方向の市場価格変動が生じた後に利益確定注文のトレールを開始する。
図11において、たとえば、tAに取得した市場価格Aは第1市場価格の一例である。このとき、tAより後に取得した市場価格P21からP26は、それぞれ第2市場価格の一例である。第2市場価格より後に取得した市場価格Bは、第3市場価格の一例である。
図11においては、買いポジションを取り、売り決済を行う場合を例にして説明した。同様にして、売りポジションを取り、買い決済を行う場合であっても、CPU12は相対トリガトレール注文を実施することが可能である。
外国為替取引においては、ネットワークのタイムラグ等により指値注文であっても注文価格と約定価格とが異なる、いわゆるスリッページが生じる場合がある。相対トリガトレール注文を使用することにより、スリッページが生じた場合であっても、CPU12は、ポジションの約定価格を基準として利益確定注文のトレールを開始するトリガ価格を定めることが可能である。
図12は、受注DB52のレコードレイアウトを示す説明図である。図13は、発注DB53のレコードレイアウトを示す説明図である。図6から図13を使用して、CPU12が行う処理の概要を説明する。また受注DB52および発注DB53の、トリガ値フィールド、トリガ幅フィールド、トレール幅フィールド、ΔPフィールドおよびΔTフィールドに記録される各パラメータについても説明する。
図6は、図9を使用して説明した画面を介してCPU12が取得した3件の新規注文およびそれぞれの決済注文が記録された状態の受注DB52を示す。注文番号101はデルタ注文を使用する新規買い注文であり、注文番号102は相対トリガトレール注文を使用する決済利益確定注文、注文番号103はトレール注文を使用する決済ストップ注文である。注文番号104はデルタ注文を使用する新規売り注文であり、注文番号105は相対トリガトレール注文を使用する決済利益確定注文、注文番号106はトレール注文を使用する決済ストップ注文である。注文番号107は、指値注文を使用する新規買い注文であり、注文番号108は指値注文を使用する決済利益確定注文、注文番号106は逆指値注文を使用する決済ストップ注文である。
注文番号101および注文番号104は、デルタ注文であるので注文価格が未定である。そのため、注文価格フィールドに「−」が記録されている。図10を使用して説明したデルタ注文のパラメータである単位判定価格幅ΔPおよび判定時間幅ΔTが、ΔPフィールドおよびΔTフィールドにそれぞれ記録されている。トリガ値、トリガ幅およびトレール幅のパラメータは指定されていないので、これらのフィールドには「−」が記録されている。
注文番号102および注文番号105は、注文価格が未定である。そのため、注文価格フィールドに「−」が記録されている。図11を使用して説明した相対トリガトレール注文のパラメータであるトリガ幅ΔTgおよびトレール幅ΔRが、トリガ幅フィールドおよびトレール幅フィールドにそれぞれ記録されている。トリガ値、単位判定価格幅ΔPおよび判定時間幅ΔTは指定されていないので、これらのフィールドには「−」が記録されている。
注文番号103および注文番号106も、注文価格が未定である。そのため、注文価格フィールドに「−」が記録されている。図11を使用して説明したトレール注文のパラメータであるトレール幅ΔSが、トレール幅フィールドに記録されている。トリガ値、トリガ幅、単位判定価格幅ΔPおよび判定時間幅ΔTは指定されていないので、これらのフィールドには「−」が記録されている。
注文番号107から109は、指値注文および逆指値注文であるので、注文価格フィールドに価格が記録されている。トリガ値、トリガ幅、トレール幅、単位判定価格幅ΔPおよび判定時間幅ΔTは指定されていないので、これらのフィールドには「−」が記録されている。
新規注文である、注文番号101、注文番号104および注文番号107の注文状況フィールドに「注文中」と記録されている。新規注文が約定していないため、それぞれの新規注文に関連する決済注文の注文状況フィールドには「待機中」と記録されている。
CPU12は、図6を使用して説明した受注DB52を参照して注文状況フィールドに「注文中」と記録されているレコードを抽出し、注文番号フィールドをキーとして発注DB53と照合する。受注DB52から抽出したレコードに発注DB53に記録されていないレコードがある場合には、CPU12は該当するレコードを発注DB53に複写する。図7は、複写が完了した状態の発注DB53を示す。
CPU12は、発注DB53に記録されている各レコードについて、執行条件、各パラメータおよび市場価格に基づき約定可否を判定する。約定可能ではないと判定した場合には、市場価格を取得しなおして、約定可否を判定することを繰り返す。なお、注文価格フィールドに注文価格が記録されていないレコードについては、CPU12は執行条件およびパラメータにより示される条件が満たされたと判定した後に、約定可否を判定する。
約定可能であると判定した場合には、発注DB53は所定の取引プロトコルに従って取引相手との間で約定を行う。金融商品の取引プロトコルは従来から使用されているので説明を省略する。
なお、CPU12は、発注DB53に記録されている複数のレコードに対する処理を並行して実施する。
図12は、注文番号101が約定した後の受注DB52を示す。CPU12は、注文番号101のレコードの注文状況フィールドに、「約定」を記録する。CPU12は、受注DB52の親注文番号フィールドを検索して、注文番号101に対応する決済注文である注文番号102および注文番号103を抽出する。CPU12は、注文番号102および注文番号103のレコードの注文状況フィールドに「注文中」を記録する。
CPU12は、約定済の注文番号101に対応するレコードを、図7を使用して説明した発注DB53から削除する。CPU12は、図12を使用して説明した受注DB52を参照して注文状況フィールドに「注文中」と記録されているレコードを抽出し、注文番号フィールドをキーとして発注DB53と照合する。受注DB52から抽出したレコードのうち注文番号102および注文番号103は発注DB53に記録されていない。したがって、CPU12は注文番号102および注文番号103に対応するレコードを発注DB53に複写する。
CPU12は、相対トリガトレール注文である注文番号102のレコードのトリガ値フィールドに、ポジションの約定価格にトリガ幅ΔTgを加算した値を記録する。CPU12は、トレール注文である注文番号103のレコードの注文価格フィールドに、ポジションの約定価格にトレール幅ΔSを加算した値を記録する。以上の処理が完了した状態の発注DB53を、図13に示す。
CPU12は、発注DB53に追加されたレコードを含む各レコードについて、執行条件、各パラメータおよび市場価格に基づき約定可否を判定する。
図14は、レート記録サーバ21のプログラムの処理の流れを示すフローチャートである。図14を使用して、本実施の形態のレート記録CPU22がHLDB43を生成する処理の流れを説明する。
レート記録CPU22は、ネットワークを介して金融機関サーバ32が提示する市場価格を取得する(ステップS501)。レート記録CPU22は、図4を使用して説明したHDDB43に新しいレコードを作成し、タイムスタンプおよび市場価格をそれぞれのフィールドに記録する(ステップS502)。
レート記録CPU22は、カウンタIを初期値1に設定する(ステップS503)。レート記録CPU22は、図3を使用して説明したデルタTDB42から番号フィールドがカウンタIと一致するレコードを抽出し、ΔTフィールドに記録された判定時間幅ΔTを取得する(ステップS504)。
レート記録CPU22は、HDDB43のタイムスタンプフィールドおよび市場価格フィールドを参照して、直近の判定時間幅ΔTの時間内の市場価格の最高値Hを抽出する(ステップS505)。レート記録CPU22は、HDDB43のタイムスタンプフィールドおよび市場価格フィールドを参照して、直近の判定時間幅ΔTの時間内の市場価格の最低値Lを抽出する(ステップS506)。レート記録CPU22は、ステップS502で作成したレコードの判定時間幅ΔTに対応するLフィールドに最低値Lを、Hフィールドに最高値Hをそれぞれ記録する(ステップS507)。
レート記録CPU22は、デルタTDB42のすべてのレコードの処理を終了したか否かを判定する(ステップS508)。終了していないと判定した場合(ステップS508でNO)、レート記録CPU22はステップS504に戻る。終了したと判定した場合(ステップS508でYES)、レート記録CPU22はプログラムを終了するか否かを判定する(ステップS509)。ここでプログラムを終了すると判定する場合とは、金融商品取引業者から終了の指示を受け付けた場合である。
終了しないと判定した場合(ステップS509でNO)、レート記録CPU22はステップS501に戻る。終了すると判定した場合(ステップS509でYES)、レート記録CPU22は処理を終了する。
図15は、投資家サーバ11のプログラムの処理の流れを示すフローチャートである。図15を使用して、CPU12が行う処理の流れを説明する。なお、図15は1件の新規注文受付、ポジション取得および決済の一連の処理を行うプログラムを示す。CPU12は、新規注文に対応する数のプログラムを、並行して実行する。
CPU12は、注文受付サブルーチンを起動する(ステップS521)。注文受付サブルーチンは、ネットワークを介して投資家クライアント31から注文を受け付けるサブルーチンである。注文受付サブルーチンの処理の流れは後述する。
CPU12は証拠金確認サブルーチンを起動する(ステップS523)。証拠金確認サブルーチンは、証拠金が足りるか否かを確認するサブルーチンである。証拠金確認サブルーチンの処理の流れは後述する。
CPU12は、証拠金確認サブルーチンの処理結果に基づき証拠金が足りるか否かを判定する(ステップS524)。証拠金が足りると判定した場合(ステップS524でYES)、CPU12はポジション取得サブルーチンを起動する(ステップS525)。ポジ
ション取得サブルーチンは、ステップS521で受け付けた注文に基づいて新規ポジションを取得する処理を行うサブルーチンである。ポジション取得サブルーチンの処理の流れは後述する。
CPU12は、ステップS525の処理結果に基づき受注DB52を更新する(ステップS526)。具体的には、約定した場合には約定した新規注文の受注レコードの注文状況フィールドに「約定」と記録し、対応する決済注文の受注レコードの注文状況フィールドに「注文中」と記録する。期限フィールドに記録された期限が到来した等の理由で約定せずにポジション取得サブルーチンを終了した場合には、約定しなかった新規注文および対応する決済注文の注文状況フィールドに「取消」と記録する。
CPU12は、ステップS525の処理結果に基づき発注DB53を更新する(ステップS527)。具体的には、CPU12は、ステップS526で処理を行った発注レコードを削除する。さらに、CPU12は、決済した新規注文に対応する決済注文に関するレコードを受注DB52から発注DB53に複写する。
CPU12は、ステップS525で取得したポジションが存在するか否かを判定する(ステップS528)。存在すると判定した場合(ステップS528でYES)、CPU12はポジション決済サブルーチンを起動する(ステップS529)。ポジション決済サブルーチンは、保有するポジションを決済する処理を行うサブルーチンである。ポジション決済サブルーチンの処理の流れは後述する。
CPU12は、ステップS529の処理結果に基づき受注DB52を更新する(ステップS530)。具体的には、約定した決済注文の受注レコードの注文状況フィールドに「約定」と記録し、約定しなかった決済注文の受注レコードの注文状況フィールドに「取消」と記録する。
CPU12は、発注DB53を更新する(ステップS531)。具体的には、ステップS529で処理を行った発注レコードを削除する。ステップS525で取得したポジションが存在しないと判定した場合(ステップS528でNO)およびステップS531の終了後、CPU12は処理を終了する。
証拠金が足りないと判定した場合(ステップS524でNO)、CPU12はネットワークを介して投資家クライアント31に証拠金が不足する旨を表示する(ステップS535)。CPU12は、ステップS521で受け付けた注文に関するレコードを受注DB52および発注DB53から削除する(ステップS536)。CPU12は、その後処理を終了する。
図16は、注文受付サブルーチンの処理の流れを示すフローチャートである。注文受付サブルーチンは、ネットワークを介して投資家クライアント31から注文を受け付けるサブルーチンである。図16を使用して、注文受付サブルーチンの処理の流れを説明する。
CPU12は、ネットワークを介して投資家クライアント31のCPUに入力画面するために必要な情報を送信する。投資家クライアント31のCPUは、投資家クライアント31の表示部に図9を使用して説明した入力画面を表示する。以下の説明では投資家クライアント31のCPUによる処理を省略して、「CPU12は、投資家クライアント31に入力画面を表示する」のように記載する(ステップS551)。
CPU12は、入力画面を介して外国為替証拠金取引の注文の入力を受け付ける(ステップS552)。CPU12は、入力された注文にエラーがあるか否かを判定する(ステ
ップS553)。エラーがある場合とは、たとえば新規買い注文の指値が市場価格よりも高い場合である。
エラーがあると判定した場合(ステップS553でYES)、CPU12はエラーの内容を投資家クライアント31に表示し(ステップS554)、ステップS551に戻る。エラーが無いと判定した場合(ステップS553でNO)、CPU12は入力を受け付けた注文に対して注文番号を付与する(ステップS555)。
CPU12は、ステップS552で受け付けた注文内容を受注DB52に記録する(ステップS556)。CPU12はステップS552で受け付けた注文内容のうち、新規注文を発注DB53に記録する(ステップS557)。その後CPU12は処理を終了する。
図17は、証拠金確認サブルーチンの処理の流れを示すフローチャートである。証拠金確認サブルーチンは、証拠金が足りるか否かを確認するサブルーチンである。図17を使用して、証拠金確認サブルーチンの処理の流れを説明する。
CPU12は、レートDB41より各外国為替の市場価格を取得する(ステップS571)。CPU12は、ネットワークを介して金融機関サーバ32から直接市場価格を取得しても良い。
CPU12は、変数「合計損益」を初期値0に設定する(ステップS572)。CPU12は、カウンタIを初期値1に設定する(ステップS573)。CPU12は、ポジションDB54よりI番目のポジションレコードを抽出して、式(2)に基づき時価損益を算出する(ステップS574)。
時価損益=(市場価格−約定価格)×取引金額 ‥‥‥ (2)
ここで、市場価格は、保有するポジションを反対取引により決済する際の価格である。
CPU12は、変数「合計損益」にステップS574で算出した時価損益を加算する(ステップS575)。CPU12は、ポジションDB54に記録されたすべてのポジションの処理を終了したか否かを判定する(ステップS576)。終了していないと判定した場合(ステップS576でNO)、CPU12は、カウンタIに1を加算する(ステップS577)。CPU12は、ステップS574に戻る。
すべてのポジションの処理を終了したと判定した場合(ステップS576でYES)、CPU12は、式(3)に基づき有効証拠金を算出する(ステップS581)。
有効証拠金=証拠金+時価損益 ‥‥‥ (3)
CPU12は、発注証拠金更新のサブルーチンを起動する(ステップS582)。発注証拠金更新のサブルーチンは、発注DB53の発注証拠金フィールドに記録されたデータを市場価格に基づいて更新するサブルーチンである。発注証拠金更新のサブルーチンの処理の流れは後述する。
CPU12は、合計発注証拠金算出のサブルーチンを起動する(ステップS583)。合計発注証拠金算出のサブルーチンは、新規注文の発注証拠金を合計した合計発注証拠金を算出するサブルーチンである。合計発注証拠金算出のサブルーチンの処理の流れは後述する。
CPU12は、ポジションDB54の約定価格フィールドに記録された約定価格の総和である合計約定価格に所定の証拠金率を乗じて、必要証拠金を算出する(ステップS58
4)。必要証拠金は、保有しているポジションを維持するために必要な証拠金である。証拠金率は、金融商品取引業者と投資家との間の契約等に定める値であり、たとえば4%である。
CPU12は、有効証拠金が必要証拠金と合計発注証拠金との和以上であるか否かを判定する(ステップS585)。有効証拠金が必要証拠金と合計発注証拠金との和以上であると判定した場合(ステップS585でYES)、CPU12は「証拠金は足りる」と判定して、主記憶装置13または補助記憶装置14に記憶する(ステップS586)。CPU12は、その後処理を終了する。
有効証拠金が必要証拠金と合計発注証拠金との和未満であると判定した場合(ステップS585でNO)、CPU12は「証拠金は足りない」と判定して、主記憶装置13または補助記憶装置14に記憶する(ステップS587)。CPU12は、その後処理を終了する。
図18は、発注証拠金更新サブルーチンの処理の流れを示すフローチャートである。発注証拠金更新のサブルーチンは、発注DB53の発注証拠金フィールドに記録されたデータを市場価格に基づいて更新するサブルーチンである。図18を使用して、発注証拠金更新のサブルーチンの処理の流れを説明する。
CPU12は、レートDB41より各外国為替の市場価格を取得する(ステップS601)。CPU12は、カウンタIを初期値1に設定する(ステップS602)。CPU12は、発注DB53からI番目の発注レコードを取得する(ステップS603)。CPU12は、取得した発注レコードの注文タイプフィールドを参照して、新規注文の発注レコードであるか否かを判定する(ステップS604)。
新規注文の発注レコードであると判定した場合(ステップS604でYES)、CPU12は、執行条件フィールドを参照して発注証拠金が確定しているか否かを判定する(ステップS605)。具体的には、執行条件が「指値」または「逆指値」である場合は、発注証拠金が確定している。執行条件が「デルタ」等の市場価格に応じて注文価格が変動する条件である場合は、発注証拠金が確定していない。
発注証拠金が確定していないと判定した場合(ステップS605でNO)、CPU12は、式(1)に基づいて新たな発注証拠金を算出する(ステップS606)。CPU12は、発注DB53の発注証拠金フィールドを、ステップS606で算出した発注証拠金により更新する(ステップS607)。
新規注文の発注レコードではないと判定した場合(ステップS604でNO)、発注証拠金が確定していると判定した場合(ステップS605でYES)およびステップS607の終了後、CPU12は、発注DB53のすべてのレコードの処理が終了したか否かを判定する(ステップS608)。
終了していないと判定した場合(ステップS608でNO)、CPU12は、カウンタIに1を加算する(ステップS609)。CPU12は、ステップS603に戻る。終了したと判定した場合(ステップS608でYES)、CPU12は処理を終了する。
なお、CPU12は、ステップS601を省略して、呼び出し元のプログラムで取得した市場価格を本サブルーチンでも使用しても良い。市場価格を取得する処理を省略することにより、発注証拠金更新のサブルーチンの処理を早くすることができる。
また、CPU12は、ステップS605とステップS606との間で市場価格を取得しても良い。発注証拠金を算出する直前で市場価格を取得することにより、最新の市場価格を発注証拠金に反映させることができる。
図19は、合計発注証拠金算出サブルーチンの処理の流れを示すフローチャートである。合計発注証拠金算出のサブルーチンは、新規注文の発注証拠金を合計した合計発注証拠金を算出するサブルーチンである。図19を使用して、合計発注証拠金算出のサブルーチンの処理の流れを説明する。
CPU12は、変数「合計発注証拠金」を初期値0に設定する(ステップS621)。CPU12は、カウンタIを初期値1に設定する(ステップS622)。CPU12は、発注DB53からI番目の発注レコードを取得する(ステップS623)。CPU12は、取得した発注レコードの注文タイプフィールドを参照して、新規注文の発注レコードであるか否かを判定する(ステップS624)。
新規注文の発注レコードであると判定した場合(ステップS624でYES)、CPU12は、変数「合計発注証拠金」に、発注証拠金フィールドに記録された発注証拠金を加算する(ステップS625)。
新規注文の発注レコードでないと判定した場合(ステップS624でNO)およびステップS625の終了後、CPU12は、発注DB53のすべてのレコードの処理が終了したか否かを判定する(ステップS626)。
終了していないと判定した場合(ステップS626でNO)、CPU12は、カウンタIに1を加算する(ステップS627)。CPU12は、ステップS623に戻る。終了したと判定した場合(ステップS626でYES)、CPU12は処理を終了する。
図20は、ポジション取得サブルーチンの処理の流れを示すフローチャートである。ポジション取得サブルーチンは、ステップS521で受け付けた注文に基づいて新規ポジションを取得する処理を行うサブルーチンである。図20を使用して、ポジション取得サブルーチンの処理の流れを説明する。なお、本実施の形態においては、ステップS521で取得した新規注文の執行条件は、デルタ注文、指値注文または成行注文のいずれかである。
CPU12は、ステップS521で取得した新規注文の執行条件がデルタ注文であるか否かを判定する(ステップS641)。デルタ注文であると判定した場合(ステップS641でYES)、CPU12は、デルタ判定のサブルーチンを起動する(ステップS642)。デルタ判定のサブルーチンは、市場価格が所定の変動幅を超えて上昇トレンドまたは下降トレンドに移行したか否かを判定するサブルーチンである。デルタ判定のサブルーチンの処理の流れは後述する。
CPU12は、デルタ判定のサブルーチンの処理結果がONであるか否かを判定する(ステップS643)。ONでないと判定した場合(ステップS643でNO)、CPU12は、デルタ注文の処理を終了するか否かを判定する(ステップS644)。たとえば、発注DB53の期限フィールドに記録された期限を過ぎた場合、投資家クライアント31より注文中止の指示を取得した場合、投資家の取引口座が証拠金の残高不足によりロスカットされた場合等に、CPU12は、デルタ注文の処理を終了すると判定する。
終了しないと判定した場合(ステップS644でNO)、CPU12は、ステップS642に戻る。
デルタ注文でないと判定した場合(ステップS641でNO)、CPU12は、ステップS521で取得した新規注文の執行条件が指値注文であるか否かを判定する(ステップS651)。指値注文ではないと判定した場合(ステップS651でNO)およびデルタ判定のサブルーチンの処理結果がONであると判定した場合(ステップS643でYES)、CPU12は、市場価格で約定を行う成行約定の処理を行う(ステップS645)。
指値注文であると判定した場合(ステップS651でYES)、CPU12は、レートDB41より外国為替の市場価格を取得する(ステップS652)。CPU12は、ネットワークを介して金融機関サーバ32から直接市場価格を取得しても良い。
CPU12は、発注レコードの注文価格フィールドに記録された注文価格と市場価格とを比較して、指値注文の成立可否を判定する(ステップS653)。具体的には、買い注文である場合には、CPU12は、注文価格よりも市場価格の方が安い場合に指値注文が成立可能であると判定する。売り注文である場合には、CPU12は、注文価格よりも市場価格の方が高い場合に指値注文が成立可能であると判定する。
成立可でないと判定した場合(ステップS653でNO)、CPU12は、指値注文の処理を終了するか否かを判定する(ステップS654)。たとえば、発注DB53の期限フィールドに記録された期限を過ぎた場合、投資家クライアント31より注文中止の指示を取得した場合、投資家の取引口座が証拠金の残高不足によりロスカットされた場合等に、CPU12は、指値注文の処理を終了すると判定する。指値注文の処理を終了しないと判定した場合(ステップS654でNO)、CPU12はステップS652に戻る。
指値注文が成立可であると判定した場合(ステップS653でYES)、CPU12は、指値注文による約定の処理を行う(ステップS655)。
ステップS645またはステップS655の終了後、CPU12は、ポジションDB54に約定した注文の注文番号、通貨ペア、取引種別、約定価格、取引金額、約定日時および決済注文の番号を記録する(ステップS656)。なお、CPU12は、約定した注文の番号をキーとして受注DB52の親注文番号フィールドを検索することにより決済注文の注文番号および利益確定注文、ストップ注文の別を抽出する。
デルタ注文の処理を終了すると判定した場合(ステップS644でYES)、指値注文の処理を終了すると判定した場合(ステップS654でYES)、およびステップS656の終了後、CPU12は処理を終了する。
図21は、デルタ判定のサブルーチンの処理の流れを示すフローチャートである。デルタ判定のサブルーチンは、市場価格が所定の変動幅を超えて上昇トレンドまたは下降トレンドに移行したか否かを判定するサブルーチンである。図21を使用して、デルタ判定のサブルーチンの処理の流れを説明する。
CPU12は、注文対象の通貨ペアをキーとして、HLDB43より最新のHLレコードを取得する(ステップS671)。CPU12は、注文対象の通貨ペアをキーとして、レートDB41よりレートレコードを取得する(ステップS672)。
CPU12は、ステップS671で取得したHLレコードとステップS672で取得したレートレコードのタイムスタンプフィールドに記録されたタイムスタンプ同士が一致しているか否かを判定する(ステップS673)。一致していると判定した場合(ステップS673でYES)、CPU12はHLDB43より一つ前のHLレコードを取得する(
ステップS674)。
タイムスタンプが一致していないと判定した場合(ステップS673でNO)およびステップS674の終了後、CPU12は、処理中の注文が買い注文であるか否かを判定する(ステップS675)。
買い注文であると判定した場合(ステップS675でYES)、CPU12は、式(4)に基づき市場価格と過去のトレンドと注文時の条件との関係を判定する(ステップS676)。
市場価格−L≧ΔP×ΔT ‥‥‥(4)
市場価格は、ステップS672で取得したレートレコードの買レートフィールドに記録された価格である。
ΔPは、デルタ注文のパラメータである単位判定価格幅ΔPである。
ΔTは、デルタ注文のパラメータである判定時間幅ΔTである。
Lは、ステップS671で取得したHLレコードの、注文条件の判定時間幅ΔTに対応するLフィールドに記録された価格であり、判定時間幅ΔTの期間内の最低価格を示す。
式(4)が真であると判定した場合(ステップS676でYES)、CPU12は、処理結果がONであると判定して、主記憶装置13または補助記憶装置14に記憶する(ステップS677)。CPU12は、その後処理を終了する。
式(4)が偽であると判定した場合(ステップS676でNO)、CPU12は、処理結果が「OFF」であると判定して、主記憶装置13または補助記憶装置14に記憶する(ステップS678)。CPU12は、その後処理を終了する。
買い注文でないと判定した場合(ステップS675でNO)、CPU12は、式(5)に基づき市場価格と過去のトレンドと注文時の条件との関係を判定する(ステップS681)。
H−市場価格≧ΔP×ΔT ‥‥‥(5)
市場価格は、ステップS672で取得したレートレコードの売レートフィールドに記録された価格である。
ΔPは、デルタ注文のパラメータである単位判定価格幅ΔPである。
ΔTは、デルタ注文のパラメータである判定時間幅ΔTである。
Hは、ステップS671で取得したHLレコードの、注文条件の判定時間幅ΔTに対応するHフィールドに記録された価格であり、判定時間幅ΔTの期間内の最高価格を示す。
式(5)が真であると判定した場合(ステップS681でYES)、CPU12は、処理結果がONであると判定して、主記憶装置13または補助記憶装置14に記憶する(ステップS682)。CPU12は、その後処理を終了する。
式(5)が偽であると判定した場合(ステップS681でNO)、CPU12は、処理結果が「OFF」であると判定して、主記憶装置13または補助記憶装置14に記憶する(ステップS683)。CPU12は、その後処理を終了する。
図22は、ポジション決済サブルーチンの処理の流れを示すフローチャートである。ポジション決済サブルーチンは、保有するポジションを決済する処理を行うサブルーチンである。図22を使用して、ポジション決済サブルーチンの処理の流れを説明する。なお、本実施の形態においては、ステップS521で取得した決済利益確定注文の執行条件は、
相対トリガトレール注文または指値注文であり、決済ストップ注文の執行条件はトレール注文である。
CPU12は、ステップS521で取得した新規注文の決済利益確定条件が相対トリガトレール注文であるか否かを判定する(ステップS701)。相対トリガトレール注文であると判定した場合(ステップS701でYES)、CPU12は、レートDB41より外国為替の市場価格を取得する(ステップS702)。
CPU12は、利益確定注文のトレールを開始する利益確定トリガがONであるか否かを判定する(ステップS703)。具体的には、買い注文である場合にはステップS702で取得した市場価格が式(6)および式(7)を満たす場合に、CPU12は利益確定トリガがONであると判定する。
市場価格>トリガ価格Trig‥‥‥ (6)
トリガ価格Trig=新規注文時の約定価格+ΔTg ‥‥‥ (7)
ΔTgは、相対トリガトレール注文のパラメータであるトリガ幅ΔTgである。
同様に、売り注文である場合にはステップS702で取得した市場価格が式(8)および式(9)を満たす場合に、CPU12は利益確定トリガがONであると判定する。
市場価格<トリガ価格Trig ‥‥‥ (8)
トリガ価格Trig=新規注文時の約定価格−ΔTg ‥‥‥ (9)
利益確定トリガがONであると判定した場合(ステップS703でYES)、CPU12は、相対トリガトレール判定のサブルーチンを起動する(ステップS704)。相対トリガトレール判定のサブルーチンは、市場価格に応じて逆指値をトレールしながら相対トリガトレールの条件が満たされたことを判定するサブルーチンである。相対トリガトレール判定のサブルーチンの処理の流れは後述する。CPU12は、相対トリガトレール判定のサブルーチンで定まる条件に基づいて、逆指値約定を行う(ステップS705)。
利益確定トリガがONでないと判定した場合(ステップS703でNO)、CPU12は、ストップトリガ判定のサブルーチンを起動する(ステップS711)。ストップトリガ判定のサブルーチンは、決済ストップ注文により損切りを行うか否かを判定するサブルーチンである。ストップトリガ判定のサブルーチンの処理の流れは後述する。
CPU12は、ストップトリガ判定のサブルーチンの処理結果が「ストップ」であるか否かを判定する(ステップS712)。「ストップ」でないと判定した場合(ステップS712でNO)、CPU12はステップS702に戻る。「ストップ」であると判定した場合(ステップS712でYES)、CPU12は、市場価格で約定を行う成行約定の処理を行う(ステップS713)。
相対トリガトレール注文でないと判定した場合(ステップS701でNO)、CPU12は、レートDB41より外国為替の市場価格を取得する(ステップS721)。CPU12は、決済利益確定注文の指値注文の成立可否を判定する(ステップS722)。成立可であると判定した場合(ステップS722でYES)、CPU12は、決済利益確定注文の執行条件に基づいて、指値約定を行う(ステップS723)。
指値注文が成立可でないと判定した場合(ステップS722でNO)、CPU12は、ストップトリガ判定のサブルーチンを起動する(ステップS724)。ストップトリガ判定のサブルーチンは、ステップS711で起動したサブルーチンと同一のサブルーチンである。
CPU12は、ストップトリガ判定のサブルーチンの処理結果が「ストップ」であるか否かを判定する(ステップS725)。「ストップ」でないと判定した場合(ステップS725でNO)、CPU12はステップS721に戻る。「ストップ」であると判定した場合(ステップS725でYES)、CPU12は、市場価格で約定を行う成行約定の処理を行う(ステップS726)。
ステップS705、ステップS713、ステップS723またはステップS726の終了後、CPU12は、ポジションDB54から決済した新規注文に関するレコードを削除する(ステップS731)。その後、CPU12は処理を終了する。
図23は、ストップトリガ判定サブルーチンの処理の流れを示すフローチャートである。ストップトリガ判定のサブルーチンは、決済ストップ注文により損切りを行うか否かを判定するサブルーチンである。図23を使用して、ストップトリガ判定のサブルーチンの処理の流れを説明する。
CPU12は、判定する対象の注文が売り注文であるか否かを判定する(ステップS752)。売り注文であると判定した場合(ステップS752でYES)、CPU12は、レートDB41より外国為替の市場価格を取得する(ステップS753)。
CPU12は、市場価格がストップ注文のトリガ値以下であるか否かを判定する(ステップS754)。ストップ注文のトリガ値以下でないと判定した場合(ステップS754でNO)、CPU12は、市場価格とトリガ値との関係が式(10)を満たすか否かを判定する(ステップS755)。
市場価格−ΔS>トリガ値 ‥‥‥ (10)
ΔSは、ストップ注文のトレール幅ΔSである。
式(10)が真であると判定した場合(ステップS755でYES)、CPU12は、トリガ値を式(10)の左辺の値に変更する(ステップS756)。ステップS756の処理により、CPU12は市場価格の上昇に追従して売り注文のストップ注文価格を変更、すなわちトレールする。
式(10)が真でないと判定した場合(ステップS755でNO)およびステップS756の終了後、CPU12は、処理結果が「継続」であると判定して、主記憶装置13または補助記憶装置14に記憶する(ステップS757)。CPU12は、その後処理を終了する。
売り注文でないと判定した場合(ステップS752でNO)、CPU12は、レートDB41より外国為替の市場価格を取得する(ステップS761)。
CPU12は、市場価格がストップ注文のトリガ値以上であるか否かを判定する(ステップS762)。ストップ注文のトリガ値以上でないと判定した場合(ステップS762でNO)、CPU12は、市場価格とトリガ値との関係が式(11)を満たすか否かを判定する(ステップS763)。
市場価格+ΔS>トリガ値 ‥‥‥ (11)
ΔSは、ストップ注文のトレール幅ΔSである。
式(11)が真であると判定した場合(ステップS763でYES)、CPU12は、トリガ値を式(10)の左辺の値に変更する(ステップS764)。ステップS764の処理により、CPU12は市場価格の下落に追従して買い注文のストップ注文価格を変更、すなわちトレールする。
式(11)が真でないと判定した場合(ステップS763でNO)およびステップS764の終了後、CPU12は、処理結果が「継続」であると判定して、主記憶装置13または補助記憶装置14に記憶する(ステップS765)。CPU12は、その後処理を終了する。
売り注文で市場価格がストップ注文のトリガ値以下であると判定した場合(ステップS754でYES)、および、買い注文で市場価格がストップ注文のトリガ値以上であると判定した場合(ステップS762でYES)、CPU12は、処理結果が「ストップ」であると判定して、主記憶装置13または補助記憶装置14に記憶する(ステップS771)。CPU12は、その後処理を終了する。
図24は、相対トリガトレール判定サブルーチンの処理の流れを示すフローチャートである。相対トリガトレール判定のサブルーチンは、市場価格に応じて逆指値をトレールしながら相対トリガトレールの条件が満たされたことを判定するサブルーチンである。図24を使用して、相対トリガトレール判定のサブルーチンの処理の流れを説明する。
CPU12は、判定する対象の注文が売り注文であるか否かを判定する(ステップS791)。売り注文であると判定した場合(ステップS791でYES)、CPU12は、注文価格を市場価格から利益確定注文のトレール幅ΔRを減算した値に設定する(ステップS792)。ここで、注文価格は逆指値注文価格である。
CPU12は、レートDB41より外国為替の市場価格を取得する(ステップS793)。CPU12は、市場価格から利益確定注文のトレール幅ΔRを減算した値が注文価格以上であるか否かを判定する(ステップS794)。以上ではないと判定した場合(ステップS794でNO)、CPU12はステップS792に戻る。
以上であると判定した場合(ステップS794でYES)、CPU12は市場価格が注文価格以下であるか否かを判定する(ステップS795)。以下ではないと判定した場合(ステップS795でNO)、CPU12はステップS793に戻る。
売り注文でないと判定した場合(ステップS791でNO)、CPU12は、注文価格を市場価格に利益確定注文のトレール幅ΔRを加算した値に設定する(ステップS796)。ここで、注文価格は逆指値注文価格である。
CPU12は、レートDB41より外国為替の市場価格を取得する(ステップS797)。CPU12は、市場価格に利益確定注文のトレール幅ΔRを加算した値が注文価格以下であるか否かを判定する(ステップS798)。以下ではないと判定した場合(ステップS798でNO)、CPU12はステップS796に戻る。
以下であると判定した場合(ステップS798でYES)、CPU12は市場価格が注文価格以上であるか否かを判定する(ステップS799)。以上ではないと判定した場合(ステップS799でNO)、CPU12はステップS797に戻る。
売り注文で市場価格が注文価格以下であると判定した場合(ステップS795でYES)、および、買い注文で市場価格が注文価格以上であると判定した場合(ステップS799でYES)、CPU12は処理を終了する。
なお、CPU12は、新規注文のみを受け付けても良い。たとえば、長期保有を望む投資家、および市場価格をリアルタイムに確認して成行注文で決済を行いたい投資家の場合
には、ポジション取得のみを本実施の形態の取引装置に任せることができる。同様に、CPU12は既に保有しているポジションの決済注文のみを受け付けても良い。
本実施の形態によると、図10を使用して説明したデルタ注文による新規注文を行なうことによりトレンド相場の初期に自動的に有利なポジションを取る取引装置を実現することができる。
本実施の形態によると、図11を使用して説明した相対トリガトレール注文による決済注文を行い、トレンド相場のピークを検出した直後の有利な条件で自動的にポジションを決済する取引装置を実現することができる。
本実施の形態によると、デルタ注文の他に、従来から使用されている指値注文または成行き注文による新規注文も処理することが可能な取引装置を実現することができる。また、相対トリガトレール注文の他に指値注文による決済利益確定注文も処理することが可能な取引装置を実現することが可能な取引装置を実現することができる。新規注文の執行条件と決済注文との執行条件とを、任意に組み合わせて実施することが可能な取引装置を実現することができる。
[実施の形態2]
本実施の形態は、CPU12がトレール価格の相対トリガトレールを開始した後も、トリガ価格よりも不利な価格では約定しない取引装置に関する。実施の形態1と共通する部分については説明を省略する。
図25は、実施の形態2の相対トリガトレール注文による決済注文を説明する説明図である。縦軸は市場価格を示す。横軸は時間を示す。黒丸は、各時間における市場価格を示す。図25を使用して本実施の形態の相対トリガトレール注文について説明する。
時刻tAからt24までは、図11と同一であるので説明を省略する。時刻t25および時刻t26におけるトレール価格M1およびトレール価格M2の推移も図11と同一であるので説明を省略する。
時刻t25における市場価格P25からストップ注文のトレール幅ΔSを減算した価格S4が価格S3より高いので、CPU12は、時刻t25においてストップ注文価格を価格S4に変更する。同様に、時刻t26における市場価格P26からストップ注文のトレール幅ΔSを減算した価格S5が価格S4より高いので、CPU12は、時刻t26においてストップ注文価格を価格S5に変更する。
時刻t27における市場価格P27は、トレール価格M2よりも安いので逆指値注文は成立可能である。しかし、P27は相対トリガトレール注文のトリガ価格Trigよりも安いため、本実施の形態のCPU12は利益確定注文を実施しない。
時刻tBにおける市場価格Bはトレール価格M2以下であり、かつ、トリガ価格Trigより高いので、CPU12は利益確定注文を実施する。
以上に説明した本実施の形態の相対トリガトレール注文について、簡単にまとめる。本実施の形態においては、CPU12は、トレール価格のトレールを開始するトリガ価格を、ポジションの取得価格を基準にして相対的に設定する。トレールを開始した後であっても、トリガ価格よりも不利な価格では注文を実施しない。トレールを開始した後、相場が大きく反転した場合には、ストップ価格で注文を実施して、大きな損失の発生を防止する。
図26は、実施の形態2のポジション決済のサブルーチンの処理の流れを示すフローチャートである。図26に示すサブルーチンは、図22を使用して説明したポジション決済のサブルーチンの代わりに使用するサブルーチンである。
ステップS701からステップS704までは、図22と同一であるので説明を省略する。相対トリガトレール判定のサブルーチン(ステップS704)の終了後、CPU12は市場価格がトリガ価格Trigよりも投資家にとって有利であるか否かを判定する(ステップS801)。
具体的には、売り注文である場合には、市場価格がトリガ価格Trigよりも高い場合に、CPU12は投資家にとって有利であると判定する。売り注文である場合には、市場価格がトリガ価格Trigよりも安い場合に、CPU12は投資家にとって有利であると判定する。
有利でないと判定した場合(ステップS801でNO)、CPU12はステップS702に戻る。有利であると判定した場合(ステップS801でYES)、CPU12は、相対トリガトレール判定のサブルーチンで定まる条件に基づいて、逆指値約定を行う(ステップS705)。ステップS705以降は、図22と同一の処理であるので説明を省略する。
本実施の形態によると、一瞬の価格変動によりストップ価格のトレールを開始した後に、トリガ価格よりも不利な価格で約定することを防止する取引装置を提供することが可能である。
[実施の形態3]
本実施の形態は、新規注文時に相対トリガトレールを行う取引装置に関する。実施の形態1と共通する部分については説明を省略する。
図27は、実施の形態3の投資家クライアント31の入力画面例を示す説明図である。図27に示す入力画面例では、図9を使用して説明した入力画面例の新規注文欄632に「相対トリガトレール」の欄が設けられている。
図28は、実施の形態3の相対トリガトレール注文による新規注文を説明する説明図である。縦軸は市場価格を示す。横軸は時間を示す。黒丸は、各時間における市場価格を示す。図28を使用して相対トリガトレール注文について説明する。
時刻t31において、投資家クライアント31を介して相対トリガトレールによる新規買い注文を受け付けた場合を例にして説明する。CPU12は、時刻t31における市場価格P31から新規注文のトリガ幅ΔTgを減算した価格を、相対トリガトレール注文のトリガ価格Trigに設定する。
CPU12は、市場価格を逐次取得する。時刻t32における市場価格P32および時刻T33における市場価格P33はトリガ価格Trigより高いので、CPU12は市場価格の取得を継続する。
時刻t34において、CPU12は市場価格P34がトリガ価格Trigを下回ると判定する。CPU12は、市場価格P34に新規注文のトレール幅ΔRを加算して狙い価格N1を設定する。狙い価格N1は、新たに買いポジションを取得する新規注文を実施する逆指値である。
時刻t35における市場価格P35に新規注文のトレール幅ΔRを加算した値が狙い価格N1よりも安いので、CPU12は市場価格P35に新規注文のトレール幅ΔRを加算した狙い価格N2を設定する。時刻tAにおける市場価格Aが狙い価格N2以上であるので、CPU12は新規注文を実施する。
以上に説明した相対トリガトレール注文について、簡単にまとめる。新規注文のトリガ幅ΔTgは、相対トリガトレール注文のトレール開始価格を定めるパラメータである。新規注文のトレール幅ΔRは、相対トリガトレール注文の逆指値の変動量を定めるパラメータである。
本実施の形態においては、CPU12は、新規注文価格のトレールを開始するトリガ価格を、買い注文を受け付けた際の市場価格を基準にして相対的に設定する。CPU12は、投資家が期待する水準および方向の市場価格変動が生じた後に新規注文のトレールを開始する。
図29は、実施の形態3のポジション取得サブルーチンの処理の流れを示すフローチャートである。図29に示すサブルーチンは、図20を使用して説明したポジション取得のサブルーチンの代わりに使用するサブルーチンである。なお、本実施の形態においては、ステップS521で取得した新規注文の執行条件は、デルタ注文、相対トリガトレール注文または成行注文のいずれかである。
ステップS641からステップS644までは、図20と同一であるので説明を省略する。デルタ注文でないと判定した場合(ステップS641でNO)、CPU12は、ステップS521で取得した新規注文の執行条件が相対トリガトレール注文であるか否かを判定する(ステップS841)。相対トリガトリガトレール注文ではないと判定した場合(ステップS841でNO)およびデルタ判定のサブルーチンの処理結果がONであると判定した場合(ステップS643でYES)、CPU12は、市場価格で約定を行う成行約定の処理を行う(ステップS645)。
相対トリガトレール指値注文であると判定した場合(ステップS841でYES)、CPU12は、レートDB41より外国為替の市場価格を取得する(ステップS842)。CPU12は、ネットワークを介して金融機関サーバ32から直接市場価格を取得しても良い。
CPU12は、発注DB53のトリガ幅フィールドに記録されたトリガ幅ΔTと市場価格とに基づき、トリガ価格Trigを算出する(ステップS843)。具体的には、買い注文である場合には、市場価格からトリガ幅ΔTを減算してトリガ価格Trigを算出する。売り注文である場合には、市場価格にトリガ幅ΔTを加算してトリガ価格Trigを算出する。
CPU12は、レートDB41より外国為替の市場価格を取得する(ステップS844)。CPU12は、トリガ価格Trigと市場価格とを比較して、トリガがONになるか否かを判定する(ステップS845)。具体的には、買い注文である場合には、CPU12は、トリガ価格Trigよりも市場価格の方が安い場合にトリガがONであると判定する。売り注文である場合には、CPU12は、トリガ価格Trigよりも市場価格の方が高い場合にトリガがONであると判定する。
トリガがONでないと判定した場合(ステップS845でNO)、CPU12は、相対トリガトレール注文の処理を終了するか否かを判定する(ステップS846)。たとえば
、発注DB53の期限フィールドに記録された期限を過ぎた場合、投資家クライアント31より注文中止の指示を取得した場合、投資家の取引口座が証拠金の残高不足によりロスカットされた場合等に、CPU12は、指値注文の処理を終了すると判定する。相対トリガトレール注文の処理を終了しないと判定した場合(ステップS846でNO)、CPU12はステップS844に戻る。
トリガがONであると判定した場合(ステップS845でYES)、CPU12は、図24を使用して説明した相対トリガトレール判定のサブルーチンを起動する(ステップS831)。CPU12は、相対トリガトレール判定のサブルーチンで定まる条件に基づいて、逆指値約定を行う(ステップS832)。
ステップS645またはステップS832の終了後、CPU12は、ポジションDB54に約定した注文の注文番号、通貨ペア、取引種別、約定価格、取引金額、約定日時および決済注文の番号を記録する(ステップS656)。
デルタ注文の処理を終了すると判定した場合(ステップS644でYES)、相対トリガトレール注文の処理を終了すると判定した場合(ステップS846でYES)、およびステップS656の終了後、CPU12は処理を終了する。
なお、相対トリガトレール注文ではないと判定した後(ステップS841でNO)、図20を使用して説明した実施の形態1のポジション取得のサブルーチンのステップS651と同様に、指値注文であるか否かを判定しても良い。
本実施の形態によると、市場価格の変動予測に基づいた新規注文を受け付ける取引装置を提供することが可能である。たとえば様々な通貨ペアに投資する投資家は、それぞれの通貨ペアの市場価格自体を確認せずに、上昇または下降の程度の予測に基づいて新規注文を行うことができる。
本実施の形態によると、図28を使用して説明した相対トリガトレール注文による決済注文を行い、トレンド相場の谷を検出した直後の有利な条件で自動的にポジションを取得する取引装置を実現することができる。
[実施の形態4]
本実施の形態は、約定の直前に証拠金の確認を行う取引装置に関する。実施の形態3と共通する部分については、説明を省略する。
図30は、実施の形態4のポジション取得サブルーチンの処理の流れを示すフローチャートである。図30に示すサブルーチンは、図29を使用して説明したポジション取得のサブルーチンの代わりに使用するサブルーチンである。なお、本実施の形態においては、ステップS521で取得した新規注文の執行条件は、デルタ注文、相対トリガトレール注文または成行注文のいずれかである。
ステップS641からステップS644まで、およびステップS841からステップS846までは、図29と同一であるので説明を省略する。
相対トリガトリガトレール注文ではないと判定した場合(ステップS841でNO)およびデルタ判定のサブルーチンの処理結果がONであると判定した場合(ステップS643でYES)、CPU12は、図17を使用して説明した証拠金確認のサブルーチンを起動する(ステップS851)。
CPU12は、証拠金確認サブルーチンの処理結果に基づき証拠金が足りるか否かを判定する(ステップS852)。証拠金が足りると判定した場合(ステップS852でYES)、CPU12は、市場価格で約定を行う成行約定の処理を行う(ステップS645)。証拠金が足りないと判定した場合(ステップS852でNO)、CPU12は処理を終了する。
トリガ価格Trigと市場価格とを比較して、トリガがONであると判定した場合(ステップS845でYES)、CPU12は、図24を使用して説明した相対トリガトレール判定のサブルーチンを起動する(ステップS831)。CPU12は、図17を使用して説明した証拠金確認のサブルーチンを起動する(ステップS856)。
CPU12は、証拠金確認サブルーチンの処理結果に基づき証拠金が足りるか否かを判定する(ステップS847)。証拠金が足りると判定した場合(ステップS847でYES)、CPU12は、ステップS831の相対トリガトレール判定のサブルーチンで定まる条件に基づいて、逆指値約定を行う(ステップS832)。証拠金が足りないと判定した場合(ステップS847でNO)、CPU12は処理を終了する。
ステップS645またはステップS832の終了後、CPU12は、ポジションDB54に約定した注文の注文番号、通貨ペア、取引種別、約定価格、取引金額、約定日時および決済注文の番号を記録する(ステップS656)。
デルタ注文の処理を終了すると判定した場合(ステップS644でYES)、相対トリガトレール注文の処理を終了すると判定した場合(ステップS846でYES)、およびステップS656の終了後、CPU12は処理を終了する。
前述のとおり、CPU12は図15を使用して説明したプログラムを複数並行して実行する。CPU12は、ステップS851またはステップ856の証拠金確認のサブルーチンの起動からステップS645またはステップS832の約定までの間はプログラムの処理の優先度を高くして、短時間で処理を行うことが望ましい。
本実施の形態によると、約定直前に証拠金を確認することにより、約定した直後にロスカットが生じて投資家が損失をうけることを防止する取引装置を提供することができる。
[実施の形態5]
図31は、実施の形態5の取引装置の動作を示す機能ブロック図である。本実施の形態の取引装置の一例である投資家サーバ11は、CPU12による制御に基づいて以下のように動作する。
投資家サーバ11は、条件取得部81と、市場価格取得部82と、トリガ算出部83と、逆指値算出部84と、約定部85とを備える。条件取得部81は、金融商品の市場価格に関するトリガ幅とトレール幅とを取得する。市場価格取得部82は、金融商品の市場価格を逐次取得する。トリガ算出部83は、所定の条件で市場価格取得部82が取得した第1市場価格に条件取得部81が取得したトリガ幅を加算したトリガ価格を算出する。逆指値算出部84は、市場価格取得部82が第1市場価格よりも後に取得した第2市場価格とトリガ価格とを比較して第2市場価格の方が高い場合に、第2市場価格から条件取得部81が取得したトレール幅を減算した逆指値を算出する。約定部85は、市場価格取得部82が第2市場価格よりも後に取得した第3市場価格が、逆指値算出部84が算出した逆指値以下である場合に売りの約定を行う。
[実施の形態6]
実施の形態6は、汎用のコンピュータとプログラム71とを組み合わせて動作させることにより、本実施の形態の取引装置を実現する形態に関する。図32は、実施の形態6の取引システム10の構成を示す説明図である。図32を使用して、本実施の形態の構成を説明する。なお、実施の形態1と共通する部分の説明は省略する。
本実施の形態の取引システム10は、取引システム10は、投資家マシン74、レート記録マシン75、投資家クライアント31、金融機関サーバ32およびこれらを相互に接続するネットワークを含む。
金融商品取引業者が管理および運用を行う投資家マシン74およびレート記録マシン75は、汎用のパーソナルコンピュータ、大型計算機等の情報機器等である。また、本実施の形態の投資家マシン74およびレート記録マシン75は、大型計算機上で動作する仮想マシンでも良い。
投資家マシン74は、CPU12、主記憶装置13、補助記憶装置14、通信部15、読取部16およびバスを備える。レート記録マシン75は、レート記録CPU22、主記憶装置23、補助記憶装置24、通信部25およびバスを備える。
プログラム71は、可搬型記録媒体72に記録されている。CPU12は、読取部16を介してプログラム71を読み込み、補助記憶装置14に保存する。またCPU12は、投資家マシン74内に実装されたフラッシュメモリ等の半導体メモリ73に記憶されたプログラム71を読出しても良い。さらに、CPU12は、通信部15およびネットワークを介して接続される図示しない他のサーバコンピュータからプログラム71をダウンロードして補助記憶装置14に保存しても良い。
プログラム71のうち、投資家マシン74が実行する部分は、投資家マシン74の制御プログラムとしてインストールされ、主記憶装置13にロードして実行される。これにより、投資家マシン74は上述した投資家サーバ11として機能する。
また、プログラム71のうちレート記録マシン75が実行する部分はネットワークを介してレート記録マシン75の制御プログラムとしてインストールされ、主記憶装置23にロードして実行される。これにより、レート記録マシン75は上述したレート記録サーバ21として機能する。
各実施例で記載されている技術的特徴(構成要件)はお互いに組合せ可能であり、組み合わせすることにより、新しい技術的特徴を形成することができる。
今回開示された実施の形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
10 取引システム
11 投資家サーバ(取引装置)
12 CPU
13 主記憶装置
14 補助記憶装置
15 通信部
16 読取部
21 レート記録サーバ
22 レート記録CPU
23 主記憶装置
24 補助記憶装置
25 通信部
31 投資家クライアント
32 金融機関サーバ
41 レートDB
42 デルタTDB
43 HLDB
51 投資家情報DB
52 受注DB
53 発注DB
54 ポジションDB
61 通貨ペア欄
62 金額欄
63 新規欄
631 新規種別欄
632 新規注文欄
64 決済欄
641 決済種別欄
642 利益確定注文欄
643 ストップ注文欄
65 反復欄
71 プログラム
72 可搬型記録媒体
73 半導体メモリ
74 投資家マシン
75 レート記録マシン
81 条件取得部
82 市場価格取得部
83 トリガ算出部
84 逆指値算出部
85 約定部

Claims (11)

  1. 金融商品の市場価格に関するトリガ幅と、第1トレール幅と、第2トレール幅とを取得する条件取得部と、
    金融商品の市場価格を逐次取得する市場価格取得部と、
    所定の条件で前記市場価格取得部が取得した第1市場価格に前記トリガ幅を加算したトリガ価格を算出するトリガ算出部と、
    前記第1市場価格から前記第2トレール幅を減算したストップ価格を算出するストップ算出部と、
    前記市場価格取得部が前記第1市場価格よりも後に取得した第2市場価格と前記トリガ価格とを比較して前記第2市場価格の方が高い場合に、前記第2市場価格から前記第1トレール幅を減算した逆指値を算出する逆指値算出部と、
    前記市場価格取得部が前記第2市場価格よりも後に取得した第3市場価格が、前記逆指値算出部が算出した逆指値以下である場合、および、前記第3市場価格が前記ストップ価格以下である場合に売りの約定を行う約定部と
    を備える取引装置。
  2. 前記逆指値算出部は、前記第3市場価格から前記第1トレール幅を減算した値が前記逆指値を上回る場合に、前記第3市場価格から前記第1トレール幅を減算した新たな逆指値を算出する
    請求項1に記載の取引装置。
  3. 金融商品の市場価格に関するトリガ幅と、第1トレール幅と、第2トレール幅とを取得する条件取得部と、
    金融商品の市場価格を逐次取得する市場価格取得部と、
    所定の条件で前記市場価格取得部が取得した第1市場価格から前記トリガ幅を減算したトリガ価格を算出するトリガ算出部と、
    前記第1市場価格に前記第2トレール幅を加算したストップ価格を算出するストップ算出部と、
    前記市場価格取得部が前記第1市場価格よりも後に取得した第2市場価格と前記トリガ価格とを比較して前記第2市場価格の方が安い場合に、前記第2市場価格に前記第1トレール幅を加算した逆指値を算出する逆指値算出部と、
    前記市場価格取得部が前記第2市場価格よりも後に取得した第3市場価格が、前記逆指値算出部が算出した逆指値以上である場合、および、前記第3市場価格が前記ストップ価格以上である場合に買いの約定を行う約定部と
    を備える取引装置。
  4. 前記逆指値算出部は、前記第3市場価格に前記第1トレール幅を加算した値が前記逆指値を下回る場合に、前記第3市場価格に前記第1トレール幅を加算した新たな逆指値を算出する
    請求項3に記載の取引装置。
  5. 前記金融商品は、担保にした有効証拠金以上の金額で外貨を取引可能な外国為替証拠金取引であり、
    前記条件取得部は、新規または決済の取引区分と、取引金額とをさらに取得し、
    前記取引区分が新規である場合に、前記第1市場価格と前記取引金額とに基づいて約定した場合の前記有効証拠金の過不足を判定する証拠金判定部を備える
    請求項1から請求項4のいずれか一つに記載の取引装置。
  6. 前記第1市場価格は決済対象のポジションの取得価格である
    請求項1から請求項5のいずれか一つに記載の取引装置。
  7. 前記約定部は、保有しているポジションを決済する約定を行う請求項1から請求項6のいずれか一つに記載の取引装置。
  8. 金融商品の市場価格に関するトリガ幅と、第1トレール幅と、第2トレール幅とを取得し、
    所定の条件で取得した第1市場価格に前記トリガ幅を加算したトリガ価格を算出し、
    前記第1市場価格から前記第2トレール幅を減算したストップ価格を算出し、
    前記第1市場価格よりも後に取得した第2市場価格と前記トリガ価格とを比較して前記第2市場価格の方が高い場合に、前記第2市場価格から前記第1トレール幅を減算した逆指値を算出し、
    前記第2市場価格よりも後に取得した第3市場価格が、前記逆指値以下である場合、および、前記第3市場価格が前記ストップ価格以下である場合に売りの約定を行う
    処理をコンピュータに実行させる取引プログラム。
  9. 金融商品の市場価格に関するトリガ幅と、第1トレール幅と、第2トレール幅とを取得し、
    所定の条件で取得した第1市場価格から前記トリガ幅を減算したトリガ価格を算出し、
    前記第1市場価格に前記第2トレール幅を加算したストップ価格を算出し、
    前記第1市場価格よりも後に取得した第2市場価格と前記トリガ価格とを比較して前記第2市場価格の方が安い場合に、前記第2市場価格に前記第1トレール幅を加算した逆指値を算出し、
    前記第2市場価格よりも後に取得した第3市場価格が、前記逆指値以上である場合、および、前記第3市場価格が前記ストップ価格以上である場合に買いの約定を行う
    処理をコンピュータに実行させる取引プログラム。
  10. 金融商品の市場価格に関するトリガ幅と、第1トレール幅と、第2トレール幅とを取得し、
    所定の条件で取得した第1市場価格に前記トリガ幅を加算したトリガ価格を算出し、
    前記第1市場価格から前記第2トレール幅を減算したストップ価格を算出し、
    前記第1市場価格よりも後に取得した第2市場価格と前記トリガ価格とを比較して前記第2市場価格の方が高い場合に、前記第2市場価格から前記第1トレール幅を減算した逆指値を算出し、
    前記第2市場価格よりも後に取得した第3市場価格が、前記逆指値以下である場合、および、前記第3市場価格が前記ストップ価格以下である場合に売りの約定を行う
    処理をコンピュータに実行させる取引方法。
  11. 金融商品の市場価格に関するトリガ幅と、第1トレール幅と、第2トレール幅とを取得し、
    所定の条件で取得した第1市場価格から前記トリガ幅を減算したトリガ価格を算出し、
    前記第1市場価格に前記第2トレール幅を加算したストップ価格を算出し、
    前記第1市場価格よりも後に取得した第2市場価格と前記トリガ価格とを比較して前記第2市場価格の方が安い場合に、前記第2市場価格に前記第1トレール幅を加算した逆指値を算出し、
    前記第2市場価格よりも後に取得した第3市場価格が、前記逆指値以上である場合、および、前記第3市場価格が前記ストップ価格以上である場合に買いの約定を行う
    処理をコンピュータに実行させる取引方法。
JP2016207120A 2016-10-21 2016-10-21 取引装置、取引プログラムおよび取引方法 Active JP6832126B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016207120A JP6832126B2 (ja) 2016-10-21 2016-10-21 取引装置、取引プログラムおよび取引方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016207120A JP6832126B2 (ja) 2016-10-21 2016-10-21 取引装置、取引プログラムおよび取引方法

Publications (2)

Publication Number Publication Date
JP2018067255A JP2018067255A (ja) 2018-04-26
JP6832126B2 true JP6832126B2 (ja) 2021-02-24

Family

ID=62086195

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016207120A Active JP6832126B2 (ja) 2016-10-21 2016-10-21 取引装置、取引プログラムおよび取引方法

Country Status (1)

Country Link
JP (1) JP6832126B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7030294B1 (ja) 2020-10-19 2022-03-07 株式会社シンフォー 注文処理管理システムおよび注文処理管理方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3734168B2 (ja) * 2002-07-19 2006-01-11 カブドットコム証券株式会社 発注条件を自動設定する売買注文処理システム及び売買注文の処理方法
JP2008040689A (ja) * 2006-08-03 2008-02-21 Mitsubishi Corporation Futures & Securities Ltd 売買注文処理システム
JP2009217796A (ja) * 2008-02-15 2009-09-24 Sony Corp 外国為替証拠金取引サーバ、外国為替証拠金取引システム、これらの処理方法およびプログラム
JP5727644B1 (ja) * 2014-04-03 2015-06-03 株式会社マネースクウェアHd 金融商品取引管理装置、金融商品取引管理システム、金融商品取引管理システムにおける金融商品取引管理方法、プログラム

Also Published As

Publication number Publication date
JP2018067255A (ja) 2018-04-26

Similar Documents

Publication Publication Date Title
Jang et al. Liquidity premia and transaction costs
US6493682B1 (en) Optimal order choice: evaluating uncertain discounted trading alternatives
US8489491B2 (en) Method of managing financial instruments, equipment lease derivatives and other collateral instruments, data architecture, application and process program
US8812388B2 (en) Systems and methods for multi-style portfolio (MSP) cash flow enhancement
KR102447254B1 (ko) 고속 거래 체결을 지원하는 거래소 운영 방법 및 시스템
Yoshimori Shadow Exchange Rates–Changing the Winds with Headwinds and Tailwinds
JP2011227796A (ja) 取引タイプ判別装置
JP6810574B2 (ja) 取引装置、取引プログラムおよび取引方法
JP6832126B2 (ja) 取引装置、取引プログラムおよび取引方法
WO2016012217A1 (en) Computer systems and methods for balancing indexes
Noss et al. The October 2016 sterling flash episode: when liquidity disappeared from one of the world's most liquid markets
JP6999077B2 (ja) 取引装置、取引プログラムおよび取引方法
JP6832127B2 (ja) 取引装置、取引プログラムおよび取引方法
US20160247225A1 (en) Option Box Volatility Indexes
KR102447258B1 (ko) 투자 가이드 모델을 지원하는 거래소 운영 방법 및 시스템
Blose et al. Overnight versus day returns in gold and gold related assets
JP2003323546A (ja) L/sファンド運用システム
JP2002304520A (ja) ポートフォリオ価値算出装置、方法、プログラムおよび該プログラムを記録した記録媒体
Semnarayan et al. The investment return puzzle on the Johannesburg Stock Exchange
Nazir et al. Impact of Firm-Specific Factors on the Stock Prices: New Insight from Emerging Market of Asia
JP2006039649A (ja) 投資信託販売システムおよびコンピュータプログラム
TWI564833B (zh) 美式下限失效障礙型賣權的靜態避險方法、使用該方法之電子設備及電腦可讀取的紀錄媒體
Mortimore et al. Volatility Modelling in the Swedish and US Fixed Income Market: A comparative study of GARCH, ARCH, E-GARCH and GJR-GARCH Models on Government Bonds
Buckle et al. Financial markets: Introduction
TWI502534B (zh) 美式下限失效障礙型買權的靜態避險方法、使用該方法之電子設備及電腦可讀取的紀錄媒體

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190918

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200730

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210113

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210126

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210201

R150 Certificate of patent or registration of utility model

Ref document number: 6832126

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250