
この分野に関連するアルゴリズム取引や技術について頻繁に書いていますが、実際に独自の取引プログラムを作成できるソフトウェアについては一度も話したことがありません。 Under the cut-ロシアの株式市場に適合した機械取引システムを作成するための一般的なソフトウェアツールの概要。
ウェルスラボ
フィデリティインターナショナルの製品は、取引戦略のテクニカル分析、開発、テストのための最も強力なツールの1つです。 ビルトインプログラミング言語はWealthScriptで、Pascalと多くの共通点があり、最近のバージョンではC#および他の.NET言語が使用されます。

ロシアの株式市場の証券会社の端末と組み合わせて使用されます-Wealth-Labでは、ユーザーが自分の戦略を説明し、それに基づいてプログラムがトランザクション用のアプリケーションを生成します。 統合のために特別なライブラリを使用して、これらの注文はトレーディングターミナルに転送され、そこから実行されます。 客観的には、このようなスキームは非常に多くの制限を課しているため、Wealth-Labはもちろんロシアの取引所にとって理想的な選択肢とは言えません。
メタストック
別の外国製品。 MetaStockには、独自の数式を作成するためのさまざまなインジケータとツールの大規模なライブラリが含まれています。 利点-かなりシンプルな組み込みプログラミング言語。 追加のモジュールを使用して、購入/販売注文を生成できます。 Wealth-Labのように、ロシア市場では、追加のライブラリを使用する取引ターミナルと組み合わせて使用されますが、これには同じ問題が伴います。 また、不利な点は、組み込みプログラミング言語の単純さでは複雑な取引戦略を説明できないことです。
オメガリサーチ
機械取引システムを作成およびテストするために設計されたテクニカル分析ツール。 組み込みのEasy Languageプログラミング言語でロボットを作成できます(構文はPascalに似ています)。 上記の2つのプログラムの場合のように、「パッド」の助けを借りてロシアの株式市場で使用されます。 マイナス面の中には、それぞれ、そのような設計の安定性と、Omega Researchのセットアップの難しさがあります。 さらに、プログラムは独自のデータ形式でのみ機能し、テキストファイルまたは他のテクニカル分析プログラムの形式からの変換はサポートしていません。
外国の製品に加えて、国内の株式市場には、ロシアの開発者による多くのソフトウェアソリューションがあります。 そして、それらのほんの一部です。
TSLab
前のプロジェクトと同様に、TSLabは開発中です。これは、特にロシアの株式市場向けに「調整された」機械取引システムを作成および起動するためのプラットフォームです。 プログラミングスキルのないトレーダーにとって不可欠なものの1つは、フローチャートの形式で取引アルゴリズムを作成できることです。

ストックシャープ
無料(基本バージョン)StockSharpオープンソースプラットフォームおよびそれに基づく製品(S#。Studio)。 名前が示すように、C#でプログラムできます。 プラスの利点は、さまざまな取引ターミナルや仲介システムに接続できることです。
LiveTrade
サンクトペテルブルクの会社Cofiteの製品ライン。 APIのおかげで、取引プラットフォームLiveTrade Terminalを使用して、.NETプラットフォームに実装されたロボットを実行できます。 複数のロシアのブローカーを取引端末およびシステムに接続することが可能です(SmartCOM APIを使用したITinvestシステムへの接続を含む)。 さらに、CofiteにはRobotlab製品があり、これは完全にロボットを作成するように設計されています。 TSLabの場合と同様に、視覚的なコンストラクターを使用して取引アルゴリズムを実装できます。 生成されたロボットのブロック図は、ターミナルで起動できます。

Smartx
SmartXトレーディングターミナルは、通常の意味では普通のターミナルではありませんが、特にトレーディングを作成するためにアメリカの会社Modulus Financial Engineering(米国)によって作成されたベクトル言語であるTradeScript、統合スクリプトプログラミング言語を含む統合ソフトウェア製品ですロボット。
ターミナルの興味深い機能には次のものがあります。
- 取引戦略のバックテストの可能性-履歴データでロボットをテストします。 同時に、これらのアーカイブされたデータは、他の(多くの場合、有料の)ソースからロードする必要はありません-ターミナルによって自動的にロードされます。
- ティックデータを使用してアルゴリズムを構築する機能。
- 別の興味深い機能は、現在の為替データを使用して取引戦略をオンザフライでテストする機能ですが、実際には取引所で注文することなく、仮想取引の時間、価格、および結果として生じる収益性が別のウィンドウに表示されます。

スクリプト言語は習得するのが非常に簡単で、簡単なロボットのプログラミングを始めて、それを知ってから数時間以内に始めることができます。 さらに、多くのアルゴリズムはMetastockとの記述が似ているため、ユーザーが以前にこのプログラムに精通していた場合、実質的に再学習する必要はありません。

TradeScriptの単純なロボットの例:
Buy Signals # , , HistoricalVolatility(CLOSE, 15, 252, 2) < REF(HistoricalVolatility(CLOSE, 15, 365, 2), 15) AND TREND(VOLUME, 5) = UP AND TREND(CLOSE, 40) = UP Sell Signals # , , HistoricalVolatility(CLOSE, 15, 252, 2) < REF(HistoricalVolatility(CLOSE, 15, 365, 2), 15) AND TREND(VOLUME, 5) = UP AND TREND(CLOSE, 40) = DOWN
このロボット作成方法の利点は、同じWealth-LabやMetastockとは異なり、複雑なデザインを作成したり、ターミナルに注文を転送するために追加のライブラリの形で「パッド」を使用する必要がないことです。
さらに、ユーザーは、プロセッサのクロック速度とコンピューターのメモリが許す限り多くの同時実行アルゴリズムを実行できます。 スクリプト言語の多数の単語とオペランドを考えると、これは任意の複雑なトレーディング戦略を作成する能力を意味します。
Smartcom
ブローカーシステムのAPI( このhabratopikで詳しく説明します )を使用して、任意の複雑なトレーディングロボットを作成できます。 AmiBroker用の追加プラグインがあり、データ分析を大幅に促進します。
今日は以上です。 次のトピックでは、トレーディングロボットの作成について詳しく説明し、さまざまなツールを使用して作成された特定の機械システムの例を示します。 ご清聴ありがとうございました!