日本語
特長

FXDaemonは使いやすく、軽量かつ高性能な自動取引プラットフォームです。

  1. 金融商品相場を24時間監視し続けて自動売買ロジックによって先行きを予測しながらシステムトレードを行います。
  2. 精度の高いヒストリカルバックテスト機能が備わっています。
  3. ストラテジーのプログラミング言語はJavaScriptを採用して高速に自動売買を実行できます。
  4. ディープラーニングによる学習済みモデルは売買シグナルの予測に利用できます。
  5. マッケートデータや取引情報はWeb APIを通して他のシステムにリアルタイム連携することができます。
  6. WindowsまたはLinuxの2種類のOSで動作します。
稼働モード

CUIから起動してヒストリカルバックテストモードまたは自動取引モードで稼働します。

1アカウントは1プロセスで動きます。

自動取引モードの場合は、主に2種類のアカウントが利用できます。

  • ブローカーから提供されるリアルアカウントまたはデモアカウント
  • 本システムが模擬した仮想環境におけるバーチャルアカウント
インターフェース

プラグインを経由してブローカーの取引サーバーとつながります。

開発環境を用意すればカスタムプラグインを作成することができます。
プログラミング言語

ストラテジーはJavaScriptで開発します。

JavaScript実行エンジンはV8を搭載して、ECMAScript(ECMA-262)標準に準拠します。
本システムの一部の機能はJavaScriptビルトイン関数として公開されます。
テクニカル指標

TA-Libによる標準テクニカル指標はJavaScriptビルトイン関数の形で提供します。

利用者独自のオリジナルテクニカル指標はJavaScriptで作成することができます。
システムトレード

自動売買は利用者がJavaScriptで作成したプログラムによって行われます。ポジションのオプーン・クローズ、マッケートデータ・ヒストリカルデータの取得はビルトイン関数によってJavaScriptから呼び出すことができます。起動されるタイミングは1分足~日足まで設定可能です。

トレーリングストップ・リミットについてはマッケートデータの変動に合わせて利用者が作成したJavaScriptプログラムが呼び出されて自動調整ができます。

バックテスト

ティック値及びスプレッドは1分足のデータで設定します。テストした結果及びテクニカル指標などの一時データはDBに登録されてSQLを利用すれば様々な集計方法で分析できます。

1分足のデータを元に動かすため多少誤差があり、実のティック値より早くてパフォーマンスも良いです。

バックテストに必要なヒストリカルデータは別途用意する必要があります。
対象金融商品

ブローカーによって対象となる金融商品が異なります。FXだけでなく、株などのその他の金融商品も取引可能です。

1アカウントでは複数の金融商品が処理できます。
メールユーザーエージェント

ポジションをオプーンまたはクローズした際には、指定されたメールアドレスにポジション情報を送信することができます。

ディープラーニング

ディープラーニングの技術はストラテジーの改善に活用することができます。学習済みモデルをJavaSrciptビルトイン関数から呼び出して、推論した売買シグナルによって売買ロジックを改善します。

FXDaemonが起動する際にモデルをロードします。モデルが更新された場合はFXDaemonの再起動が必要です。複数アカウントから同じモデルを利用する場合、同じモデルを複数ロードすることになります。

データ保存

ブローカーからの情報やシステム内部で作成したデータは3方式で格納します。

  1. DB登録
    • アカウント
    • 注文
    • ポジション
    • 実行プラン
  2. ファイル保存
    • ヒストリカルデータ
    ※設定しておいた開始~終了期間で自動的にブローカーの取引サーバーからヒストリカルデータをダウンロードすることができます。
  3. 共有メモリ書込み
    • マッケートデータ
    • ヒストリカルデータ
    • アカウント
    • ポジション
ログ出力

稼働情報は日単位でログファイルに出力します。出力レベルが4種類あります。

  • Error
  • Warn
  • Info
  • Debug
外部連携

fxService は共有メモリとDBに格納されているデータを外部に連携して、Web API機能を提供します。FXDaemonと同じマシンに配置する必要があります。認証やアクセス制御などはHTTPサーバーによって設定します。

fxService経由でDBに登録している実行プランも更新できます。ストラテジーは更新された実行プランを参照することによって、連携されている外部システムから自動売買ロジックをリアルタイムで制御することができます。

GUIツール

fxBench はテクニカル分析ためのGUIツールです。FXDaemonと同じマシンまたは別の端末に配置されます。ヒストリカルデータにテクニカルチャートを載せて、バックテストした結果をみながら、テクニカル分析を行うことができます。

システム構成図