блоги форекс трейдер / Обучение торговле на бирже Форекс онлайн с нуля - курс для новичков от PaxForex

Блоги Форекс Трейдер

блоги форекс трейдер

49=client =30

FXシステムの中のおはなし &#; FIXプロトコル

【IIJ TECHアドベントカレンダー 12/10(木)の記事です】

はじめに

自分は現在Raptorサービス部という部署に所属しています。IIJ Raptorサービス

RaptorサービスではFXプラットフォームそのものをSaaSとして提供しており、様々な金融機関の提供するFXシステムを担っております。

私たちはプラットフォームを提供する中で、多くの金融機関と直接接続し取引を行っています。その中で為替レートやポジション情報などの情報を受信するほか、注文を出したりリコンサイルを行ったりと業務は様々です。

これらの業務は金融機関同士の取引には必要不可欠であり、かつ共通の業務です。そこで、金融機関同士のこういった業務的な取引を電子的に行うために標準化されたプロトコルがあります。Financial Information eXchange プロトコル、通称FIXプロトコルです。

本稿では、このFIXプロトコルについて紹介して私たちのシステムのことを少しでも知ってもらえたらと思います。

FIXプロトコル

FIXプロトコルとはTCP上で動作する通信プロトコルで、電子取引が活発になった年代前半に電子取引の標準化とエコシステム構築のために作られました。元々は株式取引用に作られましたが、為替や債券など多種多様な商品の取引に利用されるようになり、今ではFX(外国為替証拠金取引)の通信プロトコルとしてもスタンダードになりました。

金融機関同士の取引は極めてレイテンシにシビアで、かつ非常に高い頻度で通信が発生します。そこで、FIXプロトコルはTCPソケットの起動・破棄にかかるコストを減らすためにセッション確立後ソケットは起動したまま利用します。

またFIXプロトコルはインタフェースが静的であり、プロトコル自体に「マーケット情報要求」「注文発注」「約定の確認」などの一般的な金融機関の取引業務に必要な定義が一通り用意されています。また特定の金融機関に固有の業務がある場合、カスタムでプロトコルを拡張するための定義も用意されています。

さて、実際にFIXプロトコルがどのような通信を行うのか見てみましょう。FIXプロトコルの通信内容は下記のようになっています。(可読性のためSOH文字を&#; &#;で表現してあります)

8=FIX 10=

……このままでは何を表しているかさっぱりわかりませんね。

FIXプロトコルはkey-value(=タグ)とセパレータ(SOH文字)によって構成されています。例えば上記の電文は以下の意味を持っています。

Tag意味
8BeginStringFIX (バージョン)
9Content-Length67
35MsgTypeA (=LogOn)
34MsgSeqNum5
48SenderCompIdclient (=ユーザの識別子)
52SendingTime (送信時刻)
56TargetCompIdserver (=送信先の識別子)
98EncryptMethod0 (=暗号化無し)
HeartBtInt30 (=ハートビートインターバル)
10CheckSum

FIXプロトコルの電文は大きく分けてHeader/Body/Trailerの3つに分かれています。HeaderとTrailerは共通のスキーマで定義されておりHeaderの値にあわせてBody部のスキーマが決定されます。上記の例では、上からまでのタグに該当する箇所はHeader、98/のタグはBody、10のタグがTrailerにそれぞれ該当します。

FIXプロトコルとして標準化されているだけで、FIXのバージョンにも依りますが、MsgType(上記ではLogOnのMsgType)は約程度、タグそのものの数は約程度用意されています。

FIXプロトコルの流れ

「注文発注」を例に、実際にFIXプロトコルで行われるやり取りの流れを見てみます。

FIXプロトコルを用いて注文発注を行う場合、認証を行いセッションを確立させた後に注文の発注を送信する必要があります。

まず、Initiator(=いわゆるクライアント, 接続しに行く側)がAcceptor(=いわゆるサーバ, 接続される側)に認証のためのLogOnの電文を送信します。Acceptorは受信した電文を精査して、問題がない場合は今度はAcceptorがInitiatorへLogOnの電文を送信します。

このフローをもってInitiatorとAcceptor間の認証と対話の準備が完了となり、セッションが確立されます。もしInitiatorの送信したLogOnの電文になんらかのミスマッチがある場合、Rejectの電文がAcceptorからInitiatorへ送信されることになります。

次にInitiatorからAcceptorへNewOrderSingle(=注文発注)の電文を送信してみます。AcceptorはNewOrderSingleの電文を受信後、内容をチェックし注文の処理を実行します。

そのときInitiatorが発注した注文が約定(=注文が成立すること)となった場合、ExecutionReport(=約定情報)の電文がAcceptorからInitiatorへ送信されます。 またAcceptorがInitiatorから受け取った注文を何らかの理由で処理できない場合、Rejectの電文が返却されることもあります。

上記の例では1つの電文送信に対して1つの電文受信が発生するやり取りをしましたが、マーケット情報の取得などでは1つの電文送信に対してNの電文受信が発生するようなやり取りを行うこともあります。

さいごに

実際には接続する金融機関毎に固有の業務や処理が必要になり、そのためのカスタムタグの実装をすることが多いです。しかしそれでもREST APIやWebSocketなどの高レイヤーな汎用プロトコルを利用するよりも、FIXプロトコルを利用する方が簡潔にかつ堅牢な高速処理を行うシステムを構築することができると考えています。

といったところで、以上FIXプロトコルの紹介でした。FIXプロトコルは汎用的なHTTPやgRPCのような通信プロトコルとは異なり、プロトコル自体に業務が定義されている珍しいプロトコルなのではないかと個人的には思います。

おまけ:FIXプロトコルのライブラリ

Initiator/Acceptorを実装するためのライブラリとしてOSSで開発されているものもあります。

そのひとつであるQuickFIXはC++やJava、PythonやRubyなど幅広いプログラミング言語に対応されています。 quickfix/quickfix

 

IIJ Engineers blog読者プレゼントキャンペーン

  • Twitterフォロー&条件付きツイートで「IoT米」を抽選で20名にプレゼント!
    応募期間は/12/01~/12/31まで。詳細はこちらをご覧ください。
    今すぐツイートするならこちら→ フォローもお忘れなく!
このエントリーをはてなブックマークに追加
34=5 9=67 98=0 52= 56=server

PEPE price along with gaming crypto tokens rally as GTA 6 trailer leak leads to early release

●PEPE price rose by over 4% in the past hour, adding to the 15% increase in the last 24 hours.

●Gaming tokens such as Axie Infinity, Gala, and The Sandbox have rallied by more than 2% since the trailer's release.

●Rockstar unveiled the highly anticipated GTA 6 trailer a day before schedule due to being leaked online.

One of the greatest moments in gaming history came early as the trailer for Grand Theft Auto (GTA) 6 was leaked on Monday, triggering a not-so-surprising rise in PEPE price. Meme tokens, along with gaming tokens, were expected to rise in response to the trailer reveal event owing to their pop culture influence.

PEPE price rises as GTA 6 trailer gets leaked online

PEPE price, at the time of writing, could be seen trading at $, rising by a little under 5% in the past hour. Adding to the previous 24 hours' 15% rise, the increase was caused by the sudden reveal of the trailer of the video game GTA 6.

PEPE/USD 1-day chart

PEPE/USD 1-day chart, Source: TradingView.

A couple of other meme coins, such as Memecoin (MEME) and Bonk (BONK), also noted increases ranging from 3% - to 4% in the same duration. However, meme coins were not alone, as the main entities were the gaming tokens Axie Infinity (AXS), Gala (GALA), and The Sandbox (SAND).

These assets, while they did not notice stellar increases, did manage to rise by over 2% in the past hour and are expected to continue painting green on the charts owing to the trailer release event.

While this surge was initially expected on Tuesday, December 5, the initial release date of the video game's trailer, it came early as the video was leaked online a day earlier. Developer Rockstar Games confirmed the same and officially revealed the trailer not long after.

Going forward, meme coins, along with gaming tokens, will be key to watch since their driving factor is the influence of pop culture. Investors, at the same time, should also be wary of potential scam tokens running by the name of GTA or GTA 6, as was the case in when Squid Games-inspired token rug pulled investors of nearly $ million.

35=A

nest...

аналитика форекс gbp кaртa мирa форекс вспомогательные индикаторы форекс как платят налоги трейдеры валютного рынка форекс лучшие индикаторы для входа индикаторы измерения температуры щитовые дмитрий котенко форекс клипaрт для форекс имхо на форексе дц форекс брокер отзывы безрисковая комбинация форекс индикаторы рынка ферросплавов