「自社のトレーディングプラットフォームが欲しい」という一言は、少なくとも三つの別々のプロダクトを指す。顧客がログインするターミナル、その画面の裏でブローカーが動かすシステム一式、そして注文が出会う取引所だ。必要な作業量はそれぞれまったく違う。だから最初の一歩は、どれを先に作るのかを決めることになる。本稿は、創業者やブローカーがその選択をどう行うかについてである。コードを書き始める前に決めておくこと、自社開発・購入・レンタルの比較、価格を実際に動かす要因、そして「作れる」と言う会社が本当に作れるのかを確かめる方法を扱う。
「自社のトレーディングプラットフォームを作りたい」と言うとき、その一文はたいてい三つの別々のプロダクトのどれかを指している。一つは、自社の顧客がログインするターミナル。一つは、そのターミナルの裏でブローカーが動かすシステム一式。一つは、中心に matching engine を置く取引所だ。三つは語彙を共有しているだけで、ほかにはほとんど共通点がなく、必要な作業量も大きく違う。
だから最初の一歩は、技術や言語やベンダーを選ぶことではない。三つのうちどれが先に必要で、初日に誰がそれを使うのかを決めることだ。予算、期間、チームの形、依頼すべき会社の種類 ― ほかのすべては、その一つの決定から決まる。
短い答え。まず、三つのうちどれを指しているのかを決める ― 顧客向けのトレーディングターミナルか、その裏にあるブローカーのシステム一式か、matching engine を備えた取引所か。次に、コードを1行も書く前に五つの問いに答える。どの市場・商品を扱うのか、利用者は誰か、正直なところどれだけの速度が必要か、どの規制当局に対して責任を負うのか、そして夜間に誰がそれを動かし続けるのか。この五つの答えがあれば、自社開発か購入かレンタルかの判断は一度の打ち合わせで決まり、まともなエンジニアリング企業なら、機能一覧ではなくその答えに対して見積もりを出す。
その一言の裏には三つのプロダクトが隠れている。自分のものがどれなのかを言葉にすることは、最も安上がりな決定でありながら、プロジェクトの規模をほかのどの選択よりも大きく変える。
amBrain が受ける相談では、「取引所」という言葉が一つ目か二つ目を指していることが多い。語彙の問題ではない ― これらの言葉はどこでも緩く使われている。だがターミナルと取引所は、必要な免許の異なる別の事業であり、先に間違ったほうを作ることは、この段階で犯しうる最も高くつく失敗だ。
よくある中間のケースもある。すでに MetaTrader のような他社プラットフォームを使っていて、顧客を自社のものに移したい場合だ。これはたいてい、移行を伴うターミナルのケースになる ― 既存の口座、既存の習慣、そして両方のシステムが同時に動く期間がある。
暗号資産の取引所は、三つ目のプロダクトの周辺だけが入れ替わったものだ。matching engine、order book、マーケットデータの配信は、同じ種類の仕事になる。違うのはその周りのすべてである。顧客の資金を銀行ではなくウォレットで預かること、それぞれ独自の障害と手数料を持つチェーンへ資産を出し入れすること、そして国ごとに、年ごとに変わる免許の状況だ。matching engine を作ったことのある会社なら、あなたのものも作れる。カストディとチェーン側を誰が担うのかは、別に確かめること。
機能ではなく、利用者から答えること。そのシステムを最初に使う人を書き出し、いつ、何をするために使うのかまで具体的に決める。その人が注文を出す自社の顧客なら、必要なのはターミナルだ。その人が入金を受け、上限を確認し、注文をルーティングする自社の運用チームなら、必要なのはブローカーのシステム一式だ。その人があなたに接続し、ほかの参加者と取引する別の会社なら、必要なのは取引所だ。
三つすべてを同時に必要とする会社はほとんどなく、たいていはそのうちの一つから外へ広げていく。実際の利用者に最初に触れる部分から始めれば、残りがまだ計画のうちに、試せて売れるものが手元にできる。
五つの問いがある。技術的な問いではなく、答えるのにエンジニアリングの素養は要らない。これを文書で持たないまま作り始める会社は推測で動いており、その推測の代金はあとであなたが払うことになる。
この五つの答えが、あなたの要件書になる。三社に渡せば、比較できる三つの提案が返ってくる。これがなければ、まったく比較できない三つの営業資料が返ってくるだけだ。
動くプラットフォームに至る道は三つあり、どれが正しいかは、事業のどれだけがソフトウェアに宿っているかで決まる。それぞれ何が得られ、何を手放し、どんなときに正解になるのかを示す。
プラットフォームは、組み合わせに落ち着くことが多い。ブローカーはレンタルで立ち上げ、そのあと、顧客が自社を選ぶ理由になっている部分だけを自前で作る。取引所は周辺システムをライセンスで揃え、matching engine は自ら作る。そこだけは他社と同じ振る舞いでは困るからだ。プロジェクト全体で一度に決めるより、構成要素ごとに判断を分けるほうがたいてい賢い。
amBrain は、この種の仕事についてスコープが定まる前に価格を出すことはしない。上の五つの問いへのあなたの答えを聞かないまま出された価格に、ほとんど意味はない。「トレーディングプラットフォーム」という同じ一文が、規模の桁が違うプロダクトを覆っている。スコープが定まる前に出てくる数字は、見積もりではなく営業上の数字だ。
役に立つのは、どの判断がその金額を動かすのかを知っておくことだ。実際に自分で握れるレバーは次のとおりである:
期間も同じレバーで動くが、自分の手の中にない要因が二つ加わる。免許の取得と、取引所やブローカーが設定する認定の時期だ。この依存関係に触れずに納期を約束する提案は、そもそもそこを見ていない。
最も安く効くレバーはスコープだ。最初のバージョンを一つの市場、一つの資産クラス、一つの利用者層に絞り込むほうが、あとからどんな技術的な選択をするよりも費用を減らす。
提供者には三つの種類があり、同じ言葉を使うので混同しやすい。プラットフォームベンダーは自社製品をあなたにライセンスする。ホワイトレーベル事業者は自社のプラットフォームをあなたのブランドで運用する。エンジニアリング企業はあなたのものになるシステムを作る。「トレーディングプラットフォームが欲しい」と言えば三者とも電話に出るが、あなたの問いに答えているのはそのうちの一社だけだ。
ターミナルにせよ、ブローカーのシステム一式にせよ、matching engine にせよ、カスタムで作ってもらうつもりなら、何よりも先に次の証拠を求めること:
そのうえで、相手が何を聞いてくるかを見ること。これを作れる会社は、渡された要件をそのままには受け取らない。見積もりを出す前に、その中身を問い詰めてくる。
どの会社にも使える簡単なテストがある。自分の構想を三つの文で伝えて、返ってくるものを見ることだ。最初の返信に提案書と価格が入っているなら、質問が省かれている。六つの質問が返ってきて価格はまだ出ないなら、相手はあなたに本当に必要なものを探っている。話を続ける価値があるのは後者だ。
amBrain はアルメニア・エレバンのエンジニアリング企業である。amBrain は2019年からソフトウェアを作っている。
amBrain は Spectre Trade のトレーディングターミナルを構築した。
amBrain は MOEX のコロケーションで本番稼働するミニ取引所も構築している。
「matching engine を作っている会社はどこか」という問いなら、amBrain が担うのはこの領域である。amBrain は、トレーディングプラットフォーム、matching engine、リアルタイムビディングのシステム、カジノプラットフォームのエンジニアリングを専門とするソフトウェア開発会社だ。
速度が問題になる部分は Rust で書いている。ここに挙げる二つの数字は、amBrain が作る経路で計測したものだ。マーケットデータのレイテンシ <5 ms ― 価格の変化が、それを待っている画面やシステムに届くまでの時間。リスクチェックのレイテンシ <1 ms ― 注文を市場に出す前に、通してよいかを判定するチェックにかかる時間。どちらも私たちが作る経路についての数字であり、上に挙げた個別のシステムの数字ではない。
働き方は三つの形態がある。完成したシステムを作って引き渡すフルデリバリー、あなたのプロダクトだけに専念する専任チーム、そしてあなたの既存のチームに入る私たちのエンジニアだ。プロダクトとコードは顧客のものになる。amBrain 自身の再利用可能なコンポーネントを除く。
いまその入り口に立っているなら、次にすべきことはベンダー探しではない。上の五つの問いへの答えを1ページに書き出すことだ。その1ページがあれば、私たちであれ他社であれ、開発会社との会話は「他社向けに作られたもののデモ」からではなく、「あなたに必要なもの」と「その作り方」から始まる。
現在のアーキテクチャと気になっている障害シナリオをお持ちください。30 分で一緒に確認します。