Symbol & data refactoring for Nautilus

This commit is contained in:
2026-04-01 00:59:13 -04:00
parent cd28e18e52
commit 93bc8a3a4f
55 changed files with 537 additions and 600 deletions

View File

@@ -4,19 +4,27 @@ option java_multiple_files = true;
option java_package = "com.dexorder.proto";
message Market {
// The prices and volumes must be adjusted by the rational denominator provided
// by the market metadata
string exchange_id = 2; // e.g., BINANCE
string market_id = 3; // e.g., BTC/USDT
string market_type = 4; // e.g., Spot
string description = 5; // e.g., Bitcoin/Tether on Binance
repeated string column_names = 6; // e.g., ['open', 'high', 'low', 'close', 'volume', 'taker_vol', 'maker_vol']
string base_asset = 9;
string quote_asset = 10;
uint64 earliest_time = 11;
uint64 tick_denom = 12; // denominator applied to all OHLC price data
uint64 base_denom = 13; // denominator applied to base asset units
uint64 quote_denom = 14; // denominator applied to quote asset units
string exchange_id = 2; // e.g., BINANCE
string market_id = 3; // e.g., BTC/USDT
string market_type = 4; // e.g., Spot, CryptoPerpetual
string description = 5; // e.g., Bitcoin/Tether on Binance
repeated string column_names = 6; // e.g., ['open', 'high', 'low', 'close', 'volume']
string base_asset = 9; // e.g., BTC
string quote_asset = 10; // e.g., USDT
uint64 earliest_time = 11; // nanoseconds since epoch
repeated uint32 supported_period_seconds = 15;
// Nautilus Instrument fields — used to construct Instrument objects in the sandbox bridge
uint32 price_precision = 16; // decimal places for prices (e.g., 2 for $0.01 resolution)
uint32 size_precision = 17; // decimal places for quantities
double tick_size = 18; // minimum price increment (e.g., 0.01)
double lot_size = 19; // minimum order size
double min_notional = 20; // minimum order value in quote currency
double margin_init = 21; // initial margin requirement (futures/perps only)
double margin_maint = 22; // maintenance margin (futures/perps only)
double maker_fee = 23; // maker fee rate (e.g., 0.001 = 0.1%)
double taker_fee = 24; // taker fee rate
double contract_multiplier = 25; // contract multiplier for derivatives (default 1.0)
}