82 lines
1.8 KiB
Protocol Buffer
82 lines
1.8 KiB
Protocol Buffer
syntax = "proto3";
|
|
package optiver.exchange.orderbook;
|
|
|
|
import "common.proto";
|
|
|
|
// ------------------------------------------------------------
|
|
// Messages sent to all clients upon logging in with the current
|
|
// state of the order book, then upon any changes
|
|
// ------------------------------------------------------------
|
|
|
|
message OnOrderBookCreated {
|
|
int64 order_book_id = 1;
|
|
double tick_size = 2;
|
|
int64 created_timestamp = 3;
|
|
}
|
|
|
|
message OnOrderInserted {
|
|
int64 order_id = 1;
|
|
int64 order_book_id = 2;
|
|
int64 timestamp = 3;
|
|
Side side = 4;
|
|
double price = 5;
|
|
int32 quantity = 6;
|
|
string username = 7;
|
|
|
|
repeated int64 trade_ids = 10;
|
|
}
|
|
|
|
message OnOrderCancelled {
|
|
int64 order_id = 1;
|
|
int64 cancellation_timestamp = 2;
|
|
}
|
|
|
|
message OnTrade {
|
|
int64 trade_id = 1;
|
|
int64 order_book_id = 2;
|
|
int64 timestamp = 3;
|
|
int64 buy_order_id = 4;
|
|
int64 sell_order_id = 5;
|
|
double price = 6;
|
|
int32 quantity = 7;
|
|
Side aggressor_side = 8;
|
|
}
|
|
|
|
// ------------------------------------------------------------
|
|
// Requests accepted by this service
|
|
// ------------------------------------------------------------
|
|
|
|
message InsertOrderRequest {
|
|
int64 request_id = 1;
|
|
int64 order_book_id = 2;
|
|
Side side = 3;
|
|
double price = 4;
|
|
int32 quantity = 5;
|
|
string username = 6;
|
|
// TODO start with LIMIT order type only
|
|
}
|
|
|
|
message InsertOrderResponse {
|
|
int64 request_id = 1;
|
|
string error_message = 2;
|
|
|
|
int64 order_id = 3;
|
|
int64 timestamp = 4;
|
|
repeated int64 trade_ids = 5;
|
|
int32 traded_quantity = 6;
|
|
}
|
|
|
|
message CancelOrderRequest {
|
|
int64 request_id = 1;
|
|
int64 order_book_id = 2;
|
|
int64 order_id = 3;
|
|
}
|
|
|
|
message CancelOrderResponse {
|
|
int64 request_id = 1;
|
|
string error_message = 2;
|
|
|
|
int64 cancellation_timestamp = 3;
|
|
int32 remaining_quantity = 4;
|
|
}
|