ADL(Algo Design Labo)について ②
2017 / 11 / 24 ( Fri )
Algo Design Lab(Trading Block2)
2012 / 06 / 08 ( Fri )
前回に続きADLのTrading Blockをご紹介いたしますが、本日はInstrument Field Blockです。
(ADLについては
こちら)

Instrument Field Blockとは、前回ご紹介したInstrument Blockを左側の入力コネクタと接続することで、Instrument Blockで選択した銘柄のデータを出力することが出来ます。
設定はBlockをダブルクリックをし、プロパティからFieldから選択できます。
出力できるデータは以下のものとなります。
Bid Qty:買気配の数量
Bid Price:買気配値
Ask Qty:売気配の数量
Ask Price:売気配値
Volume:出来高
High:高値
Low:安値
Min Price Increment:最小取引単位
Last Price:直近値
Settle:帳入値段
Direct Bid Qty:インプライドを除いた買気配の数量
Direct Ask Qty:インプライドを除いた売気配の数量
Bid Order Qty:買注文量
Ask Order Qty:売注文量
Last Trade Qty:直近値の取引量
Direct Bid Price:インプライドを除いた買気配値
Direct Ask Price:インプライドを除いた売気配値
Workup Price:ブローカー提供価格
Min Tick Increment:呼値
また、以上のデータの形はDepth Lookup Typeにて
Best:最良値水準
Price:指定価格水準
Index:指定ティック水準
を選択できます。
Priceは価格の絶対指定となり、Indexは最良気配値からティック指定となります。Indexで指定する場合は、最良気配値が0となり、そこから数えた水準となります。(例:最良気配値から5ティック離れた水準の場合、Indexで指定するものは4となります。)
ストラテジーの根幹となるデータの利用方法となるため、十分な理解が必要です。

Algo Design Lab(Trading Blocks1)
2012 / 06 / 06 ( Wed )
今回からはADLのTrading Blockに移ります。(ADLについては
こちら)
今回ご紹介するものはInstrument Blockです。

このInstrument Blockは銘柄を設定するブロックとなります。
設定方法としてはこのInstrument Blockをダブルクリックしますとプロパティが表示されます。このプロパティからExchange、Product Type、Product、Instrumentを選択することで銘柄を設定することが出来ます。
限月に関してはRolling Instrumentを使用することで期先へ繋ぐことや期近で繋ぐこと、特定の限月のみを使用することも設定することが出来ます。

Algo Design Lab(Basic Block4)
2012 / 06 / 05 ( Tue )
引き続きADLのBlockのご紹介です。(ADLについては
こちら)
今回ご紹介するBlockはIf Then ElseとNumber、Booleanの3つとなります。
1,If Then Else Block

If Then Else Blockとは、左上の「If」に条件式の結果である「True」若しくは「False」がくる条件式のBlockを接続し、Trueの場合、右側の「?」に接続されているBlockに「Then」に接続されている変数を返し、また、Falseの場合、右側の「?」に接続されているBlockに「Else」に接続されている変数を返す条件式となります。
Then及びElseに接続される変数は同じタイプである必要があります。
2,Number Block

Number Blockとは、固定した数値を出力するBlockとなります。ダブルクリックするとプロパティが表示され、Valueに数値を入力することが出来ます。この入力した数値がNumber Blockに接続されているBlockへ出力されます。
3,Boolean Block

Boolean Blockとは、True若しくはFalseを設定することが出来、設定したTrue若しくはFalseを出力するBlockです。
今回の3つでBasic Blockは全てとなります。Basic BlockはAlgorithmを作成する条件式として非常に重要なBlockとなりますので、よく理解する必要があります。

Algo Design Lab(Basic Block3)
2012 / 06 / 01 ( Fri )
今回はADLのBasic Blockの中からAnd、Or、Equalの3つをご紹介します。
(ADLについては
こちら)
1,And Block

And Blockとは左側の入力コネクトに接続されている2つの条件式の結果がどのようになっているかを返す条件式となります。両方共True(つまり満たされている)場合にTrueを返し、それ以外の場合(1つでもがFalseとなっている場合若しくは2つともFalseとなっている場合)にはFalseを返します。
2,Or Block

Or BlockとはAnd Blockと同様左側の入力コネクトに接続されている2つの条件式の結果がどのようになっているかを返す条件式となります。違いは1つでもTrueとなっている場合にはTrueを返し、それ以外の場合(つまり両方Falseとなっている場合)にはFalseを返します。
3,Equal Block

Equal Blockとは左側の入力コネクトに接続されている2つの変数が同じ(イコール)となった場合にTrueを返し、違う場合にFalseを返す条件式です。
但し、入力される変数は同じ型である必要があります。
1、Andと2、Orの条件式は今までご紹介した条件式(Grearter Than、Less Than等)をさらに複雑に条件分岐させることが出来、ストラテジーの幅が広がるとともにより少ない分岐でAlgorithmを設計することが出来ます。
3、Equalは変数に対しての結果を出力することが出来ますので、先でご紹介するMAやVWAP等のBlockといった単体で変数を出力するブロックと接続が出来ますので、より高度なストラテジーを構築することが出来ます。
もし、ご興味がございましたら是非お問い合わせください。

Algo Design Lab(Basic Block2)
2012 / 05 / 29 ( Tue )
前回に引き続きBasic Blockのご紹介です。
本日はGreater Than、Less Than、Greater Than Or Equal、Less Than Or Equal Blockの4つです。
1,Greater Than Block

Greater Than Blockは中央に「>(大なり)」が表示されているように左側の入力コネクトに入力される数値がどうなっているかにより、結果を右側の出力コネクトに接続されているブロックへ「True」若しくは「False」を返す条件式です。
左側の入力コネクト上部が下部を上回っていればTrue、それ以外はFalseを返します。
2,Less Than Block

Less Than Blockは中央に「<(小なり)」が表示されているように左側の入力コネクトに入力される数値がどうなっているかにより、結果を右側の出力コネクトに接続されているブロックへ「True」若しくは「False」を返す条件式です。
左側の入力コネクト上部が下部を下回っていればTrue、それ以外はFalseを返します。
3,Greater Than Equal Block

Greater Than Equal Blockは中央に「≧(大なりイコール)」が表示されているように左側の入力コネクトに入力される数値がどうなっているかにより、結果を右側の出力コネクトに接続されているブロックへ「True」若しくは「False」を返す条件式です。
左側の入力コネクト上部が下部を上回っている若しくはイコールであればTrue、それ以外はFalseを返します。
4,Less Than Equal Block

Less Than Equal Blockは中央に「≦(小なりイコール)」が表示されているように左側の入力コネクトに入力される数値がどうなっているかにより、結果を右側の出力コネクトに接続されているブロックへ「True」若しくは「False」を返す条件式です。
左側の入力コネクト上部が下部を下回っている若しくはイコールであればTrue、それ以外はFalseを返します。
これらの4つのBlockは全て条件式であり、結果をTrue若しくはFalseで返すことから何かしら(例えば発注の条件やシステム停止の条件等)のトリガーとなるものとして利用することが出来ます。
これらのBlockを利用し、詳細な設定を行うことでより高度なAlgorithmを作成することが出来ます。

Algo Design Lab(Basic Block1)
2012 / 05 / 28 ( Mon )
今回からADL(Algo Design Lab)で使用するBlockを少しづつご紹介を致します。
まず今回はBasic BlockからAdd、Suvtract、Multiply、Divideの4つです。
1、Add Block

Add Blockは中央に「+(プラス)」が表示されているように、左側の2つのコネクタから入力された数字を足し、右のコネクタへ出力するものとなります。
2、Subtract Block

Subtract Blockは中央に「-(マイナス)」が表示されているように、左側の2つのコネクタから入力された数字を引き、右のコネクタへ出力するものとなります。
3、Multiply Block

Multiply Blockは中央に「×(掛ける)が表示されているように、左側の2つのコネクタから入力された数字を乗じ、右のコネクタへ出力するものとなります。
4、Divide Block

Divide Blockは中央に「÷(割る)が表示されているように、左側の2つのコネクタから入力された数字を割り、右のコネクタへ出力するものとなります。
これら4つのBlockはStrategyを作成する上で、指値の計算、枚数の決定等様々な箇所で多用することとなりますが、利用方法は非常に簡単で他のBlockから数値を左側の入力コネクトに接続することで接続したブロックから数値が随時入力され、計算されたものが右側のコネクタと接続されたブロックへ出力されるものです。
基本となるBlockになりますので、しっかりと覚えておきましょう。

ADLの画面構成
2012 / 05 / 25 ( Fri )
さて、久しぶりにADLのご紹介です。
今まで、各所のご説明をしましたが、今回は実際にデザインする際の画面構成をご紹介したいと思います。
下の図はADLの全画面です。

1,Camvas
中央に位置しているのがキャンパスとなり、こちらにブロックを配置し、Algorithmをデザインしていきます。
2,Tollbar Tray
画面左が各Blockが表示されています。表示されている利用したいBlockをドラックアンドドロップでキャンパスに移動させることでキャンパスに表示され、設定することが出来ます。
3,Solution Explorer
画面右上に表示されているのがSolution Explorerです。こちらにはCanvasで作成しているものが表示され、作成したグループが階層ごとに選択し、Canvasに表示させることが出来ます。
4,Infomaton Panel
画面中央の下に表示されるのがInformation Panelです。こちらでは、デザインしたAlgorithmに不具合が発生しているどのBlockでエラーが発生しているか等の情報が表示されます。
5,Block Properties
画面左下に表示されているのがBlock Propertiesです。こちらでは、Canvasに配置したBlockを選択するとそのBlockのプロパティが表示され、編集することが出来ます。
画面レイアウトがシンプルに設計されており、誰でも簡単にできそうな気がしませんか。もちろん実際の発注まで出来てしまうAlgorithmを作成できるため、事前にある程度の学習は必要になりますが。
非常に注目が集まっており、世界では徐々に導入されつつあるADLを今後も随時ご紹介したいと思います。
