2

ご存知のように、取引戦略は、入札や最後の取引価格が変更されたときなど、リアルタイムのフィードに基づいてアクションを実行します。データフィードプロバイダーは、メインスレッドとは別のスレッドで非同期的にデスクトップアプリケーションに見積もりをストリーミングします。このデータフィードスレッドは、データフィードプロバイダーにリクエストを送信すると生成され、ストリーミングを停止するリクエストを明示的に送信するまで存続します。

現状では、データフィードスレッドは取引戦略を実行します。これは、それらのほとんどがティックデータに基づいて注文を入力または更新するように設計されているためです。このアプローチに問題がありますか?この設計は取引アプリケーションで一般的ですか?

私はJavaを使用しています。

4

2 に答える 2

3

特に実行に時間がかかる場合は、データ フィード スレッドで取引戦略を実行したくないことは間違いありません。その実行は別のスレッドで行う必要があります。私は Java にはあまり詳しくありませんが、そこでスレッド プールを利用できると思います。C# では、作業を複数のスレッドに分散させる非常に強力な方法は、Tasksを使用することです。

考慮すべきもう 1 つのことは、前のティックをまだ処理している間に、ある銘柄に新しいティックがある場合に何をすべきかということです。多くの場合、最新のものだけを処理するのが理にかなっています。C# でのサンプル実装を使用して、最新の更新パターンと呼んでいるものについて、短い記事を書きました。多分あなたはそれが便利だと思うでしょう。

于 2011-10-27T17:25:05.607 に答える
1

現状では、データ フィード スレッドが取引戦略を実行します。これは、それらのほとんどがティック データに基づいて注文を入力または更新するように設計されているためです。

そうではありません。データ フィード スレッドは、取引戦略の実行をトリガーします。他の処理によってデータ フィード スレッドの速度が低下することは望ましくありません。

于 2011-10-27T17:13:13.897 に答える