問題タブ [hft]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
521 参照

multithreading - HFT アプリケーションのコアをスレッドに割り当てるための戦略 (CPU アイソレーション)

私たちは、10 マイクロ秒未満のティック トゥ トレード パフォーマンスを必要とする Java ベースの HFT アプリケーションを開発しています。以下の詳細:

コア数:6

アプリケーション スレッドの数: 5

スレッドの機能と活用法

  • スレッド 1-3 - 交換ティックのキャプチャ (3-4% の CPU 使用率)
  • スレッド 4 - 単純な算術ルールに基づいて取引条件を確認します (CPU 使用率 100% - ビジー スピンが原因)
  • スレッド 5 - チェックサムの生成、int、double から byte への変換、注文の送信など (100% の CPU 使用率 - ビジー スピンが原因)

質問 :

CPU の分離 (スレッドをコアに排他的に割り当てる) により、コンテキストの切り替えとキャッシュ ミスが減少すると考えられます。現在、最初の 3 つのスレッドを 3 つの異なるコアに割り当てています。この状況でスレッドをコアに割り当てる最善の戦略は何ですか?

0 投票する
2 に答える
186 参照

python - Python - ウィンドウ内の最も近い時間で金融取引を集計する

n株について、特定の時間内(午前11時から最初の5分など)に発生したすべての取引を(リストに)収集したとします(簡単にするためにn = 2にし、後で適応させます)。堅固な AAA と堅固な BBB があるとします (それが役立つ場合は、liststocks=['AAA', 'BBB'])。リストは次のようになります。

つまり、AAA 株の 2 回の取引と BBB 株の 3 回の取引です。各銘柄の最後の取引を選択すると、シンクロニシティの問題が発生します。アイデアは、各株式の最後の取引を選択し、最も早いものを見つけることです (['AAA', '2011-01-03', '11:04:20', 21.55])。次に、「11:04:20」にできるだけ近い時間の他のすべての株式の取引を選択します。これにより、[「BBB」、「2011-01-03」、「11:04:19」、32.01 が選択されます。 ]。出力は次のようなリストになります。

どうもありがとう!

0 投票する
1 に答える
262 参照

hazelcast - まったく同じコードを使用すると、高頻度の hazelcast リングバッファ クライアントは更新されませんが、低頻度のクライアントは更新されません。

さまざまなリングバッファーをリッスンするために使用される次のコードがあります。高頻度の価格データもあれば、低頻度の取引データもあります。

問題は、低頻度取引データに使用される同じコードが正常に機能していることです。hazelcast クラスターを自動検出し、データがリングバッファーに公開されると、データが読み取られて処理されます。ただし、大量のデータが大量にリングバッファーに公開される高頻度データの場合、上記のリーダーが起動し、hazelcast クラスターを自動検出しますが、まったくデータを読み取りません... 1 回ではありましたが、なんとか働く。

私も試してみました

何がうまくいかないのかについてのアイデアはありますか?

0 投票する
7 に答える
18019 参照

java - JVM がウォームアップを必要とするのはなぜですか?

Java 仮想マシン (JVM) では、Java が遅延読み込みプロセスを使用してクラスを読み込むため、ウォームアップが必要になる可能性があることを理解しています。そのため、メイン トランザクションを開始する前にオブジェクトが初期化されていることを確認する必要があります。私は C++ 開発者ですが、同様の要件に対処する必要はありませんでした。

ただし、理解できない部分は次のとおりです。

  1. コードのどの部分をウォームアップする必要がありますか?
  2. コードの一部をウォームアップしたとしても、それはどのくらいの期間ウォームアップされますか (この用語は、クラス オブジェクトがメモリ内に留まる時間を意味するだけだと仮定します)。
  3. イベントを受け取るたびに作成する必要があるオブジェクトがある場合、どのように役立ちますか?

例として、ソケットを介してメッセージを受信することが期待されるアプリケーションを考えてみましょう。トランザクションは、新規注文、注文の変更、および注文のキャンセル、または確認済みのトランザクションである可能性があります。

アプリケーションは高頻度取引 (HFT) に関するものであるため、パフォーマンスが非常に重要であることに注意してください。

0 投票する
2 に答える
113 参照

matlab - MATLAB 実現ボラティリティを計算するために時系列の分バー データをフィルタリングする方法は?

次のようなデータセットがあります。

最初の列はタイム スタンプ記録データすべて 5 分、2 番目の列はリターンです。

毎日、5 分バーのリターンの平方和を計算したいと思います。ここでは、1 日を午後 5 時から午後 5 時までと定義します。(したがって、日付2014-01-07はからから2014-01-06 17:00までです2014-01-07 17:00)。したがって、毎日、午後 5 時から午後 5 時までのリターンの 2 乗を合計します。出力は次のようになります。

どうすればいいですか?

0 投票する
0 に答える
88 参照

java - 接続イベントをキャッチするには?

クロニクルの接続インターフェースについて本当に混乱しています。それに関するテストコードやソースコードが見つかりませんでした。

切断および接続中のイベントをキャッチしたい。

私のセットアップは(バニラクロニクル3.6.2。)のようになります。

2 つの同一のプロセスは、互いに接続します。

ソース::

テーラー::

0 投票する
2 に答える
646 参照

r - 高頻度パッケージのaggregateTradesなしで以前のティック集約を行う方法

5 分間隔でティック データ セットに対して以前のティック集計を行う必要があります。私がやりたいことは、高頻度パッケージの aggregateTrades() 関数に類似していることに注意してください。しかし、他のデータ処理の問題により、高周波パッケージを使用せずにこの問題を解決する必要があります。これは私のデータセットです:

これは、以前のティック集計の私のコードです:

上記のコードでやろうとしているのは、A と B の価格を毎日5 分間隔で表示することですが、エラーが発生します。このエラーを修正する方法を提案してください:

ありがとう。

編集: xts オブジェクトをデータフレームに変換:

新しいエラー:

編集:試み:

エラー:

結果は次のようになります。5 分ごとのタイム スタンプには、その特定のタイム スタンプの値があります。NA がある場合、そのタイム スタンプには、株式 A と B の最後の非 NA 値があります。