From 8d2dc12e775bc7c01ed0b0556125588c77b72960 Mon Sep 17 00:00:00 2001 From: Project Rinjani Date: Wed, 10 Jan 2018 20:29:15 +0900 Subject: [PATCH] Update ARCHITECTURE_JP.md --- docs/ARCHITECTURE_JP.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/ARCHITECTURE_JP.md b/docs/ARCHITECTURE_JP.md index 2859357d..558bbfe6 100644 --- a/docs/ARCHITECTURE_JP.md +++ b/docs/ARCHITECTURE_JP.md @@ -4,41 +4,41 @@ ## Arbitrager 裁定処理の中心となるコンポーネント。Quote Aggregatorから板情報更新イベントを受信したとき、裁定処理を開始する。Position Service からポジションを取得し、Spread Analyzer, Limit Checkerを通して裁定オープン/クローズを判断する。 -📄src/ArbitragerImpl.ts +📄src/Arbitrager.ts ## Broker Adapter 取引所APIの[アダプター](https://ja.wikipedia.org/wiki/Adapter_%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3) 。 BrokerAdapter インターフェイスを実装し、取引所間のAPIの差異を吸収する。他のコンポーネントがどの取引所とやり取りしているか知らなくてすむようにインターフェイスを統一する。 新しい取引所をR2に追加したい場合、このコンポーネントを追加しDIコンテナに登録するだけでよい。 -📄src/*/BrokerAdapterImpl.ts +📄src/*/BrokerAdapter.ts ## Broker Adapter Router 複数のBroker Adapterの[ファサード](https://ja.wikipedia.org/wiki/Facade_%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3) として動作する。 他コンポーネントからの取引所へのリクエスト(オーダー送信、価格取得、ポジション取得等)を各Broker Adapterにルーティングする。他コンポーネントが全取引所のBroker Adapterの参照を持たずに済むようにするため。 -📄src/BrokerAdapterRouterImpl.ts +📄src/BrokerAdapterRouter.ts ## Position Service 定期的にポジション情報を取引所から取得する。取引所APIを直接呼び出すことはなく、Broker Adapter Router経由でリクエストを出す。BTCポジション数だけでなく、各取引所に対し売り買い試行可能か設定値から計算し、その情報を保持する。 -📄src/PositionServiceImpl.ts +📄src/PositionService.ts ## Quote Aggregator 定期的に全取引所から板情報を取得し、設定された呼び値幅に集約したサマリ板を生成する。取引所APIを直接呼び出すことはなく、Broker Adapter Router経由でリクエストを出す。板情報更新イベントをArbitragerに通知する。 -📄src/QuoteAggregatorImpl.ts +📄src/QuoteAggregator.ts ## Spread Analyzer Arbitrager からサマリ板情報とポジション情報を受け取り、そのポジション下で最適なビッド/アスクとその期待収益等を計算する。 -📄src/SpreadAnalyzerImpl.ts +📄src/SpreadAnalyzer.ts ## Limit Checker 裁定可否の意思決定を行う。各種設定値(ネットエクスポージャ、最小目標収益、デモモード等)を参照の上、オーダーを送信すべきかどうかの解析結果をArbitragerに返す。 各種チェッカーはLimit Checkerインターフェイスを実装し、[Compositeパターン](https://ja.wikipedia.org/wiki/Composite_%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3) で集約されたチェッカーを形成している。 -📄src/LimitCheckerImpl.ts +📄src/LimitChecker.ts ## Config Store 設定情報の状態管理(現状読み込みのみ)を担当する。ConfigStoreインターフェイスを実装し、ConfigRoot型の設定オブジェクトを保持する。現在の実装はjsonフォーマットのファイルを読み込む。 @@ -55,7 +55,7 @@ Arbitrager からサマリ板情報とポジション情報を受け取り、そ ## Config Validator 起動時に設定に不正な値(マイナスのミリ秒など)が設定されていないかチェックし、不正な場合は起動させないようにする。 -📄ConfigValidatorImpl.ts +📄ConfigValidator.ts ## Logger ログ出力には[pinojs](https://github.com/pinojs/pino) を利用。