*) 学習院大学経済学部教授。Latency Arbitrage and Information Technology 〜 an Analysis of HFT and Stock Market〜.内容などの連絡先:〒171-8588豊島区目白1−5−1学習院大学経済学部,TEL(DI):03-5992-4382,Fax:03-5992-1007,E-mail: tatsumikr3◎gmail.com(ご送信される場合◎は@に置き換えてご利用ください。)基礎的な解説文については,インターネットで確認した文章やそれに基づく部分もあるので,ここに記して感謝しておきたい。新聞記事とそれに類するもの(入手困難の書籍を含む)は本文中のカッコ内に引用を記している。
1)
光や波の基礎を紹介しておこう。光や音は波である。熱も波となって秒速5万km(光の6分の1の速さ)で伝わる現象は,世界で初めての毎秒1兆ビット高速撮影技術で捉えられている。
波長(波が1回振動したときの距離)と周波数(1秒間に繰り返す波の数のこと)には,波長(km)=光速(つまり300,000km/秒)/ 周波数(Hz),という関係がある。Hz(ヘルツ)とは,周波数の単位である。
ビット(bit)とは,情報の最小単位である。2つの選択肢から1つを特定するのに必要な情報量が1ビットになる。一般に,n ビットの情報量では2の n 乗個までの選択肢からなる情報を表現することができる。例えば,アルファベット26文字を表現するのに必要な情報量は16 < 26 < 32だから5ビットである。
2)
光ファイバー通信の歴史は次のとおりである。1966年導波路構造を持たせた特殊なガラス体が低損失な伝送媒体となる可能性を示唆する研究が発表され,1970年伝送損失が20dB/kmの光ファイバーを米国Corning 社が発表した。1979年NTT(当時,日本電信電話公社)は光ファイバーの損失値0.20dB/kmを実現した。つまり,1970年代の10年間に,光ファイバー通信は基礎研究段階から実用化段階にまで達した。例えば,光ファイバーの伝送損失は20dB/kmから0.2dB/kmにまで低下する。無中継伝送距離と情報伝送速度の積は10年で1000倍のペースでの進歩が続いた。
1981年NTTは光ファイバー伝送方式の商用を開始した。1986年NTTは理論限界値に迫る0.154dB/kmを達成した。1989年には日米間初の海底光ファイバー・ケーブルによる国際通信サービスが開始された。ファイバーあたりの情報伝送量は280メガビット毎秒(約10の8乗ビット毎秒)で,現在の家庭への光ファイバーアクセスサービスの10倍超に過ぎず,はっきり言って遅い。
1990年EDFA伝送実験をNTTが始める。EDFAはエルビウム添加光ファイバー増幅器の略で,波長1.55ミクロン付近の波長帯で最適な光増幅器(optical amplifier)である。元来,通信用光ファイバーは波長1.55ミクロン付近に極低損失を実現できる透明な領域を持っており,この波長帯で実用的な光増幅器が発明され,伝送媒体の低損失領域と光増幅器の増幅領域が広い波長帯で重なり合い,光ファイバー通信の大容量化が実現した。1995−96年このEDFAが商用化された。2002年0.148dB/kmという超低損失値を住友電気工業が達成する。
情報伝達の高速化を実現した要因は,本文で展開するように,光ファイバー増幅器以外に3つあり,@広帯域化,A信号の多値変調化,B空間の利用,開発・実用化,である。
3) これらの点に関しては,デシベル(dB)とウェーバー・フェヒナーの法則が重要である。デシベル(dB)とは,信号強度の相対的な差異を表すための単位である。dBは,次のように,2つの信号のパワー比の常用対数(底は10)を使用して表される。dB= 10 x Log10(P1/P2),ここで,Log10は10を底とする対数である。P1およびP2は比較するパワーである。信号の振幅もdBで表すことができる。これはウェーバー・フェヒナーの法則と呼ばれる。
数値例として,伝送損失(ロス)が0.2dB/kmを持つ光ファイバーに入射した光は10km進んで強度は何%になるか計算してみると,次のようになる。10km進むと0.2dB/km × 10km = 2dBの損失となるから,それに相当する強さの大きさは2dB = 10*log10(x),x = 10^(0.2) = 0.63。それゆえ約63%減る。強度は37%になってしまう。100km進むと光強度は100分の1になってしまう理由は,0.2dB/km × 100km = 20dBの損失は20dB = 10*log10(x),x = 10^(2) =100%減るのに相当するからである。助力なしには光の太平洋横断は無理であり,増幅が必要になることがわかる。2016年運用稼働したグーグルやKDDIなどの6社の太平洋横断海底ケーブルでは60kmごとに置かれた中継装置で増幅している(Wired, 2016年7月1日記事参照)。
4)
さらに,PSKにはBPSK(Binary Phase Shift Keying),QPSK(Quadrature Phase Shift Keying),8PSK(8Phase Shift Keying)などがある。
直交振幅変調(QAM: Quadrature Amplitude Modulation)は16QAM,64QAM,256QAMなど高効率なデジタル変調方式で,PSKとQAMは携帯電話,スマートフォン,無線LAN,地上デジタル放送などのデジタル無線通信に広く利用されている。
5)
レイテンシーが命のHFTでは,スイッチなどが残りの課題になる。専門メーカーのサイトには次のように載っているので,紹介しておこう。スイッチは,コロケーション(データセンター)内のサーバーやラックを出入りするあらゆるデータが通り抜ける場所である。そこでさまざまな処理を実行できれば,多大なメリットが得られ,言ってみればロジックとボックスの境界がなくなる。例えばマーケット・データのノーマライズやフィルタリング,データ内容の監視や加工(リスクチェックなど)は,このスイッチに向く最適な仕事になる。
例えば「ある銘柄が999円以下に下がったら買いを入れる」といったロジックをスイッチに組み込める。そう出来ればマーケット・データがサーバーのラックに届く前,スイッチに達した直後に,ナノセカンドの単位で発注が可能になる。
さらに,ネットワーク・トラフィックをダイレクトに扱える能力を生かして,サーバー群にさまざまなサービスを提供できる。フィードハンドリング(ノーマライゼーションや変換など)に加えて,ライン・アービトラージやシンボルベースのルーティング(株価情報が流れてきたら,その企業コードを見てパケットをルーティング)も可能になる。
6) メッセージ(message)とは,ネットワーク上でやりとりされる情報で,身近な例では携帯電話のメールやショートメッセージ,SNS のメッセージサービスが該当する。証券取引においては,トレーダーと取引所等を行き交う標準化されたデータのパケット(銘柄番号,注文形態,売りか買いか,指値,など)である。そういった情報を,送信者から宛先に中継することをメッセージングと言う。
7) 複合イベント処理の解説は清嶋[2009]になされている。従来の情報処理では,いったんデータをデータベースに格納してから,再度必要に応じて命令して抽出する処理を行うのが一般的であった。1回の処理は0.1秒で済むとしても,多数の人が繰り返し利用する状況では,数秒単位で処理が遅延する。これに対して,刻々と収集される市場データをより短時間で処理できる方式として注目されたのがCEP(複合イベント処理)である。例えば株のアルゴリズム売買を行うシステムのように,「直前の5分間で株式Aの価格が1%上昇し,株式Bの価格が0.5%下落した時,すぐに株式Cを買う」といった処理に適した手法である。この場合にCEPでは,直前5分間の値動きのデータをメモリ上に保持しておいて,すぐに簡易な処理を実行する。データベースにいったん格納するやり方に比べて数十〜数百倍のスピードで情報をさばける。
8)
ここでストリームデータ処理の解説を行いたい。ストリームデータ処理とは,そう解説している文献を筆者は未だ見たことはないが,本文先の脚注で引用した複合イベント処理という用語の別称とみてよいだろう。
(1)データの分類〜分析目的による分類
情報システムが管理してきたデータの多くは,顧客プロファイルや販売履歴など,それぞれが固有の重要な情報で,データベース(ディスク)などを使って一つひとつ保管する必要がある。
しかしながら,センサーなどが生み出すデータは必ずしも保管を必要とする類のものではない。例えば,何らかの異変を察知する目的でセンサーを利用するのであれば,値が正常であることさえ確認できれば,その後は捨ててしまっても構わない。
センサーが生み出す情報を逐一データベースに保管して,定時にバッチで処理しているようでは,情報の鮮度が下がって宝の持ち腐れになってしまい,ストレージがいくらあっても足らない。
データをストックとして捉える従来のアプローチに代わり,それらをフローのままでリアルタイムに処理,意志決定することに意味がある場合がある,のである。
(2)ストリームデータ処理と呼ばれる技術
さまざまな発生源からデータがシステムにインプットされる度に,処理を担当するストリーム処理エンジンは,あらかじめ設定された「分析シナリオ」というアルゴリズムに従ってデータを処理する。入力がある度に,エンジンは処理を繰り返し,データが条件を満たした場合にアウトプット・通知を行う。
(3)ストリームデータ処理がスピードを追求するための工夫
データの入力から分析,出力までの一連のプロセスは全てメモリ上で完結する。情報・データを蓄積・保管する概念がないに等しい。ディスクに対するアクセスが必要ないため,通常のデータベースを利用する場合と比らべて,処理にかかる時間は1/100以下に短縮できることもある,と言われる。そのために:
@インプットされたデータを即座に処理をするには,ストック型のアプローチのように時間を掛けて分析クエリを考えている余裕はないから,事前に命令(クエリ)を登録しておく。
A一定時間経過して不要になったデータは自動的に破棄してしまう。しかし,必要に応じて保持期間中のデータの一部を保持するようにもしている。
9) 価格.com を見て,掲載された店に買いに出向いたが,着いた頃には商品はなかったということはあり得る。これが大きな不満に結びつかないのは,電化製品などの購入頻度は高くないからであろう。証券売買は,それよりは高頻度で売買されるので,このような不満は大きいはずである。
10) スポーツの世界で長く記録されている出来事がある。かつて水抵抗が少ない「高速水着」と通称される新型水着が発明され,競泳の世界新記録を次々と塗り替えた事実は多くの人の記憶にあることと思う。そのため新型水着の着用が禁止されるという,この技術進歩を推し進めた技術者からみれば,耐えられない暴挙が行われた。化学物質で体が増強されている(ドーピング)だけでなく,最新科学で身体を包む(高速水着)選手は試合に参加させない,公正な競技の舞台を作ることに関係者は腐心しているようである。優れた訓練スタッフと設備を身の周りに整えることができる選手とそうでない選手の戦いは不公平とは捉えられていないようである。行うべきは,レース参加者全員に新型水着を安価に提供することであった,と思う。競泳の世界は,アスリートに係る狭義の人間の力だけの競技に固執し,技術進歩を封印したのである。