「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > 取引システムのコンポーネント

取引システムのコンポーネント

2024 年 8 月 1 日に公開
ブラウズ:371

Trading System Components

前回の記事では、イベント、データ ストレージ、個別の構成の使用など、取引ソフトウェアを開発するためのベスト プラクティスについて説明しました。今回は、戦略的な部分、具体的にはアーキテクチャの観点から効果的に組織する方法について掘り下げてみましょう。

戦略モジュール

最も単純なアプローチは、システムのこの部分が価格変動などの入力データを受け取り、イベント、つまりシグナルを生成すると想定することです。すべてのロジックはこのモジュール内にカプセル化できます。以下に例を示します:

def run(self, event):
    signal = self.calc_rsi(event)
    if signal != 'FLAT':
        self.create_event(event, signal)

この例では、RSI を計算し、それに基づいて買いや売りなどのイベントを生成します。これは基本的な図ですが、コンセプトは明確です。シグナルには希望の売買価格が含まれる場合があります。もちろん、実際の取引アルゴリズムはより複雑ですが、それはすでにご存知でしょう!

ポートフォリオモジュール

残高やオープンポジションに関するすべてのデータを 1 か所に集めておくと便利です。こうすることで、USD または BTC での合計保有額がわかります。この知識は、システムがシグナルを生成するときに注文のサイズを決定するために不可欠です。

def run(self, event):
    # Calculate USD values
    # Calculate targets
    # Check targets
    # Generate orders

この疑似コードは次の手順の概要を示します:

  • 合計残高を米ドルで計算します
  • 戦略に応じたポートフォリオ目標の決定
  • 現在の残高が目標を満たしているかどうかを確認します
  • 不一致がある場合は、必要なサイズの注文を生成します

すべての残高データ、シグナルを取得し、ポジションが希望のポジションと一致しているかどうかを確認し、一致していない場合は注文を生成します。

リスク管理モジュール

このモジュールはポートフォリオ モジュールと密接に関連しています。特に少額の管理を始めたばかりの場合は、リスク管理ロジックをその内部に直接実装できる場合があります。大企業の場合、これは最も複雑なシステム要素となる可能性があり、各企業が正確なアルゴリズムを定義しています。リスク管理内で対処できるいくつかのタスクを次に示します:

  • ポジション間の相関関係をチェックして、100% ロングまたはショートを回避します
  • 1 つの位置の最大サイズを確認する
  • 損失が一定の割合に達した場合、システム全体を停止します
  • データ ストリームの障害または他のコンポーネントの問題が発生した場合はシステムを停止します

市場に長くいるほど、取引アルゴリズムのこの部分がより重要になります。

実行モジュール

すべての価格と残高のデータを取得し、シグナルを生成し、最適なポートフォリオのサイズを計算し、考えられるすべてのリスクを考慮したら、取引所に注文を送信しない理由はありません。複数の取引所にまたがる注文ルーティングを実装していない限り、これは最も単純な部分のように思えるかもしれません。通常、注文を正しくフォーマットして、取引する取引所に送信します。

4 つのモジュールの機能について説明しました。それぞれのモジュールは取引アルゴリズムの 90% で役立ちます。コードを構造化し、適切なアーキテクチャを選択すると、取引システムの保守と更新の負担が大幅に軽減されます。

完全なコードは、aspis.finance のオープンソース取引アルゴリズムとして利用可能になります。これにはいくつかの簡単な取引戦略が含まれますが、重要な機能は、Aspis スマート コントラクトを通じてストレージを作成し、投資家の資金を引き付け、透明性のある利益分配を確保する機能です。戦略を開発して Aspis に接続すると、アルゴリズムが DEX で取引され、投資家とマネージャー (あなた) はスマート コントラクトを通じて利益を得ることができます。乞うご期待!

リリースステートメント この記事は次の場所に転載されています: https://dev.to/jungle_sven/trading-system-components-5f0b?1 侵害がある場合は、[email protected] に連絡して削除してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3