問題タブ [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.
limit - Stata: ギャブされた時間データで 5 分先の観測値を取得する方法
Stata の指値注文書から高頻度データを取得しました。時間には一定の間隔がなく、一部の観測は同時に発生します (ミリ秒単位)。観測ごとに、5 分後に別の列で中間点を取得する必要があります。09:05:02.579 に最も近い最後の中間点は 10.49 であるため、観察 1 の中間点は 10.49 になります。
Stataでこれを行う方法は?
r - xts マイクロ秒の問題
xts オブジェクトを .RData ファイルに保存し、別の R インスタンスで再度開きました。マイクロ秒のタイムスタンプを失います。digits.secs=6 を含む両方の環境で同じ構成を保持します。
ポインタはありますか?
java - QuickFIXJ ログオンの問題
QuickFixJ に問題があります。問題は、ログオン メッセージを正しく送信できないことです。さらに、メッセージの流れを設定する方法を理解するのに苦労しています。取引を実行しようとしているのではなく、市場データを取得するだけです。
エラー:
ここに私のすべての詳細があります:
着信: ネコ着信/*
発信:
そして私の標準出力は次のとおりです:J
問題のソースは次のとおりです。
... ... ...
そして最後に私の設定:
猫のセッション設定.txt
どんな助けでも大歓迎です!
fix-protocol - 高頻度取引システムが取引所に接続する方法
高頻度取引システムについて勉強しようとしています。HFTが取引所に接続するために使用するメカニズムと手順は何ですか(ブローカーを経由する必要がありますか、直接アクセスする場合は、どのような種類の接続情報が必要ですか)
ご回答ありがとうございます。
c++ - gentooでMellanox libvmaをコンパイルするには?
Mellanox の高速ネットワーク ライブラリ libvma を gentoo で構築しようとしています。
http://code.google.com/p/libvma/
ただし、このエラーが発生し続けます
/usr/include/infiniband/verbs.H ファイルで構造体 IBV_FLOW* を宣言する必要があったようです。しかし、それらはそこに欠けているようです。誰でもこれで私を助けてもらえますか?
hft - 米国以外(ヨーロッパ)の日中データを使用したジップライン バックテスト
pandas DataFrame にロードした、米国以外の日中のデータを使用してジップラインを動作させようとしています。
ここの移動平均チュートリアルに従い、「AAPL」を独自のシンボルコードに置き換え、履歴呼び出しを「1d」ではなく「1m」データに置き換えました。
algo_obj.run(DataFrameSource(mydf))
次に、を使用して最終呼び出しをmydf
行います。 は上記のデータフレームです。
ただし、 TradingEnvironmentに関連して発生するあらゆる種類の問題があります。ソースコードによると:
ただし、コンテキストを使用しても完全には機能しないようです。たとえば、タイムスタンプが市場が開く前であると述べているなど、まだエラーが発生します (実際、trading.environment.open_and_close
時間を見るのは米国市場のものです。
私の質問は、米国以外の日中データでジップラインを使用できた人はいますか? リソースと理想的にはこれを行う方法のサンプルコードを教えていただけますか?
nb取引カレンダー (tradincalendar_lse.py、tradingcalendar_tse.py など) に関連していると思われる github でいくつかのテストがあるのを見てきましたが、これは日次レベルでのみデータを処理するようです。私は修正する必要があります:
- 開園・閉園時間
- ベンチマークの参考データ
- そしておそらくもっと...
c++ - Linux でマルチキャスト ソケットからデータを最小のレイテンシで受信する
HFT 取引アプリケーションでは、udp マルチキャスト ソケットからデータを受信する必要があります。唯一の要件はレイテンシーです。これは非常に重要なので、1 つの CPU コアを「消費」することができます。ぐるぐる回しても大丈夫です。これは私が現在Windowsに持っているものです:
recvfrom
ブロックするため、非常に遅くなる可能性があります(または私が間違っていますか?)。これを Linux 用に書き直して、最高のレイテンシーを実現する必要があります。スレッドごとに 1 つのソケットだけを処理する必要があるため、epoll
多くのソケットを処理するように設計されているため、使用しないでください。何を使えばいいですか?
upd同様の質問を見つけましたUDPポートの低遅延読み取り
hadoop - Hadoop を使用して株式市場のティック データを保存する
私はHadoopとそれに関連するさまざまなプロジェクトについて楽しく学んでおり、現在、マーケットティックデータの大規模なコレクションを保存するシステムを構築するために2つの異なる戦略を考えています.Hadoop/HDSFの両方を始めたばかりです.と HBase ですが、これらのテクノロジを使用して後でジャンクする必要のないシステムの種を植えるのを誰かが手伝ってくれることを願っています。以下は、いくつかのクエリとデータの使用例を含む私のシステムと要件の概要です。最後に、私が読んだ小さなドキュメントからの最良のアプローチについての私の現在の考えです。これは自由回答形式の質問であり、洞察力に富み、最良の回答を受け入れることができれば幸いです。以下の点のいずれかまたはすべてについて自由にコメントしてください。- ダンカン・クレブス
システム要件 - システムの過去のバック テスト、過去のデータのチャート作成、将来のデータ マイニングにデータ ストアを活用できること。いったん保存されると、データは常に読み取り専用になり、高速なデータ アクセスが望まれますが、バック テストの際には必須ではありません。
静的スキーマ- 非常に単純です。フィードから 3 種類のメッセージを取得したいと考えています。
- 日付、曜日、時刻を含むタイムスタンプ
- Symbol、timestamp、ask、askSize、bid、bidSize、出来高を含む見積もり (約 40 列のデータ)
- Symbol、timestamp、price、size、exchange を含む取引 (約 20 列のデータ)
データ挿入の使用例- データのライブ マーケット ストリームから、またはブローカー API を介したルックアップから
データ クエリのユース ケース- 以下は、データを論理的にクエリする方法を示しています。
Get me all Quotes,Trades,Timestamps for GOOG on 9/22/2014
Get me all Trades for GOOG,FB BEFORE 9/1/2014 AND AFTER 5/1/2014
Get me the number of trades for these 50 symbols for each day over the last 90 days.
The Holy Grail - MapReduce は以下のようなユースケースに使用できますか??
分散エージェントを介して生の市場データからメタデータを生成します。たとえば、データベースに保存されているすべての株式とすべてのセッションについて、1 分間隔で平均取引量を計算するジョブを作成します。この値を計算する必要がある株式とセッションを伝える、各株式/セッションのエージェントを持つジョブを作成します。(これが MapReduce でできることですか???)
エージェントのクラスパスに独自のユーティリティ コードを追加して、たとえば上記のユース ケースでその値を中央レポやメッセージング サーバーに公開できますか? エージェントを OSGI バンドルとしてデプロイできますか?
毎朝、市場前取引の前に実行されるさまざまなタイプのメトリックとスコアに対して、さまざまなタイプのエージェントを作成しますか?
高頻度取引
高頻度取引システムのコンテキストで Hadoop を使用した経験を誰かが共有できるかどうかも興味があります。このテクノロジーを始めたばかりの私の最初の感覚は、Hadoop は大量の過去のティック データを保存および処理するのに最適であるということです。誰かがこれをリアルタイム取引に使用している場合は、もっと学びたいと思います! - ダンカン・クレブス
linux - 遅延の影響を受けやすい HFT アプリケーションの受信ネットワーク トラフィックを一時的にバッファリングする方法は?
私たちは Java ベースの取引アプリケーションを実行しており、約 10 ミリ秒の間、送信ネットワーク トラフィックを可能な限り優先したい特定の期間があります。ネットワーク カード上で、または Redhat Linux ボックスのプロセスまたはバッファを介して、短時間のすべての着信ネットワーク トラフィックを一時的にバッファリングする方法はありますか?
この背後にある理論的根拠は、この同じ期間に着信ネットワーク トラフィックが急増し、このトラフィックを処理するアプリケーションが、優先順位を付けようとしているプロセスから CPU サイクルを奪っていることです。着信ネットワーク トラフィックを処理するアプリケーションをきめ細かく制御することはできません。
1 Gbps 接続を使用しているため、約 1 MB のバッファーで十分です。非常に忙しい時期にネットワークの負荷が増加するため、受信トラフィックをドロップして再送信を要求しないことをお勧めします。
java - Javaで2倍にする非常に高速な8バイト - HFTアプリケーション用
当社の HFT 取引アプリケーションは Java で開発されています。8 バイトを double の数値に変換する必要がありますが、変換は非常に高速でなければなりません。レイテンシーは 15 マイクロ秒未満であるため、従来の Java アプローチはおそらく機能しないことを覚えておいてください。どんな提案も役に立ちます。前もって感謝します
[編集]
byetbuffer、nio クラス、回転アプローチ (シフトを使用) など、いくつかのアプローチに既に取り組んできました。これらの形式の変換を使用するとコストがかかり (スタンドアロンの方が高速に見えるかもしれませんが)、アプリケーションに遅延が発生します。私は、さまざまな形式 (int、double、float など) でバイトを使用した経験があるかもしれない、すぐに使えるアイデア (および Java によって提供される API に限定されない) を探しています。その方向への考えは、おそらく double 値をキャッシュし、受信したバイトと比較して、変換する必要をなくすことです。