質問

ここ数週間、私は高頻度取引に関する記事をたくさん目にしました。それらはすべて、これにとってコンピューターとソフトウェアがいかに重要であるかを語っていますが、すべて財務的な観点から書かれているため、ソフトウェアが何をするのかについての詳細はありません。

プログラマーの観点から高頻度取引とは何かを説明できる人はいますか?そして、なぜこの分野でコンピュータ/ソフトウェアがそれほど重要なのでしょうか?

役に立ちましたか?

解決

ポールが言ったことで展開するには

HFTやUHFTを実行するサーバは、ほとんどの場合、取引所のデータセンターに併置されています。これは、待ち時間を最小限に抑え、またALGOSは注文が市場に放送される前に、オーダーフローの最初の外観を取得するには(すぐに禁止される可能性があります)フラッシュ・オーダーを使用することができます。アルゴの多くは、わずか数ミリ秒単位で順番を評価し、これはミリ秒は問題ゲームです。取引グループは、より良い順番がNICに当たったとき、得られるアクションが取られたときの間の時間を最適化するために、カスタムOSコンポーネントを構築するためにカーネル開発者を雇うなど、すべての停止を引き出すことが知られています。

今日一般に使用されている戦略の大きなバケツがいくつかあります:

まず、大ブロック注文の前に取引されています。 IBMの百万株を購入するのパウロの例を使用するには、HFTアルゴの圧力を買うためにことになるだろう。注文が分割して、典型的には、複数の交流やダークプール全体で実行されますので、さまざまな交流やダークプールでの企業のコンピュータが情報を共有する必要があります。 HFTアルゴは買い圧力の大きさを予測する統計的/機械学んだモデルを使用し、それはまた、市場全体から株式を蓄積して、若干高めの価格のためにそれらを販売しようとしますが足りていると判断した場合。

二つ目は交流が流動性を追加するために、市場参加者が支払うことになる流動性のリベート取引です。購入または販売されている株式は非常にために保持することができる(直接エッジ価格を参照してください)時間の短い期間。目標はリベートを収集し、他のすべての上にさえ破ることだけです。

これらの戦略の種類の両方でアイデアが貿易上のペニー(または画分)を行い、一日あたりのこの何回も行うことです。

使用可能なため、取引がより混雑しになっているHFTジョブがたくさんある気づいているかもしれませんが。私は2000年代初頭からのような種類のスタットARBのようにこれを見ると、非常に多くのプレイヤーがそれを作るしようとしているので、最終的に取引は非常に有益ではありません。

ソフトウェアが重要である理由については:ミリ秒単位の問題。レイテンシは、超重要であり、コードは、タイトな速さと固体の安定をロックする必要があります。アルゴクラッシュを持って、あなたに対する市場の動きは非常に有益でないとき株式でキャッチされています。これらの要件のためのエンジニアリングは、必然的に異なっており、さまざまなスキルが必要です。リアルタイムでフルオーダーブックを噛み砕くことは、いくつかの馬力と優れたアルゴリズムを必要としません。これは、しかし楽しくて面白いです。

他のヒント

HFT システムには 2 つの部分があります。

  1. リアルタイムの超低レイテンシー取引 - さまざまなソースからリアルタイムのオーダーブックと価格情報を購読し、スリッページを最小限に抑えて大量の注文を実行するように設計された調整されたアルゴリズムを実行します。市場をあまり動かさずに、その日の終わりまでに IBM の 100 万株を購入したい、または単に短期裁定取引に基づいて統計的に利益を上げたいと考えている場合です。このシステムは、1 人以上の人間のオペレータがシステムの動作を効果的に監視および制御できるようにする、優れたリスクおよびポジション管理ツールも提供する必要があります。

  2. 一晩/毎週など大量の「ティックデータ」(価格、時間、オーダーブックの情報、および以前の取引活動のシステムに関する履歴データ)を分析し、パート #1 によってリアルタイムで実行される最適なアルゴリズムを最適化して「検索」します。 。つまり#1 で実行されるアルゴリズムを「調整」してテストします。

1 つ目は、待ち時間が短く、市場への非常に良好なアクセスを必要とします (つまり、最小限のホップによる交換への直接ネットワーク接続)。この部分は通常、C や C++ などの非 GC 言語で記述する必要があります (ガベージ コレクターが世界を停止する間に 0.5 秒の遅延が生じると、非常にコストがかかる可能性があります)。2 つ目では通常、グリッドと多くの優れたシミュレーションおよび統計分析ソフトウェア、AI アルゴリズムなどが必要です。

私は、取引のこの種では最も一般的なアプリケーションでは、CEP(複合イベント処理)する傾向があることを、追加します。いくつかの例はStreambase、Apama、およびAleriです。もう一方の端では、データの膨大な量に対処するために、人々は、KDB、OneTick、およびVhayuとして、高速なデータベースを使用しています。

あなたが技術的な課題の種類を理解したい場合は、

、私が最初にこれらのベンダーを見てお勧めします。彼らのマーケティング資料は、あなたのビジネスアプリケーションだけでなく、技術的な課題の良い感覚を与えます。

一定の時間(先物有効期限の例)で、取引の数千人分を行うことが必要である - 明らかに人間がこの自力を行うことはできません。何かがうまくいかない場合は、回復のほとんどない可能性があるとして、これはところで、プログラマのための非常にストレスの多い時間である - 。プログラマは彼らの口に多少心とすることにより、ストリーミング行く彼らのログファイルを監視する傾向がある。

あなたは上下に何が起こっているかを判断し、それに応じて売買すぐに、価格を追跡する必要があります。そこ以来の異なる位置している多くは、あなたが潜在的に作ることができるより多くのお金をあなたがその分析に使用優れたソフトウェアを上場して取引を行っています。

の優れたの頻繁にあなたが頻繁に必要な操作を実行するときに使用するために容易で、すぐにそれらに反応できるように興味深い傾向を特定、データの更新を意味します。

  

なぜコンピュータ/ソフトウェアは、この分野で非常に重要なのですか?

最高の性能と最小の待ち時間がより速くあなたが、物事にあなたが潜在的に作ることができるより多くのお金を反応することができるため、望ましいます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top