JP6810574B2 - Trading equipment, trading programs and trading methods - Google Patents
Trading equipment, trading programs and trading methods Download PDFInfo
- Publication number
- JP6810574B2 JP6810574B2 JP2016207122A JP2016207122A JP6810574B2 JP 6810574 B2 JP6810574 B2 JP 6810574B2 JP 2016207122 A JP2016207122 A JP 2016207122A JP 2016207122 A JP2016207122 A JP 2016207122A JP 6810574 B2 JP6810574 B2 JP 6810574B2
- Authority
- JP
- Japan
- Prior art keywords
- order
- margin
- cpu
- price
- field
- 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
Links
- 238000000034 method Methods 0.000 title claims description 65
- 230000008569 process Effects 0.000 claims description 60
- 230000007812 deficiency Effects 0.000 claims description 5
- 238000012545 processing Methods 0.000 description 86
- 238000010586 diagram Methods 0.000 description 17
- 238000012790 confirmation Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 11
- 239000000284 extract Substances 0.000 description 10
- 230000010365 information processing Effects 0.000 description 6
- 230000007704 transition Effects 0.000 description 4
- 230000007423 decrease Effects 0.000 description 2
- 230000002349 favourable effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Landscapes
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Description
本発明は、取引装置、取引プログラムおよび取引方法に関する。 The present invention relates to a trading device, a trading program and a trading method.
投資家のコンピュータと金融商品取引業者のコンピュータとを通信回線で接続し、投資家がオンラインで金融商品取引を行うことが可能なオンライン取引システムが使用されている。金融商品の取引に関する指標を時々刻々と算出して、投資家のコンピュータに表示させることにより、投資家の判断を支援する指標値算出装置が提案されている(特許文献1)。 An online trading system is used in which an investor's computer and a financial instruments business operator's computer are connected by a communication line so that the investor can trade financial instruments online. An index value calculation device that supports an investor's judgment by calculating an index related to a transaction of a financial product from moment to moment and displaying it on an investor's computer has been proposed (Patent Document 1).
たとえば外国為替証拠金取引、オプション取引または先物取引のような金融商品取引においては、投資家は取引を行う前に担保となる証拠金を金融商品取引業者に差し入れる。投資家は、保有するポジションの約定金額の合計に対して十分な証拠金を維持する必要がある。 In financial instruments trading, such as foreign exchange margin trading, options trading or futures trading, investors deposit collateral margins into financial instruments traders before trading. Investors need to maintain sufficient margin for the total contracted amount of positions they hold.
投資家が、証拠金取引のポジションを新たに取得した場合には、取得したポジションの約定金額に応じて必要な証拠金が増加する。約定と同時に証拠金不足に陥ることを避けるため、約定した後に必要な証拠金を算出し、十分な証拠金があることを確認した上で、発注を行うことが望ましい。 When an investor acquires a new position for margin trading, the required margin increases according to the contracted amount of the acquired position. In order to avoid running out of margin at the same time as the contract, it is desirable to calculate the required margin after the contract and confirm that there is sufficient margin before placing the order.
希望価格を指定して発注する指値発注等、約定するとは限らない発注方式が使用される場合がある。このような発注を並行して複数行う場合には、すべての発注が約定することを前提として単純に十分な証拠金があるか否かを判定する場合には、証拠金の運用効率を高めることが難しい。 An ordering method that is not always executed may be used, such as limit ordering in which a desired price is specified. When multiple such orders are placed in parallel, it is necessary to improve the operational efficiency of the margin when simply determining whether or not there is sufficient margin on the premise that all orders are executed. Is difficult.
一つの側面では、約定するとは限らない新規発注を並行して複数行う投資家が、証拠金の運用効率を高めることが可能な取引装置等を提供することを目的とする。 On one side, the purpose is to provide a trading device or the like that enables investors who place multiple new orders in parallel, which are not always executed, to improve the efficiency of margin management.
取引装置は、担保にした有効証拠金以上の金額で外貨を取引可能な外国為替証拠金取引の複数の新規注文を含むグループ中の、それぞれの新規注文に関する約定見込価格と取引金額とを取得するグループ情報取得部と、前記グループ情報取得部が取得した約定見込価格と取引金額とに基づいて前記新規注文のそれぞれに関する発注証拠金を算出する発注証拠金算出部と、前記発注証拠金算出部が算出した発注証拠金のうち、最も高額の発注証拠金を選択する発注証拠金選択部と、前記発注証拠金選択部が選択した発注証拠金と、前記有効証拠金とに基づいて、前記グループに含まれる新規注文に対する前記有効証拠金の過不足を判定する証拠金判定部とを備える。 The trading device acquires the contracted estimated price and transaction amount for each new order in a group containing multiple new orders for Forex Margin Trading that can trade foreign currencies with an amount equal to or greater than the collateralized effective margin. The group information acquisition unit, the order margin calculation unit that calculates the order margin for each of the new orders based on the expected contract price and the transaction amount acquired by the group information acquisition unit, and the order margin calculation unit Based on the order margin selection unit that selects the highest order margin among the calculated order margins, the order margin selected by the order margin selection unit, and the valid margin, the group is assigned. It is provided with a margin determination unit for determining excess or deficiency of the effective margin for the included new order.
一つの側面では、約定するとは限らない新規発注を並行して複数行う投資家が、証拠金の運用効率を高めることが可能な取引装置等を提供することが可能となる。 On one side, it is possible for an investor who places a plurality of new orders in parallel, which are not always executed, to provide a trading device or the like that can improve the investment efficiency of margin.
[実施の形態1]
図1は、取引システム10の構成を示す説明図である。取引システム10は、時々刻々と価格が変動する金融商品の取引を行う際に使用されるシステムである。本実施の形態においては、外国為替証拠金取引を行う際に使用する取引システム10を例にして説明する。株式取引、先物取引等においても、同様のシステムを使用することが可能である。
[Embodiment 1]
FIG. 1 is an explanatory diagram showing a configuration of a
取引システム10は、投資家サーバ11、レート記録サーバ21、投資家クライアント31、金融機関サーバ32およびこれらを相互に接続するネットワークを含む。
The
投資家クライアント31は、投資家がオンライン取引に使用するパソコン、タブレットまたはスマートフォン等の情報処理装置である。投資家クライアント31のハードウェア構成については説明を省略する。
The
金融機関サーバ32は、インターバンク市場に参加する銀行等が使用する情報処理装置である。金融機関サーバ32は、為替レートの市場価格を1秒間に10回から100回程度の頻度でネットワークを介して提示する。金融機関サーバ32のハードウェア構成については説明を省略する。
The
なお、インターバンク市場においては、市場参加者がそれぞれ市場価格を提示して取引を行う。インターバンク市場の参加者は、信用度が高く、多額の外貨を取引する大手銀行に限定されている。一方、外国為替証拠金取引はインターバンク市場で形成されている市場価格に準じる為替レートに基づいて取引される。 In the interbank market, each market participant presents the market price and conducts a transaction. Participants in the interbank market are limited to large banks with high creditworthiness and trading large amounts of foreign currency. On the other hand, foreign exchange margin trading is conducted at an exchange rate based on the market price formed in the interbank market.
投資家サーバ11は、金融商品取引業者が管理および運用を行う情報処理装置である。投資家サーバ11は、投資家クライアント31からオンラインで受信した金融商品の取引を処理する情報処理装置である。本実施の形態においては、金融商品取引業者は、顧客である個々の投資家に対して、1つの投資家サーバ11を使用する。投資家サーバ11は、本実施の形態の取引装置の一例である。
The
レート記録サーバ21は、金融商品取引業者が管理および運用を行う情報処理装置である。レート記録サーバ21は、金融機関サーバ32から提示された市場価格を記録および処理し、投資家サーバ11に提供する情報処理装置である。
The
投資家サーバ11は、CPU(Central Processing Unit)12、主記憶装置13、補助記憶装置14、通信部15およびバスを備える。
The
CPU12は、本発明に係るプログラムを実行する演算制御装置である。CPU12には、一または複数のCPUまたはマルチコアCPU等が使用される。CPU12は、バスを介して投資家サーバ11を構成するハードウェア各部と接続されている。
The
主記憶装置13は、SRAM(Static Random Access Memory)、DRAM(Dynamic Random Access Memory)、フラッシュメモリ等の記憶装置である。主記憶装置13には、CPU12が行う処理の途中で必要な情報およびCPU12で実行中のプログラムが一時的に保存される。
The
補助記憶装置14は、SRAM、フラッシュメモリ、ハードディスクまたは磁気テープ等の記憶装置である。補助記憶装置14には、CPU12に実行させるプログラム、投資家情報DB(Database)51、受注DB52、発注DB53、ポジションDB54、およびプログラムの実行に必要な各種データが保存される。通信部15は、投資家サーバ11とネットワークとの間の通信を行うインターフェイスである。
The
本実施の形態の投資家サーバ11は、汎用のパーソナルコンピュータ、大型計算機等の情報機器等である。また、本実施の形態の投資家サーバ11は、大型計算機上で動作する仮想マシンでも良い。投資家情報DB51、受注DB52、発注DB53およびポジションDB54は、投資家サーバ11の外部に設置された大容量記憶装置等に記憶されていても良い。
The
レート記録サーバ21は、レート記録CPU22、主記憶装置23、補助記憶装置24、通信部25およびバスを備える。
The
レート記録CPU22は、本発明に係るプログラムを実行する演算制御装置である。レート記録CPU22には、一または複数のCPUまたはマルチコアCPU等が使用される。レート記録CPU22は、バスを介してレート記録21を構成するハードウェア各部と接続されている。
The
主記憶装置23は、SRAM、DRAM、フラッシュメモリ等の記憶装置である。主記憶装置23には、レート記録CPU22が行う処理の途中で必要な情報およびレート記録CPU22で実行中のプログラムが一時的に保存される。
The
補助記憶装置24は、SRAM、フラッシュメモリ、ハードディスクまたは磁気テープ等の記憶装置である。補助記憶装置24には、レート記録CPU22に実行させるプログラム、レートDB41、HLDB43、デルタTDB42、およびプログラムの実行に必要な各種データが保存される。通信部25は、レート記録サーバ21とネットワークとの間の通信を行うインターフェイスである。
The
本実施の形態のレート記録サーバ21は、汎用のパーソナルコンピュータ、大型計算機等の情報機器等である。また、本実施の形態のレート記録サーバ21は、大型計算機上で動作する仮想マシンでも良い。レートDB41、HLDB43およびデルタTDB42は、レート記録サーバ21の外部に設置された大容量記憶装置等に記憶されていても良い。
The
図2は、レートDB41のレコードレイアウトを示す説明図である。レートDB41は、通貨ペアごとの売値および買値の市場価格とタイムスタンプとを関連づけるDBである。レートDB41は、通貨ペアフィールド、売レートフィールド、買レートフィールドおよびタイムスタンプフィールドを有する。
FIG. 2 is an explanatory diagram showing a record layout of the
通貨ペアフィールドには、外国為替取引を行う二つの通貨の組合せが記録されている。たとえば「USD/JPY」は、米ドルと日本円との組合せを示す。同様に、「EUR」はユーロ、「GBP」は、英ポンド、「AUD」は、オーストラリアドルを示す。 In the currency pair field, the combination of two currencies for foreign exchange trading is recorded. For example, "USD / JPY" indicates a combination of US dollars and Japanese yen. Similarly, "EUR" stands for Euro, "GBP" stands for British Pound, and "AUD" stands for Australian Dollar.
売レートフィールドには、投資家が通貨ペアフィールドに記録された通貨ペアのうちの、前側の通貨を後側の通貨で購入する際の市場価格が記録されている。買レートフィールドには、投資家が通貨ペアフィールドに記録された通貨ペアのうちの、前側の通貨を後側の通貨で売却する際の市場価格が記録されている。 In the sell rate field, the market price when an investor purchases the front currency in the back currency among the currency pairs recorded in the currency pair field is recorded. In the buy rate field, the market price of the currency pair recorded in the currency pair field when the investor sells the front currency in the rear currency is recorded.
タイムスタンプフィールドには、市場価格をレートDB41に記録した日時が記録されている。タイムスタンプフィールドの前半は日付、後半は時刻を示す。時刻の小数点以下の3桁は、ミリ秒単位の時刻を示す。レートDB41は、一組の通貨ペアについて1つのフィールドを有する。
In the time stamp field, the date and time when the market price was recorded in the
具体例を挙げて説明する。図2に示すレートDB41の1行目は、米ドルを売却したい投資家に対しては1ドル100.096円のレートが、米ドルを購入したい投資家に対しては1ドル100.104円のレートが、それぞれタイムスタンプに示す日時に提示されたことを示す。 A specific example will be described. The first line of the rate DB41 shown in FIG. 2 is a rate of 100.096 yen per dollar for investors who want to sell the US dollar, and a rate of 100.104 yen per dollar for investors who want to buy the US dollar. Indicates that each was presented at the date and time indicated on the time stamp.
レート記録CPU22は、金融機関サーバ32から提示された市場価格を受信するたびに、該当する通貨ペアのレコードを更新する。すなわち、レートDB41には、その時点で最新の市場価格が記録されている。レート記録サーバ21は、一つの金融機関サーバ32から提示される市場価格を受信してレートDB41に記録しても良いし、複数の金融機関サーバ32から提示される市場価格を受信してレートDB41に記録しても良い。
The
レート記録サーバ21は、他の金融商品取引業者から提示される為替レートをレートDB41に記録しても良い。また、レート記録サーバ21は、インターバンク市場の市場価格に基づいて自社の為替ディーラが判断した市場価格を記録しても良い。
The
図3は、デルタTDB42のレコードレイアウトを示す説明図である。デルタTDB42は、番号と判定時間幅ΔTとを関連づけるDBである。デルタTDB42は番号フィールドとΔTフィールドとを有する。番号フィールドには、1から連番で番号が記録されている。ΔTフィールドには、判定時間幅ΔTが記録されている。デルタTDB42は、一つの番号について1つのレコードを有する。デルタTDB42は、次に説明するHLDB43を作成する際に使用されるDBである。
FIG. 3 is an explanatory diagram showing a record layout of the
図4は、HLDB43のレコードレイアウトを示す説明図である。HLDB43は、タイムスタンプ、その時点の市場価格と、判定時間幅ΔT内の過去の最低市場価格Lおよび最高市場価格Hとを関連づけるDBである。HLDB43は、通貨ペアフィールド、売買フィールド、タイムスタンプフィールド、市場価格フィールド、ΔT=10秒フィールド、ΔT=30秒フィールドを有する。ΔT=10秒フィールドおよびΔT=30秒フィールドは、それぞれLフィールドおよびHフィールドを有する。HLDB43は、後述するデルタ注文を行う際に使用されるDBである。 FIG. 4 is an explanatory diagram showing a record layout of the HLDB43. The HLDB43 is a DB that associates the time stamp, the market price at that time, with the past minimum market price L and the maximum market price H within the determination time width ΔT. The HLDB43 has a currency pair field, a trading field, a time stamp field, a market price field, a ΔT = 10 second field, and a ΔT = 30 second field. The ΔT = 10 second field and the ΔT = 30 second field have an L field and an H field, respectively. The HLDB43 is a DB used when placing a delta order described later.
通貨ペアフィールドには、外国為替取引を行う二つの通貨の組合せが記録されている。売買フィールドには、「売」または「買」の別が記録されている。タイムスタンプフィールドには、タイムスタンプが記録されている。市場価格フィールドには、通貨ペアフィールドおよび売買フィールドに記録された為替取引に関する市場価格が記録されている。 In the currency pair field, the combination of two currencies for foreign exchange trading is recorded. In the buy / sell field, the distinction between "sell" and "buy" is recorded. A time stamp is recorded in the time stamp field. The market price field records the market price for foreign exchange transactions recorded in the currency pair field and the trading field.
ΔT=10秒フィールドのLフィールドには、タイムスタンプの時点から過去10秒間で最も安い市場価格が記録されている。ΔT=10秒フィールドのHフィールドには、タイムスタンプの時点から過去10秒間で最も高い市場価格が記録されている。ΔT=30秒フィールドのLフィールドには、タイムスタンプの時点から過去30秒間で最も安い市場価格が記録されている。ΔT=30秒フィールドのHフィールドには、タイムスタンプの時点から過去30秒間で最も高い市場価格が記録されている。 In the L field of the ΔT = 10 second field, the cheapest market price in the past 10 seconds from the time of the time stamp is recorded. In the H field of the ΔT = 10 second field, the highest market price in the past 10 seconds from the time of the time stamp is recorded. In the L field of the ΔT = 30 second field, the cheapest market price in the past 30 seconds from the time of the time stamp is recorded. In the H field of the ΔT = 30 second field, the highest market price in the past 30 seconds from the time of the time stamp is recorded.
なお、図4ではΔT=10秒フィールドおよびΔT=30秒フィールド以外は記載を省略するが、HLDB43は図3を使用して説明したデルタTDB42のΔTフィールドに記録されたそれぞれの判定時間幅ΔTに対応するフィールドを有する。それぞれのフィールドは、ΔT=10秒フィールドと同様にLフィールドおよびHフィールドを有する。HLDB43は、一つのタイムスタンプについて一つのレコードを有する。 Although description is omitted in FIG. 4 except for the ΔT = 10-second field and the ΔT = 30-second field, the HLDB43 has a determination time width ΔT recorded in the ΔT field of the delta TDB42 described with reference to FIG. Has a corresponding field. Each field has an L field and an H field as well as a ΔT = 10 second field. The HLDB43 has one record for one time stamp.
具体例を挙げて説明する。図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」が記録される。 A specific example will be described. The highest market price for the past 10 seconds from the time stamp of the second record from the top of FIG. 4 is "2016/09/05 10:00: 00.05" is 100.200 yen. The market price at the time when the time stamp of the third record from the top is "2016/09/05 10:00: 00.040" is 100.280 yen. Therefore, the highest market price for the past 10 seconds from the time of this record is 100.280 yen, and "100.280" is recorded in the H field of the ΔT = 10 second field.
図5は、投資家情報DB51のレコードレイアウトを示す説明図である。投資家情報DB51は、投資家サーバ11が取引を処理する投資家に関する情報を記録するDBである。投資家情報DB51は、項目フィールドと内容フィールドとを有する。項目フィールドには、「投資家ID(IDentification)」、「氏名」、「証拠金」等の項目名が記録されている。内容フィールドには、それぞれの項目に対応する内容が記録されている。証拠金については後述する。
FIG. 5 is an explanatory diagram showing a record layout of the
図6は、受注DB52のレコードレイアウトを示す説明図である。受注DB52は、金融商品取引業者に注文した外国為替取引の注文番号、注文の内容および注文状況を関連づけるDBである。
FIG. 6 is an explanatory diagram showing a record layout of the
受注DB52は、注文番号フィールド、通貨ペアフィールド、注文タイプフィールド、取引種別フィールド、執行条件フィールド、注文価格フィールド、トリガ値フィールド、トリガ幅フィールド、トレール幅フィールド、ΔPフィールド、ΔTフィールド、取引金額フィールド、期限フィールド、注文状況フィールド、発注証拠金フィールド、親注文番号フィールドおよび証拠金グループフィールドを有する。
The
注文番号フィールドには、個々の注文に固有に付与された注文番号が記録されている。通貨ペアフィールドには、注文された通貨ペアが記録されている。注文タイプフィールドには、「新規」「決済利益確定」「決済ストップ」のいずれのタイプの注文であるかが記録されている。「新規」は、投資家が新たなポジションを取得する注文を意味する。「決済利益確定」は、投資家が保有しているポジションを反対売買により決済して利益を確定する注文を意味する。「決済ストップ」は、投資家が保有しているポジションを反対売買により決済して、損切りを行うストップ注文を意味する。 The order number field records an order number that is uniquely assigned to each order. In the currency pair field, the currency pair ordered is recorded. In the order type field, which type of order is "new", "settlement profit settlement", or "settlement stop" is recorded. “New” means an order in which an investor acquires a new position. "Settlement profit settlement" means an order in which a position held by an investor is settled by counter-trading and the profit is settled. "Settlement stop" means a stop order in which the position held by the investor is settled by counter-trading and the loss is cut off.
取引種別フィールドには、「売」または「買」のどちらの注文であるかが記録されている。「売」は売り注文を、「買」は、買い注文を意味する。執行条件フィールドには、注文を執行する際の判定条件の種類が記録されている。「デルタ」、「相対トリガトレール」および「トレール」については後述する。 In the transaction type field, whether the order is "sell" or "buy" is recorded. "Sell" means a sell order, and "buy" means a buy order. In the execution condition field, the type of judgment condition for executing the order is recorded. "Delta", "relative trigger trail" and "trail" will be described later.
「指値」は、後述する注文価格フィールドに記録された価格よりも投資家にとって有利な条件であれば約定することを意味する。たとえば、買い注文である場合には、注文価格よりも市場価格が安い場合に約定する。売り注文である場合には、注文価格よりも市場価格が高い場合に約定する。 “Limit” means to execute if the conditions are more favorable to the investor than the price recorded in the order price field described later. For example, in the case of a buy order, it is executed when the market price is lower than the order price. In the case of a sell order, it is executed when the market price is higher than the order price.
「逆指値」は、後述する注文価格フィールドに記録された価格よりも投資家にとって不利な条件であれば約定することを意味する。たとえば、買い注文である場合には、注文価格よりも市場価格が高い場合に約定する。売り注文である場合には、注文価格よりも市場価格が安い場合に約定する。 “Stop price” means to execute if the conditions are more disadvantageous to the investor than the price recorded in the order price field described later. For example, in the case of a buy order, it is executed when the market price is higher than the order price. In the case of a sell order, it is executed when the market price is lower than the order price.
注文価格フィールドには、投資家が指定した注文価格が記録されている。注文価格フィールドに「−」が記録されている場合には、価格が未定であることを意味する。 The order price field records the order price specified by the investor. If a "-" is recorded in the order price field, it means that the price is undecided.
トリガ値フィールド、トリガ幅フィールド、トレール幅フィールド、ΔPフィールドおよびΔTフィールドには、執行条件が「デルタ」、「相対トリガトレール」および「トレール」である場合のパラメータが記録されている。各パラメータの詳細については後述する。 In the trigger value field, the trigger width field, the trail width field, the ΔP field and the ΔT field, the parameters when the execution conditions are “delta”, “relative trigger trail” and “trail” are recorded. Details of each parameter will be described later.
取引金額フィールドには、顧客が注文した取引金額が記録されている。取引金額は、通貨ペアの左側に示された通貨を使用して示す。具体的には、注文番号101は米ドルで1000ドルの注文であることを示す。
The transaction amount field records the transaction amount ordered by the customer. The transaction amount is shown using the currency shown on the left side of the currency pair. Specifically,
期限フィールドには、注文の有効期限が記録されている。「GTC」は、Good Till Cancelの略であり、無期限で有効な注文を意味する。注文状況フィールドには、注文の状況が記録されている。「注文中」は投資家が指定した条件と市場価格とが合致した場合に約定する注文を示す。「待機中」は、関連する注文が約定した場合に、有効になる注文を示す。注文状況フィールドには、約定したことを示す「成立」、注文を取り消したことを示す「取消済」等も記録される。 The expiration date of the order is recorded in the expiration field. "GTC" is an abbreviation for Good Till Cancel and means an order that is valid indefinitely. The order status field records the status of the order. "Ordering" indicates an order to be filled when the conditions specified by the investor and the market price are met. "Waiting" indicates an order that becomes valid when the related order is filled. In the order status field, "established" indicating that the order has been executed, "cancelled" indicating that the order has been canceled, and the like are also recorded.
発注証拠金フィールドには、新規注文を行う際に必要な発注証拠金が記録されている。発注証拠金については後述する。なお、決済注文を行う場合には発注証拠金は不要であるので「−」が記録されている。 The order margin field records the order margin required for placing a new order. The order margin will be described later. When placing a settlement order, an order margin is not required, so "-" is recorded.
親注文番号フィールドには、関連する新規注文の注文番号が記録されている。たとえば注文番号101は、新規注文であるので親注文は存在しない。そのため親注文番号フィールドには「−」が記録されている。注文番号102および注文番号103は、注文番号101の決済注文であるので、親注文番号フィールドに「101」が記録されている。
The parent order number field records the order number of the associated new order. For example, since the
証拠金グループフィールドには、発注証拠金を1つのグループとして扱う証拠金グループの番号が記録されている。証拠金グループについては、後述する。なお、決済注文を行う場合には発注証拠金は不要であるので「−」が記録されている。 In the margin group field, the number of the margin group that treats the order margin as one group is recorded. The margin group will be described later. When placing a settlement order, an order margin is not required, so "-" is recorded.
図7は、発注DB53のレコードレイアウトを示す説明図である。発注DB53は、投資家が指定した条件と市場価格とが合致した場合に約定する外国為替取引の注文番号、注文の内容および注文状況を関連づけるDBである。
FIG. 7 is an explanatory diagram showing a record layout of the
発注DB53は、注文番号フィールド、通貨ペアフィールド、注文タイプフィールド、取引種別フィールド、執行条件フィールド、注文価格フィールド、トリガ値フィールド、トリガ幅フィールド、トレール幅フィールド、ΔPフィールド、ΔTフィールド、取引金額フィールド、期限フィールド、発注証拠金フィールド、親注文番号フィールドおよび証拠金グループフィールドを有する。各フィールドに記録されているデータは、図6を使用して説明した受注DB52と同様であるので説明を省略する。
The
図8は、ポジションDB54のレコードレイアウトを示す説明図である。ポジションDB54は、投資家が保有しているポジションの注文番号、ポジションの内容および関連注文の番号を関連づけるDBである。ポジションDB54は、注文番号フィールド、通貨ペアフィールド、取引種別フィールド、約定価格フィールド、取引金額フィールド、約定日時フィールドおよび決済注文番号フィールドを有する。決済注文番号フィールドは、利益確定フィールドとストップフィールドとを有する。
FIG. 8 is an explanatory diagram showing a record layout of the
注文番号フィールドには、個々の注文に固有に付与された注文番号が記録されている。通貨ペアフィールドには、注文された通貨ペアが記録されている。取引種別フィールドには、「売」または「買」のどちらのポジションであるかが記録されている。「売」は売り注文により取ったポジションであることを、「買」は買い注文により取ったポジションであることを意味する。 The order number field records an order number that is uniquely assigned to each order. In the currency pair field, the currency pair ordered is recorded. In the transaction type field, whether the position is "sell" or "buy" is recorded. "Sell" means a position taken by a sell order, and "buy" means a position taken by a buy order.
約定価格フィールドには、ポジションを取った際の約定価格が記録されている。取引金額フィールドには、ポジションの取引金額が記録されている。約定日時フィールドには、ポジションが約定した日時が記録されている。利益確定フィールドには、利益確定注文の注文番号が記録されている。ストップフィールドにはストップ注文の注文番号が記録されている。 In the contract price field, the contract price at the time of taking a position is recorded. The transaction amount of the position is recorded in the transaction amount field. The date and time when the position was executed is recorded in the execution date and time field. The order number of the profit taking order is recorded in the profit taking field. The order number of the stop order is recorded in the stop field.
ここで、証拠金および発注証拠金について説明する。証拠金は、投資家が金融商品取引業者に対して担保として差し入れた金銭を示す。外国為替証拠金取引では、投資家は証拠金を担保として、証拠金よりも高額の外国通貨の売りポジションまたは買いポジションを取ることができる。投資家は、保有しているポジションを反対売買により決済することにより、為替変動に応じた損益を得る。 Here, the margin and the order margin will be described. Margin indicates the amount of money that an investor has pledged as collateral to a financial instruments business operator. In Forex Margin Trading, investors can take a sell or buy position in a foreign currency that is higher than the margin, with the margin as collateral. Investors obtain profit or loss according to exchange fluctuations by closing the positions they hold by counter-trading.
以下の説明では、投資家が差し入れた証拠金から、投資家が保有しているポジションを時価評価した場合の損益を差し引いた金額を、有効証拠金と呼ぶ。有効証拠金は、保有しているポジションをすべて時価で決済した場合に、投資家の手元に残る証拠金に相当する金額である。 In the following explanation, the amount obtained by subtracting the profit / loss when the position held by the investor is marked to market from the margin deposited by the investor is referred to as the effective margin. The effective margin is the amount equivalent to the margin that remains in the hands of the investor when all the positions held are settled at the market price.
同様に、投資家が保有しているポジションを取得した際の価格に対して所定の証拠金率を積算した金額を、必要証拠金と呼ぶ。投資家は、必要証拠金以上の有効証拠金を維持する必要がある。仮に有効証拠金が必要証拠金を下回った場合には、金融商品取引業者は投資家が保有しているポジションを強制的に決済する、いわゆるロスカットを行う。ロスカットにより、差し入れた証拠金以上の損失を投資家がこうむることを防止することができる。 Similarly, the amount obtained by adding a predetermined margin rate to the price at the time of acquiring the position held by the investor is called the required margin. Investors need to maintain a valid margin above the required margin. If the effective margin is less than the required margin, the financial instruments business operator forcibly closes the position held by the investor, so-called loss cut. Loss cuts can prevent investors from incurring losses beyond the margin they have deposited.
投資家が新たなポジションを取得した場合には、取得価格に応じて必要証拠金が増加する。仮に、有効証拠金が増加後の必要証拠金を下回った場合には、ポジションを取得した直後にロスカットが発生して投資家が損失をうける可能性がある。 When an investor acquires a new position, the required margin increases according to the acquisition price. If the effective margin is less than the required margin after the increase, a loss cut may occur immediately after the position is acquired and the investor may suffer a loss.
このような損失を避けるため、新規注文を行う場合には、約定した場合の投資家の有効証拠金が十分であるか否かを確認することが望ましい。本実施の形態においては、CPU12は、式(1)に基づいてそれぞれの新規注文に対する発注証拠金を算出し、受注DB52の発注証拠金フィールドに記録する。
発注証拠金=約定見込価格×取引金額×証拠金率 ‥‥‥ (1)
発注証拠金は、約定見込価格の為替レートで新規注文が約定した場合に増加する必要証拠金の金額である。
In order to avoid such losses, when placing a new order, it is desirable to confirm whether the investor's effective margin in the case of execution is sufficient. In the present embodiment, the
Margin for order = Expected contract price x Transaction amount x Margin rate ‥‥‥ (1)
The order margin is the amount of margin required that increases when a new order is executed at the exchange rate of the estimated execution price.
投資家から新規注文を受け付けた場合には、CPU12はその新規注文に対する発注証拠金を算出する。CPU12は、受け付けた新規注文を含む未約定の注文に関する発注証拠金の合計額である合計発注証拠金を算出する。CPU12は、有効証拠金が合計発注証拠金と必要証拠金との和以上である場合には、新規注文を受け付ける。CPU12は、有効証拠金が合計発注証拠金と必要証拠金との和未満である場合には、新規注文を受け付けない。
When a new order is received from an investor, the
しかしながら、投資家は複数のシナリオを想定して投資を行う場合がある。たとえば、円高になるシナリオと、円安になるシナリオとの両方を想定している場合に、それぞれのシナリオに基づいて新規注文を行う場合には、実現しなかった方のシナリオ分の発注証拠金は、活用されない。 However, investors may make investments assuming multiple scenarios. For example, if you assume both a scenario where the yen strengthens and a scenario where the yen weakens, and you place a new order based on each scenario, the order evidence for the scenario that did not come true. Money is not used.
本実施の形態においては、受注DB52および発注DB53の証拠金グループフィールドに記録した証拠金グループにより、新規注文を証拠金グループに分ける。一つの証拠金グループに属する新規注文の発注証拠金には、証拠金グループ内で最も発注証拠金の高い1つの新規注文の発注証拠金を使用する。証拠金グループ内のいずれか一つの新規注文が約定した場合には、同一証拠金グループ内の他の新規注文および対応する決済注文をキャンセルする。すなわち、一つの証拠金グループ内の複数の新規注文は、発注証拠金を共有する。
In the present embodiment, new orders are divided into margin groups according to the margin groups recorded in the margin group fields of the
証拠金グループにより、複数のシナリオを想定して、それぞれのシナリオに対して並行して複数行う場合に、証拠金の運用効率を高めることが可能な取引装置等を提供することができる。 The margin group can provide a trading device or the like that can improve the operational efficiency of margin when a plurality of scenarios are assumed and a plurality of scenarios are performed in parallel for each scenario.
以上により、CPU12は、約定した直後に必要証拠金が有効証拠金を超えてロスカットが起きる可能性の高い新規注文を防止することができる。
As described above, the
CPU12は、投資家からの注文を受け付けた日時における市場価格を式(1)の約定見込価格に使用することができる。CPU12は、図4を使用して説明したHLDB43から最新のレコードを抽出し、任意の判定時間幅ΔTのHフィールドに記録された値を約定見込価格に使用することもできる。このようにすることにより、実際に約定した際に増加する必要証拠金が式(1)に基づいて算出した発注証拠金を大きく上回り、ロスカットが起きる可能性を低減できる。
The
CPU12は、投資家からの注文を受け付けた日時における市場価格に所定の安全係数を積算した値を式(1)の約定見込価格に使用することができる。安全係数には1以上の任意の数値を使用することができる。このようにすることにより、投資家が市場価格の変動が激しい通貨ペアを発注して約定した場合に、ロスカットが起こる可能性を低減できる。
The
CPU12は、投資家の投資実績および保有資産等の条件、発注する通貨ペアおよび外国為替市場の状況等により、安全係数を変更しても良い。
The
図9は、投資家クライアント31の入力画面例を示す説明図である。投資家クライアント31は、ネットワークを介して投資家サーバ11から受信した情報に基づいてディスプレイに図9に示す入力画面を表示する。投資家クライアント31は、タッチパネル、キーボードまたはマウスなどの入力機器を介して、投資家による入力を受け付け、ネットワークを介して投資家サーバ11に送信する。なお、投資家サーバ11と投資家クライアント31との間の通信は、SSL(Secure Sockets Layer)等の暗号化技術により、セキュリティを確保する。
FIG. 9 is an explanatory diagram showing an example of an input screen of the
入力画面は、通貨ペア欄61、金額欄62、新規欄63、決済欄64および成立反復欄65を含む。新規欄63は、新規種別欄631および新規注文欄632を含む。決済欄64は、決済種別欄641、利益確定注文欄642およびストップ注文欄643を含む。なお、図9においては、選択されている項目を二重線で囲んで示す。
The input screen includes a
CPU12は、通貨ペア欄61を介して、投資家が取引する通貨ペアを受け付ける。CPU12は、金額欄62を介して、投資家が取引する金額を受け付ける。CPU12は、新規種別欄631を介して、「売」または「買」のどちらの新規注文であるかを受け付ける。なお、CPU12は、決済種別欄641に新規種別欄631で受け付けた注文の反対取引が選択された状態を表示する。
The
CPU12は、新規注文欄632を介して新規注文の執行条件およびパラメータを受け付ける。CPU12は、利益確定注文欄642を介して利益確定注文の執行条件およびパラメータを受け付ける。CPU12は、ストップ注文欄643を介してストップ注文の執行条件およびパラメータを受け付ける。
The
CPU12は、成立反復欄65を介して決済注文が約定した後に再度同じ注文を反復するか否かを受け付ける。図9において「Off」は注文の反復を行わないことを意味する。「PL+Repeat」は、決済注文が約定した際に利益が出た場合には同一条件の注文を反復し、利益が出なかった場合には反復を行わないことを意味する。
The
図10は、デルタ注文による新規注文を説明する説明図である。縦軸は市場価格を示す。横軸は時間を示す。黒丸は、各時間における市場価格を示す。図10を使用してデルタ注文について説明する。 FIG. 10 is an explanatory diagram illustrating a new order by a delta order. The vertical axis shows the market price. The horizontal axis shows time. Black circles indicate the market price at each time. The delta order will be described with reference to FIG.
市場価格は、短期的にみると不規則に変動するが、長期的にみると上昇トレンド相場と下降トレンド相場とを繰り返して周期的に変動する場合が多いことが経験的に知られている。また、トレンド相場の間では、市場価格が狭い価格帯の範囲で変動するいわゆるレンジ相場が発生する場合が多いことも経験的に知られている。 It is empirically known that the market price fluctuates irregularly in the short term, but in the long term, it often fluctuates periodically by repeating the uptrend market and the downtrend market. It is also empirically known that, among trend markets, so-called range markets, in which market prices fluctuate within a narrow price range, often occur.
投資家は、市場価格がどのように変動するかを予測して、投資を行う。特に、レンジ相場から上昇トレンド相場に移行するタイミングで取った買いポジションを上昇トレンド相場の終了時に決済すること、およびレンジ相場から下降トレンド相場に移行するタイミングで取った売りポジションを上昇トレンド相場の終了時に決済することにより、投資家は効率良く利益を得ることができる。 Investors make investments by predicting how market prices will fluctuate. In particular, the buy position taken at the timing of transition from the range market to the uptrend market is settled at the end of the uptrend market, and the sell position taken at the timing of transition from the range market to the downtrend market is closed at the end of the uptrend market. Investors can profit efficiently by making payments from time to time.
図10において、現在時刻をtAで示す。時刻tAにおける市場価格はAである。判定時間幅ΔTの時間Tの開始時刻が時刻tS、終了時刻が時刻tEである。ここで時刻tEは、時刻tAの一つ前のタイムスタンプである。時刻tSから時刻tEまでの時間内における最低市場価格Lおよび最高市場価格Hを図10にHおよびLの記号で示す。 In FIG. 10, the current time is indicated by t A. The market price at time t A is A. The start time of the time T of the determination time width ΔT is the time t S, and the end time is the time t E. Here, the time t E is a time stamp immediately before the time t A. The lowest market price L and the highest market price H within the time from time t S to time t E are indicated by symbols H and L in FIG.
図4を使用して説明したHLDB43の一つのレコードのタイムスタンプフィールドに時刻tEが、市場価格フィールドに時刻tEにおける市場場価格Eが、Lフィールドに最低市場価格Lが、Hフィールドに最高市場価格Hがそれぞれ記録されている。 The time t E in the time stamp field of one of the record of HLDB43 described using Figure 4, market field price E at time t E to the market price field, the lowest market price L to L field, the best in the H field The market price H is recorded respectively.
市場価格が上昇トレンド相場に入った場合には、図10に示すように、市場価格Aと最低市場価格Lとの差が、単位判定価格幅ΔPと判定時間幅ΔTとの積である判定価格幅よりも大きくなる。CPU12は、デルタ注文の条件が満たされたと判定して、約定を行う。ここで、単位判定価格幅ΔPおよび判定時間幅ΔTは、デルタ注文に関するパラメータである。
When the market price enters the upward trend market, as shown in FIG. 10, the difference between the market price A and the minimum market price L is the product of the unit judgment price width ΔP and the judgment time width ΔT. It will be larger than the width. The
以上に説明したデルタ注文について、簡単にまとめる。判定時間幅ΔTは、市場価格が上昇トレンド相場または下降トレンド相場に入ったか否かを判定する時間幅を示すパラメータである。単位判定価格幅ΔPは、市場価格が上昇トレンド相場または下降トレンド相場に入ったか否かを判定する単位時間あたりの価格幅を示すパラメータである。 The delta orders described above are briefly summarized. The determination time width ΔT is a parameter indicating the time width for determining whether or not the market price has entered the uptrend market or the downtrend market. The unit determination price range ΔP is a parameter indicating the price range per unit time for determining whether or not the market price has entered the uptrend market or the downtrend market.
本実施の形態においては、CPU12は、市場価格Aと最低市場価格Lとの差が単位判定価格幅ΔPと判定時間幅ΔTとの積である判定価格幅を超えたことを、市場価格が上昇トレンド相場に入ったことを示す指標に使用する。同様に、CPU12は、最高市場価格Hと市場価格Aとの差が単位判定価格幅ΔPと判定時間幅ΔTとの積である判定価格幅を超えたことを、市場価格が下降トレンド相場に入ったことを示す指標に使用する。
In the present embodiment, the market price of the
図10に示すように、CPU12が、市場価格が上昇トレンド相場に入った直後である時刻tAに価格Aで買いポジションを取り、市場価格が十分に上昇した時刻tBに市場価格Bで決済することにより、価格Bと価格Aの差額に対応する利益が生じる。同様に、CPU12が、市場価格が下降トレンド相場に入った直後に売りポジションを取り、市場価格が十分に下落した後に決済することにより、売却価格と購入価格の差額に対応する利益が生じる。
As shown in FIG. 10, the
上昇トレンド相場が生じると予測している投資家は、デルタ注文による買い注文を指示する。市場価格の推移を投資家自身がリアルタイムで監視しなくても、上昇トレンド相場が生じた場合にはCPU12が自動的に有利なポジションを取る処理を行う。予測が外れて上昇トレンド相場が生じない場合には、CPU12は買いポジションを取る処理を行わないため、損失の発生を回避することが可能である。
Investors who anticipate an uptrend market will direct buy orders by delta orders. Even if the investor does not monitor the transition of the market price in real time, the
下降トレンド相場が生じると予測している投資家は、デルタ注文による売り注文を指示する。市場価格の推移を投資家自身がリアルタイムで監視しなくても、下降トレンド相場が生じた場合にはCPU12が自動的に有利なポジションを取る処理を行う。予測が外れて下降トレンド相場が生じない場合には、CPU12は売りポジションを取る処理を行わないため、損失の発生を回避することが可能である。
Investors who anticipate a downtrend market will direct sell orders by delta orders. Even if the investor does not monitor the transition of the market price in real time, the
CPU12は、最小値幅単位pipsに基づいて単位判定価格幅ΔPおよび判定時間幅ΔTの入力を受け付けても良い。様々な為替ペアを扱う投資家である場合、pipsを使用することにより、外国為替の値動きを把握しやすい場合がある。
The
CPU12は、単位判定価格幅ΔPの代わりに、判定価格幅の入力を受け付けても良い。判定時間幅ΔTと、判定価格幅とを別々に考慮したい投資家の要望に対応することが可能である。
The
CPU12は、単位判定価格幅ΔPを市場価格に対する相対値により受け付けても良い。たとえば、注文入力時の市場価格、最高市場価格H、最低市場価格L、または最高市場価格Hと最低市場価格Lとの平均値のいずれかに対する5%のように定めることができる。
The
図11は、相対トリガトレール注文による決済注文を説明する説明図である。縦軸は市場価格を示す。横軸は時間を示す。黒丸は、各時間における市場価格を示す。図10を使用して相対トリガトレール注文について説明する。 FIG. 11 is an explanatory diagram illustrating a settlement order by a relative trigger trail order. The vertical axis shows the market price. The horizontal axis shows time. Black circles indicate the market price at each time. A relative trigger trail order will be described with reference to FIG.
トレール注文は、市場価格の上昇幅、または下落幅に合わせて、逆指値注文の価格をリアルタイムで自動修正する注文方法であり、ストップ注文に利用されている。相対トリガトレール注文においては、トレール注文の初期値を相対的に定める。 The trail order is an ordering method that automatically corrects the price of the stop order in real time according to the increase or decrease of the market price, and is used for the stop order. In the relative trigger trail order, the initial value of the trail order is relatively determined.
時刻tAにおいて、市場価格Aで買いポジションを取った場合を例にして説明する。ここで買いポジションは、図9を使用して説明したデルタ注文を使用して取ることができる。また従来から広く使用されている指値注文または成行き注文により買いポジションを取っても良い。 The case where the buy position is taken at the market price A at the time t A will be described as an example. Here the buy position can be taken using the delta order described with reference to FIG. In addition, a buy position may be taken by a limit order or a market order that has been widely used in the past.
CPU12は、買いポジション価格である市場価格Aに利益確定注文のトリガ幅ΔTgを加算した価格を、相対トリガトレール注文のトリガ価格Trigに設定する。CPU12は、買いポジション価格である市場価格Aからストップ注文のトレール幅ΔSを減算した価格S1をストップ注文価格に設定する。ストップ注文価格は、保有しているポジションを反対売買により決済して、損切りを行うストップ注文を実施する逆指値である。
The
CPU12は、市場価格を逐次取得する。時刻t23における市場価格P23からストップ注文のトレール幅ΔSを減算した価格S2が価格S1より高いので、CPU12はストップ注文価格を価格S2に変更する。同様に、時刻t24における市場価格P24からストップ注文のトレール幅ΔSを減算した価格S3が価格S2より高いので、CPU12は、時刻t24においてストップ注文価格を価格S3に変更する。
The
時刻t25において、CPU12は市場価格P25がトリガ価格Trigを上回ると判定する。CPU12は、市場価格P25から利益確定注文のトレール幅ΔRを減算した価格M1をトレール価格に設定する。トレール価格は、保有しているポジションを反対売買により決済して、利益を確定する逆指値注文を行う価格である。さらに時刻t25において、CPU12は、ストップ注文を取り消す。
At time t25, the
時刻t26における市場価格P26からトレール幅ΔRを減算した価格M2がトレール価格M1より高いので、CPU12は価格M2をトレール価格に設定する。時刻tBにおける市場価格Bがトレール価格M2以下であるので、CPU12は利益確定注文を実施する。
Since the price M2 obtained by subtracting the trail width ΔR from the market price P26 at time t26 is higher than the trail price M1, the
以上に説明した相対トリガトレール注文について、簡単にまとめる。利益確定注文のトリガ幅ΔTgは、相対トリガトレール注文のトレール開始価格を定めるパラメータである。利益確定注文のトレール幅ΔRは、相対トリガトレール注文の逆指値の変動量を定めるパラメータである。 The relative trigger trail orders described above are briefly summarized. The trigger width ΔTg of the profit-taking order is a parameter that determines the trail starting price of the relative trigger trail order. The trail width ΔR of the profit-taking order is a parameter that determines the fluctuation amount of the stop price of the relative trigger trail order.
本実施の形態においては、CPU12は、トレール価格のトレールを開始するトリガ価格を、ポジションの取得価格を基準にして相対的に設定する。図10を使用して説明したデルタ注文のように、約定するまでポジションの価格が定まらない場合であっても、CPU12は、投資家が期待する水準および方向の市場価格変動が生じた後に利益確定注文のトレールを開始する。
In the present embodiment, the
図11においては、買いポジションを取り、売り決済を行う場合を例にして説明した。同様にして、売りポジションを取り、買い決済を行う場合であっても、CPU12は相対トリガトレール注文を実施することが可能である。
In FIG. 11, a case where a buy position is taken and a sell settlement is performed has been described as an example. Similarly, even when taking a sell position and making a buy settlement, the
外国為替取引においては、ネットワークのタイムラグ等により指値注文であっても注文価格と約定価格とが異なる、いわゆるスリッページが生じる場合がある。相対トリガトレール注文を使用することにより、スリッページが生じた場合であっても、CPU12は、ポジションの約定価格を基準として利益確定注文のトレールを開始するトリガ価格を定めることが可能である。
In foreign exchange trading, so-called slippage may occur in which the order price and the contract price are different even for limit orders due to network time lag. By using the relative trigger trail order, the
図12は、受注DB52のレコードレイアウトを示す説明図である。図13は、発注DB53のレコードレイアウトを示す説明図である。図6から図13を使用して、CPU12が行う処理の概要を説明する。また受注DB52および発注DB53の、トリガ値フィールド、トリガ幅フィールド、トレール幅フィールド、ΔPフィールドおよびΔTフィールドに記録される各パラメータについても説明する。
FIG. 12 is an explanatory diagram showing a record layout of the
図6は、図9を使用して説明した画面を介してCPU12が取得した3件の新規注文およびそれぞれの決済注文が記録された状態の受注DB52を示す。注文番号101はデルタ注文を使用する新規買い注文であり、注文番号102は相対トリガトレール注文を使用する決済利益確定注文、注文番号103はトレール注文を使用する決済ストップ注文である。注文番号104はデルタ注文を使用する新規売り注文であり、注文番号105は相対トリガトレール注文を使用する決済利益確定注文、注文番号106はトレール注文を使用する決済ストップ注文である。注文番号107は、指値注文を使用する新規買い注文であり、注文番号108は指値注文を使用する決済利益確定注文、注文番号106は逆指値注文を使用する決済ストップ注文である。
FIG. 6 shows an
注文番号101および注文番号104は、デルタ注文であるので注文価格が未定である。そのため、注文価格フィールドに「−」が記録されている。図10を使用して説明したデルタ注文のパラメータである単位判定価格幅ΔPおよび判定時間幅ΔTが、ΔPフィールドおよびΔTフィールドにそれぞれ記録されている。トリガ値、トリガ幅およびトレール幅のパラメータは指定されていないので、これらのフィールドには「−」が記録されている。
Since the
注文番号102および注文番号105は、注文価格が未定である。そのため、注文価格フィールドに「−」が記録されている。図11を使用して説明した相対トリガトレール注文のパラメータであるトリガ幅ΔTgおよびトレール幅ΔRが、トリガ幅フィールドおよびトレール幅フィールドにそれぞれ記録されている。トリガ値、単位判定価格幅ΔPおよび判定時間幅ΔTは指定されていないので、これらのフィールドには「−」が記録されている。
The order prices of
注文番号103および注文番号106も、注文価格が未定である。そのため、注文価格フィールドに「−」が記録されている。図11を使用して説明したトレール注文のパラメータであるトレール幅ΔSが、トレール幅フィールドに記録されている。トリガ値、トリガ幅、単位判定価格幅ΔPおよび判定時間幅ΔTは指定されていないので、これらのフィールドには「−」が記録されている。
The order prices of
注文番号107から109は、指値注文および逆指値注文であるので、注文価格フィールドに価格が記録されている。トリガ値、トリガ幅、トレール幅、単位判定価格幅ΔPおよび判定時間幅ΔTは指定されていないので、これらのフィールドには「−」が記録されている。
Since
新規注文である、注文番号101、注文番号104および注文番号107の注文状況フィールドに「注文中」と記録されている。新規注文が約定していないため、それぞれの新規注文に関連する決済注文の注文状況フィールドには「待機中」と記録されている。
"Ordering" is recorded in the order status fields of the new orders,
CPU12は、図6を使用して説明した受注DB52を参照して注文状況フィールドに「注文中」と記録されているレコードを抽出し、注文番号フィールドをキーとして発注DB53と照合する。受注DB52から抽出したレコードに発注DB53に記録されていないレコードがある場合には、CPU12は該当するレコードを発注DB53に複写する。図7は、複写が完了した状態の発注DB53を示す。
The
CPU12は、発注DB53に記録されている各レコードについて、執行条件、各パラメータおよび市場価格に基づき約定可否を判定する。約定可能ではないと判定した場合には、市場価格を取得しなおして、約定可否を判定することを繰り返す。なお、注文価格フィールドに注文価格が記録されていないレコードについては、CPU12は執行条件およびパラメータにより示される条件が満たされたと判定した後に、約定可否を判定する。
The
約定可能であると判定した場合には、発注DB53は所定の取引プロトコルに従って取引相手との間で約定を行う。金融商品の取引プロトコルは従来から使用されているので説明を省略する。
If it is determined that the contract is possible, the
なお、CPU12は、発注DB53に記録されている複数のレコードに対する処理を並行して実施する。
The
図12は、注文番号101が約定した後の受注DB52を示す。CPU12は、注文番号101のレコードの注文状況フィールドに、「約定」を記録する。CPU12は、受注DB52の親注文番号フィールドを検索して、注文番号101に対応する決済注文である注文番号102および注文番号103を抽出する。CPU12は、注文番号102および注文番号103のレコードの注文状況フィールドに「注文中」を記録する。
FIG. 12 shows the
CPU12は、約定済の注文番号101に対応するレコードを、図7を使用して説明した発注DB53から削除する。CPU12は、図12を使用して説明した受注DB52を参照して注文状況フィールドに「注文中」と記録されているレコードを抽出し、注文番号フィールドをキーとして発注DB53と照合する。受注DB52から抽出したレコードのうち注文番号102および注文番号103は発注DB53に記録されていない。したがって、CPU12は注文番号102および注文番号103に対応するレコードを発注DB53に複写する。
The
CPU12は、相対トリガトレール注文である注文番号102のレコードのトリガ値フィールドに、ポジションの約定価格にトリガ幅ΔTgを加算した値を記録する。CPU12は、トレール注文である注文番号103のレコードの注文価格フィールドに、ポジションの約定価格にトレール幅ΔSを加算した値を記録する。以上の処理が完了した状態の発注DB53を、図13に示す。
The
CPU12は、発注DB53に追加されたレコードを含む各レコードについて、執行条件、各パラメータおよび市場価格に基づき約定可否を判定する。
The
図14は、レート記録サーバ21のプログラムの処理の流れを示すフローチャートである。図14を使用して、本実施の形態のレート記録CPU22がHLDB43を生成する処理の流れを説明する。
FIG. 14 is a flowchart showing a processing flow of the program of the
レート記録CPU22は、ネットワークを介して金融機関サーバ32が提示する市場価格を取得する(ステップS501)。レート記録CPU22は、図4を使用して説明したHDDB43に新しいレコードを作成し、タイムスタンプおよび市場価格をそれぞれのフィールドに記録する(ステップS502)。
The
レート記録CPU22は、カウンタIを初期値1に設定する(ステップS503)。レート記録CPU22は、図3を使用して説明したデルタTDB42から番号フィールドがカウンタIと一致するレコードを抽出し、ΔTフィールドに記録された判定時間幅ΔTを取得する(ステップS504)。
The
レート記録CPU22は、HDDB43のタイムスタンプフィールドおよび市場価格フィールドを参照して、直近の判定時間幅ΔTの時間内の市場価格の最高値Hを抽出する(ステップS505)。レート記録CPU22は、HDDB43のタイムスタンプフィールドおよび市場価格フィールドを参照して、直近の判定時間幅ΔTの時間内の市場価格の最低値Lを抽出する(ステップS506)。レート記録CPU22は、ステップS502で作成したレコードの判定時間幅ΔTに対応するLフィールドに最低値Lを、Hフィールドに最高値Hをそれぞれ記録する(ステップS507)。
The
レート記録CPU22は、デルタTDB42のすべてのレコードの処理を終了したか否かを判定する(ステップS508)。終了していないと判定した場合(ステップS508でNO)、レート記録CPU22はステップS504に戻る。終了したと判定した場合(ステップS508でYES)、レート記録CPU22はプログラムを終了するか否かを判定する(ステップS509)。ここでプログラムを終了すると判定する場合とは、金融商品取引業者から終了の指示を受け付けた場合である。
The
終了しないと判定した場合(ステップS509でNO)、レート記録CPU22はステップS501に戻る。終了すると判定した場合(ステップS509でYES)、レート記録CPU22は処理を終了する。
If it is determined that the process does not end (NO in step S509), the
図15は、投資家サーバ11のプログラムの処理の流れを示すフローチャートである。図15を使用して、CPU12が行う処理の流れを説明する。なお、図15は1件の新規注文受付、ポジション取得および決済の一連の処理を行うプログラムを示す。CPU12は、新規注文に対応する数のプログラムを、並行して実行する。
FIG. 15 is a flowchart showing a processing flow of the program of the
CPU12は、注文受付サブルーチンを起動する(ステップS521)。注文受付サブルーチンは、ネットワークを介して投資家クライアント31から注文を受け付けるサブルーチンである。注文受付サブルーチンの処理の流れは後述する。
The
CPU12は証拠金確認サブルーチンを起動する(ステップS523)。証拠金確認サブルーチンは、証拠金が足りるか否かを確認するサブルーチンである。証拠金確認サブルーチンの処理の流れは後述する。
The
CPU12は、証拠金確認サブルーチンの処理結果に基づき証拠金が足りるか否かを判定する(ステップS524)。証拠金が足りると判定した場合(ステップS524でYES)、CPU12はポジション取得サブルーチンを起動する(ステップS525)。ポジション取得サブルーチンは、ステップS521で受け付けた注文に基づいて新規ポジションを取得する処理を行うサブルーチンである。ポジション取得サブルーチンの処理の流れは後述する。
The
CPU12は、ステップS525の処理結果に基づき受注DB52を更新する(ステップS526)。具体的には、約定した場合には約定した新規注文の受注レコードの注文状況フィールドに「約定」と記録し、対応する決済注文の受注レコードの注文状況フィールドに「注文中」と記録する。期限フィールドに記録された期限が到来した等の理由で約定せずにポジション取得サブルーチンを終了した場合には、約定しなかった新規注文および対応する決済注文の注文状況フィールドに「取消」と記録する。
The
CPU12は、ステップS525の処理結果に基づき発注DB53を更新する(ステップS527)。具体的には、CPU12は、ステップS526で処理を行った発注レコードを削除する。さらに、CPU12は、決済した新規注文に対応する決済注文に関するレコードを受注DB52から発注DB53に複写する。
The
CPU12は、ステップS525で取得したポジションが存在するか否かを判定する(ステップS528)。存在すると判定した場合(ステップS528でYES)、CPU12はポジション決済サブルーチンを起動する(ステップS529)。ポジション決済サブルーチンは、保有するポジションを決済する処理を行うサブルーチンである。ポジション決済サブルーチンの処理の流れは後述する。
The
CPU12は、ステップS529の処理結果に基づき受注DB52を更新する(ステップS530)。具体的には、約定した決済注文の受注レコードの注文状況フィールドに「約定」と記録し、約定しなかった決済注文の受注レコードの注文状況フィールドに「取消」と記録する。
The
CPU12は、発注DB53を更新する(ステップS531)。具体的には、ステップS529で処理を行った発注レコードを削除する。ステップS525で取得したポジションが存在しないと判定した場合(ステップS528でNO)およびステップS531の終了後、CPU12は処理を終了する。
The
証拠金が足りないと判定した場合(ステップS524でNO)、CPU12はネットワークを介して投資家クライアント31に証拠金が不足する旨を表示する(ステップS535)。CPU12は、ステップS521で受け付けた注文に関するレコードを受注DB52および発注DB53から削除する(ステップS536)。CPU12は、その後処理を終了する。
When it is determined that the margin is insufficient (NO in step S524), the
図16は、注文受付サブルーチンの処理の流れを示すフローチャートである。注文受付サブルーチンは、ネットワークを介して投資家クライアント31から注文を受け付けるサブルーチンである。図16を使用して、注文受付サブルーチンの処理の流れを説明する。
FIG. 16 is a flowchart showing a processing flow of the order acceptance subroutine. The order acceptance subroutine is a subroutine that accepts an order from the
CPU12は、ネットワークを介して投資家クライアント31のCPUに入力画面するために必要な情報を送信する。投資家クライアント31のCPUは、投資家クライアント31の表示部に図9を使用して説明した入力画面を表示する。以下の説明では投資家クライアント31のCPUによる処理を省略して、「CPU12は、投資家クライアント31に入力画面を表示する」のように記載する(ステップS551)。
The
CPU12は、入力画面を介して外国為替証拠金取引の注文の入力を受け付ける(ステップS552)。CPU12は、入力された注文にエラーがあるか否かを判定する(ステップS553)。エラーがある場合とは、たとえば新規買い注文の指値が市場価格よりも高い場合である。
The
エラーがあると判定した場合(ステップS553でYES)、CPU12はエラーの内容を投資家クライアント31に表示し(ステップS554)、ステップS551に戻る。エラーが無いと判定した場合(ステップS553でNO)、CPU12は入力を受け付けた注文に対して注文番号を付与する(ステップS555)。
If it is determined that there is an error (YES in step S553), the
CPU12は、ステップS552で受け付けた注文内容を受注DB52に記録する(ステップS556)。CPU12はステップS552で受け付けた注文内容のうち、新規注文を発注DB53に記録する(ステップS557)。その後CPU12は処理を終了する。
The
図17は、証拠金確認サブルーチンの処理の流れを示すフローチャートである。証拠金確認サブルーチンは、証拠金が足りるか否かを確認するサブルーチンである。図17を使用して、証拠金確認サブルーチンの処理の流れを説明する。 FIG. 17 is a flowchart showing a processing flow of the margin confirmation subroutine. The margin confirmation subroutine is a subroutine that confirms whether or not the margin is sufficient. The processing flow of the margin confirmation subroutine will be described with reference to FIG.
CPU12は、レートDB41より各外国為替の市場価格を取得する(ステップS571)。CPU12は、ネットワークを介して金融機関サーバ32から直接市場価格を取得しても良い。
The
CPU12は、変数「合計損益」を初期値0に設定する(ステップS572)。CPU12は、カウンタIを初期値1に設定する(ステップS573)。CPU12は、ポジションDB54よりI番目のポジションレコードを抽出して、式(2)に基づき時価損益を算出する(ステップS574)。
時価損益=(市場価格−約定価格)×取引金額 ‥‥‥ (2)
ここで、市場価格は、保有するポジションを反対取引により決済する際の価格である。
The
Market value = (market price-contract price) x transaction amount ‥‥‥ (2)
Here, the market price is the price at which the held position is settled by the opposite transaction.
CPU12は、変数「合計損益」にステップS574で算出した時価損益を加算する(ステップS575)。CPU12は、ポジションDB54に記録されたすべてのポジションの処理を終了したか否かを判定する(ステップS576)。終了していないと判定した場合(ステップS576でNO)、CPU12は、カウンタIに1を加算する(ステップS577)。CPU12は、ステップS574に戻る。
The
すべてのポジションの処理を終了したと判定した場合(ステップS576でYES)、CPU12は、式(3)に基づき有効証拠金を算出する(ステップS581)。
有効証拠金=証拠金+時価損益 ‥‥‥ (3)
When it is determined that the processing of all positions has been completed (YES in step S576), the
Effective Margin = Margin + Market Value Gain / Loss (3)
CPU12は、発注証拠金更新のサブルーチンを起動する(ステップS582)。発注証拠金更新のサブルーチンは、発注DB53の発注証拠金フィールドに記録されたデータを市場価格に基づいて更新するサブルーチンである。発注証拠金更新のサブルーチンの処理の流れは後述する。
The
CPU12は、合計発注証拠金算出のサブルーチンを起動する(ステップS583)。合計発注証拠金算出のサブルーチンは、新規注文の発注証拠金を合計した合計発注証拠金を算出するサブルーチンである。合計発注証拠金算出のサブルーチンの処理の流れは後述する。
The
CPU12は、ポジションDB54の約定価格フィールドに記録された約定価格の総和である合計約定価格に所定の証拠金率を乗じて、必要証拠金を算出する(ステップS584)。必要証拠金は、保有しているポジションを維持するために必要な証拠金である。証拠金率は、金融商品取引業者と投資家との間の契約等に定める値であり、たとえば4%である。
The
CPU12は、有効証拠金が必要証拠金と合計発注証拠金との和以上であるか否かを判定する(ステップS585)。有効証拠金が必要証拠金と合計発注証拠金との和以上であると判定した場合(ステップS585でYES)、CPU12は「証拠金は足りる」と判定して、主記憶装置13または補助記憶装置14に記憶する(ステップS586)。CPU12は、その後処理を終了する。
The
有効証拠金が必要証拠金と合計発注証拠金との和未満であると判定した場合(ステップS585でNO)、CPU12は「証拠金は足りない」と判定して、主記憶装置13または補助記憶装置14に記憶する(ステップS587)。CPU12は、その後処理を終了する。
If it is determined that the effective margin is less than the sum of the required margin and the total order margin (NO in step S585), the
図18は、発注証拠金更新サブルーチンの処理の流れを示すフローチャートである。発注証拠金更新のサブルーチンは、発注DB53の発注証拠金フィールドに記録されたデータを市場価格に基づいて更新するサブルーチンである。図18を使用して、発注証拠金更新のサブルーチンの処理の流れを説明する。
FIG. 18 is a flowchart showing a processing flow of the order margin update subroutine. The order margin update subroutine is a subroutine that updates the data recorded in the order margin field of the
CPU12は、レートDB41より各外国為替の市場価格を取得する(ステップS601)。CPU12は、カウンタIを初期値1に設定する(ステップS602)。CPU12は、発注DB53からI番目の発注レコードを取得する(ステップS603)。CPU12は、取得した発注レコードの注文タイプフィールドを参照して、新規注文の発注レコードであるか否かを判定する(ステップS604)。
The
新規注文の発注レコードであると判定した場合(ステップS604でYES)、CPU12は、執行条件フィールドを参照して発注証拠金が確定しているか否かを判定する(ステップS605)。具体的には、執行条件が「指値」または「逆指値」である場合は、発注証拠金が確定している。執行条件が「デルタ」等の市場価格に応じて注文価格が変動する条件である場合は、発注証拠金が確定していない。
When it is determined that the order record is a new order (YES in step S604), the
発注証拠金が確定していないと判定した場合(ステップS605でNO)、CPU12は、式(1)に基づいて新たな発注証拠金を算出する(ステップS606)。CPU12は、発注DB53の発注証拠金フィールドを、ステップS606で算出した発注証拠金により更新する(ステップS607)。
If it is determined that the order margin has not been determined (NO in step S605), the
新規注文の発注レコードではないと判定した場合(ステップS604でNO)、発注証拠金が確定していると判定した場合(ステップS605でYES)およびステップS607の終了後、CPU12は、発注DB53のすべてのレコードの処理が終了したか否かを判定する(ステップS608)。
When it is determined that the order record is not a new order (NO in step S604), when it is determined that the order margin is fixed (YES in step S605), and after the end of step S607, the
終了していないと判定した場合(ステップS608でNO)、CPU12は、カウンタIに1を加算する(ステップS609)。CPU12は、ステップS603に戻る。終了したと判定した場合(ステップS608でYES)、CPU12は処理を終了する。
If it is determined that the process has not been completed (NO in step S608), the
なお、CPU12は、ステップS601を省略して、呼び出し元のプログラムで取得した市場価格を本サブルーチンでも使用しても良い。市場価格を取得する処理を省略することにより、発注証拠金更新のサブルーチンの処理を早くすることができる。
Note that the
また、CPU12は、ステップS605とステップS606との間で市場価格を取得しても良い。発注証拠金を算出する直前で市場価格を取得することにより、最新の市場価格を発注証拠金に反映させることができる。
Further, the
図19は、合計発注証拠金算出サブルーチンの処理の流れを示すフローチャートである。合計発注証拠金算出のサブルーチンは、新規注文の発注証拠金を合計した合計発注証拠金を算出するサブルーチンである。図19を使用して、合計発注証拠金算出のサブルーチンの処理の流れを説明する。 FIG. 19 is a flowchart showing a processing flow of the total order margin calculation subroutine. The subroutine for calculating the total order margin is a subroutine for calculating the total order margin, which is the sum of the order margins for new orders. A flow of processing of the subroutine for calculating the total order margin will be described with reference to FIG.
CPU12は、変数「合計発注証拠金」を初期値0に設定する(ステップS921)。CPU12は、変数G(J)を初期値0に設定する(ステップS922)。ここでJは1から証拠金グループの数までの整数である。変数G(J)は、J番目のグループの発注証拠金の最大値を抽出するために一時的に使用する変数である。
The
CPU12は、カウンタIを初期値1に設定する(ステップS923)。CPU12は、発注DB53からI番目の発注レコードを取得する(ステップS924)。CPU12は、取得した発注レコードの注文タイプフィールドを参照して、新規注文の発注レコードであるか否かを判定する(ステップS925)。
The
新規注文の発注レコードであると判定した場合(ステップS925でYES)、CPU12は、取得した発注レコードの証拠金グループフィールドを参照して、証拠金グループが設定されていないか否かを判定する(ステップS926)。たとえば、証拠金グループフィールドに「−」が記録されている場合、CPU12は証拠金グループが設定されていないと判定する。
If it is determined that the order record is a new order (YES in step S925), the
証拠金グループが設定されていないと判定した場合(ステップS926でYES)、CPU12は、変数「合計発注証拠金」に、発注証拠金フィールドに記録された発注証拠金を加算する(ステップS927)。
If it is determined that the margin group has not been set (YES in step S926), the
証拠金グループが設定されていると判定した場合(ステップS926でNO)、CPU12は、変数Jを証拠金グループフィールドに記録された証拠金グループに設定する(ステップS931)。CPU12は、J番目のグループの最大証拠金を抽出する変数G(J)が、ステップS924で取得したレコードの発注証拠金フィールドに記録された発注証拠金以下であるか否かを判定する(ステップS932)。G(J)が発注証拠金未満であると判定した場合(ステップS932でYES)、CPU12は変数G(J)に発注証拠金を代入する(ステップS933)。
If it is determined that the margin group has been set (NO in step S926), the
新規注文の発注レコードでないと判定した場合(ステップS925でNO)、ステップS927の終了後、G(J)が発注証拠金以上であると判定した場合(ステップS932でNO)およびステップS933の終了後、CPU12は発注DB53のすべてのレコードの処理が終了したか否かを判定する(ステップS934)。
When it is determined that it is not an order record for a new order (NO in step S925), after the end of step S927, when it is determined that G (J) is equal to or greater than the order margin (NO in step S932), and after the end of step S933. , The
終了していないと判定した場合(ステップS934でNO)、CPU12はカウンタIに1を加算する(ステップS935)。CPU12は、ステップS924に戻る。以上に説明したように、ステップS924からステップS933までの処理を繰り返すことにより、変数G(J)には、J番目のグループの新規注文の発注証拠金の最大値が設定される。
If it is determined that the process has not been completed (NO in step S934), the
発注DB53のすべてのレコードの処理が終了したと判定した場合(ステップS934でYES)、CPU12はカウンタKを1に設定する(ステップS941)。
When it is determined that the processing of all the records in the
CPU12は、変数「合計発注証拠金」にK番目のグループの新規注文の発注証拠金の最大値G(K)を加算する(ステップS942)。CPU12は、すべての証拠金グループの処理を終了したか否かを判定する(ステップS943)。
The
終了していないと判定した場合(ステップS943でNO)、CPU12はカウンタKに1を加算する(ステップS944)。CPU12は、ステップS942に戻る。終了したと判定した場合(ステップS943でYES)、CPU12は処理を終了する。
If it is determined that the process has not been completed (NO in step S943), the
図20は、ポジション取得サブルーチンの処理の流れを示すフローチャートである。ポジション取得サブルーチンは、ステップS521で受け付けた注文に基づいて新規ポジションを取得する処理を行うサブルーチンである。図20を使用して、ポジション取得サブルーチンの処理の流れを説明する。なお、本実施の形態においては、ステップS521で取得した新規注文の執行条件は、デルタ注文、指値注文または成行注文のいずれかである。 FIG. 20 is a flowchart showing the processing flow of the position acquisition subroutine. The position acquisition subroutine is a subroutine that performs a process of acquiring a new position based on the order received in step S521. The processing flow of the position acquisition subroutine will be described with reference to FIG. In the present embodiment, the execution condition of the new order acquired in step S521 is either a delta order, a limit order, or a market order.
CPU12は、ステップS521で取得した新規注文の執行条件がデルタ注文であるか否かを判定する(ステップS641)。デルタ注文であると判定した場合(ステップS641でYES)、CPU12は、デルタ判定のサブルーチンを起動する(ステップS642)。デルタ判定のサブルーチンは、市場価格が所定の変動幅を超えて上昇トレンドまたは下降トレンドに移行したか否かを判定するサブルーチンである。デルタ判定のサブルーチンの処理の流れは後述する。
The
CPU12は、デルタ判定のサブルーチンの処理結果がONであるか否かを判定する(ステップS643)。ONでないと判定した場合(ステップS643でNO)、CPU12は、デルタ注文の処理を終了するか否かを判定する(ステップS644)。たとえば、発注DB53の期限フィールドに記録された期限を過ぎた場合、投資家クライアント31より注文中止の指示を取得した場合、投資家の取引口座が証拠金の残高不足によりロスカットされた場合等に、CPU12は、デルタ注文の処理を終了すると判定する。
The
終了しないと判定した場合(ステップS644でNO)、CPU12は、ステップS642に戻る。
If it is determined that the process does not end (NO in step S644), the
デルタ注文でないと判定した場合(ステップS641でNO)、CPU12は、ステップS521で取得した新規注文の執行条件が指値注文であるか否かを判定する(ステップS651)。指値注文ではないと判定した場合(ステップS651でNO)およびデルタ判定のサブルーチンの処理結果がONであると判定した場合(ステップS643でYES)、CPU12は、市場価格で約定を行う成行約定の処理を行う(ステップS645)。
If it is determined that the order is not a delta order (NO in step S641), the
指値注文であると判定した場合(ステップS651でYES)、CPU12は、レートDB41より外国為替の市場価格を取得する(ステップS652)。CPU12は、ネットワークを介して金融機関サーバ32から直接市場価格を取得しても良い。
If it is determined that the order is a limit order (YES in step S651), the
CPU12は、発注レコードの注文価格フィールドに記録された注文価格と市場価格とを比較して、指値注文の成立可否を判定する(ステップS653)。具体的には、買い注文である場合には、CPU12は、注文価格よりも市場価格の方が安い場合に指値注文が成立可能であると判定する。売り注文である場合には、CPU12は、注文価格よりも市場価格の方が高い場合に指値注文が成立可能であると判定する。
The
成立可でないと判定した場合(ステップS653でNO)、CPU12は、指値注文の処理を終了するか否かを判定する(ステップS654)。たとえば、発注DB53の期限フィールドに記録された期限を過ぎた場合、投資家クライアント31より注文中止の指示を取得した場合、投資家の取引口座が証拠金の残高不足によりロスカットされた場合等に、CPU12は、指値注文の処理を終了すると判定する。指値注文の処理を終了しないと判定した場合(ステップS654でNO)、CPU12はステップS652に戻る。
When it is determined that the establishment is not possible (NO in step S653), the
指値注文が成立可であると判定した場合(ステップS653でYES)、CPU12は、指値注文による約定の処理を行う(ステップS655)。
When it is determined that the limit order can be established (YES in step S653), the
ステップS645またはステップS655の終了後、CPU12は、約定した新規注文に発注レコードの証拠金グループフィールドを参照して、証拠金グループが記録されているか否かを判定する(ステップS951)。証拠金グループが記録されていると判定した場合(ステップS951でYES)、CPU12は同一証拠金グループに属する他の発注をキャンセルする(ステップS952)。
After the end of step S645 or step S655, the
具体的には、CPU12は証拠金グループフィールドをキーとして発注DB53を検索し、同一証拠金グループのレコードを抽出して、発注DB53から削除する。CPU12は、証拠金グループフィールドをキーとして受注DB52を検索し、同一証拠金グループのレコードを抽出して、注文状況フィールドに「取消済」と記録する。さらにCPU12は、「取消済」を記録した新規注文に対応する決済注文の注文状況フィールドにも「取消済」と記録する。
Specifically, the
証拠金グループが記録されていないと判定した場合(ステップS951でNO)およびステップS952の終了後、CPU12はポジションDB54に約定した注文の注文番号、通貨ペア、取引種別、約定価格、取引金額、約定日時および決済注文の番号を記録する(ステップS656)。なお、CPU12は、約定した注文の番号をキーとして受注DB52の親注文番号フィールドを検索することにより決済注文の注文番号および利益確定注文、ストップ注文の別を抽出する。
When it is determined that the margin group is not recorded (NO in step S951) and after the end of step S952, the
デルタ注文の処理を終了すると判定した場合(ステップS644でYES)、指値注文の処理を終了すると判定した場合(ステップS654でYES)、およびステップS656の終了後、CPU12は処理を終了する。
When it is determined to end the processing of the delta order (YES in step S644), when it is determined to end the processing of the limit order (YES in step S654), and after the end of step S656, the
図21は、デルタ判定のサブルーチンの処理の流れを示すフローチャートである。デルタ判定のサブルーチンは、市場価格が所定の変動幅を超えて上昇トレンドまたは下降トレンドに移行したか否かを判定するサブルーチンである。図21を使用して、デルタ判定のサブルーチンの処理の流れを説明する。 FIG. 21 is a flowchart showing a processing flow of the delta determination subroutine. The delta determination subroutine is a subroutine that determines whether or not the market price has shifted to an uptrend or a downtrend beyond a predetermined fluctuation range. The processing flow of the delta determination subroutine will be described with reference to FIG.
CPU12は、注文対象の通貨ペアをキーとして、HLDB43より最新のHLレコードを取得する(ステップS671)。CPU12は、注文対象の通貨ペアをキーとして、レートDB41よりレートレコードを取得する(ステップS672)。
The
CPU12は、ステップS671で取得したHLレコードとステップS672で取得したレートレコードのタイムスタンプフィールドに記録されたタイムスタンプ同士が一致しているか否かを判定する(ステップS673)。一致していると判定した場合(ステップS673でYES)、CPU12はHLDB43より一つ前のHLレコードを取得する(ステップS674)。
The
タイムスタンプが一致していないと判定した場合(ステップS673でNO)およびステップS674の終了後、CPU12は、処理中の注文が買い注文であるか否かを判定する(ステップS675)。
When it is determined that the time stamps do not match (NO in step S673) and after the end of step S674, the
買い注文であると判定した場合(ステップS675でYES)、CPU12は、式(4)に基づき市場価格と過去のトレンドと注文時の条件との関係を判定する(ステップS676)。
市場価格−L≧ΔP×ΔT ‥‥‥(4)
市場価格は、ステップS672で取得したレートレコードの買レートフィールドに記録された価格である。
ΔPは、デルタ注文のパラメータである単位判定価格幅ΔPである。
ΔTは、デルタ注文のパラメータである判定時間幅ΔTである。
Lは、ステップS671で取得したHLレコードの、注文条件の判定時間幅ΔTに対応するLフィールドに記録された価格であり、判定時間幅ΔTの期間内の最低価格を示す。
When it is determined that the order is a buy (YES in step S675), the
Market price −L ≧ ΔP × ΔT ‥‥‥ (4)
The market price is the price recorded in the buy rate field of the rate record acquired in step S672.
ΔP is the unit determination price range ΔP, which is a parameter of the delta order.
ΔT is the determination time width ΔT, which is a parameter of the delta order.
L is the price recorded in the L field corresponding to the determination time width ΔT of the order condition of the HL record acquired in step S671, and indicates the lowest price within the period of the determination time width ΔT.
式(4)が真であると判定した場合(ステップS676でYES)、CPU12は、処理結果がONであると判定して、主記憶装置13または補助記憶装置14に記憶する(ステップS677)。CPU12は、その後処理を終了する。
When it is determined that the equation (4) is true (YES in step S676), the
式(4)が偽であると判定した場合(ステップS676でNO)、CPU12は、処理結果が「OFF」であると判定して、主記憶装置13または補助記憶装置14に記憶する(ステップS678)。CPU12は、その後処理を終了する。
When it is determined that the equation (4) is false (NO in step S676), the
買い注文でないと判定した場合(ステップS675でNO)、CPU12は、式(5)に基づき市場価格と過去のトレンドと注文時の条件との関係を判定する(ステップS681)。
H−市場価格≧ΔP×ΔT ‥‥‥(5)
市場価格は、ステップS672で取得したレートレコードの売レートフィールドに記録された価格である。
ΔPは、デルタ注文のパラメータである単位判定価格幅ΔPである。
ΔTは、デルタ注文のパラメータである判定時間幅ΔTである。
Hは、ステップS671で取得したHLレコードの、注文条件の判定時間幅ΔTに対応するHフィールドに記録された価格であり、判定時間幅ΔTの期間内の最高価格を示す。
When it is determined that the order is not a buy order (NO in step S675), the
H-Market price ≧ ΔP × ΔT ‥‥‥ (5)
The market price is the price recorded in the selling rate field of the rate record acquired in step S672.
ΔP is the unit determination price range ΔP, which is a parameter of the delta order.
ΔT is the determination time width ΔT, which is a parameter of the delta order.
H is the price recorded in the H field corresponding to the determination time width ΔT of the order condition of the HL record acquired in step S671, and indicates the highest price within the period of the determination time width ΔT.
式(5)が真であると判定した場合(ステップS681でYES)、CPU12は、処理結果がONであると判定して、主記憶装置13または補助記憶装置14に記憶する(ステップS682)。CPU12は、その後処理を終了する。
When it is determined that the equation (5) is true (YES in step S681), the
式(5)が偽であると判定した場合(ステップS681でNO)、CPU12は、処理結果が「OFF」であると判定して、主記憶装置13または補助記憶装置14に記憶する(ステップS683)。CPU12は、その後処理を終了する。
When it is determined that the equation (5) is false (NO in step S681), the
図22は、ポジション決済サブルーチンの処理の流れを示すフローチャートである。ポジション決済サブルーチンは、保有するポジションを決済する処理を行うサブルーチンである。図22を使用して、ポジション決済サブルーチンの処理の流れを説明する。なお、本実施の形態においては、ステップS521で取得した決済利益確定注文の執行条件は、相対トリガトレール注文または指値注文であり、決済ストップ注文の執行条件はトレール注文である。 FIG. 22 is a flowchart showing the processing flow of the position settlement subroutine. The position settlement subroutine is a subroutine that performs processing to settle the held position. The processing flow of the position settlement subroutine will be described with reference to FIG. In the present embodiment, the execution condition of the settlement profit settlement order acquired in step S521 is the relative trigger trail order or the limit order, and the execution condition of the settlement stop order is the trail order.
CPU12は、ステップS521で取得した新規注文の決済利益確定条件が相対トリガトレール注文であるか否かを判定する(ステップS701)。相対トリガトレール注文であると判定した場合(ステップS701でYES)、CPU12は、レートDB41より外国為替の市場価格を取得する(ステップS702)。
The
CPU12は、利益確定注文のトレールを開始する利益確定トリガがONであるか否かを判定する(ステップS703)。具体的には、買い注文である場合にはステップS702で取得した市場価格が式(6)および式(7)を満たす場合に、CPU12は利益確定トリガがONであると判定する。
市場価格>トリガ価格Trig‥‥‥ (6)
トリガ価格Trig=新規注文時の約定価格+ΔTg ‥‥‥ (7)
ΔTgは、相対トリガトレール注文のパラメータであるトリガ幅ΔTgである。
The
Market price> Trigger price Trig ‥‥‥ (6)
Trigger price Trig = Contract price at the time of new order + ΔTg ‥‥‥ (7)
ΔTg is the trigger width ΔTg, which is a parameter of the relative trigger trail order.
同様に、売り注文である場合にはステップS702で取得した市場価格が式(8)および式(9)を満たす場合に、CPU12は利益確定トリガがONであると判定する。
市場価格<トリガ価格Trig ‥‥‥ (8)
トリガ価格Trig=新規注文時の約定価格−ΔTg ‥‥‥ (9)
Similarly, in the case of a sell order, when the market price acquired in step S702 satisfies the equations (8) and (9), the
Market price <Trigger price Trig ‥‥‥ (8)
Trigger price Trig = Contract price at the time of new order-ΔTg ‥‥‥ (9)
利益確定トリガがONであると判定した場合(ステップS703でYES)、CPU12は、相対トリガトレール判定のサブルーチンを起動する(ステップS704)。相対トリガトレール判定のサブルーチンは、市場価格に応じて逆指値をトレールしながら相対トリガトレールの条件が満たされたことを判定するサブルーチンである。相対トリガトレール判定のサブルーチンの処理の流れは後述する。CPU12は、相対トリガトレール判定のサブルーチンで定まる条件に基づいて、逆指値約定を行う(ステップS705)。
When it is determined that the profit determination trigger is ON (YES in step S703), the
利益確定トリガがONでないと判定した場合(ステップS703でNO)、CPU12は、ストップトリガ判定のサブルーチンを起動する(ステップS711)。ストップトリガ判定のサブルーチンは、決済ストップ注文により損切りを行うか否かを判定するサブルーチンである。ストップトリガ判定のサブルーチンの処理の流れは後述する。
When it is determined that the profit determination trigger is not ON (NO in step S703), the
CPU12は、ストップトリガ判定のサブルーチンの処理結果が「ストップ」であるか否かを判定する(ステップS712)。「ストップ」でないと判定した場合(ステップS712でNO)、CPU12はステップS702に戻る。「ストップ」であると判定した場合(ステップS712でYES)、CPU12は、市場価格で約定を行う成行約定の処理を行う(ステップS713)。
The
相対トリガトレール注文でないと判定した場合(ステップS701でNO)、CPU12は、レートDB41より外国為替の市場価格を取得する(ステップS721)。CPU12は、決済利益確定注文の指値注文の成立可否を判定する(ステップS722)。成立可であると判定した場合(ステップS722でYES)、CPU12は、決済利益確定注文の執行条件に基づいて、指値約定を行う(ステップS723)。
If it is determined that the order is not a relative trigger trail order (NO in step S701), the
指値注文が成立可でないと判定した場合(ステップS722でNO)、CPU12は、ストップトリガ判定のサブルーチンを起動する(ステップS724)。ストップトリガ判定のサブルーチンは、ステップS711で起動したサブルーチンと同一のサブルーチンである。
When it is determined that the limit order cannot be fulfilled (NO in step S722), the
CPU12は、ストップトリガ判定のサブルーチンの処理結果が「ストップ」であるか否かを判定する(ステップS725)。「ストップ」でないと判定した場合(ステップS725でNO)、CPU12はステップS721に戻る。「ストップ」であると判定した場合(ステップS725でYES)、CPU12は、市場価格で約定を行う成行約定の処理を行う(ステップS726)。
The
ステップS705、ステップS713、ステップS723またはステップS726の終了後、CPU12は、ポジションDB54から決済した新規注文に関するレコードを削除する(ステップS731)。その後、CPU12は処理を終了する。
After the end of step S705, step S713, step S723 or step S726, the
図23は、ストップトリガ判定サブルーチンの処理の流れを示すフローチャートである。ストップトリガ判定のサブルーチンは、決済ストップ注文により損切りを行うか否かを判定するサブルーチンである。図23を使用して、ストップトリガ判定のサブルーチンの処理の流れを説明する。 FIG. 23 is a flowchart showing the processing flow of the stop trigger determination subroutine. The stop trigger determination subroutine is a subroutine that determines whether or not to perform loss cut by a settlement stop order. The processing flow of the stop trigger determination subroutine will be described with reference to FIG. 23.
CPU12は、判定する対象の注文が売り注文であるか否かを判定する(ステップS752)。売り注文であると判定した場合(ステップS752でYES)、CPU12は、レートDB41より外国為替の市場価格を取得する(ステップS753)。
The
CPU12は、市場価格がストップ注文のトリガ値以下であるか否かを判定する(ステップS754)。ストップ注文のトリガ値以下でないと判定した場合(ステップS754でNO)、CPU12は、市場価格とトリガ値との関係が式(10)を満たすか否かを判定する(ステップS755)。
市場価格−ΔS>トリガ値 ‥‥‥ (10)
ΔSは、ストップ注文のトレール幅ΔSである。
The
Market price −ΔS> Trigger value ‥‥‥ (10)
ΔS is the trail width ΔS of the stop order.
式(10)が真であると判定した場合(ステップS755でYES)、CPU12は、トリガ値を式(10)の左辺の値に変更する(ステップS756)。ステップS756の処理により、CPU12は市場価格の上昇に追従して売り注文のストップ注文価格を変更、すなわちトレールする。
When it is determined that the equation (10) is true (YES in step S755), the
式(10)が真でないと判定した場合(ステップS755でNO)およびステップS756の終了後、CPU12は、処理結果が「継続」であると判定して、主記憶装置13または補助記憶装置14に記憶する(ステップS757)。CPU12は、その後処理を終了する。
When it is determined that the equation (10) is not true (NO in step S755) and after the end of step S756, the
売り注文でないと判定した場合(ステップS752でNO)、CPU12は、レートDB41より外国為替の市場価格を取得する(ステップS761)。
If it is determined that the order is not a sell order (NO in step S752), the
CPU12は、市場価格がストップ注文のトリガ値以上であるか否かを判定する(ステップS762)。ストップ注文のトリガ値以上でないと判定した場合(ステップS762でNO)、CPU12は、市場価格とトリガ値との関係が式(11)を満たすか否かを判定する(ステップS763)。
市場価格+ΔS>トリガ値 ‥‥‥ (11)
ΔSは、ストップ注文のトレール幅ΔSである。
The
Market price + ΔS> Trigger value ‥‥‥ (11)
ΔS is the trail width ΔS of the stop order.
式(11)が真であると判定した場合(ステップS763でYES)、CPU12は、トリガ値を式(10)の左辺の値に変更する(ステップS764)。ステップS764の処理により、CPU12は市場価格の下落に追従して買い注文のストップ注文価格を変更、すなわちトレールする。
When it is determined that the equation (11) is true (YES in step S763), the
式(11)が真でないと判定した場合(ステップS763でNO)およびステップS764の終了後、CPU12は、処理結果が「継続」であると判定して、主記憶装置13または補助記憶装置14に記憶する(ステップS765)。CPU12は、その後処理を終了する。
When it is determined that the equation (11) is not true (NO in step S763) and after the end of step S764, the
売り注文で市場価格がストップ注文のトリガ値以下であると判定した場合(ステップS754でYES)、および、買い注文で市場価格がストップ注文のトリガ値以上であると判定した場合(ステップS762でYES)、CPU12は、処理結果が「ストップ」であると判定して、主記憶装置13または補助記憶装置14に記憶する(ステップS771)。CPU12は、その後処理を終了する。
When it is determined in the sell order that the market price is equal to or less than the trigger value of the stop order (YES in step S754), and when it is determined in the buy order that the market price is equal to or greater than the trigger value of the stop order (YES in step S762). ), The
図24は、相対トリガトレール判定サブルーチンの処理の流れを示すフローチャートである。相対トリガトレール判定のサブルーチンは、市場価格に応じて逆指値をトレールしながら相対トリガトレールの条件が満たされたことを判定するサブルーチンである。図24を使用して、相対トリガトレール判定のサブルーチンの処理の流れを説明する。 FIG. 24 is a flowchart showing the processing flow of the relative trigger trail determination subroutine. The relative trigger trail determination subroutine is a subroutine that determines that the condition of the relative trigger trail is satisfied while trailing the stop price according to the market price. The processing flow of the subroutine of the relative trigger trail determination will be described with reference to FIG.
CPU12は、判定する対象の注文が売り注文であるか否かを判定する(ステップS791)。売り注文であると判定した場合(ステップS791でYES)、CPU12は、注文価格を市場価格から利益確定注文のトレール幅ΔRを減算した値に設定する(ステップS792)。ここで、注文価格は逆指値注文価格である。
The
CPU12は、レートDB41より外国為替の市場価格を取得する(ステップS793)。CPU12は、市場価格から利益確定注文のトレール幅ΔRを減算した値が注文価格以上であるか否かを判定する(ステップS794)。以上ではないと判定した場合(ステップS794でNO)、CPU12はステップS792に戻る。
The
以上であると判定した場合(ステップS794でYES)、CPU12は市場価格が注文価格以下であるか否かを判定する(ステップS795)。以下ではないと判定した場合(ステップS795でNO)、CPU12はステップS793に戻る。
When it is determined that the above is the case (YES in step S794), the
売り注文でないと判定した場合(ステップS791でNO)、CPU12は、注文価格を市場価格に利益確定注文のトレール幅ΔRを加算した値に設定する(ステップS796)。ここで、注文価格は逆指値注文価格である。
When it is determined that the order is not a sell order (NO in step S791), the
CPU12は、レートDB41より外国為替の市場価格を取得する(ステップS797)。CPU12は、市場価格に利益確定注文のトレール幅ΔRを加算した値が注文価格以下であるか否かを判定する(ステップS798)。以下ではないと判定した場合(ステップS798でNO)、CPU12はステップS796に戻る。
The
以下であると判定した場合(ステップS798でYES)、CPU12は市場価格が注文価格以上であるか否かを判定する(ステップS799)。以上ではないと判定した場合(ステップS799でNO)、CPU12はステップS797に戻る。
When it is determined that the following is true (YES in step S798), the
売り注文で市場価格が注文価格以下であると判定した場合(ステップS795でYES)、および、買い注文で市場価格が注文価格以上であると判定した場合(ステップS799でYES)、CPU12は処理を終了する。
If it is determined in the sell order that the market price is less than or equal to the order price (YES in step S795), and if it is determined in the buy order that the market price is greater than or equal to the order price (YES in step S799), the
なお、CPU12は、新規注文のみを受け付けても良い。たとえば、長期保有を望む投資家、および市場価格をリアルタイムに確認して成行注文で決済を行いたい投資家の場合には、ポジション取得のみを本実施の形態の取引装置に任せることができる。同様に、CPU12は既に保有しているポジションの決済注文のみを受け付けても良い。
The
本実施の形態によると、複数の新規注文が発注証拠金を共有する証拠金グループを利用することにより、証拠金の運用効率を高めることが可能な取引装置等を提供することができる。 According to this embodiment, by using a margin group in which a plurality of new orders share an order margin, it is possible to provide a trading device or the like capable of improving the operational efficiency of the margin.
本実施の形態によると、図10を使用して説明したデルタ注文による新規注文を行なうことによりトレンド相場の初期に自動的に有利なポジションを取る取引装置を実現することができる。 According to the present embodiment, it is possible to realize a trading device that automatically takes an advantageous position at the initial stage of the trend market by placing a new order by the delta order described with reference to FIG.
本実施の形態によると、図11を使用して説明した相対トリガトレール注文による決済注文を行い、トレンド相場のピークを検出した直後の有利な条件で自動的にポジションを決済する取引装置を実現することができる。 According to the present embodiment, a trading device is realized in which a settlement order is placed by the relative trigger trail order described with reference to FIG. 11 and the position is automatically settled under favorable conditions immediately after the peak of the trend market is detected. be able to.
本実施の形態によると、デルタ注文の他に、従来から使用されている指値注文または成行き注文による新規注文も処理することが可能な取引装置を実現することができる。また、相対トリガトレール注文の他に指値注文による決済利益確定注文も処理することが可能な取引装置を実現することが可能な取引装置を実現することができる。新規注文の執行条件と決済注文との執行条件とを、任意に組み合わせて実施することが可能な取引装置を実現することができる。 According to this embodiment, it is possible to realize a trading device capable of processing not only delta orders but also new orders by limit orders or market orders that have been conventionally used. Further, it is possible to realize a trading device capable of realizing a trading device capable of processing a settlement profit settlement order by a limit order in addition to a relative trigger trail order. It is possible to realize a trading device capable of executing an execution condition of a new order and an execution condition of a settlement order in any combination.
[実施の形態2]
本実施の形態は、同一証拠金グループに属する一つの新規注文が約定した場合に、他の注文が約定することを防止する取引装置に関する。実施の形態1と共通する部分については、説明を省略する。
[Embodiment 2]
The present embodiment relates to a trading device that prevents another order from being executed when one new order belonging to the same margin group is executed. The description of the parts common to the first embodiment will be omitted.
図25は、実施の形態2の発注DB53のレコードレイアウトを示す説明図である。本実施の形態の発注DB53は、注文番号フィールド、通貨ペアフィールド、注文タイプフィールド、取引種別フィールド、執行条件フィールド、注文価格フィールド、トリガ値フィールド、トリガ幅フィールド、トレール幅フィールド、ΔPフィールド、ΔTフィールド、取引金額フィールド、期限フィールド、発注証拠金フィールド、親注文番号フィールド、証拠金グループフィールドおよびフラグフィールドを有する。フラグフィールドを除く各フィールドに記録されているデータは、実施の形態1と同様であるので説明を省略する。
FIG. 25 is an explanatory diagram showing a record layout of the
フラグフィールドには、グループ内に約定が近い新規注文があることを示すフラグが記録されている。すなわち、図25においては証拠金グループ1に、約定が近い新規注文が含まれているため、注文番号101および注文番号104のレコードのフラグフィールドに「ON」と記録されている。それ以外のレコードのフラグフィールドには「−」が記録されている。
In the flag field, a flag indicating that there is a new order with a close execution in the group is recorded. That is, in FIG. 25, since the
CPU12は、約定が可能であることを判定した後に、フラグフィールドを参照し、「ON」と記録されている場合には約定を行わない。一方、「−」と記録されている場合には、同一証拠金グループの他の新規注文のレコードのフラグフィールドに「ON」を記録した上で、約定を行う。以上により、並行して動作する複数のプログラムに基づいて、同一証拠金グループに属する複数の新規注文が約定することを防止する取引装置を提供することが可能である。
After determining that the contract is possible, the
図26は、実施の形態2のポジション取得サブルーチンの処理の流れを示すフローチャートである。図26に示すサブルーチンは、図20を使用して説明したポジション取得のサブルーチンの代わりに使用するサブルーチンである。 FIG. 26 is a flowchart showing a processing flow of the position acquisition subroutine of the second embodiment. The subroutine shown in FIG. 26 is a subroutine used in place of the position acquisition subroutine described with reference to FIG.
ステップS641からステップS644までおよびステップS651からステップS654までは、図20と同一であるので説明を省略する。指値注文ではないと判定した場合(ステップS651でNO)およびデルタ判定のサブルーチンの処理結果がONであると判定した場合(ステップS643でYES)、CPU12は、処理中の注文に関する発注レコードのフラグフィールドを参照して、「ON」が記録されているか否かを判定する(ステップS961)。
Since steps S641 to S644 and steps S651 to S654 are the same as those in FIG. 20, the description thereof will be omitted. When it is determined that the order is not a limit order (NO in step S651) and when it is determined that the processing result of the delta determination subroutine is ON (YES in step S643), the
「ON」が記録されていると判定した場合(ステップS961でYES)、CPU12は処理を終了する。「ON」が記録されていないと判定した場合(ステップS961でNO)、CPU12は、証拠金フィールドをキーとして発注DB53を検索して、同一証拠金グループに属する新規注文を抽出し、フラグフィールドを「ON」を記録する(ステップS962)。CPU12は、市場価格で約定を行う成行約定の処理を行う(ステップS645)。
When it is determined that "ON" is recorded (YES in step S961), the
指値注文が成立可であると判定した場合(ステップS653でYES)、CPU12は、処理中の注文に関する発注レコードのフラグフィールドを参照して、「ON」が記録されているか否かを判定する(ステップS966)。
When it is determined that the limit order can be completed (YES in step S653), the
「ON」が記録されていると判定した場合(ステップS966でYES)、CPU12は処理を終了する。「ON」が記録されていないと判定した場合(ステップS966でNO)、CPU12は、証拠金フィールドをキーとして発注DB53を検索して、同一証拠金グループに属する新規注文を抽出し、フラグフィールドを「ON」を記録する(ステップS967)。CPU12は、指値注文による約定の処理を行う(ステップS655)。
When it is determined that "ON" is recorded (YES in step S966), the
ステップS644、ステップS645、ステップS654およびステップS655の終了後の処理は、図20と同一であるので説明を省略する。 The processing after the completion of step S644, step S645, step S654, and step S655 is the same as that in FIG. 20, and thus the description thereof will be omitted.
本実施の形態によると、並行して動作する複数のプログラムに基づいて、同一証拠金グループに属する複数の新規注文が約定することを防止する取引装置を提供することが可能である。 According to this embodiment, it is possible to provide a trading device that prevents a plurality of new orders belonging to the same margin group from being executed based on a plurality of programs operating in parallel.
ステップS961またはステップS966でフラグフィールドに「ON」が記録されていると判定した場合、CPU12は、約定直前の他の新規注文を処理中のプログラムとの間で優先順位を調整しても良い。具体的には、注文番号の大小、投資家クライアント31から取得した所定の優先順位等に基づき、CPU12は、優先順位の低い新規注文の約定を停止し、優先順位の高い新規注文を約定させても良い。
If it is determined in step S961 or step S966 that "ON" is recorded in the flag field, the
[実施の形態3]
本実施の形態は、約定の直前に証拠金の確認を行う取引装置に関する。実施の形態1と共通する部分については、説明を省略する。
[Embodiment 3]
The present embodiment relates to a trading device that confirms margin immediately before a contract. The description of the parts common to the first embodiment will be omitted.
図27は、実施の形態3のポジション取得サブルーチンの処理の流れを示すフローチャートである。図27に示すサブルーチンは、図20を使用して説明したポジション取得のサブルーチンの代わりに使用するサブルーチンである。 FIG. 27 is a flowchart showing a processing flow of the position acquisition subroutine of the third embodiment. The subroutine shown in FIG. 27 is a subroutine used in place of the position acquisition subroutine described with reference to FIG.
ステップS641からステップS644まで、およびステップS651からステップS654までは、図20と同一であるので説明を省略する。指値注文ではないと判定した場合(ステップS651でNO)およびデルタ判定のサブルーチンの処理結果がONであると判定した場合(ステップS643でYES)、CPU12は、図17を使用して説明した証拠金確認のサブルーチンを起動する(ステップS971)。
Since steps S641 to S644 and steps S651 to S654 are the same as those in FIG. 20, description thereof will be omitted. When it is determined that the order is not a limit order (NO in step S651) and when it is determined that the processing result of the delta determination subroutine is ON (YES in step S643), the
CPU12は、証拠金確認サブルーチンの処理結果に基づき証拠金が足りるか否かを判定する(ステップS972)。証拠金が足りると判定した場合(ステップS972でYES)、CPU12は、市場価格で約定を行う成行約定の処理を行う(ステップS645)。証拠金が足りないと判定した場合(ステップS972でNO)、CPU12は処理を終了する。
The
指値注文が成立可であると判定した場合(ステップS653でYES)、CPU12は、図17を使用して説明した証拠金確認のサブルーチンを起動する(ステップS976)。
When it is determined that the limit order can be completed (YES in step S653), the
CPU12は、証拠金確認サブルーチンの処理結果に基づき証拠金が足りるか否かを判定する(ステップS977)。証拠金が足りると判定した場合(ステップS977でYES)、CPU12は、指値注文による約定の処理を行う(ステップS655)。証拠金が足りないと判定した場合(ステップS977でNO)、CPU12は処理を終了する。
The
ステップS644、ステップS645、ステップS654およびステップS655の終了後の処理は、図20と同一であるので説明を省略する。 The processing after the completion of step S644, step S645, step S654, and step S655 is the same as that in FIG. 20, and thus the description thereof will be omitted.
本実施の形態によると、約定直前に証拠金を確認することにより、約定した直後にロスカットが生じて投資家が損失をうけることを防止する取引装置を提供することができる。 According to the present embodiment, by confirming the margin immediately before the contract, it is possible to provide a trading device that prevents the investor from suffering a loss due to a loss cut immediately after the contract.
[実施の形態4]
図28は、実施の形態4の取引装置の動作を示す機能ブロック図である。本実施の形態の取引装置の一例である投資家サーバ11は、CPU12による制御に基づいて以下のように動作する。
[Embodiment 4]
FIG. 28 is a functional block diagram showing the operation of the trading device according to the fourth embodiment. The
投資家サーバ11は、グループ情報取得部91と、発注証拠金算出部92と、発注証拠金選択部93と、証拠金判定部94とを備える。グループ情報取得部91は、担保にした有効証拠金以上の金額で外貨を取引可能な外国為替証拠金取引の複数の新規注文を含むグループ中の、それぞれの新規注文に関する約定見込価格と取引金額とを取得する。発注証拠金選択部92は、グループ情報取得部91が取得した約定見込価格と取引金額とに基づいて新規注文のそれぞれに関する発注証拠金を算出する。発注証拠金選択部93は、発注証拠金算出部が算出した発注証拠金のうち、最も高額の発注証拠金を選択する。証拠金判定部94は、発注証拠金選択部93が選択した発注証拠金と、有効証拠金とに基づいて、グループに含まれる新規注文に対する有効証拠金の過不足を判定する。
The
[実施の形態5]
実施の形態5は、汎用のコンピュータとプログラム71とを組み合わせて動作させることにより、本実施の形態の取引装置を実現する形態に関する。図29は、実施の形態5の取引システム10の構成を示す説明図である。図29を使用して、本実施の形態の構成を説明する。なお、実施の形態1と共通する部分の説明は省略する。
[Embodiment 5]
The fifth embodiment relates to a mode in which the trading apparatus of the present embodiment is realized by operating a general-purpose computer and a
本実施の形態の取引システム10は、取引システム10は、投資家マシン74、レート記録マシン75、投資家クライアント31、金融機関サーバ32およびこれらを相互に接続するネットワークを含む。
In the
金融商品取引業者が管理および運用を行う投資家マシン74およびレート記録マシン75は、汎用のパーソナルコンピュータ、大型計算機等の情報機器等である。また、本実施の形態の投資家マシン74およびレート記録マシン75は、大型計算機上で動作する仮想マシンでも良い。
The
投資家マシン74は、CPU12、主記憶装置13、補助記憶装置14、通信部15、読取部16およびバスを備える。レート記録マシン75は、レート記録CPU22、主記憶装置23、補助記憶装置24、通信部25およびバスを備える。
The
プログラム71は、可搬型記録媒体72に記録されている。CPU12は、読取部16を介してプログラム71を読み込み、補助記憶装置14に保存する。またCPU12は、投資家マシン74内に実装されたフラッシュメモリ等の半導体メモリ73に記憶されたプログラム71を読出しても良い。さらに、CPU12は、通信部15およびネットワークを介して接続される図示しない他のサーバコンピュータからプログラム71をダウンロードして補助記憶装置14に保存しても良い。
The
プログラム71のうち、投資家マシン74が実行する部分は、投資家マシン74の制御プログラムとしてインストールされ、主記憶装置13にロードして実行される。これにより、投資家マシン74は上述した投資家サーバ11として機能する。
The portion of the
また、プログラム71のうちレート記録マシン75が実行する部分はネットワークを介してレート記録マシン75の制御プログラムとしてインストールされ、主記憶装置23にロードして実行される。これにより、レート記録マシン75は上述したレート記録サーバ21として機能する。
Further, the portion of the
各実施例で記載されている技術的特徴(構成要件)はお互いに組合せ可能であり、組み合わせすることにより、新しい技術的特徴を形成することができる。
今回開示された実施の形態はすべての点で例示であって、制限的なものでは無いと考えられるべきである。本発明の範囲は、上記した意味では無く、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
The technical features (constituent requirements) described in each embodiment can be combined with each other, and by combining them, a new technical feature can be formed.
The embodiments disclosed this time should be considered as exemplary in all respects and not restrictive. The scope of the present invention is indicated by the scope of claims, not the above-mentioned meaning, and is intended to include all modifications within the meaning and scope equivalent to the scope of claims.
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 レート記録マシン
91 グループ情報取得部
92 発注証拠金算出部
93 発注証拠金選択部
94 証拠金判定部
10
12 CPU
13
23
42 Delta TDB
43 HLDB
51 Investor Information DB
52 Order DB
53 Ordering DB
54 Position DB
61
Claims (8)
前記グループ情報取得部が取得した約定見込価格と取引金額とに基づいて前記新規注文のそれぞれに関する発注証拠金を算出する発注証拠金算出部と、
前記発注証拠金算出部が算出した発注証拠金のうち、最も高額の発注証拠金を選択する発注証拠金選択部と、
前記発注証拠金選択部が選択した発注証拠金と、前記有効証拠金とに基づいて、前記グループに含まれる新規注文に対する前記有効証拠金の過不足を判定する証拠金判定部と
を備える取引装置。 Group Information Acquisition Department that acquires the expected contract price and transaction amount for each new order in a group that includes multiple new orders for foreign exchange margin trading that can trade foreign currency with an amount equal to or greater than the effective margin as collateral. When,
An order margin calculation unit that calculates an order margin for each of the new orders based on the expected contract price and transaction amount acquired by the group information acquisition unit.
Of the order margin calculated by the order margin calculation unit, the order margin selection unit that selects the highest order margin and the order margin selection unit
A trading device including an order margin selected by the order margin selection unit and a margin determination unit for determining excess or deficiency of the effective margin for a new order included in the group based on the effective margin. ..
前記約定見込価格は、前記市場価格取得部が取得したそれぞれの新規注文の市場価格である
請求項1から請求項3のいずれか一つに記載の取引装置。 Equipped with a market price acquisition department that sequentially acquires the market prices of financial products
The trading apparatus according to any one of claims 1 to 3, wherein the contracted estimated price is the market price of each new order acquired by the market price acquisition unit.
前記約定判定部は、前記グループに含まれる新規注文のうちの一つが約定可能であると判定した場合に、前記グループに含まれる他の新規注文の約定可否の判定を行わない
請求項4に記載の取引装置。 It is provided with a contract determination unit that determines whether or not the new order can be executed based on the market price acquired by the market price acquisition unit.
The execution determination unit does not determine whether or not the other new orders included in the group can be executed when it is determined that one of the new orders included in the group can be executed. Trading equipment.
前記証拠金判定部は、前記必要証拠金取得部が取得した必要証拠金と前記グループそれぞれに対して前記発注証拠金選択部が選択した発注証拠金との和が前記有効証拠金を超える場合に、前記有効証拠金が不足していると判定する
請求項1から請求項5のいずれか一つに記載の取引装置。 Equipped with a margin acquisition department to acquire the margin required to maintain the position held
In the margin determination unit, when the sum of the required margin acquired by the required margin acquisition unit and the order margin selected by the order margin selection unit for each of the groups exceeds the effective margin. The trading device according to any one of claims 1 to 5, wherein it is determined that the effective margin is insufficient.
前記約定見込価格と前記取引金額とに基づいて前記新規注文のそれぞれに関する発注証拠金を算出し、
前記発注証拠金のうち、最も高額の発注証拠金を選択し、
選択した発注証拠金と、前記有効証拠金とに基づいて、前記グループに含まれる新規注文に対する前記有効証拠金の過不足を判定する
処理をコンピュータに実行させる取引プログラム。 Obtain the expected contract price and transaction amount for each new order in a group that includes multiple new orders for Forex Margin Trading that can trade foreign currency with an amount equal to or greater than the effective margin as collateral.
The order margin for each of the new orders is calculated based on the expected contract price and the transaction amount.
Select the highest order margin from the above order margins,
A trading program that causes a computer to execute a process of determining excess or deficiency of the valid margin for a new order included in the group based on the selected order margin and the valid margin.
前記約定見込価格と前記取引金額とに基づいて前記新規注文のそれぞれに関する発注証拠金を算出し、
前記発注証拠金のうち、最も高額の発注証拠金を選択し、
選択した発注証拠金と、前記有効証拠金とに基づいて、前記グループに含まれる新規注文に対する前記有効証拠金の過不足を判定する
処理をコンピュータに実行させる取引方法。 Obtain the expected contract price and transaction amount for each new order in a group that includes multiple new orders for Forex Margin Trading that can trade foreign currency with an amount equal to or greater than the effective margin as collateral.
The order margin for each of the new orders is calculated based on the expected contract price and the transaction amount.
Select the highest order margin from the above order margins,
A trading method in which a computer is made to execute a process of determining excess or deficiency of the effective margin for a new order included in the group based on the selected order margin and the effective margin.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016207122A JP6810574B2 (en) | 2016-10-21 | 2016-10-21 | Trading equipment, trading programs and trading methods |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016207122A JP6810574B2 (en) | 2016-10-21 | 2016-10-21 | Trading equipment, trading programs and trading methods |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018067257A JP2018067257A (en) | 2018-04-26 |
JP6810574B2 true JP6810574B2 (en) | 2021-01-06 |
Family
ID=62087175
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016207122A Active JP6810574B2 (en) | 2016-10-21 | 2016-10-21 | Trading equipment, trading programs and trading methods |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6810574B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7336109B2 (en) * | 2019-07-24 | 2023-08-31 | 株式会社インタートレード | Payment processing system |
CN114443566B (en) * | 2022-01-24 | 2023-03-24 | 北京中科胜芯科技有限公司 | Method for judging consistency of incremental snapshot market data |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001325447A (en) * | 2000-03-08 | 2001-11-22 | Tokyo Forex Traders Securities Co Ltd | Option transaction processor |
KR101064557B1 (en) * | 2008-12-23 | 2011-09-14 | 강길홍 | SystemTrading Plug-in Program that Reverse derivative Position by using minimum initial and mainterance margin |
JP5346868B2 (en) * | 2010-04-13 | 2013-11-20 | 松井証券株式会社 | Margin variation system |
JP5982082B2 (en) * | 2015-02-10 | 2016-08-31 | 株式会社大和総研ビジネス・イノベーション | Margin account withdrawal capacity calculation system and program |
-
2016
- 2016-10-21 JP JP2016207122A patent/JP6810574B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2018067257A (en) | 2018-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190205975A1 (en) | Method and System for Low Latency Basket Calculation | |
Gibson et al. | Stochastic convenience yield and the pricing of oil contingent claims | |
US8489491B2 (en) | Method of managing financial instruments, equipment lease derivatives and other collateral instruments, data architecture, application and process program | |
KR102447254B1 (en) | Exchange operation method and system for supporting high speed transaction execution | |
CN112801529B (en) | Financial data analysis method and device, electronic equipment and medium | |
Ersan et al. | Algorithmic and high-frequency trading in Borsa Istanbul | |
Yoshimori | Shadow Exchange Rates–Changing the Winds with Headwinds and Tailwinds | |
JP6810574B2 (en) | Trading equipment, trading programs and trading methods | |
WO2016012217A1 (en) | Computer systems and methods for balancing indexes | |
JP6832126B2 (en) | Trading equipment, trading programs and trading methods | |
JP6999077B2 (en) | Trading equipment, trading programs and trading methods | |
WO2017184017A1 (en) | Automated computing system for forming and monitoring investment portfolios of shares | |
JP6832127B2 (en) | Trading equipment, trading programs and trading methods | |
KR20160144293A (en) | Method and apparatus for trading base on commodity money | |
US20160247225A1 (en) | Option Box Volatility Indexes | |
JP6766023B2 (en) | Information processing equipment and programs | |
CN112199360A (en) | Data processing method, device, equipment and medium | |
JP2002304520A (en) | Device for calculating portfolio value and method for the same and its program and recording medium with its program recorded | |
Brown | Withdrawal success estimation | |
JP6401456B2 (en) | Investment profit / loss calculation system and investment profit / loss calculation program | |
Doumenis et al. | A Critical Analysis of Volatility Surprise in Bitcoin Cryptocurrency and Other Financial Assets. Risks 9: x | |
JP2006039649A (en) | Investment trust trade system and computer program | |
André | A Work Project, presented as part of the requirements for the Award of a Master Degree in Economics/Finance/Management from the NOVA–School of Business and Economics. | |
JP6457131B1 (en) | Information processing apparatus, information processing method, and program | |
Erdmann | Visa Inc. and Global Payments Industry-A Part of Equity Research |
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 |
|
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: 20201124 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20201211 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6810574 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 |