├── .bumpversion.cfg ├── .editorconfig ├── .github └── workflows │ ├── ci.yml │ └── release.yml ├── .gitignore ├── .readthedocs.yaml ├── LICENSE ├── MANIFEST.in ├── Makefile ├── README.md ├── async_rithmic ├── __init__.py ├── certificates │ └── rithmic_ssl_cert_auth_params ├── client.py ├── enums.py ├── exceptions.py ├── helpers │ ├── background_task_mixin.py │ ├── concurrency.py │ ├── connectivity.py │ └── request_manager.py ├── logger.py ├── objects.py ├── plants │ ├── __init__.py │ ├── base.py │ ├── history.py │ ├── order.py │ ├── pnl.py │ └── ticker.py └── protocol_buffers │ ├── __init__.py │ ├── account_pnl_position_update_pb2.py │ ├── base_pb2.py │ ├── best_bid_offer_pb2.py │ ├── bracket_updates_pb2.py │ ├── exchange_order_notification_pb2.py │ ├── forced_logout_pb2.py │ ├── instrument_pnl_position_update_pb2.py │ ├── last_trade_pb2.py │ ├── reject_pb2.py │ ├── request_account_list_pb2.py │ ├── request_account_rms_info_pb2.py │ ├── request_bracket_order_pb2.py │ ├── request_cancel_all_orders_pb2.py │ ├── request_cancel_order_pb2.py │ ├── request_exit_position_pb2.py │ ├── request_front_month_contract_pb2.py │ ├── request_heartbeat_pb2.py │ ├── request_list_exchange_permissions_pb2.py │ ├── request_login_info_pb2.py │ ├── request_login_pb2.py │ ├── request_logout_pb2.py │ ├── request_market_data_update_pb2.py │ ├── request_modify_order_pb2.py │ ├── request_new_order_pb2.py │ ├── request_pnl_position_snapshot_pb2.py │ ├── request_pnl_position_updates_pb2.py │ ├── request_product_rms_info_pb2.py │ ├── request_reference_data_pb2.py │ ├── request_rithmic_system_info_pb2.py │ ├── request_search_symbols_pb2.py │ ├── request_show_bracket_stops_pb2.py │ ├── request_show_brackets_pb2.py │ ├── request_show_order_history_dates_pb2.py │ ├── request_show_order_history_detail_pb2.py │ ├── request_show_order_history_summary_pb2.py │ ├── request_show_orders_pb2.py │ ├── request_subscribe_for_order_updates_pb2.py │ ├── request_subscribe_to_bracket_updates_pb2.py │ ├── request_tick_bar_replay_pb2.py │ ├── request_tick_bar_update_pb2.py │ ├── request_time_bar_replay_pb2.py │ ├── request_time_bar_update_pb2.py │ ├── request_trade_routes_pb2.py │ ├── request_update_stop_bracket_level_pb2.py │ ├── request_update_target_bracket_level_pb2.py │ ├── response_account_list_pb2.py │ ├── response_account_rms_info_pb2.py │ ├── response_bracket_order_pb2.py │ ├── response_cancel_all_orders_pb2.py │ ├── response_cancel_order_pb2.py │ ├── response_exit_position_pb2.py │ ├── response_front_month_contract_pb2.py │ ├── response_heartbeat_pb2.py │ ├── response_list_exchange_permissions_pb2.py │ ├── response_login_info_pb2.py │ ├── response_login_pb2.py │ ├── response_logout_pb2.py │ ├── response_market_data_update_pb2.py │ ├── response_modify_order_pb2.py │ ├── response_new_order_pb2.py │ ├── response_pnl_position_snapshot_pb2.py │ ├── response_pnl_position_updates_pb2.py │ ├── response_product_rms_info_pb2.py │ ├── response_reference_data_pb2.py │ ├── response_rithmic_system_info_pb2.py │ ├── response_search_symbols_pb2.py │ ├── response_show_bracket_stops_pb2.py │ ├── response_show_brackets_pb2.py │ ├── response_show_order_history_dates_pb2.py │ ├── response_show_order_history_detail_pb2.py │ ├── response_show_order_history_summary_pb2.py │ ├── response_show_orders_pb2.py │ ├── response_subscribe_for_order_updates_pb2.py │ ├── response_subscribe_to_bracket_updates_pb2.py │ ├── response_tick_bar_replay_pb2.py │ ├── response_tick_bar_update_pb2.py │ ├── response_time_bar_replay_pb2.py │ ├── response_time_bar_update_pb2.py │ ├── response_trade_routes_pb2.py │ ├── response_update_stop_bracket_level_pb2.py │ ├── response_update_target_bracket_level_pb2.py │ ├── rithmic_order_notification_pb2.py │ ├── scripts │ └── convert_from_proto2.py │ ├── source │ ├── account_pnl_position_update.proto │ ├── base.proto │ ├── best_bid_offer.proto │ ├── bracket_updates.proto │ ├── depth_by_order.proto │ ├── depth_by_order_end_event.proto │ ├── exchange_order_notification.proto │ ├── forced_logout.proto │ ├── instrument_pnl_position_update.proto │ ├── last_trade.proto │ ├── order_book.proto │ ├── reject.proto │ ├── request_account_list.proto │ ├── request_account_rms_info.proto │ ├── request_bracket_order.proto │ ├── request_cancel_all_orders.proto │ ├── request_cancel_order.proto │ ├── request_depth_by_order_snapshot.proto │ ├── request_depth_by_order_updates.proto │ ├── request_exit_position.proto │ ├── request_front_month_contract.proto │ ├── request_heartbeat.proto │ ├── request_list_exchange_permissions.proto │ ├── request_login.proto │ ├── request_login_info.proto │ ├── request_logout.proto │ ├── request_market_data_update.proto │ ├── request_modify_order.proto │ ├── request_new_order.proto │ ├── request_pnl_position_snapshot.proto │ ├── request_pnl_position_updates.proto │ ├── request_product_rms_info.proto │ ├── request_reference_data.proto │ ├── request_rithmic_system_info.proto │ ├── request_search_symbols.proto │ ├── request_show_bracket_stops.proto │ ├── request_show_brackets.proto │ ├── request_show_order_history_dates.proto │ ├── request_show_order_history_detail.proto │ ├── request_show_order_history_summary.proto │ ├── request_show_orders.proto │ ├── request_subscribe_for_order_updates.proto │ ├── request_subscribe_to_bracket_updates.proto │ ├── request_tick_bar_replay.proto │ ├── request_tick_bar_update.proto │ ├── request_time_bar_replay.proto │ ├── request_time_bar_update.proto │ ├── request_trade_routes.proto │ ├── request_update_stop_bracket_level.proto │ ├── request_update_target_bracket_level.proto │ ├── response_account_list.proto │ ├── response_account_rms_info.proto │ ├── response_bracket_order.proto │ ├── response_cancel_all_orders.proto │ ├── response_cancel_order.proto │ ├── response_depth_by_order_snapshot.proto │ ├── response_depth_by_order_updates.proto │ ├── response_exit_position.proto │ ├── response_front_month_contract.proto │ ├── response_heartbeat.proto │ ├── response_list_exchange_permissions.proto │ ├── response_login.proto │ ├── response_login_info.proto │ ├── response_logout.proto │ ├── response_market_data_update.proto │ ├── response_modify_order.proto │ ├── response_new_order.proto │ ├── response_pnl_position_snapshot.proto │ ├── response_pnl_position_updates.proto │ ├── response_product_rms_info.proto │ ├── response_reference_data.proto │ ├── response_rithmic_system_info.proto │ ├── response_search_symbols.proto │ ├── response_show_bracket_stops.proto │ ├── response_show_brackets.proto │ ├── response_show_order_history_dates.proto │ ├── response_show_order_history_detail.proto │ ├── response_show_order_history_summary.proto │ ├── response_show_orders.proto │ ├── response_subscribe_for_order_updates.proto │ ├── response_subscribe_to_bracket_updates.proto │ ├── response_tick_bar_replay.proto │ ├── response_tick_bar_update.proto │ ├── response_time_bar_replay.proto │ ├── response_time_bar_update.proto │ ├── response_trade_routes.proto │ ├── response_update_stop_bracket_level.proto │ ├── response_update_target_bracket_level.proto │ ├── rithmic_order_notification.proto │ ├── tick_bar.proto │ ├── time_bar.proto │ └── trade_route.proto │ ├── tick_bar_pb2.py │ ├── time_bar_pb2.py │ └── trade_route_pb2.py ├── conftest.py ├── docs ├── Makefile ├── conf.py ├── connection.rst ├── historical_data.rst ├── index.rst ├── make.bat ├── orders.rst ├── realtime_data.rst └── requirements.txt ├── pyproject.toml ├── pytest.ini ├── requirements.txt └── tests ├── __init__.py ├── response_mocks ├── front_month_contract_NQ.bin ├── reference_data_ES.bin └── system_info.bin ├── test_base.py ├── test_connectivity.py ├── test_endpoints.py └── test_request_manager.py /.bumpversion.cfg: -------------------------------------------------------------------------------- 1 | [bumpversion] 2 | current_version = 1.4.3 3 | commit = True 4 | tag = True 5 | 6 | [bumpversion:file:pyproject.toml] 7 | 8 | [bumpversion:file:async_rithmic/__init__.py] 9 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | charset = utf-8 5 | indent_style = space 6 | indent_size = 2 7 | end_of_line = lf 8 | insert_final_newline = true 9 | trim_trailing_whitespace = true 10 | 11 | [*.py] 12 | charset = utf-8 13 | indent_style = space 14 | indent_size = 4 15 | end_of_line = lf 16 | insert_final_newline = true 17 | trim_trailing_whitespace = true 18 | 19 | [*.{md,mdx}] 20 | trim_trailing_whitespace = false 21 | -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | name: CI 2 | 3 | on: 4 | push: 5 | branches: 6 | - main 7 | pull_request: 8 | branches: 9 | - main 10 | 11 | jobs: 12 | test: 13 | runs-on: ubuntu-latest 14 | 15 | strategy: 16 | matrix: 17 | python-version: ["3.10", "3.11", "3.12", "3.13"] 18 | 19 | name: Python ${{ matrix.python-version }} 20 | 21 | steps: 22 | - name: Checkout code 23 | uses: actions/checkout@v4 24 | 25 | - name: Set up Python ${{ matrix.python-version }} 26 | uses: actions/setup-python@v4 27 | with: 28 | python-version: ${{ matrix.python-version }} 29 | 30 | - name: Install dependencies 31 | run: pip install . 32 | 33 | - name: Install test dependencies 34 | run: pip install pytest pytest-asyncio 35 | 36 | - name: Run tests 37 | run: make tests 38 | -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- 1 | name: Release 2 | 3 | on: 4 | release: 5 | types: [created] 6 | 7 | jobs: 8 | deploy: 9 | runs-on: ubuntu-latest 10 | steps: 11 | - uses: actions/checkout@v4 12 | 13 | - name: Set up Python 14 | uses: actions/setup-python@v4 15 | with: 16 | python-version: '3.11' 17 | 18 | - name: Install dependencies 19 | run: | 20 | python -m pip install --upgrade pip 21 | pip install build twine 22 | 23 | - name: Build distribution 24 | run: python -m build 25 | 26 | - name: Upload to PyPI 27 | env: 28 | TWINE_USERNAME: __token__ 29 | TWINE_PASSWORD: ${{ secrets.PYPI_API_TOKEN }} 30 | run: twine upload dist/* 31 | -------------------------------------------------------------------------------- /.readthedocs.yaml: -------------------------------------------------------------------------------- 1 | # Read the Docs configuration file 2 | # See https://docs.readthedocs.io/en/stable/config-file/v2.html for details 3 | 4 | # Required 5 | version: 2 6 | 7 | # Set the OS, Python version, and other tools you might need 8 | build: 9 | os: ubuntu-24.04 10 | tools: 11 | python: "3.13" 12 | 13 | # Build documentation in the "docs/" directory with Sphinx 14 | sphinx: 15 | configuration: docs/conf.py 16 | 17 | python: 18 | install: 19 | - method: pip 20 | path: . 21 | - requirements: docs/requirements.txt 22 | 23 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024 Mickael Burguet 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /MANIFEST.in: -------------------------------------------------------------------------------- 1 | include pyproject.toml 2 | include *.md 3 | include LICENSE 4 | recursive-include certificates * 5 | recursive-include tests test*.py 6 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | .PHONY: protoc tests docs 2 | 3 | PROTO_PATH=async_rithmic/protocol_buffers/ 4 | TESTS_PATH?=tests 5 | 6 | protoc: 7 | $(PROTOC_DIR)protoc -I=$(PROTO_PATH)source --python_out=$(PROTO_PATH) $(PROTO_PATH)source/*.proto 8 | 9 | tests: 10 | PYTHONPATH=. pytest -s -vv $(TESTS_PATH) 11 | 12 | docs: 13 | rm -rf docs/_build && $(MAKE) -C docs html 14 | 15 | -------------------------------------------------------------------------------- /async_rithmic/__init__.py: -------------------------------------------------------------------------------- 1 | from .client import RithmicClient 2 | from .enums import * 3 | from .logger import logger 4 | from .exceptions import * 5 | from .objects import RetrySettings, ReconnectionSettings 6 | 7 | __version__ = '1.4.3' 8 | -------------------------------------------------------------------------------- /async_rithmic/certificates/rithmic_ssl_cert_auth_params: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIF3jCCA8agAwIBAgIQAf1tMPyjylGoG7xkDjUDLTANBgkqhkiG9w0BAQwFADCB 3 | iDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0pl 4 | cnNleSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNV 5 | BAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTAw 6 | MjAxMDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBiDELMAkGA1UEBhMCVVMxEzARBgNV 7 | BAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVU 8 | aGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBSU0EgQ2Vy 9 | dGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK 10 | AoICAQCAEmUXNg7D2wiz0KxXDXbtzSfTTK1Qg2HiqiBNCS1kCdzOiZ/MPans9s/B 11 | 3PHTsdZ7NygRK0faOca8Ohm0X6a9fZ2jY0K2dvKpOyuR+OJv0OwWIJAJPuLodMkY 12 | tJHUYmTbf6MG8YgYapAiPLz+E/CHFHv25B+O1ORRxhFnRghRy4YUVD+8M/5+bJz/ 13 | Fp0YvVGONaanZshyZ9shZrHUm3gDwFA66Mzw3LyeTP6vBZY1H1dat//O+T23LLb2 14 | VN3I5xI6Ta5MirdcmrS3ID3KfyI0rn47aGYBROcBTkZTmzNg95S+UzeQc0PzMsNT 15 | 79uq/nROacdrjGCT3sTHDN/hMq7MkztReJVni+49Vv4M0GkPGw/zJSZrM233bkf6 16 | c0Plfg6lZrEpfDKEY1WJxA3Bk1QwGROs0303p+tdOmw1XNtB1xLaqUkL39iAigmT 17 | Yo61Zs8liM2EuLE/pDkP2QKe6xJMlXzzawWpXhaDzLhn4ugTncxbgtNMs+1b/97l 18 | c6wjOy0AvzVVdAlJ2ElYGn+SNuZRkg7zJn0cTRe8yexDJtC/QV9AqURE9JnnV4ee 19 | UB9XVKg+/XRjL7FQZQnmWEIuQxpMtPAlR1n6BB6T1CZGSlCBst6+eLf8ZxXhyVeE 20 | Hg9j1uliutZfVS7qXMYoCAQlObgOK6nyTJccBz8NUvXt7y+CDwIDAQABo0IwQDAd 21 | BgNVHQ4EFgQUU3m/WqorSs9UgOHYm8Cd8rIDZsswDgYDVR0PAQH/BAQDAgEGMA8G 22 | A1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEMBQADggIBAFzUfA3P9wF9QZllDHPF 23 | Up/L+M+ZBn8b2kMVn54CVVeWFPFSPCeHlCjtHzoBN6J2/FNQwISbxmtOuowhT6KO 24 | VWKR82kV2LyI48SqC/3vqOlLVSoGIG1VeCkZ7l8wXEskEVX/JJpuXior7gtNn3/3 25 | ATiUFJVDBwn7YKnuHKsSjKCaXqeYalltiz8I+8jRRa8YFWSQEg9zKC7F4iRO/Fjs 26 | 8PRF/iKz6y+O0tlFYQXBl2+odnKPi4w2r78NBc5xjeambx9spnFixdjQg3IM8WcR 27 | iQycE0xyNN+81XHfqnHd4blsjDwSXWXavVcStkNr/+XeTWYRUc+ZruwXtuhxkYze 28 | Sf7dNXGiFSeUHM9h4ya7b6NnJSFd5t0dCy5oGzuCr+yDZ4XUmFF0sbmZgIn/f3gZ 29 | XHlKYC6SQK5MNyosycdiyA5d9zZbyuAlJQG03RoHnHcAP9Dc1ew91Pq7P8yF1m9/ 30 | qS3fuQL39ZeatTXaw2ewh0qpKJ4jjv9cJ2vhsE/zB+4ALtRZh8tSQZXq9EfX7mRB 31 | VXyNWQKV3WKdwrnuWih0hKWbt5DHDAff9Yk2dDLWKMGwsAvgnEzDHNb842m1R0aB 32 | L6KCq9NjRHDEjf8tM7qtj3u1cIiuPhnPQCjY/MiQu12ZIvVS5ljFH4gxQ+6IHdfG 33 | jjxDah2nGN59PRbxYvnKkKj9 34 | -----END CERTIFICATE----- 35 | -------------------------------------------------------------------------------- /async_rithmic/enums.py: -------------------------------------------------------------------------------- 1 | import enum 2 | 3 | from . import protocol_buffers as pb 4 | 5 | class DataType(int, enum.Enum): 6 | LAST_TRADE = 1 7 | BBO = 2 8 | 9 | OrderType = pb.request_new_order_pb2.RequestNewOrder.PriceType 10 | OrderDuration = pb.request_new_order_pb2.RequestNewOrder.Duration 11 | TransactionType = pb.request_new_order_pb2.RequestNewOrder.TransactionType 12 | 13 | LastTradePresenceBits = pb.last_trade_pb2.LastTrade.PresenceBits 14 | BestBidOfferPresenceBits = pb.best_bid_offer_pb2.BestBidOffer.PresenceBits 15 | 16 | ExchangeOrderNotificationType = pb.exchange_order_notification_pb2.ExchangeOrderNotification.NotifyType 17 | 18 | TimeBarType = pb.request_time_bar_replay_pb2.RequestTimeBarReplay.BarType 19 | 20 | InstrumentType = pb.request_search_symbols_pb2.RequestSearchSymbols.InstrumentType 21 | SearchPattern = pb.request_search_symbols_pb2.RequestSearchSymbols.Pattern 22 | 23 | class Gateway(str, enum.Enum): 24 | TEST = "rituz00100.rithmic.com:443" 25 | 26 | CHICAGO = "rprotocol.rithmic.com:443" 27 | SYDNEY = "au.rithmic.com:443" 28 | SAO_PAULO = "br.rithmic.com:443" 29 | COLO75 = "colo75.rithmic.com:443" 30 | FRANKFURT = "de.rithmic.com:443" 31 | HONGKONG = "hk.rithmic.com:443" 32 | IRELAND = "ie.rithmic.com:443" 33 | MUMBAI = "in.rithmic.com:443" 34 | SEOUL = "kr.rithmic.com:443" 35 | CAPETOWN = "za.rithmic.com:443" 36 | TOKYO = "jp.rithmic.com:443" 37 | SINGAPORE = "sg.rithmic.com:443" 38 | -------------------------------------------------------------------------------- /async_rithmic/exceptions.py: -------------------------------------------------------------------------------- 1 | class RithmicErrorResponse(Exception): 2 | """Raised when Rithmic returns an error.""" 3 | pass 4 | 5 | 6 | class InvalidRequestError(Exception): 7 | """Raised when a user-level API call is missing required arguments or is malformed.""" 8 | pass 9 | -------------------------------------------------------------------------------- /async_rithmic/helpers/concurrency.py: -------------------------------------------------------------------------------- 1 | import asyncio 2 | import traceback 3 | from contextlib import asynccontextmanager 4 | 5 | @asynccontextmanager 6 | async def try_acquire_lock(plant, timeout: float = 5.0, context: str = ""): 7 | """ 8 | Attempts to acquire an asyncio.Lock with timeout. 9 | Logs and raises on timeout to help detect deadlocks. 10 | """ 11 | 12 | acquired = False 13 | try: 14 | await asyncio.wait_for(plant.lock.acquire(), timeout=timeout) 15 | 16 | acquired = True 17 | plant.lock._current_context = context 18 | 19 | yield 20 | 21 | except asyncio.TimeoutError: 22 | plant.logger.error(f"[LOCK TIMEOUT] Failed to acquire lock after {timeout:.2f}s.") 23 | plant.logger.error(f"[WAITING CONTEXT] {context}") 24 | 25 | blocking_context = getattr(plant.lock, "_current_context", None) 26 | if blocking_context: 27 | plant.logger.error(f"[BLOCKING CONTEXT] {blocking_context}") 28 | 29 | plant.logger.error("Stack:\n" + "".join(traceback.format_stack())) 30 | raise 31 | 32 | finally: 33 | if acquired: 34 | plant.lock._current_context = None 35 | plant.lock.release() 36 | -------------------------------------------------------------------------------- /async_rithmic/logger.py: -------------------------------------------------------------------------------- 1 | import logging 2 | import sys 3 | 4 | class Logger: 5 | def __init__(self, level: int = logging.INFO): 6 | self.logger = logging.getLogger("rithmic") 7 | self.logger.setLevel(level) 8 | 9 | formatter = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s") 10 | 11 | console_handler = logging.StreamHandler(sys.stdout) 12 | console_handler.setFormatter(formatter) 13 | 14 | if not self.logger.hasHandlers(): 15 | self.logger.addHandler(console_handler) 16 | 17 | def get_logger(self): 18 | return self.logger 19 | 20 | logger = Logger(level=logging.INFO).get_logger() 21 | -------------------------------------------------------------------------------- /async_rithmic/objects.py: -------------------------------------------------------------------------------- 1 | import random 2 | from dataclasses import dataclass 3 | from typing import Literal 4 | 5 | 6 | @dataclass 7 | class RetrySettings: 8 | max_retries: int 9 | timeout: float 10 | jitter_range: tuple = None 11 | 12 | 13 | @dataclass 14 | class ReconnectionSettings: 15 | max_retries: int | None = None 16 | backoff_type: Literal["constant", "linear", "exponential"] = "linear" 17 | interval: float = 10 18 | max_delay: float = None 19 | jitter_range: tuple = None 20 | 21 | def get_delay(self, attempt: int) -> float: 22 | if self.backoff_type == "constant": 23 | delay = self.interval 24 | 25 | elif self.backoff_type == "linear": 26 | delay = min(self.interval * attempt, self.max_delay) 27 | 28 | elif self.backoff_type == "exponential": 29 | delay = min(self.interval ** attempt, self.max_delay) 30 | 31 | else: 32 | raise ValueError(f"Unknown backoff_type: {self.backoff_type}") 33 | 34 | if self.jitter_range is not None: 35 | # Adding jitter to backoff helps prevent the "thundering herd" problem, 36 | # where multiple clients (e.g., 4 connections) retry at the exact same intervals. 37 | # By introducing randomness, we reduce the chance that all connections 38 | # attempt to reconnect at the same time, avoiding load spikes on the server. 39 | jitter = random.uniform(*self.jitter_range) 40 | delay += jitter 41 | 42 | return delay 43 | -------------------------------------------------------------------------------- /async_rithmic/plants/__init__.py: -------------------------------------------------------------------------------- 1 | from .ticker import TickerPlant 2 | from .order import OrderPlant 3 | from .history import HistoryPlant 4 | from .pnl import PnlPlant 5 | -------------------------------------------------------------------------------- /async_rithmic/plants/pnl.py: -------------------------------------------------------------------------------- 1 | from .base import BasePlant 2 | from .. import protocol_buffers as pb 3 | 4 | class PnlPlant(BasePlant): 5 | infra_type = pb.request_login_pb2.RequestLogin.SysInfraType.PNL_PLANT 6 | 7 | @property 8 | def _accounts(self): 9 | return self.client.plants["order"].accounts 10 | 11 | @property 12 | def _fcm_id(self): 13 | return self.client.plants["order"].login_info["fcm_id"] 14 | 15 | @property 16 | def _ib_id(self): 17 | return self.client.plants["order"].login_info["ib_id"] 18 | 19 | async def _login(self): 20 | await super()._login() 21 | await self._subscribe_to_position_updates() 22 | 23 | async def _subscribe_to_position_updates(self): 24 | for account in self._accounts: 25 | await self._send_request( 26 | template_id=400, 27 | fcm_id=self._fcm_id, 28 | ib_id=self._ib_id, 29 | account_id=account.account_id, 30 | request=pb.request_pnl_position_updates_pb2.RequestPnLPositionUpdates.Request.SUBSCRIBE 31 | ) 32 | 33 | async def list_positions(self, **kwargs): 34 | return await self._send_and_collect( 35 | template_id=402, 36 | expected_response=dict(template_id=450, is_snapshot=True), 37 | **kwargs 38 | ) 39 | 40 | async def list_account_summary(self, **kwargs): 41 | return await self._send_and_collect( 42 | template_id=402, 43 | expected_response=dict(template_id=451, is_snapshot=True), 44 | **kwargs 45 | ) 46 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/__init__.py: -------------------------------------------------------------------------------- 1 | import os 2 | import importlib 3 | 4 | # Get the directory path of the current file 5 | package_dir = os.path.dirname(__file__) 6 | 7 | # Loop through all files in the directory 8 | for filename in os.listdir(package_dir): 9 | # Import any Python files except __init__.py 10 | if filename.endswith('.py') and filename != '__init__.py': 11 | module_name = filename[:-3] # Remove the .py extension 12 | # Import the module dynamically 13 | importlib.import_module(f'.{module_name}', package=__name__) 14 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/base_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: base.proto 4 | # Protobuf Python Version: 4.25.4 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | 16 | 17 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\nbase.proto\x12\x03rti\"\x1d\n\x04\x42\x61se\x12\x15\n\x0btemplate_id\x18\xe3\xb6\t \x01(\x05\x62\x06proto3') 18 | 19 | _globals = globals() 20 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 21 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'base_pb2', _globals) 22 | if _descriptor._USE_C_DESCRIPTORS == False: 23 | DESCRIPTOR._options = None 24 | _globals['_BASE']._serialized_start=19 25 | _globals['_BASE']._serialized_end=48 26 | # @@protoc_insertion_point(module_scope) 27 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/best_bid_offer_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: best_bid_offer.proto 4 | # Protobuf Python Version: 4.25.4 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | 16 | 17 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x14\x62\x65st_bid_offer.proto\x12\x03rti\"\xf9\x03\n\x0c\x42\x65stBidOffer\x12\x15\n\x0btemplate_id\x18\xe3\xb6\t \x01(\x05\x12\x10\n\x06symbol\x18\x94\xdc\x06 \x01(\t\x12\x12\n\x08\x65xchange\x18\x95\xdc\x06 \x01(\t\x12\x17\n\rpresence_bits\x18\x92\x8d\t \x01(\r\x12\x14\n\nclear_bits\x18\xcb\xb7\t \x01(\r\x12\x15\n\x0bis_snapshot\x18\xa9\xdc\x06 \x01(\x08\x12\x13\n\tbid_price\x18\xb6\x8d\x06 \x01(\x01\x12\x12\n\x08\x62id_size\x18\xbe\x8d\x06 \x01(\x05\x12\x14\n\nbid_orders\x18\xa3\xb6\t \x01(\x05\x12\x1b\n\x11\x62id_implicit_size\x18\xf3\xb9\t \x01(\x05\x12\x12\n\x08\x62id_time\x18\xaa\x8f\x06 \x01(\t\x12\x13\n\task_price\x18\xb9\x8d\x06 \x01(\x01\x12\x12\n\x08\x61sk_size\x18\xbf\x8d\x06 \x01(\x05\x12\x14\n\nask_orders\x18\xa4\xb6\t \x01(\x05\x12\x1b\n\x11\x61sk_implicit_size\x18\xf4\xb9\t \x01(\x05\x12\x12\n\x08\x61sk_time\x18\xab\x8f\x06 \x01(\t\x12\x14\n\nlean_price\x18\x9d\xba\t \x01(\x01\x12\x0f\n\x05ssboe\x18\xd4\x94\t \x01(\x05\x12\x0f\n\x05usecs\x18\xd5\x94\t \x01(\x05\"N\n\x0cPresenceBits\x12\x1c\n\x18PRESENCEBITS_UNSPECIFIED\x10\x00\x12\x07\n\x03\x42ID\x10\x01\x12\x07\n\x03\x41SK\x10\x02\x12\x0e\n\nLEAN_PRICE\x10\x04\x62\x06proto3') 18 | 19 | _globals = globals() 20 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 21 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'best_bid_offer_pb2', _globals) 22 | if _descriptor._USE_C_DESCRIPTORS == False: 23 | DESCRIPTOR._options = None 24 | _globals['_BESTBIDOFFER']._serialized_start=30 25 | _globals['_BESTBIDOFFER']._serialized_end=535 26 | _globals['_BESTBIDOFFER_PRESENCEBITS']._serialized_start=457 27 | _globals['_BESTBIDOFFER_PRESENCEBITS']._serialized_end=535 28 | # @@protoc_insertion_point(module_scope) 29 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/bracket_updates_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: bracket_updates.proto 4 | # Protobuf Python Version: 4.25.4 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | 16 | 17 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x15\x62racket_updates.proto\x12\x03rti\"\x9d\x02\n\x0e\x42racketUpdates\x12\x15\n\x0btemplate_id\x18\xe3\xb6\t \x01(\x05\x12\x10\n\x06\x66\x63m_id\x18\x9d\xb3\t \x01(\t\x12\x0f\n\x05ib_id\x18\x9e\xb3\t \x01(\t\x12\x14\n\naccount_id\x18\x98\xb3\t \x01(\t\x12\x13\n\tbasket_id\x18\xdc\xdd\x06 \x01(\t\x12\x14\n\nstop_ticks\x18\xda\xb6\t \x01(\x05\x12\x17\n\rstop_quantity\x18\xdb\xb6\t \x01(\x05\x12 \n\x16stop_quantity_released\x18\xe2\xb6\t \x01(\x05\x12\x16\n\x0ctarget_ticks\x18\xd8\xb6\t \x01(\x05\x12\x19\n\x0ftarget_quantity\x18\xd9\xb6\t \x01(\x05\x12\"\n\x18target_quantity_released\x18\xdc\xb6\t \x01(\x05\x62\x06proto3') 18 | 19 | _globals = globals() 20 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 21 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'bracket_updates_pb2', _globals) 22 | if _descriptor._USE_C_DESCRIPTORS == False: 23 | DESCRIPTOR._options = None 24 | _globals['_BRACKETUPDATES']._serialized_start=31 25 | _globals['_BRACKETUPDATES']._serialized_end=316 26 | # @@protoc_insertion_point(module_scope) 27 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/forced_logout_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: forced_logout.proto 4 | # Protobuf Python Version: 4.25.4 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | 16 | 17 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x13\x66orced_logout.proto\x12\x03rti\"%\n\x0c\x46orcedLogout\x12\x15\n\x0btemplate_id\x18\xe3\xb6\t \x01(\x05\x62\x06proto3') 18 | 19 | _globals = globals() 20 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 21 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'forced_logout_pb2', _globals) 22 | if _descriptor._USE_C_DESCRIPTORS == False: 23 | DESCRIPTOR._options = None 24 | _globals['_FORCEDLOGOUT']._serialized_start=28 25 | _globals['_FORCEDLOGOUT']._serialized_end=65 26 | # @@protoc_insertion_point(module_scope) 27 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/reject_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: reject.proto 4 | # Protobuf Python Version: 4.25.4 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | 16 | 17 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0creject.proto\x12\x03rti\"F\n\x06Reject\x12\x15\n\x0btemplate_id\x18\xe3\xb6\t \x01(\x05\x12\x12\n\x08user_msg\x18\x98\x8d\x08 \x03(\t\x12\x11\n\x07rp_code\x18\x9e\x8d\x08 \x03(\tb\x06proto3') 18 | 19 | _globals = globals() 20 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 21 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'reject_pb2', _globals) 22 | if _descriptor._USE_C_DESCRIPTORS == False: 23 | DESCRIPTOR._options = None 24 | _globals['_REJECT']._serialized_start=21 25 | _globals['_REJECT']._serialized_end=91 26 | # @@protoc_insertion_point(module_scope) 27 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/request_account_list_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: request_account_list.proto 4 | # Protobuf Python Version: 4.25.4 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | 16 | 17 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1arequest_account_list.proto\x12\x03rti\"\xfa\x01\n\x12RequestAccountList\x12\x15\n\x0btemplate_id\x18\xe3\xb6\t \x01(\x05\x12\x12\n\x08user_msg\x18\x98\x8d\x08 \x03(\t\x12\x10\n\x06\x66\x63m_id\x18\x9d\xb3\t \x01(\t\x12\x0f\n\x05ib_id\x18\x9e\xb3\t \x01(\t\x12\x35\n\tuser_type\x18\xb4\xb3\t \x01(\x0e\x32 .rti.RequestAccountList.UserType\"_\n\x08UserType\x12\x18\n\x14USERTYPE_UNSPECIFIED\x10\x00\x12\x11\n\rUSER_TYPE_FCM\x10\x01\x12\x10\n\x0cUSER_TYPE_IB\x10\x02\x12\x14\n\x10USER_TYPE_TRADER\x10\x03\x62\x06proto3') 18 | 19 | _globals = globals() 20 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 21 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'request_account_list_pb2', _globals) 22 | if _descriptor._USE_C_DESCRIPTORS == False: 23 | DESCRIPTOR._options = None 24 | _globals['_REQUESTACCOUNTLIST']._serialized_start=36 25 | _globals['_REQUESTACCOUNTLIST']._serialized_end=286 26 | _globals['_REQUESTACCOUNTLIST_USERTYPE']._serialized_start=191 27 | _globals['_REQUESTACCOUNTLIST_USERTYPE']._serialized_end=286 28 | # @@protoc_insertion_point(module_scope) 29 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/request_account_rms_info_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: request_account_rms_info.proto 4 | # Protobuf Python Version: 4.25.4 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | 16 | 17 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1erequest_account_rms_info.proto\x12\x03rti\"\x80\x02\n\x15RequestAccountRmsInfo\x12\x15\n\x0btemplate_id\x18\xe3\xb6\t \x01(\x05\x12\x12\n\x08user_msg\x18\x98\x8d\x08 \x03(\t\x12\x10\n\x06\x66\x63m_id\x18\x9d\xb3\t \x01(\t\x12\x0f\n\x05ib_id\x18\x9e\xb3\t \x01(\t\x12\x38\n\tuser_type\x18\xb4\xb3\t \x01(\x0e\x32#.rti.RequestAccountRmsInfo.UserType\"_\n\x08UserType\x12\x18\n\x14USERTYPE_UNSPECIFIED\x10\x00\x12\x11\n\rUSER_TYPE_FCM\x10\x01\x12\x10\n\x0cUSER_TYPE_IB\x10\x02\x12\x14\n\x10USER_TYPE_TRADER\x10\x03\x62\x06proto3') 18 | 19 | _globals = globals() 20 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 21 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'request_account_rms_info_pb2', _globals) 22 | if _descriptor._USE_C_DESCRIPTORS == False: 23 | DESCRIPTOR._options = None 24 | _globals['_REQUESTACCOUNTRMSINFO']._serialized_start=40 25 | _globals['_REQUESTACCOUNTRMSINFO']._serialized_end=296 26 | _globals['_REQUESTACCOUNTRMSINFO_USERTYPE']._serialized_start=201 27 | _globals['_REQUESTACCOUNTRMSINFO_USERTYPE']._serialized_end=296 28 | # @@protoc_insertion_point(module_scope) 29 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/request_cancel_all_orders_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: request_cancel_all_orders.proto 4 | # Protobuf Python Version: 4.25.4 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | 16 | 17 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1frequest_cancel_all_orders.proto\x12\x03rti\"\xa1\x03\n\x16RequestCancelAllOrders\x12\x15\n\x0btemplate_id\x18\xe3\xb6\t \x01(\x05\x12\x12\n\x08user_msg\x18\x98\x8d\x08 \x03(\t\x12\x10\n\x06\x66\x63m_id\x18\x9d\xb3\t \x01(\t\x12\x0f\n\x05ib_id\x18\x9e\xb3\t \x01(\t\x12\x14\n\naccount_id\x18\x98\xb3\t \x01(\t\x12\x39\n\tuser_type\x18\xb4\xb3\t \x01(\x0e\x32$.rti.RequestCancelAllOrders.UserType\x12\x44\n\x0emanual_or_auto\x18\xd6\xb8\t \x01(\x0e\x32*.rti.RequestCancelAllOrders.OrderPlacement\"F\n\x0eOrderPlacement\x12\x1e\n\x1aORDERPLACEMENT_UNSPECIFIED\x10\x00\x12\n\n\x06MANUAL\x10\x01\x12\x08\n\x04\x41UTO\x10\x02\"Z\n\x08UserType\x12\x13\n\x0fUSER_TYPE_ADMIN\x10\x00\x12\x11\n\rUSER_TYPE_FCM\x10\x01\x12\x10\n\x0cUSER_TYPE_IB\x10\x02\x12\x14\n\x10USER_TYPE_TRADER\x10\x03\x62\x06proto3') 18 | 19 | _globals = globals() 20 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 21 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'request_cancel_all_orders_pb2', _globals) 22 | if _descriptor._USE_C_DESCRIPTORS == False: 23 | DESCRIPTOR._options = None 24 | _globals['_REQUESTCANCELALLORDERS']._serialized_start=41 25 | _globals['_REQUESTCANCELALLORDERS']._serialized_end=458 26 | _globals['_REQUESTCANCELALLORDERS_ORDERPLACEMENT']._serialized_start=296 27 | _globals['_REQUESTCANCELALLORDERS_ORDERPLACEMENT']._serialized_end=366 28 | _globals['_REQUESTCANCELALLORDERS_USERTYPE']._serialized_start=368 29 | _globals['_REQUESTCANCELALLORDERS_USERTYPE']._serialized_end=458 30 | # @@protoc_insertion_point(module_scope) 31 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/request_cancel_order_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: request_cancel_order.proto 4 | # Protobuf Python Version: 4.25.4 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | 16 | 17 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1arequest_cancel_order.proto\x12\x03rti\"\xae\x02\n\x12RequestCancelOrder\x12\x15\n\x0btemplate_id\x18\xe3\xb6\t \x01(\x05\x12\x12\n\x08user_msg\x18\x98\x8d\x08 \x03(\t\x12\x15\n\x0bwindow_name\x18\x85\xb8\t \x01(\t\x12\x10\n\x06\x66\x63m_id\x18\x9d\xb3\t \x01(\t\x12\x0f\n\x05ib_id\x18\x9e\xb3\t \x01(\t\x12\x14\n\naccount_id\x18\x98\xb3\t \x01(\t\x12\x13\n\tbasket_id\x18\xdc\xdd\x06 \x01(\t\x12@\n\x0emanual_or_auto\x18\xd6\xb8\t \x01(\x0e\x32&.rti.RequestCancelOrder.OrderPlacement\"F\n\x0eOrderPlacement\x12\x1e\n\x1aORDERPLACEMENT_UNSPECIFIED\x10\x00\x12\n\n\x06MANUAL\x10\x01\x12\x08\n\x04\x41UTO\x10\x02\x62\x06proto3') 18 | 19 | _globals = globals() 20 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 21 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'request_cancel_order_pb2', _globals) 22 | if _descriptor._USE_C_DESCRIPTORS == False: 23 | DESCRIPTOR._options = None 24 | _globals['_REQUESTCANCELORDER']._serialized_start=36 25 | _globals['_REQUESTCANCELORDER']._serialized_end=338 26 | _globals['_REQUESTCANCELORDER_ORDERPLACEMENT']._serialized_start=268 27 | _globals['_REQUESTCANCELORDER_ORDERPLACEMENT']._serialized_end=338 28 | # @@protoc_insertion_point(module_scope) 29 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/request_exit_position_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: request_exit_position.proto 4 | # Protobuf Python Version: 4.25.4 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | 16 | 17 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1brequest_exit_position.proto\x12\x03rti\"\xcf\x02\n\x13RequestExitPosition\x12\x15\n\x0btemplate_id\x18\xe3\xb6\t \x01(\x05\x12\x12\n\x08user_msg\x18\x98\x8d\x08 \x03(\t\x12\x15\n\x0bwindow_name\x18\x85\xb8\t \x01(\t\x12\x10\n\x06\x66\x63m_id\x18\x9d\xb3\t \x01(\t\x12\x0f\n\x05ib_id\x18\x9e\xb3\t \x01(\t\x12\x14\n\naccount_id\x18\x98\xb3\t \x01(\t\x12\x10\n\x06symbol\x18\x94\xdc\x06 \x01(\t\x12\x12\n\x08\x65xchange\x18\x95\xdc\x06 \x01(\t\x12\x1b\n\x11trading_algorithm\x18\xca\xb8\t \x01(\t\x12\x41\n\x0emanual_or_auto\x18\xd6\xb8\t \x01(\x0e\x32\'.rti.RequestExitPosition.OrderPlacement\"7\n\x0eOrderPlacement\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06MANUAL\x10\x01\x12\x08\n\x04\x41UTO\x10\x02\x62\x06proto3') 18 | 19 | _globals = globals() 20 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 21 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'request_exit_position_pb2', _globals) 22 | if _descriptor._USE_C_DESCRIPTORS == False: 23 | DESCRIPTOR._options = None 24 | _globals['_REQUESTEXITPOSITION']._serialized_start=37 25 | _globals['_REQUESTEXITPOSITION']._serialized_end=372 26 | _globals['_REQUESTEXITPOSITION_ORDERPLACEMENT']._serialized_start=317 27 | _globals['_REQUESTEXITPOSITION_ORDERPLACEMENT']._serialized_end=372 28 | # @@protoc_insertion_point(module_scope) 29 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/request_front_month_contract_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: request_front_month_contract.proto 4 | # Protobuf Python Version: 4.25.4 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | 16 | 17 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\"request_front_month_contract.proto\x12\x03rti\"\x84\x01\n\x19RequestFrontMonthContract\x12\x15\n\x0btemplate_id\x18\xe3\xb6\t \x01(\x05\x12\x12\n\x08user_msg\x18\x98\x8d\x08 \x03(\t\x12\x10\n\x06symbol\x18\x94\xdc\x06 \x01(\t\x12\x12\n\x08\x65xchange\x18\x95\xdc\x06 \x01(\t\x12\x16\n\x0cneed_updates\x18\xf0\xb5\t \x01(\x08\x62\x06proto3') 18 | 19 | _globals = globals() 20 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 21 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'request_front_month_contract_pb2', _globals) 22 | if _descriptor._USE_C_DESCRIPTORS == False: 23 | DESCRIPTOR._options = None 24 | _globals['_REQUESTFRONTMONTHCONTRACT']._serialized_start=44 25 | _globals['_REQUESTFRONTMONTHCONTRACT']._serialized_end=176 26 | # @@protoc_insertion_point(module_scope) 27 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/request_heartbeat_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: request_heartbeat.proto 4 | # Protobuf Python Version: 4.25.4 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | 16 | 17 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x17request_heartbeat.proto\x12\x03rti\"_\n\x10RequestHeartbeat\x12\x15\n\x0btemplate_id\x18\xe3\xb6\t \x01(\x05\x12\x12\n\x08user_msg\x18\x98\x8d\x08 \x03(\t\x12\x0f\n\x05ssboe\x18\xd4\x94\t \x01(\x05\x12\x0f\n\x05usecs\x18\xd5\x94\t \x01(\x05\x62\x06proto3') 18 | 19 | _globals = globals() 20 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 21 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'request_heartbeat_pb2', _globals) 22 | if _descriptor._USE_C_DESCRIPTORS == False: 23 | DESCRIPTOR._options = None 24 | _globals['_REQUESTHEARTBEAT']._serialized_start=32 25 | _globals['_REQUESTHEARTBEAT']._serialized_end=127 26 | # @@protoc_insertion_point(module_scope) 27 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/request_list_exchange_permissions_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: request_list_exchange_permissions.proto 4 | # Protobuf Python Version: 4.25.4 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | 16 | 17 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'request_list_exchange_permissions.proto\x12\x03rti\"[\n\x1eRequestListExchangePermissions\x12\x15\n\x0btemplate_id\x18\xe3\xb6\t \x01(\x05\x12\x12\n\x08user_msg\x18\x98\x8d\x08 \x03(\t\x12\x0e\n\x04user\x18\xec\xb4\t \x01(\tb\x06proto3') 18 | 19 | _globals = globals() 20 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 21 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'request_list_exchange_permissions_pb2', _globals) 22 | if _descriptor._USE_C_DESCRIPTORS == False: 23 | DESCRIPTOR._options = None 24 | _globals['_REQUESTLISTEXCHANGEPERMISSIONS']._serialized_start=48 25 | _globals['_REQUESTLISTEXCHANGEPERMISSIONS']._serialized_end=139 26 | # @@protoc_insertion_point(module_scope) 27 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/request_login_info_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: request_login_info.proto 4 | # Protobuf Python Version: 4.25.4 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | 16 | 17 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x18request_login_info.proto\x12\x03rti\"=\n\x10RequestLoginInfo\x12\x15\n\x0btemplate_id\x18\xe3\xb6\t \x01(\x05\x12\x12\n\x08user_msg\x18\x98\x8d\x08 \x03(\tb\x06proto3') 18 | 19 | _globals = globals() 20 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 21 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'request_login_info_pb2', _globals) 22 | if _descriptor._USE_C_DESCRIPTORS == False: 23 | DESCRIPTOR._options = None 24 | _globals['_REQUESTLOGININFO']._serialized_start=33 25 | _globals['_REQUESTLOGININFO']._serialized_end=94 26 | # @@protoc_insertion_point(module_scope) 27 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/request_login_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: request_login.proto 4 | # Protobuf Python Version: 4.25.4 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | 16 | 17 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x13request_login.proto\x12\x03rti\"\xd9\x03\n\x0cRequestLogin\x12\x15\n\x0btemplate_id\x18\xe3\xb6\t \x01(\x05\x12\x1a\n\x10template_version\x18\xa2\xb0\t \x01(\t\x12\x12\n\x08user_msg\x18\x98\x8d\x08 \x03(\t\x12\x0e\n\x04user\x18\xbb\xff\x07 \x01(\t\x12\x12\n\x08password\x18\xd4\xf7\x07 \x01(\t\x12\x12\n\x08\x61pp_name\x18\xd2\xf7\x07 \x01(\t\x12\x15\n\x0b\x61pp_version\x18\xdb\x85\x08 \x01(\t\x12\x15\n\x0bsystem_name\x18\x9c\xb0\t \x01(\t\x12\x34\n\ninfra_type\x18\x95\xb0\t \x01(\x0e\x32\x1e.rti.RequestLogin.SysInfraType\x12\x12\n\x08mac_addr\x18\xec\xe5\x08 \x03(\t\x12\x14\n\nos_version\x18\x95\xe5\x08 \x01(\t\x12\x15\n\x0bos_platform\x18\x94\xe5\x08 \x01(\t\x12\x1b\n\x11\x61ggregated_quotes\x18\xac\xb0\t \x01(\x08\"\x87\x01\n\x0cSysInfraType\x12\x1c\n\x18SYSINFRATYPE_UNSPECIFIED\x10\x00\x12\x10\n\x0cTICKER_PLANT\x10\x01\x12\x0f\n\x0bORDER_PLANT\x10\x02\x12\x11\n\rHISTORY_PLANT\x10\x03\x12\r\n\tPNL_PLANT\x10\x04\x12\x14\n\x10REPOSITORY_PLANT\x10\x05\x62\x06proto3') 18 | 19 | _globals = globals() 20 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 21 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'request_login_pb2', _globals) 22 | if _descriptor._USE_C_DESCRIPTORS == False: 23 | DESCRIPTOR._options = None 24 | _globals['_REQUESTLOGIN']._serialized_start=29 25 | _globals['_REQUESTLOGIN']._serialized_end=502 26 | _globals['_REQUESTLOGIN_SYSINFRATYPE']._serialized_start=367 27 | _globals['_REQUESTLOGIN_SYSINFRATYPE']._serialized_end=502 28 | # @@protoc_insertion_point(module_scope) 29 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/request_logout_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: request_logout.proto 4 | # Protobuf Python Version: 4.25.4 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | 16 | 17 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x14request_logout.proto\x12\x03rti\":\n\rRequestLogout\x12\x15\n\x0btemplate_id\x18\xe3\xb6\t \x01(\x05\x12\x12\n\x08user_msg\x18\x98\x8d\x08 \x03(\tb\x06proto3') 18 | 19 | _globals = globals() 20 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 21 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'request_logout_pb2', _globals) 22 | if _descriptor._USE_C_DESCRIPTORS == False: 23 | DESCRIPTOR._options = None 24 | _globals['_REQUESTLOGOUT']._serialized_start=29 25 | _globals['_REQUESTLOGOUT']._serialized_end=87 26 | # @@protoc_insertion_point(module_scope) 27 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/request_pnl_position_snapshot_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: request_pnl_position_snapshot.proto 4 | # Protobuf Python Version: 4.25.4 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | 16 | 17 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n#request_pnl_position_snapshot.proto\x12\x03rti\"\x80\x01\n\x1aRequestPnLPositionSnapshot\x12\x15\n\x0btemplate_id\x18\xe3\xb6\t \x01(\x05\x12\x12\n\x08user_msg\x18\x98\x8d\x08 \x03(\t\x12\x10\n\x06\x66\x63m_id\x18\x9d\xb3\t \x01(\t\x12\x0f\n\x05ib_id\x18\x9e\xb3\t \x01(\t\x12\x14\n\naccount_id\x18\x98\xb3\t \x01(\tb\x06proto3') 18 | 19 | _globals = globals() 20 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 21 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'request_pnl_position_snapshot_pb2', _globals) 22 | if _descriptor._USE_C_DESCRIPTORS == False: 23 | DESCRIPTOR._options = None 24 | _globals['_REQUESTPNLPOSITIONSNAPSHOT']._serialized_start=45 25 | _globals['_REQUESTPNLPOSITIONSNAPSHOT']._serialized_end=173 26 | # @@protoc_insertion_point(module_scope) 27 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/request_pnl_position_updates_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: request_pnl_position_updates.proto 4 | # Protobuf Python Version: 4.25.4 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | 16 | 17 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\"request_pnl_position_updates.proto\x12\x03rti\"\xfe\x01\n\x19RequestPnLPositionUpdates\x12\x15\n\x0btemplate_id\x18\xe3\xb6\t \x01(\x05\x12\x12\n\x08user_msg\x18\x98\x8d\x08 \x03(\t\x12\x39\n\x07request\x18\xa0\x8d\x06 \x01(\x0e\x32&.rti.RequestPnLPositionUpdates.Request\x12\x10\n\x06\x66\x63m_id\x18\x9d\xb3\t \x01(\t\x12\x0f\n\x05ib_id\x18\x9e\xb3\t \x01(\t\x12\x14\n\naccount_id\x18\x98\xb3\t \x01(\t\"B\n\x07Request\x12\x17\n\x13REQUEST_UNSPECIFIED\x10\x00\x12\r\n\tSUBSCRIBE\x10\x01\x12\x0f\n\x0bUNSUBSCRIBE\x10\x02\x62\x06proto3') 18 | 19 | _globals = globals() 20 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 21 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'request_pnl_position_updates_pb2', _globals) 22 | if _descriptor._USE_C_DESCRIPTORS == False: 23 | DESCRIPTOR._options = None 24 | _globals['_REQUESTPNLPOSITIONUPDATES']._serialized_start=44 25 | _globals['_REQUESTPNLPOSITIONUPDATES']._serialized_end=298 26 | _globals['_REQUESTPNLPOSITIONUPDATES_REQUEST']._serialized_start=232 27 | _globals['_REQUESTPNLPOSITIONUPDATES_REQUEST']._serialized_end=298 28 | # @@protoc_insertion_point(module_scope) 29 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/request_product_rms_info_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: request_product_rms_info.proto 4 | # Protobuf Python Version: 4.25.4 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | 16 | 17 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1erequest_product_rms_info.proto\x12\x03rti\"{\n\x15RequestProductRmsInfo\x12\x15\n\x0btemplate_id\x18\xe3\xb6\t \x01(\x05\x12\x12\n\x08user_msg\x18\x98\x8d\x08 \x03(\t\x12\x10\n\x06\x66\x63m_id\x18\x9d\xb3\t \x01(\t\x12\x0f\n\x05ib_id\x18\x9e\xb3\t \x01(\t\x12\x14\n\naccount_id\x18\x98\xb3\t \x01(\tb\x06proto3') 18 | 19 | _globals = globals() 20 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 21 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'request_product_rms_info_pb2', _globals) 22 | if _descriptor._USE_C_DESCRIPTORS == False: 23 | DESCRIPTOR._options = None 24 | _globals['_REQUESTPRODUCTRMSINFO']._serialized_start=39 25 | _globals['_REQUESTPRODUCTRMSINFO']._serialized_end=162 26 | # @@protoc_insertion_point(module_scope) 27 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/request_reference_data_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: request_reference_data.proto 4 | # Protobuf Python Version: 4.25.4 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | 16 | 17 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1crequest_reference_data.proto\x12\x03rti\"g\n\x14RequestReferenceData\x12\x15\n\x0btemplate_id\x18\xe3\xb6\t \x01(\x05\x12\x12\n\x08user_msg\x18\x98\x8d\x08 \x03(\t\x12\x10\n\x06symbol\x18\x94\xdc\x06 \x01(\t\x12\x12\n\x08\x65xchange\x18\x95\xdc\x06 \x01(\tb\x06proto3') 18 | 19 | _globals = globals() 20 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 21 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'request_reference_data_pb2', _globals) 22 | if _descriptor._USE_C_DESCRIPTORS == False: 23 | DESCRIPTOR._options = None 24 | _globals['_REQUESTREFERENCEDATA']._serialized_start=37 25 | _globals['_REQUESTREFERENCEDATA']._serialized_end=140 26 | # @@protoc_insertion_point(module_scope) 27 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/request_rithmic_system_info_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: request_rithmic_system_info.proto 4 | # Protobuf Python Version: 4.25.4 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | 16 | 17 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!request_rithmic_system_info.proto\x12\x03rti\"E\n\x18RequestRithmicSystemInfo\x12\x15\n\x0btemplate_id\x18\xe3\xb6\t \x01(\x05\x12\x12\n\x08user_msg\x18\x98\x8d\x08 \x03(\tb\x06proto3') 18 | 19 | _globals = globals() 20 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 21 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'request_rithmic_system_info_pb2', _globals) 22 | if _descriptor._USE_C_DESCRIPTORS == False: 23 | DESCRIPTOR._options = None 24 | _globals['_REQUESTRITHMICSYSTEMINFO']._serialized_start=42 25 | _globals['_REQUESTRITHMICSYSTEMINFO']._serialized_end=111 26 | # @@protoc_insertion_point(module_scope) 27 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/request_search_symbols_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: request_search_symbols.proto 4 | # Protobuf Python Version: 4.25.4 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | 16 | 17 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1crequest_search_symbols.proto\x12\x03rti\"\x90\x04\n\x14RequestSearchSymbols\x12\x15\n\x0btemplate_id\x18\xe3\xb6\t \x01(\x05\x12\x12\n\x08user_msg\x18\x98\x8d\x08 \x03(\t\x12\x15\n\x0bsearch_text\x18\xc8\xa9\x07 \x01(\t\x12\x12\n\x08\x65xchange\x18\x95\xdc\x06 \x01(\t\x12\x16\n\x0cproduct_code\x18\x8d\x93\x06 \x01(\t\x12\x43\n\x0finstrument_type\x18\xa4\xdc\x06 \x01(\x0e\x32(.rti.RequestSearchSymbols.InstrumentType\x12\x34\n\x07pattern\x18\x80\xbb\t \x01(\x0e\x32!.rti.RequestSearchSymbols.Pattern\"<\n\x07Pattern\x12\x17\n\x13PATTERN_UNSPECIFIED\x10\x00\x12\n\n\x06\x45QUALS\x10\x01\x12\x0c\n\x08\x43ONTAINS\x10\x02\"\xd0\x01\n\x0eInstrumentType\x12\x1e\n\x1aINSTRUMENTTYPE_UNSPECIFIED\x10\x00\x12\n\n\x06\x46UTURE\x10\x01\x12\x11\n\rFUTURE_OPTION\x10\x02\x12\x13\n\x0f\x46UTURE_STRATEGY\x10\x03\x12\n\n\x06\x45QUITY\x10\x04\x12\x11\n\rEQUITY_OPTION\x10\x05\x12\x13\n\x0f\x45QUITY_STRATEGY\x10\x06\x12\t\n\x05INDEX\x10\x07\x12\x10\n\x0cINDEX_OPTION\x10\x08\x12\n\n\x06SPREAD\x10\t\x12\r\n\tSYNTHETIC\x10\nb\x06proto3') 18 | 19 | _globals = globals() 20 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 21 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'request_search_symbols_pb2', _globals) 22 | if _descriptor._USE_C_DESCRIPTORS == False: 23 | DESCRIPTOR._options = None 24 | _globals['_REQUESTSEARCHSYMBOLS']._serialized_start=38 25 | _globals['_REQUESTSEARCHSYMBOLS']._serialized_end=566 26 | _globals['_REQUESTSEARCHSYMBOLS_PATTERN']._serialized_start=295 27 | _globals['_REQUESTSEARCHSYMBOLS_PATTERN']._serialized_end=355 28 | _globals['_REQUESTSEARCHSYMBOLS_INSTRUMENTTYPE']._serialized_start=358 29 | _globals['_REQUESTSEARCHSYMBOLS_INSTRUMENTTYPE']._serialized_end=566 30 | # @@protoc_insertion_point(module_scope) 31 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/request_show_bracket_stops_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: request_show_bracket_stops.proto 4 | # Protobuf Python Version: 4.25.4 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | 16 | 17 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n request_show_bracket_stops.proto\x12\x03rti\"}\n\x17RequestShowBracketStops\x12\x15\n\x0btemplate_id\x18\xe3\xb6\t \x01(\x05\x12\x12\n\x08user_msg\x18\x98\x8d\x08 \x03(\t\x12\x10\n\x06\x66\x63m_id\x18\x9d\xb3\t \x01(\t\x12\x0f\n\x05ib_id\x18\x9e\xb3\t \x01(\t\x12\x14\n\naccount_id\x18\x98\xb3\t \x01(\tb\x06proto3') 18 | 19 | _globals = globals() 20 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 21 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'request_show_bracket_stops_pb2', _globals) 22 | if _descriptor._USE_C_DESCRIPTORS == False: 23 | DESCRIPTOR._options = None 24 | _globals['_REQUESTSHOWBRACKETSTOPS']._serialized_start=41 25 | _globals['_REQUESTSHOWBRACKETSTOPS']._serialized_end=166 26 | # @@protoc_insertion_point(module_scope) 27 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/request_show_brackets_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: request_show_brackets.proto 4 | # Protobuf Python Version: 4.25.4 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | 16 | 17 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1brequest_show_brackets.proto\x12\x03rti\"y\n\x13RequestShowBrackets\x12\x15\n\x0btemplate_id\x18\xe3\xb6\t \x01(\x05\x12\x12\n\x08user_msg\x18\x98\x8d\x08 \x03(\t\x12\x10\n\x06\x66\x63m_id\x18\x9d\xb3\t \x01(\t\x12\x0f\n\x05ib_id\x18\x9e\xb3\t \x01(\t\x12\x14\n\naccount_id\x18\x98\xb3\t \x01(\tb\x06proto3') 18 | 19 | _globals = globals() 20 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 21 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'request_show_brackets_pb2', _globals) 22 | if _descriptor._USE_C_DESCRIPTORS == False: 23 | DESCRIPTOR._options = None 24 | _globals['_REQUESTSHOWBRACKETS']._serialized_start=36 25 | _globals['_REQUESTSHOWBRACKETS']._serialized_end=157 26 | # @@protoc_insertion_point(module_scope) 27 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/request_show_order_history_dates_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: request_show_order_history_dates.proto 4 | # Protobuf Python Version: 4.25.4 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | 16 | 17 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n&request_show_order_history_dates.proto\x12\x03rti\"I\n\x1cRequestShowOrderHistoryDates\x12\x15\n\x0btemplate_id\x18\xe3\xb6\t \x01(\x05\x12\x12\n\x08user_msg\x18\x98\x8d\x08 \x03(\tb\x06proto3') 18 | 19 | _globals = globals() 20 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 21 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'request_show_order_history_dates_pb2', _globals) 22 | if _descriptor._USE_C_DESCRIPTORS == False: 23 | DESCRIPTOR._options = None 24 | _globals['_REQUESTSHOWORDERHISTORYDATES']._serialized_start=47 25 | _globals['_REQUESTSHOWORDERHISTORYDATES']._serialized_end=120 26 | # @@protoc_insertion_point(module_scope) 27 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/request_show_order_history_detail_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: request_show_order_history_detail.proto 4 | # Protobuf Python Version: 4.25.4 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | 16 | 17 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'request_show_order_history_detail.proto\x12\x03rti\"\xa8\x01\n\x1dRequestShowOrderHistoryDetail\x12\x15\n\x0btemplate_id\x18\xe3\xb6\t \x01(\x05\x12\x12\n\x08user_msg\x18\x98\x8d\x08 \x03(\t\x12\x10\n\x06\x66\x63m_id\x18\x9d\xb3\t \x01(\t\x12\x0f\n\x05ib_id\x18\x9e\xb3\t \x01(\t\x12\x14\n\naccount_id\x18\x98\xb3\t \x01(\t\x12\x13\n\tbasket_id\x18\xdc\xdd\x06 \x01(\t\x12\x0e\n\x04\x64\x61te\x18\x97\xe0\x06 \x01(\tb\x06proto3') 18 | 19 | _globals = globals() 20 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 21 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'request_show_order_history_detail_pb2', _globals) 22 | if _descriptor._USE_C_DESCRIPTORS == False: 23 | DESCRIPTOR._options = None 24 | _globals['_REQUESTSHOWORDERHISTORYDETAIL']._serialized_start=49 25 | _globals['_REQUESTSHOWORDERHISTORYDETAIL']._serialized_end=217 26 | # @@protoc_insertion_point(module_scope) 27 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/request_show_order_history_summary_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: request_show_order_history_summary.proto 4 | # Protobuf Python Version: 4.25.4 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | 16 | 17 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n(request_show_order_history_summary.proto\x12\x03rti\"\x94\x01\n\x1eRequestShowOrderHistorySummary\x12\x15\n\x0btemplate_id\x18\xe3\xb6\t \x01(\x05\x12\x12\n\x08user_msg\x18\x98\x8d\x08 \x03(\t\x12\x10\n\x06\x66\x63m_id\x18\x9d\xb3\t \x01(\t\x12\x0f\n\x05ib_id\x18\x9e\xb3\t \x01(\t\x12\x14\n\naccount_id\x18\x98\xb3\t \x01(\t\x12\x0e\n\x04\x64\x61te\x18\x97\xe0\x06 \x01(\tb\x06proto3') 18 | 19 | _globals = globals() 20 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 21 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'request_show_order_history_summary_pb2', _globals) 22 | if _descriptor._USE_C_DESCRIPTORS == False: 23 | DESCRIPTOR._options = None 24 | _globals['_REQUESTSHOWORDERHISTORYSUMMARY']._serialized_start=50 25 | _globals['_REQUESTSHOWORDERHISTORYSUMMARY']._serialized_end=198 26 | # @@protoc_insertion_point(module_scope) 27 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/request_show_orders_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: request_show_orders.proto 4 | # Protobuf Python Version: 4.25.4 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | 16 | 17 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x19request_show_orders.proto\x12\x03rti\"w\n\x11RequestShowOrders\x12\x15\n\x0btemplate_id\x18\xe3\xb6\t \x01(\x05\x12\x12\n\x08user_msg\x18\x98\x8d\x08 \x03(\t\x12\x10\n\x06\x66\x63m_id\x18\x9d\xb3\t \x01(\t\x12\x0f\n\x05ib_id\x18\x9e\xb3\t \x01(\t\x12\x14\n\naccount_id\x18\x98\xb3\t \x01(\tb\x06proto3') 18 | 19 | _globals = globals() 20 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 21 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'request_show_orders_pb2', _globals) 22 | if _descriptor._USE_C_DESCRIPTORS == False: 23 | DESCRIPTOR._options = None 24 | _globals['_REQUESTSHOWORDERS']._serialized_start=34 25 | _globals['_REQUESTSHOWORDERS']._serialized_end=153 26 | # @@protoc_insertion_point(module_scope) 27 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/request_subscribe_for_order_updates_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: request_subscribe_for_order_updates.proto 4 | # Protobuf Python Version: 4.25.4 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | 16 | 17 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n)request_subscribe_for_order_updates.proto\x12\x03rti\"\x85\x01\n\x1fRequestSubscribeForOrderUpdates\x12\x15\n\x0btemplate_id\x18\xe3\xb6\t \x01(\x05\x12\x12\n\x08user_msg\x18\x98\x8d\x08 \x03(\t\x12\x10\n\x06\x66\x63m_id\x18\x9d\xb3\t \x01(\t\x12\x0f\n\x05ib_id\x18\x9e\xb3\t \x01(\t\x12\x14\n\naccount_id\x18\x98\xb3\t \x01(\tb\x06proto3') 18 | 19 | _globals = globals() 20 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 21 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'request_subscribe_for_order_updates_pb2', _globals) 22 | if _descriptor._USE_C_DESCRIPTORS == False: 23 | DESCRIPTOR._options = None 24 | _globals['_REQUESTSUBSCRIBEFORORDERUPDATES']._serialized_start=51 25 | _globals['_REQUESTSUBSCRIBEFORORDERUPDATES']._serialized_end=184 26 | # @@protoc_insertion_point(module_scope) 27 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/request_subscribe_to_bracket_updates_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: request_subscribe_to_bracket_updates.proto 4 | # Protobuf Python Version: 4.25.4 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | 16 | 17 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n*request_subscribe_to_bracket_updates.proto\x12\x03rti\"\x86\x01\n RequestSubscribeToBracketUpdates\x12\x15\n\x0btemplate_id\x18\xe3\xb6\t \x01(\x05\x12\x12\n\x08user_msg\x18\x98\x8d\x08 \x03(\t\x12\x10\n\x06\x66\x63m_id\x18\x9d\xb3\t \x01(\t\x12\x0f\n\x05ib_id\x18\x9e\xb3\t \x01(\t\x12\x14\n\naccount_id\x18\x98\xb3\t \x01(\tb\x06proto3') 18 | 19 | _globals = globals() 20 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 21 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'request_subscribe_to_bracket_updates_pb2', _globals) 22 | if _descriptor._USE_C_DESCRIPTORS == False: 23 | DESCRIPTOR._options = None 24 | _globals['_REQUESTSUBSCRIBETOBRACKETUPDATES']._serialized_start=52 25 | _globals['_REQUESTSUBSCRIBETOBRACKETUPDATES']._serialized_end=186 26 | # @@protoc_insertion_point(module_scope) 27 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/request_time_bar_update_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: request_time_bar_update.proto 4 | # Protobuf Python Version: 4.25.4 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | 16 | 17 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1drequest_time_bar_update.proto\x12\x03rti\"\x96\x03\n\x14RequestTimeBarUpdate\x12\x15\n\x0btemplate_id\x18\xe3\xb6\t \x01(\x05\x12\x12\n\x08user_msg\x18\x98\x8d\x08 \x03(\t\x12\x10\n\x06symbol\x18\x94\xdc\x06 \x01(\t\x12\x12\n\x08\x65xchange\x18\x95\xdc\x06 \x01(\t\x12\x34\n\x07request\x18\xa0\x8d\x06 \x01(\x0e\x32!.rti.RequestTimeBarUpdate.Request\x12\x35\n\x08\x62\x61r_type\x18\xa0\xa3\x07 \x01(\x0e\x32!.rti.RequestTimeBarUpdate.BarType\x12\x19\n\x0f\x62\x61r_type_period\x18\xc8\xa2\x07 \x01(\x05\"a\n\x07\x42\x61rType\x12\x17\n\x13\x42\x41RTYPE_UNSPECIFIED\x10\x00\x12\x0e\n\nSECOND_BAR\x10\x01\x12\x0e\n\nMINUTE_BAR\x10\x02\x12\r\n\tDAILY_BAR\x10\x03\x12\x0e\n\nWEEKLY_BAR\x10\x04\"B\n\x07Request\x12\x17\n\x13REQUEST_UNSPECIFIED\x10\x00\x12\r\n\tSUBSCRIBE\x10\x01\x12\x0f\n\x0bUNSUBSCRIBE\x10\x02\x62\x06proto3') 18 | 19 | _globals = globals() 20 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 21 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'request_time_bar_update_pb2', _globals) 22 | if _descriptor._USE_C_DESCRIPTORS == False: 23 | DESCRIPTOR._options = None 24 | _globals['_REQUESTTIMEBARUPDATE']._serialized_start=39 25 | _globals['_REQUESTTIMEBARUPDATE']._serialized_end=445 26 | _globals['_REQUESTTIMEBARUPDATE_BARTYPE']._serialized_start=280 27 | _globals['_REQUESTTIMEBARUPDATE_BARTYPE']._serialized_end=377 28 | _globals['_REQUESTTIMEBARUPDATE_REQUEST']._serialized_start=379 29 | _globals['_REQUESTTIMEBARUPDATE_REQUEST']._serialized_end=445 30 | # @@protoc_insertion_point(module_scope) 31 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/request_trade_routes_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: request_trade_routes.proto 4 | # Protobuf Python Version: 4.25.4 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | 16 | 17 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1arequest_trade_routes.proto\x12\x03rti\"`\n\x12RequestTradeRoutes\x12\x15\n\x0btemplate_id\x18\xe3\xb6\t \x01(\x05\x12\x12\n\x08user_msg\x18\x98\x8d\x08 \x03(\t\x12\x1f\n\x15subscribe_for_updates\x18\xf0\xb5\t \x01(\x08\x62\x06proto3') 18 | 19 | _globals = globals() 20 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 21 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'request_trade_routes_pb2', _globals) 22 | if _descriptor._USE_C_DESCRIPTORS == False: 23 | DESCRIPTOR._options = None 24 | _globals['_REQUESTTRADEROUTES']._serialized_start=35 25 | _globals['_REQUESTTRADEROUTES']._serialized_end=131 26 | # @@protoc_insertion_point(module_scope) 27 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/request_update_stop_bracket_level_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: request_update_stop_bracket_level.proto 4 | # Protobuf Python Version: 4.25.4 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | 16 | 17 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'request_update_stop_bracket_level.proto\x12\x03rti\"\xbf\x01\n\x1dRequestUpdateStopBracketLevel\x12\x15\n\x0btemplate_id\x18\xe3\xb6\t \x01(\x05\x12\x12\n\x08user_msg\x18\x98\x8d\x08 \x03(\t\x12\x10\n\x06\x66\x63m_id\x18\x9d\xb3\t \x01(\t\x12\x0f\n\x05ib_id\x18\x9e\xb3\t \x01(\t\x12\x14\n\naccount_id\x18\x98\xb3\t \x01(\t\x12\x13\n\tbasket_id\x18\xdc\xdd\x06 \x01(\t\x12\x0f\n\x05level\x18\x84\xb5\t \x01(\x05\x12\x14\n\nstop_ticks\x18\xda\xb6\t \x01(\x05\x62\x06proto3') 18 | 19 | _globals = globals() 20 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 21 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'request_update_stop_bracket_level_pb2', _globals) 22 | if _descriptor._USE_C_DESCRIPTORS == False: 23 | DESCRIPTOR._options = None 24 | _globals['_REQUESTUPDATESTOPBRACKETLEVEL']._serialized_start=49 25 | _globals['_REQUESTUPDATESTOPBRACKETLEVEL']._serialized_end=240 26 | # @@protoc_insertion_point(module_scope) 27 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/request_update_target_bracket_level_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: request_update_target_bracket_level.proto 4 | # Protobuf Python Version: 4.25.4 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | 16 | 17 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n)request_update_target_bracket_level.proto\x12\x03rti\"\xc3\x01\n\x1fRequestUpdateTargetBracketLevel\x12\x15\n\x0btemplate_id\x18\xe3\xb6\t \x01(\x05\x12\x12\n\x08user_msg\x18\x98\x8d\x08 \x03(\t\x12\x10\n\x06\x66\x63m_id\x18\x9d\xb3\t \x01(\t\x12\x0f\n\x05ib_id\x18\x9e\xb3\t \x01(\t\x12\x14\n\naccount_id\x18\x98\xb3\t \x01(\t\x12\x13\n\tbasket_id\x18\xdc\xdd\x06 \x01(\t\x12\x0f\n\x05level\x18\x84\xb5\t \x01(\x05\x12\x16\n\x0ctarget_ticks\x18\xd8\xb6\t \x01(\x05\x62\x06proto3') 18 | 19 | _globals = globals() 20 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 21 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'request_update_target_bracket_level_pb2', _globals) 22 | if _descriptor._USE_C_DESCRIPTORS == False: 23 | DESCRIPTOR._options = None 24 | _globals['_REQUESTUPDATETARGETBRACKETLEVEL']._serialized_start=51 25 | _globals['_REQUESTUPDATETARGETBRACKETLEVEL']._serialized_end=246 26 | # @@protoc_insertion_point(module_scope) 27 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/response_account_list_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: response_account_list.proto 4 | # Protobuf Python Version: 4.25.4 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | 16 | 17 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1bresponse_account_list.proto\x12\x03rti\"\xac\x02\n\x13ResponseAccountList\x12\x15\n\x0btemplate_id\x18\xe3\xb6\t \x01(\x05\x12\x12\n\x08user_msg\x18\x98\x8d\x08 \x03(\t\x12\x1c\n\x12rq_handler_rp_code\x18\x9c\x8d\x08 \x03(\t\x12\x11\n\x07rp_code\x18\x9e\x8d\x08 \x03(\t\x12\x10\n\x06\x66\x63m_id\x18\x9d\xb3\t \x01(\t\x12\x0f\n\x05ib_id\x18\x9e\xb3\t \x01(\t\x12\x14\n\naccount_id\x18\x98\xb3\t \x01(\t\x12\x16\n\x0c\x61\x63\x63ount_name\x18\x92\xb3\t \x01(\t\x12\x1a\n\x10\x61\x63\x63ount_currency\x18\x8f\xb6\t \x01(\t\x12 \n\x16\x61\x63\x63ount_auto_liquidate\x18\xdb\xff\x07 \x01(\t\x12*\n auto_liq_threshold_current_value\x18\xe0\xff\x07 \x01(\tb\x06proto3') 18 | 19 | _globals = globals() 20 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 21 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'response_account_list_pb2', _globals) 22 | if _descriptor._USE_C_DESCRIPTORS == False: 23 | DESCRIPTOR._options = None 24 | _globals['_RESPONSEACCOUNTLIST']._serialized_start=37 25 | _globals['_RESPONSEACCOUNTLIST']._serialized_end=337 26 | # @@protoc_insertion_point(module_scope) 27 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/response_bracket_order_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: response_bracket_order.proto 4 | # Protobuf Python Version: 4.25.4 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | 16 | 17 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1cresponse_bracket_order.proto\x12\x03rti\"\xbd\x01\n\x14ResponseBracketOrder\x12\x15\n\x0btemplate_id\x18\xe3\xb6\t \x01(\x05\x12\x12\n\x08user_msg\x18\x98\x8d\x08 \x03(\t\x12\x12\n\x08user_tag\x18\x87\xb4\t \x01(\t\x12\x1c\n\x12rq_handler_rp_code\x18\x9c\x8d\x08 \x03(\t\x12\x11\n\x07rp_code\x18\x9e\x8d\x08 \x03(\t\x12\x13\n\tbasket_id\x18\xdc\xdd\x06 \x01(\t\x12\x0f\n\x05ssboe\x18\xd4\x94\t \x01(\x05\x12\x0f\n\x05usecs\x18\xd5\x94\t \x01(\x05\x62\x06proto3') 18 | 19 | _globals = globals() 20 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 21 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'response_bracket_order_pb2', _globals) 22 | if _descriptor._USE_C_DESCRIPTORS == False: 23 | DESCRIPTOR._options = None 24 | _globals['_RESPONSEBRACKETORDER']._serialized_start=38 25 | _globals['_RESPONSEBRACKETORDER']._serialized_end=227 26 | # @@protoc_insertion_point(module_scope) 27 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/response_cancel_all_orders_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: response_cancel_all_orders.proto 4 | # Protobuf Python Version: 4.25.4 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | 16 | 17 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n response_cancel_all_orders.proto\x12\x03rti\"W\n\x17ResponseCancelAllOrders\x12\x15\n\x0btemplate_id\x18\xe3\xb6\t \x01(\x05\x12\x12\n\x08user_msg\x18\x98\x8d\x08 \x03(\t\x12\x11\n\x07rp_code\x18\x9e\x8d\x08 \x03(\tb\x06proto3') 18 | 19 | _globals = globals() 20 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 21 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'response_cancel_all_orders_pb2', _globals) 22 | if _descriptor._USE_C_DESCRIPTORS == False: 23 | DESCRIPTOR._options = None 24 | _globals['_RESPONSECANCELALLORDERS']._serialized_start=41 25 | _globals['_RESPONSECANCELALLORDERS']._serialized_end=128 26 | # @@protoc_insertion_point(module_scope) 27 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/response_cancel_order_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: response_cancel_order.proto 4 | # Protobuf Python Version: 4.25.4 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | 16 | 17 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1bresponse_cancel_order.proto\x12\x03rti\"\xa8\x01\n\x13ResponseCancelOrder\x12\x15\n\x0btemplate_id\x18\xe3\xb6\t \x01(\x05\x12\x12\n\x08user_msg\x18\x98\x8d\x08 \x03(\t\x12\x1c\n\x12rq_handler_rp_code\x18\x9c\x8d\x08 \x03(\t\x12\x11\n\x07rp_code\x18\x9e\x8d\x08 \x03(\t\x12\x13\n\tbasket_id\x18\xdc\xdd\x06 \x01(\t\x12\x0f\n\x05ssboe\x18\xd4\x94\t \x01(\x05\x12\x0f\n\x05usecs\x18\xd5\x94\t \x01(\x05\x62\x06proto3') 18 | 19 | _globals = globals() 20 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 21 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'response_cancel_order_pb2', _globals) 22 | if _descriptor._USE_C_DESCRIPTORS == False: 23 | DESCRIPTOR._options = None 24 | _globals['_RESPONSECANCELORDER']._serialized_start=37 25 | _globals['_RESPONSECANCELORDER']._serialized_end=205 26 | # @@protoc_insertion_point(module_scope) 27 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/response_exit_position_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: response_exit_position.proto 4 | # Protobuf Python Version: 4.25.4 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | 16 | 17 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1cresponse_exit_position.proto\x12\x03rti\"\x98\x01\n\x14ResponseExitPosition\x12\x15\n\x0btemplate_id\x18\xe3\xb6\t \x01(\x05\x12\x12\n\x08user_msg\x18\x98\x8d\x08 \x03(\t\x12\x1c\n\x12rq_handler_rp_code\x18\x9c\x8d\x08 \x03(\t\x12\x11\n\x07rp_code\x18\x9e\x8d\x08 \x03(\t\x12\x10\n\x06symbol\x18\x94\xdc\x06 \x01(\t\x12\x12\n\x08\x65xchange\x18\x95\xdc\x06 \x01(\tb\x06proto3') 18 | 19 | _globals = globals() 20 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 21 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'response_exit_position_pb2', _globals) 22 | if _descriptor._USE_C_DESCRIPTORS == False: 23 | DESCRIPTOR._options = None 24 | _globals['_RESPONSEEXITPOSITION']._serialized_start=38 25 | _globals['_RESPONSEEXITPOSITION']._serialized_end=190 26 | # @@protoc_insertion_point(module_scope) 27 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/response_front_month_contract_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: response_front_month_contract.proto 4 | # Protobuf Python Version: 4.25.4 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | 16 | 17 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n#response_front_month_contract.proto\x12\x03rti\"\xee\x01\n\x1aResponseFrontMonthContract\x12\x15\n\x0btemplate_id\x18\xe3\xb6\t \x01(\x05\x12\x12\n\x08user_msg\x18\x98\x8d\x08 \x03(\t\x12\x11\n\x07rp_code\x18\x9e\x8d\x08 \x03(\t\x12\x10\n\x06symbol\x18\x94\xdc\x06 \x01(\t\x12\x12\n\x08\x65xchange\x18\x95\xdc\x06 \x01(\t\x12\x1f\n\x15is_front_month_symbol\x18\xae\x8d\t \x01(\x08\x12\x15\n\x0bsymbol_name\x18\xa3\x8d\x06 \x01(\t\x12\x18\n\x0etrading_symbol\x18\xa7\xcb\t \x01(\t\x12\x1a\n\x10trading_exchange\x18\xa8\xcb\t \x01(\tb\x06proto3') 18 | 19 | _globals = globals() 20 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 21 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'response_front_month_contract_pb2', _globals) 22 | if _descriptor._USE_C_DESCRIPTORS == False: 23 | DESCRIPTOR._options = None 24 | _globals['_RESPONSEFRONTMONTHCONTRACT']._serialized_start=45 25 | _globals['_RESPONSEFRONTMONTHCONTRACT']._serialized_end=283 26 | # @@protoc_insertion_point(module_scope) 27 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/response_heartbeat_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: response_heartbeat.proto 4 | # Protobuf Python Version: 4.25.4 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | 16 | 17 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x18response_heartbeat.proto\x12\x03rti\"s\n\x11ResponseHeartbeat\x12\x15\n\x0btemplate_id\x18\xe3\xb6\t \x01(\x05\x12\x12\n\x08user_msg\x18\x98\x8d\x08 \x03(\t\x12\x11\n\x07rp_code\x18\x9e\x8d\x08 \x03(\t\x12\x0f\n\x05ssboe\x18\xd4\x94\t \x01(\x05\x12\x0f\n\x05usecs\x18\xd5\x94\t \x01(\x05\x62\x06proto3') 18 | 19 | _globals = globals() 20 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 21 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'response_heartbeat_pb2', _globals) 22 | if _descriptor._USE_C_DESCRIPTORS == False: 23 | DESCRIPTOR._options = None 24 | _globals['_RESPONSEHEARTBEAT']._serialized_start=33 25 | _globals['_RESPONSEHEARTBEAT']._serialized_end=148 26 | # @@protoc_insertion_point(module_scope) 27 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/response_list_exchange_permissions_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: response_list_exchange_permissions.proto 4 | # Protobuf Python Version: 4.25.4 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | 16 | 17 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n(response_list_exchange_permissions.proto\x12\x03rti\"\xa2\x02\n\x1fResponseListExchangePermissions\x12\x15\n\x0btemplate_id\x18\xe3\xb6\t \x01(\x05\x12\x12\n\x08user_msg\x18\x98\x8d\x08 \x03(\t\x12\x1c\n\x12rq_handler_rp_code\x18\x9c\x8d\x08 \x03(\t\x12\x11\n\x07rp_code\x18\x9e\x8d\x08 \x03(\t\x12\x12\n\x08\x65xchange\x18\x95\xdc\x06 \x01(\t\x12P\n\x10\x65ntitlement_flag\x18\xb8\xae\t \x01(\x0e\x32\x34.rti.ResponseListExchangePermissions.EntitlementFlag\"=\n\x0f\x45ntitlementFlag\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0b\n\x07\x45NABLED\x10\x01\x12\x0c\n\x08\x44ISABLED\x10\x02\x62\x06proto3') 18 | 19 | _globals = globals() 20 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 21 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'response_list_exchange_permissions_pb2', _globals) 22 | if _descriptor._USE_C_DESCRIPTORS == False: 23 | DESCRIPTOR._options = None 24 | _globals['_RESPONSELISTEXCHANGEPERMISSIONS']._serialized_start=50 25 | _globals['_RESPONSELISTEXCHANGEPERMISSIONS']._serialized_end=340 26 | _globals['_RESPONSELISTEXCHANGEPERMISSIONS_ENTITLEMENTFLAG']._serialized_start=279 27 | _globals['_RESPONSELISTEXCHANGEPERMISSIONS_ENTITLEMENTFLAG']._serialized_end=340 28 | # @@protoc_insertion_point(module_scope) 29 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/response_login_info_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: response_login_info.proto 4 | # Protobuf Python Version: 4.25.4 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | 16 | 17 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x19response_login_info.proto\x12\x03rti\"\xb1\x02\n\x11ResponseLoginInfo\x12\x15\n\x0btemplate_id\x18\xe3\xb6\t \x01(\x05\x12\x12\n\x08user_msg\x18\x98\x8d\x08 \x03(\t\x12\x11\n\x07rp_code\x18\x9e\x8d\x08 \x03(\t\x12\x10\n\x06\x66\x63m_id\x18\x9d\xb3\t \x01(\t\x12\x0f\n\x05ib_id\x18\x9e\xb3\t \x01(\t\x12\x14\n\nfirst_name\x18\xe8\xb4\t \x01(\t\x12\x13\n\tlast_name\x18\xe9\xb4\t \x01(\t\x12\x34\n\tuser_type\x18\xb4\xb3\t \x01(\x0e\x32\x1f.rti.ResponseLoginInfo.UserType\"Z\n\x08UserType\x12\x13\n\x0fUSER_TYPE_ADMIN\x10\x00\x12\x11\n\rUSER_TYPE_FCM\x10\x01\x12\x10\n\x0cUSER_TYPE_IB\x10\x02\x12\x14\n\x10USER_TYPE_TRADER\x10\x03\x62\x06proto3') 18 | 19 | _globals = globals() 20 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 21 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'response_login_info_pb2', _globals) 22 | if _descriptor._USE_C_DESCRIPTORS == False: 23 | DESCRIPTOR._options = None 24 | _globals['_RESPONSELOGININFO']._serialized_start=35 25 | _globals['_RESPONSELOGININFO']._serialized_end=340 26 | _globals['_RESPONSELOGININFO_USERTYPE']._serialized_start=250 27 | _globals['_RESPONSELOGININFO_USERTYPE']._serialized_end=340 28 | # @@protoc_insertion_point(module_scope) 29 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/response_login_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: response_login.proto 4 | # Protobuf Python Version: 4.25.4 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | 16 | 17 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x14response_login.proto\x12\x03rti\"\xf2\x01\n\rResponseLogin\x12\x15\n\x0btemplate_id\x18\xe3\xb6\t \x01(\x05\x12\x1a\n\x10template_version\x18\xa2\xb0\t \x01(\t\x12\x12\n\x08user_msg\x18\x98\x8d\x08 \x03(\t\x12\x11\n\x07rp_code\x18\x9e\x8d\x08 \x03(\t\x12\x10\n\x06\x66\x63m_id\x18\x9d\xb3\t \x01(\t\x12\x0f\n\x05ib_id\x18\x9e\xb3\t \x01(\t\x12\x16\n\x0c\x63ountry_code\x18\xd8\xb8\t \x01(\t\x12\x14\n\nstate_code\x18\xd9\xb8\t \x01(\t\x12\x18\n\x0eunique_user_id\x18\xd4\xae\t \x01(\t\x12\x1c\n\x12heartbeat_interval\x18\xa1\xb0\t \x01(\x01\x62\x06proto3') 18 | 19 | _globals = globals() 20 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 21 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'response_login_pb2', _globals) 22 | if _descriptor._USE_C_DESCRIPTORS == False: 23 | DESCRIPTOR._options = None 24 | _globals['_RESPONSELOGIN']._serialized_start=30 25 | _globals['_RESPONSELOGIN']._serialized_end=272 26 | # @@protoc_insertion_point(module_scope) 27 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/response_logout_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: response_logout.proto 4 | # Protobuf Python Version: 4.25.4 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | 16 | 17 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x15response_logout.proto\x12\x03rti\"N\n\x0eResponseLogout\x12\x15\n\x0btemplate_id\x18\xe3\xb6\t \x01(\x05\x12\x12\n\x08user_msg\x18\x98\x8d\x08 \x03(\t\x12\x11\n\x07rp_code\x18\x9e\x8d\x08 \x03(\tb\x06proto3') 18 | 19 | _globals = globals() 20 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 21 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'response_logout_pb2', _globals) 22 | if _descriptor._USE_C_DESCRIPTORS == False: 23 | DESCRIPTOR._options = None 24 | _globals['_RESPONSELOGOUT']._serialized_start=30 25 | _globals['_RESPONSELOGOUT']._serialized_end=108 26 | # @@protoc_insertion_point(module_scope) 27 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/response_market_data_update_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: response_market_data_update.proto 4 | # Protobuf Python Version: 4.25.4 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | 16 | 17 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!response_market_data_update.proto\x12\x03rti\"X\n\x18ResponseMarketDataUpdate\x12\x15\n\x0btemplate_id\x18\xe3\xb6\t \x01(\x05\x12\x12\n\x08user_msg\x18\x98\x8d\x08 \x03(\t\x12\x11\n\x07rp_code\x18\x9e\x8d\x08 \x03(\tb\x06proto3') 18 | 19 | _globals = globals() 20 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 21 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'response_market_data_update_pb2', _globals) 22 | if _descriptor._USE_C_DESCRIPTORS == False: 23 | DESCRIPTOR._options = None 24 | _globals['_RESPONSEMARKETDATAUPDATE']._serialized_start=42 25 | _globals['_RESPONSEMARKETDATAUPDATE']._serialized_end=130 26 | # @@protoc_insertion_point(module_scope) 27 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/response_modify_order_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: response_modify_order.proto 4 | # Protobuf Python Version: 4.25.4 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | 16 | 17 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1bresponse_modify_order.proto\x12\x03rti\"\xa8\x01\n\x13ResponseModifyOrder\x12\x15\n\x0btemplate_id\x18\xe3\xb6\t \x01(\x05\x12\x12\n\x08user_msg\x18\x98\x8d\x08 \x03(\t\x12\x1c\n\x12rq_handler_rp_code\x18\x9c\x8d\x08 \x03(\t\x12\x11\n\x07rp_code\x18\x9e\x8d\x08 \x03(\t\x12\x13\n\tbasket_id\x18\xdc\xdd\x06 \x01(\t\x12\x0f\n\x05ssboe\x18\xd4\x94\t \x01(\x05\x12\x0f\n\x05usecs\x18\xd5\x94\t \x01(\x05\x62\x06proto3') 18 | 19 | _globals = globals() 20 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 21 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'response_modify_order_pb2', _globals) 22 | if _descriptor._USE_C_DESCRIPTORS == False: 23 | DESCRIPTOR._options = None 24 | _globals['_RESPONSEMODIFYORDER']._serialized_start=37 25 | _globals['_RESPONSEMODIFYORDER']._serialized_end=205 26 | # @@protoc_insertion_point(module_scope) 27 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/response_new_order_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: response_new_order.proto 4 | # Protobuf Python Version: 4.25.4 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | 16 | 17 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x18response_new_order.proto\x12\x03rti\"\xb9\x01\n\x10ResponseNewOrder\x12\x15\n\x0btemplate_id\x18\xe3\xb6\t \x01(\x05\x12\x12\n\x08user_msg\x18\x98\x8d\x08 \x03(\t\x12\x12\n\x08user_tag\x18\x87\xb4\t \x01(\t\x12\x1c\n\x12rq_handler_rp_code\x18\x9c\x8d\x08 \x03(\t\x12\x11\n\x07rp_code\x18\x9e\x8d\x08 \x03(\t\x12\x13\n\tbasket_id\x18\xdc\xdd\x06 \x01(\t\x12\x0f\n\x05ssboe\x18\xd4\x94\t \x01(\x05\x12\x0f\n\x05usecs\x18\xd5\x94\t \x01(\x05\x62\x06proto3') 18 | 19 | _globals = globals() 20 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 21 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'response_new_order_pb2', _globals) 22 | if _descriptor._USE_C_DESCRIPTORS == False: 23 | DESCRIPTOR._options = None 24 | _globals['_RESPONSENEWORDER']._serialized_start=34 25 | _globals['_RESPONSENEWORDER']._serialized_end=219 26 | # @@protoc_insertion_point(module_scope) 27 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/response_pnl_position_snapshot_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: response_pnl_position_snapshot.proto 4 | # Protobuf Python Version: 4.25.4 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | 16 | 17 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n$response_pnl_position_snapshot.proto\x12\x03rti\"[\n\x1bResponsePnLPositionSnapshot\x12\x15\n\x0btemplate_id\x18\xe3\xb6\t \x01(\x05\x12\x12\n\x08user_msg\x18\x98\x8d\x08 \x03(\t\x12\x11\n\x07rp_code\x18\x9e\x8d\x08 \x03(\tb\x06proto3') 18 | 19 | _globals = globals() 20 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 21 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'response_pnl_position_snapshot_pb2', _globals) 22 | if _descriptor._USE_C_DESCRIPTORS == False: 23 | DESCRIPTOR._options = None 24 | _globals['_RESPONSEPNLPOSITIONSNAPSHOT']._serialized_start=45 25 | _globals['_RESPONSEPNLPOSITIONSNAPSHOT']._serialized_end=136 26 | # @@protoc_insertion_point(module_scope) 27 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/response_pnl_position_updates_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: response_pnl_position_updates.proto 4 | # Protobuf Python Version: 4.25.4 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | 16 | 17 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n#response_pnl_position_updates.proto\x12\x03rti\"Z\n\x1aResponsePnLPositionUpdates\x12\x15\n\x0btemplate_id\x18\xe3\xb6\t \x01(\x05\x12\x12\n\x08user_msg\x18\x98\x8d\x08 \x03(\t\x12\x11\n\x07rp_code\x18\x9e\x8d\x08 \x03(\tb\x06proto3') 18 | 19 | _globals = globals() 20 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 21 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'response_pnl_position_updates_pb2', _globals) 22 | if _descriptor._USE_C_DESCRIPTORS == False: 23 | DESCRIPTOR._options = None 24 | _globals['_RESPONSEPNLPOSITIONUPDATES']._serialized_start=44 25 | _globals['_RESPONSEPNLPOSITIONUPDATES']._serialized_end=134 26 | # @@protoc_insertion_point(module_scope) 27 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/response_product_rms_info_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: response_product_rms_info.proto 4 | # Protobuf Python Version: 4.25.4 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | 16 | 17 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1fresponse_product_rms_info.proto\x12\x03rti\"\xd0\x04\n\x16ResponseProductRmsInfo\x12\x15\n\x0btemplate_id\x18\xe3\xb6\t \x01(\x05\x12\x12\n\x08user_msg\x18\x98\x8d\x08 \x03(\t\x12\x1c\n\x12rq_handler_rp_code\x18\x9c\x8d\x08 \x03(\t\x12\x11\n\x07rp_code\x18\x9e\x8d\x08 \x03(\t\x12\x17\n\rpresence_bits\x18\x96\xb0\t \x01(\r\x12\x10\n\x06\x66\x63m_id\x18\x9d\xb3\t \x01(\t\x12\x0f\n\x05ib_id\x18\x9e\xb3\t \x01(\t\x12\x14\n\naccount_id\x18\x98\xb3\t \x01(\t\x12\x16\n\x0cproduct_code\x18\x8d\x93\x06 \x01(\t\x12\x14\n\nloss_limit\x18\xa3\xb3\t \x01(\x01\x12\x1e\n\x14\x63ommission_fill_rate\x18\xa9\xca\t \x01(\x01\x12\x19\n\x0f\x62uy_margin_rate\x18\xcb\xca\t \x01(\x01\x12\x1a\n\x10sell_margin_rate\x18\xcc\xca\t \x01(\x01\x12\x13\n\tbuy_limit\x18\x99\xb3\t \x01(\x05\x12\x1c\n\x12max_order_quantity\x18\x99\xdc\x06 \x01(\x05\x12\x14\n\nsell_limit\x18\xb3\xb3\t \x01(\x05\"\xb9\x01\n\x0cPresenceBits\x12\x1d\n\x19PRESENCE_BITS_UNSPECIFIED\x10\x00\x12\r\n\tBUY_LIMIT\x10\x01\x12\x0e\n\nSELL_LIMIT\x10\x02\x12\x0e\n\nLOSS_LIMIT\x10\x04\x12\x16\n\x12MAX_ORDER_QUANTITY\x10\x08\x12\x13\n\x0f\x42UY_MARGIN_RATE\x10\x10\x12\x14\n\x10SELL_MARGIN_RATE\x10 \x12\x18\n\x14\x43OMMISSION_FILL_RATE\x10@b\x06proto3') 18 | 19 | _globals = globals() 20 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 21 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'response_product_rms_info_pb2', _globals) 22 | if _descriptor._USE_C_DESCRIPTORS == False: 23 | DESCRIPTOR._options = None 24 | _globals['_RESPONSEPRODUCTRMSINFO']._serialized_start=41 25 | _globals['_RESPONSEPRODUCTRMSINFO']._serialized_end=633 26 | _globals['_RESPONSEPRODUCTRMSINFO_PRESENCEBITS']._serialized_start=448 27 | _globals['_RESPONSEPRODUCTRMSINFO_PRESENCEBITS']._serialized_end=633 28 | # @@protoc_insertion_point(module_scope) 29 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/response_rithmic_system_info_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: response_rithmic_system_info.proto 4 | # Protobuf Python Version: 4.25.4 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | 16 | 17 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\"response_rithmic_system_info.proto\x12\x03rti\"\x91\x01\n\x19ResponseRithmicSystemInfo\x12\x15\n\x0btemplate_id\x18\xe3\xb6\t \x01(\x05\x12\x12\n\x08user_msg\x18\x98\x8d\x08 \x03(\t\x12\x11\n\x07rp_code\x18\x9e\x8d\x08 \x03(\t\x12\x15\n\x0bsystem_name\x18\x9c\xb0\t \x03(\t\x12\x1f\n\x15has_aggregated_quotes\x18\xb1\xb0\t \x03(\x08\x62\x06proto3') 18 | 19 | _globals = globals() 20 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 21 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'response_rithmic_system_info_pb2', _globals) 22 | if _descriptor._USE_C_DESCRIPTORS == False: 23 | DESCRIPTOR._options = None 24 | _globals['_RESPONSERITHMICSYSTEMINFO']._serialized_start=44 25 | _globals['_RESPONSERITHMICSYSTEMINFO']._serialized_end=189 26 | # @@protoc_insertion_point(module_scope) 27 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/response_search_symbols_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: response_search_symbols.proto 4 | # Protobuf Python Version: 4.25.4 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | 16 | 17 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1dresponse_search_symbols.proto\x12\x03rti\"\xfe\x01\n\x15ResponseSearchSymbols\x12\x15\n\x0btemplate_id\x18\xe3\xb6\t \x01(\x05\x12\x12\n\x08user_msg\x18\x98\x8d\x08 \x03(\t\x12\x1c\n\x12rq_handler_rp_code\x18\x9c\x8d\x08 \x03(\t\x12\x11\n\x07rp_code\x18\x9e\x8d\x08 \x03(\t\x12\x10\n\x06symbol\x18\x94\xdc\x06 \x01(\t\x12\x12\n\x08\x65xchange\x18\x95\xdc\x06 \x01(\t\x12\x15\n\x0bsymbol_name\x18\xa3\x8d\x06 \x01(\t\x12\x16\n\x0cproduct_code\x18\x8d\x93\x06 \x01(\t\x12\x19\n\x0finstrument_type\x18\xa4\xdc\x06 \x01(\t\x12\x19\n\x0f\x65xpiration_date\x18\xe3\x8d\x06 \x01(\tb\x06proto3') 18 | 19 | _globals = globals() 20 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 21 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'response_search_symbols_pb2', _globals) 22 | if _descriptor._USE_C_DESCRIPTORS == False: 23 | DESCRIPTOR._options = None 24 | _globals['_RESPONSESEARCHSYMBOLS']._serialized_start=39 25 | _globals['_RESPONSESEARCHSYMBOLS']._serialized_end=293 26 | # @@protoc_insertion_point(module_scope) 27 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/response_show_bracket_stops_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: response_show_bracket_stops.proto 4 | # Protobuf Python Version: 4.25.4 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | 16 | 17 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!response_show_bracket_stops.proto\x12\x03rti\"\xa8\x02\n\x18ResponseShowBracketStops\x12\x15\n\x0btemplate_id\x18\xe3\xb6\t \x01(\x05\x12\x12\n\x08user_msg\x18\x98\x8d\x08 \x03(\t\x12\x1c\n\x12rq_handler_rp_code\x18\x9c\x8d\x08 \x03(\t\x12\x11\n\x07rp_code\x18\x9e\x8d\x08 \x03(\t\x12\x13\n\tbasket_id\x18\xdc\xdd\x06 \x01(\t\x12\x17\n\rstop_quantity\x18\xdb\xb6\t \x01(\t\x12 \n\x16stop_quantity_released\x18\xe2\xb6\t \x01(\t\x12\x14\n\nstop_ticks\x18\xda\xb6\t \x01(\t\x12#\n\x19\x62racket_trailing_field_id\x18\x86\xcb\t \x01(\t\x12%\n\x1btrailing_stop_trigger_ticks\x18\xc4\xcb\t \x01(\tb\x06proto3') 18 | 19 | _globals = globals() 20 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 21 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'response_show_bracket_stops_pb2', _globals) 22 | if _descriptor._USE_C_DESCRIPTORS == False: 23 | DESCRIPTOR._options = None 24 | _globals['_RESPONSESHOWBRACKETSTOPS']._serialized_start=43 25 | _globals['_RESPONSESHOWBRACKETSTOPS']._serialized_end=339 26 | # @@protoc_insertion_point(module_scope) 27 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/response_show_brackets_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: response_show_brackets.proto 4 | # Protobuf Python Version: 4.25.4 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | 16 | 17 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1cresponse_show_brackets.proto\x12\x03rti\"\xde\x01\n\x14ResponseShowBrackets\x12\x15\n\x0btemplate_id\x18\xe3\xb6\t \x01(\x05\x12\x12\n\x08user_msg\x18\x98\x8d\x08 \x03(\t\x12\x1c\n\x12rq_handler_rp_code\x18\x9c\x8d\x08 \x03(\t\x12\x11\n\x07rp_code\x18\x9e\x8d\x08 \x03(\t\x12\x13\n\tbasket_id\x18\xdc\xdd\x06 \x01(\t\x12\x19\n\x0ftarget_quantity\x18\xd9\xb6\t \x01(\t\x12\"\n\x18target_quantity_released\x18\xdc\xb6\t \x01(\t\x12\x16\n\x0ctarget_ticks\x18\xd8\xb6\t \x01(\tb\x06proto3') 18 | 19 | _globals = globals() 20 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 21 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'response_show_brackets_pb2', _globals) 22 | if _descriptor._USE_C_DESCRIPTORS == False: 23 | DESCRIPTOR._options = None 24 | _globals['_RESPONSESHOWBRACKETS']._serialized_start=38 25 | _globals['_RESPONSESHOWBRACKETS']._serialized_end=260 26 | # @@protoc_insertion_point(module_scope) 27 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/response_show_order_history_dates_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: response_show_order_history_dates.proto 4 | # Protobuf Python Version: 4.25.4 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | 16 | 17 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'response_show_order_history_dates.proto\x12\x03rti\"\x8b\x01\n\x1dResponseShowOrderHistoryDates\x12\x15\n\x0btemplate_id\x18\xe3\xb6\t \x01(\x05\x12\x12\n\x08user_msg\x18\x98\x8d\x08 \x03(\t\x12\x1c\n\x12rq_handler_rp_code\x18\x9c\x8d\x08 \x03(\t\x12\x11\n\x07rp_code\x18\x9e\x8d\x08 \x03(\t\x12\x0e\n\x04\x64\x61te\x18\x97\xe0\x06 \x03(\tb\x06proto3') 18 | 19 | _globals = globals() 20 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 21 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'response_show_order_history_dates_pb2', _globals) 22 | if _descriptor._USE_C_DESCRIPTORS == False: 23 | DESCRIPTOR._options = None 24 | _globals['_RESPONSESHOWORDERHISTORYDATES']._serialized_start=49 25 | _globals['_RESPONSESHOWORDERHISTORYDATES']._serialized_end=188 26 | # @@protoc_insertion_point(module_scope) 27 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/response_show_order_history_detail_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: response_show_order_history_detail.proto 4 | # Protobuf Python Version: 4.25.4 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | 16 | 17 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n(response_show_order_history_detail.proto\x12\x03rti\"^\n\x1eResponseShowOrderHistoryDetail\x12\x15\n\x0btemplate_id\x18\xe3\xb6\t \x01(\x05\x12\x12\n\x08user_msg\x18\x98\x8d\x08 \x03(\t\x12\x11\n\x07rp_code\x18\x9e\x8d\x08 \x03(\tb\x06proto3') 18 | 19 | _globals = globals() 20 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 21 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'response_show_order_history_detail_pb2', _globals) 22 | if _descriptor._USE_C_DESCRIPTORS == False: 23 | DESCRIPTOR._options = None 24 | _globals['_RESPONSESHOWORDERHISTORYDETAIL']._serialized_start=49 25 | _globals['_RESPONSESHOWORDERHISTORYDETAIL']._serialized_end=143 26 | # @@protoc_insertion_point(module_scope) 27 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/response_show_order_history_summary_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: response_show_order_history_summary.proto 4 | # Protobuf Python Version: 4.25.4 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | 16 | 17 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n)response_show_order_history_summary.proto\x12\x03rti\"_\n\x1fResponseShowOrderHistorySummary\x12\x15\n\x0btemplate_id\x18\xe3\xb6\t \x01(\x05\x12\x12\n\x08user_msg\x18\x98\x8d\x08 \x03(\t\x12\x11\n\x07rp_code\x18\x9e\x8d\x08 \x03(\tb\x06proto3') 18 | 19 | _globals = globals() 20 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 21 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'response_show_order_history_summary_pb2', _globals) 22 | if _descriptor._USE_C_DESCRIPTORS == False: 23 | DESCRIPTOR._options = None 24 | _globals['_RESPONSESHOWORDERHISTORYSUMMARY']._serialized_start=50 25 | _globals['_RESPONSESHOWORDERHISTORYSUMMARY']._serialized_end=145 26 | # @@protoc_insertion_point(module_scope) 27 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/response_show_orders_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: response_show_orders.proto 4 | # Protobuf Python Version: 4.25.4 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | 16 | 17 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1aresponse_show_orders.proto\x12\x03rti\"R\n\x12ResponseShowOrders\x12\x15\n\x0btemplate_id\x18\xe3\xb6\t \x01(\x05\x12\x12\n\x08user_msg\x18\x98\x8d\x08 \x03(\t\x12\x11\n\x07rp_code\x18\x9e\x8d\x08 \x03(\tb\x06proto3') 18 | 19 | _globals = globals() 20 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 21 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'response_show_orders_pb2', _globals) 22 | if _descriptor._USE_C_DESCRIPTORS == False: 23 | DESCRIPTOR._options = None 24 | _globals['_RESPONSESHOWORDERS']._serialized_start=35 25 | _globals['_RESPONSESHOWORDERS']._serialized_end=117 26 | # @@protoc_insertion_point(module_scope) 27 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/response_subscribe_for_order_updates_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: response_subscribe_for_order_updates.proto 4 | # Protobuf Python Version: 4.25.4 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | 16 | 17 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n*response_subscribe_for_order_updates.proto\x12\x03rti\"`\n ResponseSubscribeForOrderUpdates\x12\x15\n\x0btemplate_id\x18\xe3\xb6\t \x01(\x05\x12\x12\n\x08user_msg\x18\x98\x8d\x08 \x03(\t\x12\x11\n\x07rp_code\x18\x9e\x8d\x08 \x03(\tb\x06proto3') 18 | 19 | _globals = globals() 20 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 21 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'response_subscribe_for_order_updates_pb2', _globals) 22 | if _descriptor._USE_C_DESCRIPTORS == False: 23 | DESCRIPTOR._options = None 24 | _globals['_RESPONSESUBSCRIBEFORORDERUPDATES']._serialized_start=51 25 | _globals['_RESPONSESUBSCRIBEFORORDERUPDATES']._serialized_end=147 26 | # @@protoc_insertion_point(module_scope) 27 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/response_subscribe_to_bracket_updates_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: response_subscribe_to_bracket_updates.proto 4 | # Protobuf Python Version: 4.25.4 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | 16 | 17 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n+response_subscribe_to_bracket_updates.proto\x12\x03rti\"a\n!ResponseSubscribeToBracketUpdates\x12\x15\n\x0btemplate_id\x18\xe3\xb6\t \x01(\x05\x12\x12\n\x08user_msg\x18\x98\x8d\x08 \x03(\t\x12\x11\n\x07rp_code\x18\x9e\x8d\x08 \x03(\tb\x06proto3') 18 | 19 | _globals = globals() 20 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 21 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'response_subscribe_to_bracket_updates_pb2', _globals) 22 | if _descriptor._USE_C_DESCRIPTORS == False: 23 | DESCRIPTOR._options = None 24 | _globals['_RESPONSESUBSCRIBETOBRACKETUPDATES']._serialized_start=52 25 | _globals['_RESPONSESUBSCRIBETOBRACKETUPDATES']._serialized_end=149 26 | # @@protoc_insertion_point(module_scope) 27 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/response_tick_bar_update_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: response_tick_bar_update.proto 4 | # Protobuf Python Version: 4.25.4 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | 16 | 17 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1eresponse_tick_bar_update.proto\x12\x03rti\"U\n\x15ResponseTickBarUpdate\x12\x15\n\x0btemplate_id\x18\xe3\xb6\t \x01(\x05\x12\x12\n\x08user_msg\x18\x98\x8d\x08 \x03(\t\x12\x11\n\x07rp_code\x18\x9e\x8d\x08 \x03(\tb\x06proto3') 18 | 19 | _globals = globals() 20 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 21 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'response_tick_bar_update_pb2', _globals) 22 | if _descriptor._USE_C_DESCRIPTORS == False: 23 | DESCRIPTOR._options = None 24 | _globals['_RESPONSETICKBARUPDATE']._serialized_start=39 25 | _globals['_RESPONSETICKBARUPDATE']._serialized_end=124 26 | # @@protoc_insertion_point(module_scope) 27 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/response_time_bar_update_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: response_time_bar_update.proto 4 | # Protobuf Python Version: 4.25.4 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | 16 | 17 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1eresponse_time_bar_update.proto\x12\x03rti\"U\n\x15ResponseTimeBarUpdate\x12\x15\n\x0btemplate_id\x18\xe3\xb6\t \x01(\x05\x12\x12\n\x08user_msg\x18\x98\x8d\x08 \x03(\t\x12\x11\n\x07rp_code\x18\x9e\x8d\x08 \x03(\tb\x06proto3') 18 | 19 | _globals = globals() 20 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 21 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'response_time_bar_update_pb2', _globals) 22 | if _descriptor._USE_C_DESCRIPTORS == False: 23 | DESCRIPTOR._options = None 24 | _globals['_RESPONSETIMEBARUPDATE']._serialized_start=39 25 | _globals['_RESPONSETIMEBARUPDATE']._serialized_end=124 26 | # @@protoc_insertion_point(module_scope) 27 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/response_trade_routes_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: response_trade_routes.proto 4 | # Protobuf Python Version: 4.25.4 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | 16 | 17 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1bresponse_trade_routes.proto\x12\x03rti\"\xe7\x01\n\x13ResponseTradeRoutes\x12\x15\n\x0btemplate_id\x18\xe3\xb6\t \x01(\x05\x12\x12\n\x08user_msg\x18\x98\x8d\x08 \x03(\t\x12\x1c\n\x12rq_handler_rp_code\x18\x9c\x8d\x08 \x03(\t\x12\x11\n\x07rp_code\x18\x9e\x8d\x08 \x03(\t\x12\x10\n\x06\x66\x63m_id\x18\x9d\xb3\t \x01(\t\x12\x0f\n\x05ib_id\x18\x9e\xb3\t \x01(\t\x12\x12\n\x08\x65xchange\x18\x95\xdc\x06 \x01(\t\x12\x15\n\x0btrade_route\x18\x90\xeb\x06 \x01(\t\x12\x10\n\x06status\x18\xcf\x82\x08 \x01(\t\x12\x14\n\nis_default\x18\xc1\xb8\t \x01(\x08\x62\x06proto3') 18 | 19 | _globals = globals() 20 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 21 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'response_trade_routes_pb2', _globals) 22 | if _descriptor._USE_C_DESCRIPTORS == False: 23 | DESCRIPTOR._options = None 24 | _globals['_RESPONSETRADEROUTES']._serialized_start=37 25 | _globals['_RESPONSETRADEROUTES']._serialized_end=268 26 | # @@protoc_insertion_point(module_scope) 27 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/response_update_stop_bracket_level_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: response_update_stop_bracket_level.proto 4 | # Protobuf Python Version: 4.25.4 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | 16 | 17 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n(response_update_stop_bracket_level.proto\x12\x03rti\"^\n\x1eResponseUpdateStopBracketLevel\x12\x15\n\x0btemplate_id\x18\xe3\xb6\t \x01(\x05\x12\x12\n\x08user_msg\x18\x98\x8d\x08 \x03(\t\x12\x11\n\x07rp_code\x18\x9e\x8d\x08 \x03(\tb\x06proto3') 18 | 19 | _globals = globals() 20 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 21 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'response_update_stop_bracket_level_pb2', _globals) 22 | if _descriptor._USE_C_DESCRIPTORS == False: 23 | DESCRIPTOR._options = None 24 | _globals['_RESPONSEUPDATESTOPBRACKETLEVEL']._serialized_start=49 25 | _globals['_RESPONSEUPDATESTOPBRACKETLEVEL']._serialized_end=143 26 | # @@protoc_insertion_point(module_scope) 27 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/response_update_target_bracket_level_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: response_update_target_bracket_level.proto 4 | # Protobuf Python Version: 4.25.4 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | 16 | 17 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n*response_update_target_bracket_level.proto\x12\x03rti\"`\n ResponseUpdateTargetBracketLevel\x12\x15\n\x0btemplate_id\x18\xe3\xb6\t \x01(\x05\x12\x12\n\x08user_msg\x18\x98\x8d\x08 \x03(\t\x12\x11\n\x07rp_code\x18\x9e\x8d\x08 \x03(\tb\x06proto3') 18 | 19 | _globals = globals() 20 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 21 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'response_update_target_bracket_level_pb2', _globals) 22 | if _descriptor._USE_C_DESCRIPTORS == False: 23 | DESCRIPTOR._options = None 24 | _globals['_RESPONSEUPDATETARGETBRACKETLEVEL']._serialized_start=51 25 | _globals['_RESPONSEUPDATETARGETBRACKETLEVEL']._serialized_end=147 26 | # @@protoc_insertion_point(module_scope) 27 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/base.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message Base 6 | { 7 | int32 template_id = 154467; // PB_OFFSET + MNM_TEMPLATE_ID 8 | } -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/best_bid_offer.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message BestBidOffer 6 | { 7 | // PB_OFFSET = 100000, is the offset added for each MNM field id 8 | 9 | // below enum is just for reference only, not used in this message 10 | enum PresenceBits { 11 | PRESENCEBITS_UNSPECIFIED = 0; 12 | BID = 1; 13 | ASK = 2; 14 | LEAN_PRICE = 4; 15 | } 16 | 17 | int32 template_id = 154467; // PB_OFFSET + MNM_TEMPLATE_ID 18 | string symbol = 110100; // PB_OFFSET + MNM_SYMBOL 19 | string exchange = 110101; // PB_OFFSET + MNM_EXCHANGE 20 | 21 | uint32 presence_bits = 149138; // PB_OFFSET + MNM_PRICING_INDICATOR 22 | uint32 clear_bits = 154571; // PB_OFFSET + MNM_DISPLAY_INDICATOR 23 | bool is_snapshot = 110121; // PB_OFFSET + MNM_UPDATE_TYPE 24 | 25 | double bid_price = 100022; // PB_OFFSET + MNM_BID_PRICE 26 | int32 bid_size = 100030; // PB_OFFSET + MNM_BID_SIZE 27 | int32 bid_orders = 154403; // PB_OFFSET + MNM_BID_NO_OF_ORDERS 28 | int32 bid_implicit_size = 154867; // PB_OFFSET + MNM_BID_IMPLICIT_SIZE 29 | string bid_time = 100266; 30 | 31 | double ask_price = 100025; // PB_OFFSET + MNM_ASK_PRICE 32 | int32 ask_size = 100031; // PB_OFFSET + MNM_ASK_SIZE 33 | int32 ask_orders = 154404; // PB_OFFSET + MNM_ASK_NO_OF_ORDERS 34 | int32 ask_implicit_size = 154868; // PB_OFFSET + MNM_ASK_IMPLICIT_SIZE 35 | string ask_time = 100267; 36 | 37 | double lean_price = 154909; // PB_OFFSET + MNM_LEAN_PRICE 38 | 39 | int32 ssboe = 150100; // PB_OFFSET + MNM_SECONDS_SINCE_BOE 40 | int32 usecs = 150101; // PB_OFFSET + MNM_USECS 41 | } -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/bracket_updates.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message BracketUpdates 6 | { 7 | // PB_OFFSET = 100000, is the offset added for each MNM field id 8 | 9 | int32 template_id = 154467; // PB_OFFSET + MNM_TEMPLATE_ID 10 | 11 | string fcm_id = 154013; // PB_OFFSET + MNM_FCM_ID 12 | string ib_id = 154014; // PB_OFFSET + MNM_IB_ID 13 | string account_id = 154008; // PB_OFFSET + MNM_ACCOUNT_ID 14 | string basket_id = 110300; // PB_OFFSET + MNM_BASKET_ID 15 | 16 | int32 stop_ticks = 154458; // PB_OFFSET + MNM_STOP_TICKS 17 | int32 stop_quantity = 154459; // PB_OFFSET + MNM_STOP_QUANTITY 18 | int32 stop_quantity_released = 154466; // PB_OFFSET + MNM_STOP_QUANTITY_RELEASED 19 | 20 | int32 target_ticks = 154456; // PB_OFFSET + MNM_TARGET_TICKS 21 | int32 target_quantity = 154457; // PB_OFFSET + MNM_TARGET_QUANTITY 22 | int32 target_quantity_released = 154460; // PB_OFFSET + MNM_TARGET_QUANTITY_RELEASED 23 | } 24 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/depth_by_order_end_event.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message DepthByOrderEndEvent 6 | { 7 | // PB_OFFSET = 100000 , is the offset added for each MNM field id 8 | 9 | int32 template_id = 154467; // PB_OFFSET + MNM_TEMPLATE_ID 10 | 11 | repeated string symbol = 110100; // PB_OFFSET + MNM_SYMBOL 12 | repeated string exchange = 110101; // PB_OFFSET + MNM_EXCHANGE 13 | uint64 sequence_number = 112002; // PB_OFFSET + MNM_SEQUENCE_NUMBER 14 | 15 | int32 ssboe = 150100; // PB_OFFSET + MNM_SECONDS_SINCE_BOE 16 | int32 usecs = 150101; // PB_OFFSET + MNM_USECS 17 | } 18 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/forced_logout.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message ForcedLogout 6 | { 7 | // PB_OFFSET = 100000 , is the offset added for each MNM field id 8 | 9 | int32 template_id = 154467; // PB_OFFSET + MNM_TEMPLATE_ID 10 | } 11 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/instrument_pnl_position_update.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message InstrumentPnLPositionUpdate 6 | { 7 | int32 template_id = 154467; 8 | bool is_snapshot = 110121; 9 | 10 | string fcm_id = 154013; 11 | string ib_id = 154014; 12 | string account_id = 154008; 13 | 14 | string symbol = 110100; 15 | string exchange = 110101; 16 | string product_code = 100749; 17 | string instrument_type = 110116; 18 | 19 | int32 fill_buy_qty = 154041; 20 | int32 fill_sell_qty = 154042; 21 | 22 | int32 order_buy_qty = 154037; 23 | int32 order_sell_qty = 154038; 24 | 25 | int32 buy_qty = 154260; 26 | int32 sell_qty = 154261; 27 | 28 | double avg_open_fill_price = 154434; 29 | 30 | double day_open_pnl = 157954; 31 | double day_closed_pnl = 157955; 32 | double day_pnl = 157956; 33 | double day_open_pnl_offset = 157957; 34 | double day_closed_pnl_offset = 157958; 35 | 36 | string mtm_security = 154263; 37 | string open_long_options_value = 157105; 38 | string open_short_options_value = 157106; 39 | string closed_options_value = 157107; 40 | string option_cash_reserved = 157111; 41 | 42 | string open_position_pnl = 156961; 43 | int32 open_position_quantity = 156962; 44 | string closed_position_pnl = 156963; 45 | 46 | int32 closed_position_quantity = 156964; 47 | int32 net_quantity = 156967; 48 | 49 | int32 ssboe = 150100; 50 | int32 usecs = 150101; 51 | } 52 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/order_book.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message OrderBook 6 | { 7 | // PB_OFFSET = 100000 , is the offset added for each MNM field id 8 | 9 | // below enum is just for reference only, not used in this message 10 | enum PresenceBits { 11 | PRESENCEBITS_UNSPECIFIED = 0; 12 | BID = 1; 13 | ASK = 2; 14 | } 15 | 16 | enum UpdateType { 17 | UPDATETYPE_UNSPECIFIED = 0; 18 | CLEAR_ORDER_BOOK = 1; 19 | NO_BOOK = 2; 20 | SNAPSHOT_IMAGE = 3; 21 | BEGIN = 4; 22 | MIDDLE = 5; 23 | END = 6; 24 | SOLO = 7; 25 | } 26 | 27 | int32 template_id = 154467; // PB_OFFSET + MNM_TEMPLATE_ID 28 | string symbol = 110100; // PB_OFFSET + MNM_SYMBOL 29 | string exchange = 110101; // PB_OFFSET + MNM_EXCHANGE 30 | 31 | uint32 presence_bits = 149138; // PB_OFFSET + MNM_PRICING_INDICATOR 32 | UpdateType update_type = 157608; // PB_OFFSET + MNM_MARKET_DEPTH_UPDATE_TYPE 33 | 34 | repeated double bid_price = 154282; // PB_OFFSET + MNM_MARKET_DEPTH_BID_PRICE 35 | repeated int32 bid_size = 154283; // PB_OFFSET + MNM_MARKET_DEPTH_BID_SIZE 36 | repeated int32 bid_orders = 154401; // PB_OFFSET + MNM_MARKET_DEPTH_BID_NO_OF_ORDERS 37 | repeated int32 impl_bid_size = 154412; // PB_OFFSET + MNM_MARKET_DEPTH_IMPLICIT_BID_SIZE 38 | 39 | repeated double ask_price = 154284; // PB_OFFSET + MNM_MARKET_DEPTH_ASK_PRICE 40 | repeated int32 ask_size = 154285; // PB_OFFSET + MNM_MARKET_DEPTH_ASK_SIZE 41 | repeated int32 ask_orders = 154402; // PB_OFFSET + MNM_MARKET_DEPTH_ASK_NO_OF_ORDERS 42 | repeated int32 impl_ask_size = 154415; // PB_OFFSET + MNM_MARKET_DEPTH_IMPLICIT_ASK_SIZE 43 | 44 | int32 ssboe = 150100; // PB_OFFSET + MNM_SECONDS_SINCE_BOE 45 | int32 usecs = 150101; // PB_OFFSET + MNM_USECS 46 | } 47 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/reject.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message Reject 6 | { 7 | // PB_OFFSET = 100000 , is the offset added for each MNM field id 8 | 9 | int32 template_id = 154467; // PB_OFFSET + MNM_TEMPLATE_ID 10 | repeated string user_msg = 132760; // PB_OFFSET + MNM_USER_MSG 11 | repeated string rp_code = 132766; // PB_OFFSET + MNM_RESPONSE_CODE 12 | } 13 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/request_account_list.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message RequestAccountList 6 | { 7 | // PB_OFFSET = 100000, is the offset added for each MNM field id 8 | 9 | enum UserType { 10 | USERTYPE_UNSPECIFIED = 0; 11 | USER_TYPE_FCM = 1; 12 | USER_TYPE_IB = 2; 13 | USER_TYPE_TRADER = 3; 14 | } 15 | 16 | int32 template_id = 154467; // PB_OFFSET + MNM_TEMPLATE_ID 17 | repeated string user_msg = 132760; // PB_OFFSET + MNM_USER_MSG 18 | 19 | string fcm_id = 154013; // PB_OFFSET + MNM_FCM_ID 20 | string ib_id = 154014; // PB_OFFSET + MNM_IB_ID 21 | UserType user_type = 154036; // PB_OFFSET + MNM_USER_TYPE 22 | } 23 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/request_account_rms_info.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message RequestAccountRmsInfo 6 | { 7 | // PB_OFFSET = 100000, is the offset added for each MNM field id 8 | 9 | enum UserType { 10 | USERTYPE_UNSPECIFIED = 0; 11 | USER_TYPE_FCM = 1; 12 | USER_TYPE_IB = 2; 13 | USER_TYPE_TRADER = 3; 14 | } 15 | 16 | int32 template_id = 154467; // PB_OFFSET + MNM_TEMPLATE_ID 17 | repeated string user_msg = 132760; // PB_OFFSET + MNM_USER_MSG 18 | 19 | string fcm_id = 154013; // PB_OFFSET + MNM_FCM_ID 20 | string ib_id = 154014; // PB_OFFSET + MNM_IB_ID 21 | UserType user_type = 154036; // PB_OFFSET + MNM_USER_TYPE 22 | } 23 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/request_cancel_all_orders.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message RequestCancelAllOrders 6 | { 7 | // PB_OFFSET = 100000, is the offset added for each MNM field id 8 | 9 | enum OrderPlacement { 10 | ORDERPLACEMENT_UNSPECIFIED = 0; 11 | MANUAL = 1; 12 | AUTO = 2; 13 | } 14 | 15 | 16 | enum UserType { 17 | USER_TYPE_ADMIN = 0; 18 | USER_TYPE_FCM = 1; 19 | USER_TYPE_IB = 2; 20 | USER_TYPE_TRADER = 3; 21 | } 22 | 23 | 24 | int32 template_id = 154467; // PB_OFFSET + MNM_TEMPLATE_ID 25 | repeated string user_msg = 132760; // PB_OFFSET + MNM_USER_MSG 26 | 27 | string fcm_id = 154013; // PB_OFFSET + MNM_FCM_ID 28 | string ib_id = 154014; // PB_OFFSET + MNM_IB_ID 29 | string account_id = 154008; // PB_OFFSET + MNM_ACCOUNT_ID 30 | 31 | UserType user_type = 154036; // PB_OFFSET + MNM_USER_TYPE 32 | OrderPlacement manual_or_auto = 154710; // PB_OFFSET + MNM_MANUAL_OR_AUTO 33 | } 34 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/request_cancel_order.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message RequestCancelOrder 6 | { 7 | enum OrderPlacement { 8 | ORDERPLACEMENT_UNSPECIFIED = 0; 9 | MANUAL = 1; 10 | AUTO = 2; 11 | } 12 | 13 | int32 template_id = 154467; 14 | repeated string user_msg = 132760; 15 | string window_name = 154629; 16 | 17 | string fcm_id = 154013; 18 | string ib_id = 154014; 19 | string account_id = 154008; 20 | string basket_id = 110300; 21 | 22 | OrderPlacement manual_or_auto = 154710; 23 | } 24 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/request_depth_by_order_snapshot.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message RequestDepthByOrderSnapshot 6 | { 7 | // PB_OFFSET = 100000, is the offset added for each MNM field id 8 | 9 | int32 template_id = 154467; // PB_OFFSET + MNM_TEMPLATE_ID 10 | repeated string user_msg = 132760; // PB_OFFSET + MNM_USER_MSG 11 | 12 | string symbol = 110100; // PB_OFFSET + MNM_SYMBOL 13 | string exchange = 110101; // PB_OFFSET + MNM_EXCHANGE 14 | double depth_price = 154405; // PB_OFFSET + MNM_MARKET_DEPTH_PRICE 15 | } 16 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/request_depth_by_order_updates.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message RequestDepthByOrderUpdates 6 | { 7 | // PB_OFFSET = 100000, is the offset added for each MNM field id 8 | 9 | enum Request { 10 | REQUEST_UNSPECIFIED = 0; 11 | SUBSCRIBE = 1; 12 | UNSUBSCRIBE = 2; 13 | } 14 | 15 | int32 template_id = 154467; // PB_OFFSET + MNM_TEMPLATE_ID 16 | repeated string user_msg = 132760; // PB_OFFSET + MNM_USER_MSG 17 | 18 | Request request = 100000; // PB_OFFSET + MNM_REQUEST 19 | 20 | string symbol = 110100; // PB_OFFSET + MNM_SYMBOL 21 | string exchange = 110101; // PB_OFFSET + MNM_EXCHANGE 22 | double depth_price = 154405; // PB_OFFSET + MNM_MARKET_DEPTH_PRICE 23 | } 24 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/request_exit_position.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message RequestExitPosition 6 | { 7 | enum OrderPlacement { 8 | UNSPECIFIED = 0; 9 | MANUAL = 1; 10 | AUTO = 2; 11 | } 12 | 13 | int32 template_id = 154467; 14 | repeated string user_msg = 132760; 15 | string window_name = 154629; 16 | 17 | string fcm_id = 154013; 18 | string ib_id = 154014; 19 | string account_id = 154008; 20 | 21 | string symbol = 110100; // optional field, if set, exchange field should also be set. 22 | string exchange = 110101; // optional field, if set, symbol field should also be set. 23 | string trading_algorithm = 154698; // optional field 24 | OrderPlacement manual_or_auto = 154710; // required field 25 | } 26 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/request_front_month_contract.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message RequestFrontMonthContract 6 | { 7 | // PB_OFFSET = 100000, is the offset added for each MNM field id 8 | 9 | int32 template_id = 154467; // PB_OFFSET + MNM_TEMPLATE_ID 10 | repeated string user_msg = 132760; // PB_OFFSET + MNM_USER_MSG 11 | string symbol = 110100; // PB_OFFSET + MNM_SYMBOL 12 | string exchange = 110101; // PB_OFFSET + MNM_EXCHANGE 13 | bool need_updates = 154352; // PB_OFFSET + MNM_SUBSCRIBE_FLAG 14 | } 15 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/request_heartbeat.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message RequestHeartbeat 6 | { 7 | // PB_OFFSET = 100000, is the offset added for each MNM field id 8 | 9 | int32 template_id = 154467; // PB_OFFSET + MNM_TEMPLATE_ID 10 | repeated string user_msg = 132760; // PB_OFFSET + MNM_USER_MSG 11 | 12 | int32 ssboe = 150100; // PB_OFFSET + MNM_SECONDS_SINCE_BOE 13 | int32 usecs = 150101; // PB_OFFSET + MNM_USECS 14 | } 15 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/request_list_exchange_permissions.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message RequestListExchangePermissions 6 | { 7 | // PB_OFFSET = 100000 , is the offset added for each MNM field id 8 | 9 | int32 template_id = 154467; // PB_OFFSET + MNM_TEMPLATE_ID 10 | repeated string user_msg = 132760; // PB_OFFSET + MNM_USER_MSG 11 | 12 | string user = 154220; // PB_OFFSET + MNM_USER_TARGET 13 | } 14 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/request_login.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message RequestLogin 6 | { 7 | enum SysInfraType { 8 | SYSINFRATYPE_UNSPECIFIED = 0; 9 | TICKER_PLANT = 1; 10 | ORDER_PLANT = 2; 11 | HISTORY_PLANT = 3; 12 | PNL_PLANT = 4; 13 | REPOSITORY_PLANT = 5; 14 | } 15 | 16 | int32 template_id = 154467; 17 | string template_version = 153634; 18 | repeated string user_msg = 132760; 19 | 20 | string user = 131003; 21 | string password = 130004; 22 | string app_name = 130002; 23 | string app_version = 131803; 24 | string system_name = 153628; 25 | SysInfraType infra_type = 153621; 26 | repeated string mac_addr = 144108; 27 | string os_version = 144021; 28 | string os_platform = 144020; 29 | bool aggregated_quotes = 153644; // applicable only for TICKER_PLANT infra_type 30 | } 31 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/request_login_info.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message RequestLoginInfo 6 | { 7 | // PB_OFFSET = 100000 , is the offset added for each MNM field id 8 | 9 | int32 template_id = 154467; // PB_OFFSET + MNM_TEMPLATE_ID 10 | repeated string user_msg = 132760; // PB_OFFSET + MNM_USER_MSG 11 | } 12 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/request_logout.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message RequestLogout 6 | { 7 | // PB_OFFSET = 100000 , is the offset added for each MNM field id 8 | 9 | int32 template_id = 154467; // PB_OFFSET + MNM_TEMPLATE_ID 10 | repeated string user_msg = 132760; // PB_OFFSET + MNM_USER_MSG 11 | } 12 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/request_market_data_update.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message RequestMarketDataUpdate 6 | { 7 | // update bits and Request enum defined here is also referred in request_subscribe_by_underlying.proto 8 | // make sure both these proto files are always same. 9 | 10 | // bit constants are defined using enum 11 | enum UpdateBits { 12 | UPDATEBITS_UNSPECIFIED = 0; 13 | LAST_TRADE = 1; 14 | BBO = 2; 15 | ORDER_BOOK = 4; 16 | OPEN = 8; 17 | OPENING_INDICATOR = 16; 18 | HIGH_LOW = 32; 19 | HIGH_BID_LOW_ASK = 64; 20 | CLOSE = 128; 21 | CLOSING_INDICATOR = 256; 22 | SETTLEMENT = 512; 23 | MARKET_MODE = 1024; 24 | OPEN_INTEREST = 2048; 25 | MARGIN_RATE = 4096; 26 | HIGH_PRICE_LIMIT = 8192; 27 | LOW_PRICE_LIMIT = 16384; 28 | PROJECTED_SETTLEMENT = 32768; 29 | ADJUSTED_CLOSE = 65536; 30 | } 31 | 32 | enum Request { 33 | REQUEST_UNSPECIFIED = 0; 34 | SUBSCRIBE = 1; 35 | UNSUBSCRIBE = 2; 36 | } 37 | 38 | int32 template_id = 154467; 39 | repeated string user_msg = 132760; 40 | 41 | string symbol = 110100; 42 | string exchange = 110101; 43 | Request request = 100000; 44 | uint32 update_bits = 154211; 45 | } 46 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/request_modify_order.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message RequestModifyOrder 6 | { 7 | enum PriceType { 8 | PRICETYPE_UNSPECIFIED = 0; 9 | LIMIT = 1; 10 | MARKET = 2; 11 | STOP_LIMIT = 3; 12 | STOP_MARKET = 4; 13 | MARKET_IF_TOUCHED = 5; 14 | LIMIT_IF_TOUCHED = 6; 15 | } 16 | 17 | enum PriceField { 18 | PRICEFIELD_UNSPECIFIED = 0; 19 | BID_PRICE = 1; 20 | OFFER_PRICE = 2; 21 | TRADE_PRICE = 3; 22 | LEAN_PRICE = 4; 23 | } 24 | 25 | enum Condition { 26 | CONDITION_UNSPECIFIED = 0; 27 | EQUAL_TO = 1; 28 | NOT_EQUAL_TO = 2; 29 | GREATER_THAN = 3; 30 | GREATER_THAN_EQUAL_TO = 4; 31 | LESSER_THAN = 5; 32 | LESSER_THAN_EQUAL_TO = 6; 33 | } 34 | 35 | enum OrderPlacement { 36 | ORDERPLACEMENT_UNSPECIFIED = 0; 37 | MANUAL = 1; 38 | AUTO = 2; 39 | } 40 | 41 | 42 | int32 template_id = 154467; 43 | repeated string user_msg = 132760; 44 | string window_name = 154629; 45 | 46 | string fcm_id = 154013; 47 | string ib_id = 154014; 48 | string account_id = 154008; 49 | string basket_id = 110300; 50 | 51 | string symbol = 110100; 52 | string exchange = 110101; 53 | 54 | int32 quantity = 112004; 55 | double price = 110306; 56 | double trigger_price = 149247; 57 | 58 | PriceType price_type = 112008; 59 | OrderPlacement manual_or_auto = 154710; 60 | 61 | string if_touched_symbol = 154451; 62 | string if_touched_exchange = 154452; 63 | Condition if_touched_condition = 154453; 64 | PriceField if_touched_price_field = 154454; 65 | double if_touched_price = 153632; 66 | } 67 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/request_pnl_position_snapshot.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message RequestPnLPositionSnapshot 6 | { 7 | // PB_OFFSET = 100000, is the offset added for each MNM field id 8 | 9 | int32 template_id = 154467; // PB_OFFSET + MNM_TEMPLATE_ID 10 | repeated string user_msg = 132760; // PB_OFFSET + MNM_USER_MSG 11 | 12 | string fcm_id = 154013; // PB_OFFSET + MNM_FCM_ID 13 | string ib_id = 154014; // PB_OFFSET + MNM_IB_ID 14 | string account_id = 154008; // PB_OFFSET + MNM_ACCOUNT_ID 15 | } 16 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/request_pnl_position_updates.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message RequestPnLPositionUpdates 6 | { 7 | // PB_OFFSET = 100000, is the offset added for each MNM field id 8 | 9 | enum Request { 10 | REQUEST_UNSPECIFIED = 0; 11 | SUBSCRIBE = 1; 12 | UNSUBSCRIBE = 2; 13 | } 14 | 15 | int32 template_id = 154467; // PB_OFFSET + MNM_TEMPLATE_ID 16 | repeated string user_msg = 132760; // PB_OFFSET + MNM_USER_MSG 17 | Request request = 100000; // PB_OFFSET + MNM_REQUEST 18 | 19 | string fcm_id = 154013; // PB_OFFSET + MNM_FCM_ID 20 | string ib_id = 154014; // PB_OFFSET + MNM_IB_ID 21 | string account_id = 154008; // PB_OFFSET + MNM_ACCOUNT_ID 22 | } 23 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/request_product_rms_info.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message RequestProductRmsInfo 6 | { 7 | // PB_OFFSET = 100000, is the offset added for each MNM field id 8 | 9 | int32 template_id = 154467; // PB_OFFSET + MNM_TEMPLATE_ID 10 | repeated string user_msg = 132760; // PB_OFFSET + MNM_USER_MSG 11 | 12 | string fcm_id = 154013; // PB_OFFSET + MNM_FCM_ID 13 | string ib_id = 154014; // PB_OFFSET + MNM_IB_ID 14 | string account_id = 154008; // PB_OFFSET + MNM_ACCOUNT_ID 15 | } 16 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/request_reference_data.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message RequestReferenceData 6 | { 7 | int32 template_id = 154467; 8 | repeated string user_msg = 132760; 9 | 10 | string symbol = 110100; 11 | string exchange = 110101; 12 | } -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/request_rithmic_system_info.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message RequestRithmicSystemInfo 6 | { 7 | int32 template_id = 154467; 8 | repeated string user_msg = 132760; 9 | } 10 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/request_search_symbols.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message RequestSearchSymbols 6 | { 7 | // PB_OFFSET = 100000, is the offset added for each MNM field id 8 | 9 | enum Pattern { 10 | PATTERN_UNSPECIFIED = 0; 11 | EQUALS = 1; 12 | CONTAINS = 2; 13 | } 14 | 15 | enum InstrumentType { 16 | INSTRUMENTTYPE_UNSPECIFIED = 0; 17 | FUTURE = 1; 18 | FUTURE_OPTION = 2; 19 | FUTURE_STRATEGY = 3; 20 | EQUITY = 4; 21 | EQUITY_OPTION = 5; 22 | EQUITY_STRATEGY = 6; 23 | INDEX = 7; 24 | INDEX_OPTION = 8; 25 | SPREAD = 9; 26 | SYNTHETIC = 10; 27 | } 28 | 29 | int32 template_id = 154467; // PB_OFFSET + MNM_TEMPLATE_ID 30 | repeated string user_msg = 132760; // PB_OFFSET + MNM_USER_MSG 31 | 32 | string search_text = 120008; // PB_OFFSET + MNM_TEXT 33 | string exchange = 110101; // PB_OFFSET + MNM_EXCHANGE 34 | string product_code = 100749; // PB_OFFSET + MNM_PRODUCT_CODE 35 | InstrumentType instrument_type = 110116; // PB_OFFSET + MNM_INSTRUMENT_TYPE 36 | Pattern pattern = 155008; // PB_OFFSET + MNM_SEARCH_PATTERN 37 | } 38 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/request_show_bracket_stops.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message RequestShowBracketStops 6 | { 7 | // PB_OFFSET = 100000, is the offset added for each MNM field id 8 | 9 | int32 template_id = 154467; // PB_OFFSET + MNM_TEMPLATE_ID 10 | repeated string user_msg = 132760; // PB_OFFSET + MNM_USER_MSG 11 | 12 | string fcm_id = 154013; // PB_OFFSET + MNM_FCM_ID 13 | string ib_id = 154014; // PB_OFFSET + MNM_IB_ID 14 | string account_id = 154008; // PB_OFFSET + MNM_ACCOUNT_ID 15 | } 16 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/request_show_brackets.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message RequestShowBrackets 6 | { 7 | // PB_OFFSET = 100000, is the offset added for each MNM field id 8 | 9 | int32 template_id = 154467; // PB_OFFSET + MNM_TEMPLATE_ID 10 | repeated string user_msg = 132760; // PB_OFFSET + MNM_USER_MSG 11 | 12 | string fcm_id = 154013; // PB_OFFSET + MNM_FCM_ID 13 | string ib_id = 154014; // PB_OFFSET + MNM_IB_ID 14 | string account_id = 154008; // PB_OFFSET + MNM_ACCOUNT_ID 15 | } 16 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/request_show_order_history_dates.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message RequestShowOrderHistoryDates 6 | { 7 | // PB_OFFSET = 100000 , is the offset added for each MNM field id 8 | 9 | int32 template_id = 154467; // PB_OFFSET + MNM_TEMPLATE_ID 10 | repeated string user_msg = 132760; // PB_OFFSET + MNM_USER_MSG 11 | } 12 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/request_show_order_history_detail.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message RequestShowOrderHistoryDetail 6 | { 7 | // PB_OFFSET = 100000, is the offset added for each MNM field id 8 | 9 | int32 template_id = 154467; // PB_OFFSET + MNM_TEMPLATE_ID 10 | repeated string user_msg = 132760; // PB_OFFSET + MNM_USER_MSG 11 | 12 | string fcm_id = 154013; // PB_OFFSET + MNM_FCM_ID 13 | string ib_id = 154014; // PB_OFFSET + MNM_IB_ID 14 | string account_id = 154008; // PB_OFFSET + MNM_ACCOUNT_ID 15 | string basket_id = 110300; // PB_OFFSET + MNM_BASKET_ID 16 | string date = 110615; // PB_OFFSET + MNM_DATE 17 | } 18 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/request_show_order_history_summary.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message RequestShowOrderHistorySummary 6 | { 7 | // PB_OFFSET = 100000, is the offset added for each MNM field id 8 | 9 | int32 template_id = 154467; // PB_OFFSET + MNM_TEMPLATE_ID 10 | repeated string user_msg = 132760; // PB_OFFSET + MNM_USER_MSG 11 | 12 | string fcm_id = 154013; // PB_OFFSET + MNM_FCM_ID 13 | string ib_id = 154014; // PB_OFFSET + MNM_IB_ID 14 | string account_id = 154008; // PB_OFFSET + MNM_ACCOUNT_ID 15 | string date = 110615; // PB_OFFSET + MNM_DATE 16 | } 17 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/request_show_orders.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message RequestShowOrders 6 | { 7 | // PB_OFFSET = 100000, is the offset added for each MNM field id 8 | 9 | int32 template_id = 154467; // PB_OFFSET + MNM_TEMPLATE_ID 10 | repeated string user_msg = 132760; // PB_OFFSET + MNM_USER_MSG 11 | 12 | string fcm_id = 154013; // PB_OFFSET + MNM_FCM_ID 13 | string ib_id = 154014; // PB_OFFSET + MNM_IB_ID 14 | string account_id = 154008; // PB_OFFSET + MNM_ACCOUNT_ID 15 | } 16 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/request_subscribe_for_order_updates.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message RequestSubscribeForOrderUpdates 6 | { 7 | // PB_OFFSET = 100000, is the offset added for each MNM field id 8 | 9 | int32 template_id = 154467; // PB_OFFSET + MNM_TEMPLATE_ID 10 | repeated string user_msg = 132760; // PB_OFFSET + MNM_USER_MSG 11 | 12 | string fcm_id = 154013; // PB_OFFSET + MNM_FCM_ID 13 | string ib_id = 154014; // PB_OFFSET + MNM_IB_ID 14 | string account_id = 154008; // PB_OFFSET + MNM_ACCOUNT_ID 15 | } 16 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/request_subscribe_to_bracket_updates.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message RequestSubscribeToBracketUpdates 6 | { 7 | // PB_OFFSET = 100000, is the offset added for each MNM field id 8 | 9 | int32 template_id = 154467; // PB_OFFSET + MNM_TEMPLATE_ID 10 | repeated string user_msg = 132760; // PB_OFFSET + MNM_USER_MSG 11 | 12 | string fcm_id = 154013; // PB_OFFSET + MNM_FCM_ID 13 | string ib_id = 154014; // PB_OFFSET + MNM_IB_ID 14 | string account_id = 154008; // PB_OFFSET + MNM_ACCOUNT_ID 15 | } 16 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/request_tick_bar_replay.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message RequestTickBarReplay 6 | { 7 | enum BarType { 8 | BARTYPE_UNSPECIFIED = 0; 9 | TICK_BAR = 1; 10 | RANGE_BAR = 2; 11 | VOLUME_BAR = 3; 12 | } 13 | 14 | enum BarSubType { 15 | BARSUBTYPE_UNSPECIFIED = 0; 16 | REGULAR = 1; 17 | CUSTOM = 2; 18 | } 19 | 20 | enum Direction { 21 | DIRECTION_UNSPECIFIED = 0; 22 | FIRST = 1; 23 | LAST = 2; 24 | } 25 | 26 | enum TimeOrder { 27 | TIMEORDER_UNSPECIFIED = 0; 28 | FORWARDS = 1; 29 | BACKWARDS = 2; 30 | } 31 | 32 | 33 | int32 template_id = 154467; 34 | repeated string user_msg = 132760; 35 | 36 | string symbol = 110100; 37 | string exchange = 110101; 38 | BarType bar_type = 119200; 39 | BarSubType bar_sub_type = 119208; 40 | string bar_type_specifier = 148162; 41 | 42 | int32 start_index = 153002; 43 | int32 finish_index = 153003; 44 | int32 user_max_count = 154020; 45 | 46 | int32 custom_session_open_ssm = 119209; 47 | int32 custom_session_close_ssm = 119210; 48 | 49 | Direction direction = 149253; 50 | TimeOrder time_order = 149307; 51 | 52 | bool resume_bars = 153642; 53 | } 54 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/request_tick_bar_update.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message RequestTickBarUpdate 6 | { 7 | // PB_OFFSET = 100000, is the offset added for each MNM field id 8 | 9 | enum BarType { 10 | BARTYPE_UNSPECIFIED = 0; 11 | TICK_BAR = 1; 12 | RANGE_BAR = 2; 13 | VOLUME_BAR = 3; 14 | } 15 | 16 | enum BarSubType { 17 | BARSUBTYPE_UNSPECIFIED = 0; 18 | REGULAR = 1; 19 | CUSTOM = 2; 20 | } 21 | 22 | enum Request { 23 | REQUEST_UNSPECIFIED = 0; 24 | SUBSCRIBE = 1; 25 | UNSUBSCRIBE = 2; 26 | } 27 | 28 | int32 template_id = 154467; // PB_OFFSET + MNM_TEMPLATE_ID 29 | repeated string user_msg = 132760; // PB_OFFSET + MNM_USER_MSG 30 | 31 | string symbol = 110100; // PB_OFFSET + MNM_SYMBOL 32 | string exchange = 110101; // PB_OFFSET + MNM_EXCHANGE 33 | Request request = 100000; // PB_OFFSET + MNM_REQUEST 34 | BarType bar_type = 119200; // PB_OFFSET + MNM_DATA_BAR_TYPE 35 | BarSubType bar_sub_type = 119208; // PB_OFFSET + MNM_DATA_BAR_SUB_TYPE 36 | string bar_type_specifier = 148162; // PB_OFFSET + MNM_CATEGORY_SPECIFIC_INFO 37 | int32 custom_session_open_ssm = 119209; // PB_OFFSET + MNM_CUSTOM_SESSION_OPEN_SSM 38 | int32 custom_session_close_ssm = 119210; // PB_OFFSET + MNM_CUSTOM_SESSION_CLOSE_SSM 39 | } 40 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/request_time_bar_replay.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message RequestTimeBarReplay 6 | { 7 | enum BarType { 8 | BARTYPE_UNSPECIFIED = 0; 9 | SECOND_BAR = 1; 10 | MINUTE_BAR = 2; 11 | DAILY_BAR = 3; 12 | WEEKLY_BAR = 4; 13 | } 14 | 15 | enum Direction { 16 | DIRECTION_UNSPECIFIED = 0; 17 | FIRST = 1; 18 | LAST = 2; 19 | } 20 | 21 | enum TimeOrder { 22 | TIMEORDER_UNSPECIFIED = 0; 23 | FORWARDS = 1; 24 | BACKWARDS = 2; 25 | } 26 | 27 | 28 | int32 template_id = 154467; 29 | repeated string user_msg = 132760; 30 | 31 | string symbol = 110100; 32 | string exchange = 110101; 33 | BarType bar_type = 119200; 34 | 35 | int32 bar_type_period = 119112; 36 | int32 start_index = 153002; 37 | int32 finish_index = 153003; 38 | int32 user_max_count = 154020; 39 | 40 | Direction direction = 149253; 41 | TimeOrder time_order = 149307; 42 | 43 | bool resume_bars = 153642; 44 | } 45 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/request_time_bar_update.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message RequestTimeBarUpdate 6 | { 7 | // PB_OFFSET = 100000, is the offset added for each MNM field id 8 | 9 | enum BarType { 10 | BARTYPE_UNSPECIFIED = 0; 11 | SECOND_BAR = 1; 12 | MINUTE_BAR = 2; 13 | DAILY_BAR = 3; 14 | WEEKLY_BAR = 4; 15 | } 16 | 17 | enum Request { 18 | REQUEST_UNSPECIFIED = 0; 19 | SUBSCRIBE = 1; 20 | UNSUBSCRIBE = 2; 21 | } 22 | 23 | int32 template_id = 154467; // PB_OFFSET + MNM_TEMPLATE_ID 24 | repeated string user_msg = 132760; // PB_OFFSET + MNM_USER_MSG 25 | 26 | string symbol = 110100; // PB_OFFSET + MNM_SYMBOL 27 | string exchange = 110101; // PB_OFFSET + MNM_EXCHANGE 28 | Request request = 100000; // PB_OFFSET + MNM_REQUEST 29 | BarType bar_type = 119200; // PB_OFFSET + MNM_DATA_BAR_TYPE 30 | int32 bar_type_period = 119112; // PB_OFFSET + MNM_TIME_BAR_PERIOD 31 | } 32 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/request_trade_routes.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message RequestTradeRoutes 6 | { 7 | // PB_OFFSET = 100000, is the offset added for each MNM field id 8 | 9 | int32 template_id = 154467; // PB_OFFSET + MNM_TEMPLATE_ID 10 | repeated string user_msg = 132760; // PB_OFFSET + MNM_USER_MSG 11 | bool subscribe_for_updates = 154352; // PB_OFFSET + MNM_SUBSCRIBE_FLAG 12 | } 13 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/request_update_stop_bracket_level.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message RequestUpdateStopBracketLevel 6 | { 7 | // PB_OFFSET = 100000, is the offset added for each MNM field id 8 | 9 | int32 template_id = 154467; // PB_OFFSET + MNM_TEMPLATE_ID 10 | repeated string user_msg = 132760; // PB_OFFSET + MNM_USER_MSG 11 | 12 | string fcm_id = 154013; // PB_OFFSET + MNM_FCM_ID 13 | string ib_id = 154014; // PB_OFFSET + MNM_IB_ID 14 | string account_id = 154008; // PB_OFFSET + MNM_ACCOUNT_ID 15 | 16 | string basket_id = 110300; // PB_OFFSET + MNM_BASKET_ID 17 | int32 level = 154244; // PB_OFFSET + MNM_LEVEL 18 | int32 stop_ticks = 154458; // PB_OFFSET + MNM_STOP_TICKS 19 | } 20 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/request_update_target_bracket_level.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message RequestUpdateTargetBracketLevel 6 | { 7 | // PB_OFFSET = 100000, is the offset added for each MNM field id 8 | 9 | int32 template_id = 154467; // PB_OFFSET + MNM_TEMPLATE_ID 10 | repeated string user_msg = 132760; // PB_OFFSET + MNM_USER_MSG 11 | 12 | string fcm_id = 154013; // PB_OFFSET + MNM_FCM_ID 13 | string ib_id = 154014; // PB_OFFSET + MNM_IB_ID 14 | string account_id = 154008; // PB_OFFSET + MNM_ACCOUNT_ID 15 | 16 | string basket_id = 110300; // PB_OFFSET + MNM_BASKET_ID 17 | int32 level = 154244; // PB_OFFSET + MNM_LEVEL 18 | int32 target_ticks = 154456; // PB_OFFSET + MNM_TARGET_TICKS 19 | } 20 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/response_account_list.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message ResponseAccountList 6 | { 7 | int32 template_id = 154467; 8 | repeated string user_msg = 132760; 9 | repeated string rq_handler_rp_code = 132764; 10 | repeated string rp_code = 132766; 11 | 12 | string fcm_id = 154013; 13 | string ib_id = 154014; 14 | string account_id = 154008; 15 | string account_name = 154002; 16 | string account_currency = 154383; 17 | string account_auto_liquidate = 131035; 18 | string auto_liq_threshold_current_value = 131040; 19 | } 20 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/response_bracket_order.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message ResponseBracketOrder 6 | { 7 | // PB_OFFSET = 100000, is the offset added for each MNM field id 8 | 9 | int32 template_id = 154467; // PB_OFFSET + MNM_TEMPLATE_ID 10 | repeated string user_msg = 132760; // PB_OFFSET + MNM_USER_MSG 11 | string user_tag = 154119; // PB_OFFSET + MNM_USER_ORIGIN 12 | repeated string rq_handler_rp_code = 132764; // PB_OFFSET + MNM_REQUEST_HANDLER_RESPONSE_CODE 13 | repeated string rp_code = 132766; // PB_OFFSET + MNM_RESPONSE_CODE 14 | 15 | string basket_id = 110300; // PB_OFFSET + MNM_BASKET_ID 16 | 17 | int32 ssboe = 150100; // PB_OFFSET + MNM_SECONDS_SINCE_BOE 18 | int32 usecs = 150101; // PB_OFFSET + MNM_USECS 19 | } 20 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/response_cancel_all_orders.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message ResponseCancelAllOrders 6 | { 7 | // PB_OFFSET = 100000, is the offset added for each MNM field id 8 | 9 | int32 template_id = 154467; // PB_OFFSET + MNM_TEMPLATE_ID 10 | repeated string user_msg = 132760; // PB_OFFSET + MNM_USER_MSG 11 | repeated string rp_code = 132766; // PB_OFFSET + MNM_RESPONSE_CODE 12 | } 13 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/response_cancel_order.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message ResponseCancelOrder 6 | { 7 | // PB_OFFSET = 100000, is the offset added for each MNM field id 8 | 9 | int32 template_id = 154467; // PB_OFFSET + MNM_TEMPLATE_ID 10 | repeated string user_msg = 132760; // PB_OFFSET + MNM_USER_MSG 11 | repeated string rq_handler_rp_code = 132764; // PB_OFFSET + MNM_REQUEST_HANDLER_RESPONSE_CODE 12 | repeated string rp_code = 132766; // PB_OFFSET + MNM_RESPONSE_CODE 13 | 14 | string basket_id = 110300; // PB_OFFSET + MNM_BASKET_ID 15 | 16 | int32 ssboe = 150100; // PB_OFFSET + MNM_SECONDS_SINCE_BOE 17 | int32 usecs = 150101; // PB_OFFSET + MNM_USECS 18 | } 19 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/response_depth_by_order_snapshot.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message ResponseDepthByOrderSnapshot 6 | { 7 | // PB_OFFSET = 100000, is the offset added for each MNM field id 8 | 9 | enum TransactionType { 10 | TRANSACTIONTYPE_UNSPECIFIED = 0; 11 | BUY = 1; 12 | SELL = 2; 13 | } 14 | 15 | int32 template_id = 154467; // PB_OFFSET + MNM_TEMPLATE_ID 16 | repeated string user_msg = 132760; // PB_OFFSET + MNM_USER_MSG 17 | repeated string rq_handler_rp_code = 132764; // PB_OFFSET + MNM_REQUEST_HANDLER_RESPONSE_CODE 18 | repeated string rp_code = 132766; // PB_OFFSET + MNM_RESPONSE_CODE 19 | 20 | string exchange = 110101; // PB_OFFSET + MNM_EXCHANGE 21 | string symbol = 110100; // PB_OFFSET + MNM_SYMBOL 22 | uint64 sequence_number = 112002; // PB_OFFSET + MNM_SEQUENCE_NUMBER 23 | 24 | TransactionType depth_side = 153612; // PB_OFFSET + MNM_MARKET_DEPTH_SIDE 25 | double depth_price = 154405; // PB_OFFSET + MNM_MARKET_DEPTH_PRICE 26 | repeated int32 depth_size = 154406; // PB_OFFSET + MNM_MARKET_DEPTH_SIZE 27 | repeated uint64 depth_order_priority = 153613; // PB_OFFSET + MNM_MARKET_DEPTH_ORDER_PRIORITY 28 | repeated string exchange_order_id = 149238; // PB_OFFSET + MNM_EXCH_ORD_ID 29 | } 30 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/response_depth_by_order_updates.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message ResponseDepthByOrderUpdates 6 | { 7 | // PB_OFFSET = 100000, is the offset added for each MNM field id 8 | 9 | int32 template_id = 154467; // PB_OFFSET + MNM_TEMPLATE_ID 10 | repeated string user_msg = 132760; // PB_OFFSET + MNM_USER_MSG 11 | repeated string rp_code = 132766; // PB_OFFSET + MNM_RESPONSE_CODE 12 | } 13 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/response_exit_position.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message ResponseExitPosition 6 | { 7 | int32 template_id = 154467; 8 | repeated string user_msg = 132760; 9 | 10 | repeated string rq_handler_rp_code = 132764; 11 | repeated string rp_code = 132766; 12 | 13 | string symbol = 110100; 14 | string exchange = 110101; 15 | } 16 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/response_front_month_contract.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message ResponseFrontMonthContract 6 | { 7 | // PB_OFFSET = 100000, is the offset added for each MNM field id 8 | 9 | int32 template_id = 154467; // PB_OFFSET + MNM_TEMPLATE_ID 10 | repeated string user_msg = 132760; // PB_OFFSET + MNM_USER_MSG 11 | repeated string rp_code = 132766; // PB_OFFSET + MNM_RESPONSE_CODE 12 | 13 | string symbol = 110100; // PB_OFFSET + MNM_SYMBOL 14 | string exchange = 110101; // PB_OFFSET + MNM_EXCHANGE 15 | 16 | bool is_front_month_symbol = 149166; // PB_OFFSET + MNM_STATUS_INDICATOR 17 | string symbol_name = 100003; // PB_OFFSET + MNM_SYMBOL_NAME 18 | string trading_symbol = 157095; // PB_OFFSET + MNM_TRADING_SYMBOL 19 | string trading_exchange = 157096; // PB_OFFSET + MNM_TRADING_EXCHANGE 20 | } 21 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/response_heartbeat.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message ResponseHeartbeat 6 | { 7 | // PB_OFFSET = 100000, is the offset added for each MNM field id 8 | 9 | int32 template_id = 154467; // PB_OFFSET + MNM_TEMPLATE_ID 10 | repeated string user_msg = 132760; // PB_OFFSET + MNM_USER_MSG 11 | repeated string rp_code = 132766; // PB_OFFSET + MNM_RESPONSE_CODE 12 | 13 | int32 ssboe = 150100; // PB_OFFSET + MNM_SECONDS_SINCE_BOE 14 | int32 usecs = 150101; // PB_OFFSET + MNM_USECS 15 | } 16 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/response_list_exchange_permissions.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message ResponseListExchangePermissions 6 | { 7 | // PB_OFFSET = 100000, is the offset added for each MNM field id 8 | 9 | enum EntitlementFlag { 10 | UNSPECIFIED = 0; 11 | ENABLED = 1; 12 | DISABLED = 2; 13 | } 14 | 15 | int32 template_id = 154467; // PB_OFFSET + MNM_TEMPLATE_ID 16 | repeated string user_msg = 132760; // PB_OFFSET + MNM_USER_MSG 17 | repeated string rq_handler_rp_code = 132764; // PB_OFFSET + MNM_REQUEST_HANDLER_RESPONSE_CODE 18 | repeated string rp_code = 132766; // PB_OFFSET + MNM_RESPONSE_CODE 19 | 20 | string exchange = 110101; // PB_OFFSET + MNM_EXCHANGE 21 | EntitlementFlag entitlement_flag = 153400; // PB_OFFSET + MNM_ENTITLEMENT_FLAG 22 | } 23 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/response_login.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message ResponseLogin 6 | { 7 | int32 template_id = 154467; 8 | string template_version = 153634; 9 | repeated string user_msg = 132760; 10 | repeated string rp_code = 132766; 11 | 12 | string fcm_id = 154013; 13 | string ib_id = 154014; 14 | string country_code = 154712; 15 | string state_code = 154713; 16 | 17 | string unique_user_id = 153428; 18 | double heartbeat_interval = 153633; 19 | } 20 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/response_login_info.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message ResponseLoginInfo 6 | { 7 | // PB_OFFSET = 100000, is the offset added for each MNM field id 8 | 9 | enum UserType { 10 | USER_TYPE_ADMIN = 0; 11 | USER_TYPE_FCM = 1; 12 | USER_TYPE_IB = 2; 13 | USER_TYPE_TRADER = 3; 14 | } 15 | 16 | int32 template_id = 154467; // PB_OFFSET + MNM_TEMPLATE_ID 17 | repeated string user_msg = 132760; // PB_OFFSET + MNM_USER_MSG 18 | repeated string rp_code = 132766; // PB_OFFSET + MNM_RESPONSE_CODE 19 | 20 | string fcm_id = 154013; // PB_OFFSET + MNM_FCM_ID 21 | string ib_id = 154014; // PB_OFFSET + MNM_IB_ID 22 | string first_name = 154216; // PB_OFFSET + MNM_FIRST_NAME 23 | string last_name = 154217; // PB_OFFSET + MNM_LAST_NAME 24 | UserType user_type = 154036; // PB_OFFSET + MNM_USER_TYPE 25 | } 26 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/response_logout.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message ResponseLogout 6 | { 7 | // PB_OFFSET = 100000 , is the offset added for each MNM field id 8 | 9 | int32 template_id = 154467; // PB_OFFSET + MNM_TEMPLATE_ID 10 | repeated string user_msg = 132760; // PB_OFFSET + MNM_USER_MSG 11 | repeated string rp_code = 132766; // PB_OFFSET + MNM_RESPONSE_CODE 12 | } 13 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/response_market_data_update.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message ResponseMarketDataUpdate 6 | { 7 | int32 template_id = 154467; 8 | repeated string user_msg = 132760; 9 | repeated string rp_code = 132766; 10 | } 11 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/response_modify_order.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message ResponseModifyOrder 6 | { 7 | // PB_OFFSET = 100000, is the offset added for each MNM field id 8 | 9 | int32 template_id = 154467; // PB_OFFSET + MNM_TEMPLATE_ID 10 | repeated string user_msg = 132760; // PB_OFFSET + MNM_USER_MSG 11 | repeated string rq_handler_rp_code = 132764; // PB_OFFSET + MNM_REQUEST_HANDLER_RESPONSE_CODE 12 | repeated string rp_code = 132766; // PB_OFFSET + MNM_RESPONSE_CODE 13 | 14 | string basket_id = 110300; // PB_OFFSET + MNM_BASKET_ID 15 | 16 | int32 ssboe = 150100; // PB_OFFSET + MNM_SECONDS_SINCE_BOE 17 | int32 usecs = 150101; // PB_OFFSET + MNM_USECS 18 | } 19 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/response_new_order.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message ResponseNewOrder 6 | { 7 | // PB_OFFSET = 100000, is the offset added for each MNM field id 8 | 9 | int32 template_id = 154467; // PB_OFFSET + MNM_TEMPLATE_ID 10 | repeated string user_msg = 132760; // PB_OFFSET + MNM_USER_MSG 11 | string user_tag = 154119; // PB_OFFSET + MNM_USER_ORIGIN 12 | repeated string rq_handler_rp_code = 132764; // PB_OFFSET + MNM_REQUEST_HANDLER_RESPONSE_CODE 13 | repeated string rp_code = 132766; // PB_OFFSET + MNM_RESPONSE_CODE 14 | 15 | string basket_id = 110300; // PB_OFFSET + MNM_BASKET_ID 16 | 17 | int32 ssboe = 150100; // PB_OFFSET + MNM_SECONDS_SINCE_BOE 18 | int32 usecs = 150101; // PB_OFFSET + MNM_USECS 19 | } 20 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/response_pnl_position_snapshot.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message ResponsePnLPositionSnapshot 6 | { 7 | // PB_OFFSET = 100000, is the offset added for each MNM field id 8 | 9 | int32 template_id = 154467; // PB_OFFSET + MNM_TEMPLATE_ID 10 | repeated string user_msg = 132760; // PB_OFFSET + MNM_USER_MSG 11 | repeated string rp_code = 132766; // PB_OFFSET + MNM_RESPONSE_CODE 12 | } 13 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/response_pnl_position_updates.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message ResponsePnLPositionUpdates 6 | { 7 | // PB_OFFSET = 100000, is the offset added for each MNM field id 8 | 9 | int32 template_id = 154467; // PB_OFFSET + MNM_TEMPLATE_ID 10 | repeated string user_msg = 132760; // PB_OFFSET + MNM_USER_MSG 11 | repeated string rp_code = 132766; // PB_OFFSET + MNM_RESPONSE_CODE 12 | } 13 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/response_product_rms_info.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message ResponseProductRmsInfo 6 | { 7 | // PB_OFFSET = 100000, is the offset added for each MNM field id 8 | 9 | // below enum is just for reference only, not used in this message 10 | enum PresenceBits { 11 | PRESENCE_BITS_UNSPECIFIED = 0; 12 | BUY_LIMIT = 1; 13 | SELL_LIMIT = 2; 14 | LOSS_LIMIT = 4; 15 | MAX_ORDER_QUANTITY = 8; 16 | BUY_MARGIN_RATE = 16; 17 | SELL_MARGIN_RATE = 32; 18 | COMMISSION_FILL_RATE = 64; 19 | } 20 | 21 | int32 template_id = 154467; // PB_OFFSET + MNM_TEMPLATE_ID 22 | repeated string user_msg = 132760; // PB_OFFSET + MNM_USER_MSG 23 | repeated string rq_handler_rp_code = 132764; // PB_OFFSET + MNM_REQUEST_HANDLER_RESPONSE_CODE 24 | repeated string rp_code = 132766; // PB_OFFSET + MNM_RESPONSE_CODE 25 | 26 | uint32 presence_bits = 153622; // PB_OFFSET + MNM_FIELD_PRESENCE_BITS 27 | 28 | string fcm_id = 154013; // PB_OFFSET + MNM_FCM_ID 29 | string ib_id = 154014; // PB_OFFSET + MNM_IB_ID 30 | string account_id = 154008; // PB_OFFSET + MNM_ACCOUNT_ID 31 | string product_code = 100749; // PB_OFFSET + MNM_PRODUCT_CODE 32 | 33 | double loss_limit = 154019; // PB_OFFSET + MNM_LOSS_LIMIT 34 | double commission_fill_rate = 156969; // PB_OFFSET + MNM_COMMISSION_FILL_RATE 35 | double buy_margin_rate = 157003; // PB_OFFSET + MNM_BUY_MARGIN_RATE 36 | double sell_margin_rate = 157004; // PB_OFFSET + MNM_SELL_MARGIN_RATE 37 | 38 | int32 buy_limit = 154009; // PB_OFFSET + MNM_BUY_LIMIT 39 | int32 max_order_quantity = 110105; // PB_OFFSET + MNM_MAX_LIMIT_QUAN 40 | int32 sell_limit = 154035; // PB_OFFSET + MNM_SELL_LIMIT 41 | } 42 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/response_rithmic_system_info.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message ResponseRithmicSystemInfo 6 | { 7 | int32 template_id = 154467; 8 | repeated string user_msg = 132760; 9 | repeated string rp_code = 132766; 10 | 11 | repeated string system_name = 153628; 12 | repeated bool has_aggregated_quotes = 153649; 13 | } 14 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/response_search_symbols.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message ResponseSearchSymbols 6 | { 7 | // PB_OFFSET = 100000, is the offset added for each MNM field id 8 | 9 | int32 template_id = 154467; // PB_OFFSET + MNM_TEMPLATE_ID 10 | repeated string user_msg = 132760; // PB_OFFSET + MNM_USER_MSG 11 | repeated string rq_handler_rp_code = 132764; // PB_OFFSET + MNM_REQUEST_HANDLER_RESPONSE_CODE 12 | repeated string rp_code = 132766; // PB_OFFSET + MNM_RESPONSE_CODE 13 | 14 | string symbol = 110100; // PB_OFFSET + MNM_SYMBOL 15 | string exchange = 110101; // PB_OFFSET + MNM_EXCHANGE 16 | string symbol_name = 100003; // PB_OFFSET + MNM_SYMBOL_NAME 17 | string product_code = 100749; // PB_OFFSET + MNM_PRODUCT_CODE 18 | string instrument_type = 110116; // PB_OFFSET + MNM_INSTRUMENT_TYPE 19 | string expiration_date = 100067; // PB_OFFSET + MNM_EXPIRATION_DATE 20 | } 21 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/response_show_bracket_stops.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message ResponseShowBracketStops 6 | { 7 | // PB_OFFSET = 100000, is the offset added for each MNM field id 8 | 9 | int32 template_id = 154467; // PB_OFFSET + MNM_TEMPLATE_ID 10 | repeated string user_msg = 132760; // PB_OFFSET + MNM_USER_MSG 11 | repeated string rq_handler_rp_code = 132764; // PB_OFFSET + MNM_REQUEST_HANDLER_RESPONSE_CODE 12 | repeated string rp_code = 132766; // PB_OFFSET + MNM_RESPONSE_CODE 13 | 14 | string basket_id = 110300; // PB_OFFSET + MNM_BASKET_ID 15 | string stop_quantity = 154459; // PB_OFFSET + MNM_STOP_QUANTITY 16 | string stop_quantity_released = 154466; // PB_OFFSET + MNM_STOP_QUANTITY_RELEASED 17 | string stop_ticks = 154458; // PB_OFFSET + MNM_STOP_TICKS 18 | string bracket_trailing_field_id = 157062; // PB_OFFSET + MNM_BRACKET_TRAILING_FIELD_ID 19 | string trailing_stop_trigger_ticks = 157124; // PB_OFFSET + MNM_TRAILING_STOP_TRIGGER_TICKS 20 | } 21 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/response_show_brackets.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message ResponseShowBrackets 6 | { 7 | // PB_OFFSET = 100000, is the offset added for each MNM field id 8 | 9 | int32 template_id = 154467; // PB_OFFSET + MNM_TEMPLATE_ID 10 | repeated string user_msg = 132760; // PB_OFFSET + MNM_USER_MSG 11 | repeated string rq_handler_rp_code = 132764; // PB_OFFSET + MNM_REQUEST_HANDLER_RESPONSE_CODE 12 | repeated string rp_code = 132766; // PB_OFFSET + MNM_RESPONSE_CODE 13 | 14 | string basket_id = 110300; // PB_OFFSET + MNM_BASKET_ID 15 | string target_quantity = 154457; // PB_OFFSET + MNM_TARGET_QUANTITY 16 | string target_quantity_released = 154460; // PB_OFFSET + MNM_TARGET_QUANTITY_RELEASED 17 | string target_ticks = 154456; // PB_OFFSET + MNM_TARGET_TICKS 18 | } 19 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/response_show_order_history_dates.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message ResponseShowOrderHistoryDates 6 | { 7 | // PB_OFFSET = 100000, is the offset added for each MNM field id 8 | 9 | int32 template_id = 154467; // PB_OFFSET + MNM_TEMPLATE_ID 10 | repeated string user_msg = 132760; // PB_OFFSET + MNM_USER_MSG 11 | repeated string rq_handler_rp_code = 132764; // PB_OFFSET + MNM_REQUEST_HANDLER_RESPONSE_CODE 12 | repeated string rp_code = 132766; // PB_OFFSET + MNM_RESPONSE_CODE 13 | 14 | repeated string date = 110615; // PB_OFFSET + MNM_DATE 15 | } 16 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/response_show_order_history_detail.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | package rti; 3 | 4 | message ResponseShowOrderHistoryDetail 5 | { 6 | // PB_OFFSET = 100000, is the offset added for each MNM field id 7 | 8 | int32 template_id = 154467; // PB_OFFSET + MNM_TEMPLATE_ID 9 | repeated string user_msg = 132760; // PB_OFFSET + MNM_USER_MSG 10 | repeated string rp_code = 132766; // PB_OFFSET + MNM_RESPONSE_CODE 11 | } 12 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/response_show_order_history_summary.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message ResponseShowOrderHistorySummary 6 | { 7 | // PB_OFFSET = 100000, is the offset added for each MNM field id 8 | 9 | int32 template_id = 154467; // PB_OFFSET + MNM_TEMPLATE_ID 10 | repeated string user_msg = 132760; // PB_OFFSET + MNM_USER_MSG 11 | repeated string rp_code = 132766; // PB_OFFSET + MNM_RESPONSE_CODE 12 | } 13 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/response_show_orders.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message ResponseShowOrders 6 | { 7 | // PB_OFFSET = 100000, is the offset added for each MNM field id 8 | 9 | int32 template_id = 154467; // PB_OFFSET + MNM_TEMPLATE_ID 10 | repeated string user_msg = 132760; // PB_OFFSET + MNM_USER_MSG 11 | repeated string rp_code = 132766; // PB_OFFSET + MNM_RESPONSE_CODE 12 | } 13 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/response_subscribe_for_order_updates.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message ResponseSubscribeForOrderUpdates 6 | { 7 | // PB_OFFSET = 100000, is the offset added for each MNM field id 8 | 9 | int32 template_id = 154467; // PB_OFFSET + MNM_TEMPLATE_ID 10 | repeated string user_msg = 132760; // PB_OFFSET + MNM_USER_MSG 11 | repeated string rp_code = 132766; // PB_OFFSET + MNM_RESPONSE_CODE 12 | } 13 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/response_subscribe_to_bracket_updates.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message ResponseSubscribeToBracketUpdates 6 | { 7 | // PB_OFFSET = 100000, is the offset added for each MNM field id 8 | 9 | int32 template_id = 154467; // PB_OFFSET + MNM_TEMPLATE_ID 10 | repeated string user_msg = 132760; // PB_OFFSET + MNM_USER_MSG 11 | repeated string rp_code = 132766; // PB_OFFSET + MNM_RESPONSE_CODE 12 | } 13 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/response_tick_bar_replay.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message ResponseTickBarReplay 6 | { 7 | enum BarType { 8 | BARTYPE_UNSPECIFIED = 0; 9 | TICK_BAR = 1; 10 | RANGE_BAR = 2; 11 | VOLUME_BAR = 3; 12 | } 13 | 14 | enum BarSubType { 15 | BARSUBTYPE_UNSPECIFIED = 0; 16 | REGULAR = 1; 17 | CUSTOM = 2; 18 | } 19 | 20 | int32 template_id = 154467; 21 | string request_key = 132758; 22 | repeated string user_msg = 132760; 23 | repeated string rq_handler_rp_code = 132764; 24 | repeated string rp_code = 132766; 25 | 26 | string symbol = 110100; 27 | string exchange = 110101; 28 | 29 | BarType type = 119200; 30 | BarSubType sub_type = 119208; 31 | string type_specifier = 148162; 32 | uint64 num_trades = 119204; 33 | uint64 volume = 119205; 34 | uint64 bid_volume = 119213; 35 | uint64 ask_volume = 119214; 36 | double open_price = 100019; 37 | double close_price = 100021; 38 | double high_price = 100012; 39 | double low_price = 100013; 40 | int32 custom_session_open_ssm = 119209; 41 | repeated int32 data_bar_ssboe = 119202; 42 | repeated int32 data_bar_usecs = 119203; 43 | } 44 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/response_tick_bar_update.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message ResponseTickBarUpdate 6 | { 7 | // PB_OFFSET = 100000, is the offset added for each MNM field id 8 | 9 | int32 template_id = 154467; // PB_OFFSET + MNM_TEMPLATE_ID 10 | repeated string user_msg = 132760; // PB_OFFSET + MNM_USER_MSG 11 | repeated string rp_code = 132766; // PB_OFFSET + MNM_RESPONSE_CODE 12 | } 13 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/response_time_bar_replay.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message ResponseTimeBarReplay 6 | { 7 | enum BarType { 8 | BARTYPE_UNSPECIFIED = 0; 9 | SECOND_BAR = 1; 10 | MINUTE_BAR = 2; 11 | DAILY_BAR = 3; 12 | WEEKLY_BAR = 4; 13 | } 14 | 15 | int32 template_id = 154467; 16 | string request_key = 132758; 17 | repeated string user_msg = 132760; 18 | repeated string rq_handler_rp_code = 132764; 19 | repeated string rp_code = 132766; 20 | 21 | string symbol = 110100; 22 | string exchange = 110101; 23 | 24 | BarType type = 119200; 25 | string period = 119112; 26 | int32 marker = 119100; 27 | uint64 num_trades = 119109; 28 | uint64 volume = 119110; 29 | uint64 bid_volume = 119117; 30 | uint64 ask_volume = 119118; 31 | double open_price = 100019; 32 | double close_price = 100021; 33 | double high_price = 100012; 34 | double low_price = 100013; 35 | double settlement_price = 100070; 36 | bool has_settlement_price = 149138; 37 | bool must_clear_settlement_price = 154571; 38 | } 39 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/response_time_bar_update.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message ResponseTimeBarUpdate 6 | { 7 | // PB_OFFSET = 100000, is the offset added for each MNM field id 8 | 9 | int32 template_id = 154467; // PB_OFFSET + MNM_TEMPLATE_ID 10 | repeated string user_msg = 132760; // PB_OFFSET + MNM_USER_MSG 11 | repeated string rp_code = 132766; // PB_OFFSET + MNM_RESPONSE_CODE 12 | } 13 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/response_trade_routes.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message ResponseTradeRoutes 6 | { 7 | // PB_OFFSET = 100000, is the offset added for each MNM field id 8 | 9 | int32 template_id = 154467; // PB_OFFSET + MNM_TEMPLATE_ID 10 | repeated string user_msg = 132760; // PB_OFFSET + MNM_USER_MSG 11 | repeated string rq_handler_rp_code = 132764; // PB_OFFSET + MNM_REQUEST_HANDLER_RESPONSE_CODE 12 | repeated string rp_code = 132766; // PB_OFFSET + MNM_RESPONSE_CODE 13 | 14 | string fcm_id = 154013; // PB_OFFSET + MNM_FCM_ID 15 | string ib_id = 154014; // PB_OFFSET + MNM_IB_ID 16 | string exchange = 110101; // PB_OFFSET + MNM_EXCHANGE 17 | string trade_route = 112016; // PB_OFFSET + MNM_TRADE_ROUTE 18 | string status = 131407; // PB_OFFSET + MNM_SERVICE_STATE 19 | bool is_default = 154689; // PB_OFFSET + MNM_DEFAULT_ROUTE 20 | } 21 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/response_update_stop_bracket_level.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message ResponseUpdateStopBracketLevel 6 | { 7 | // PB_OFFSET = 100000, is the offset added for each MNM field id 8 | 9 | int32 template_id = 154467; // PB_OFFSET + MNM_TEMPLATE_ID 10 | repeated string user_msg = 132760; // PB_OFFSET + MNM_USER_MSG 11 | repeated string rp_code = 132766; // PB_OFFSET + MNM_RESPONSE_CODE 12 | } 13 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/response_update_target_bracket_level.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message ResponseUpdateTargetBracketLevel 6 | { 7 | // PB_OFFSET = 100000, is the offset added for each MNM field id 8 | 9 | int32 template_id = 154467; // PB_OFFSET + MNM_TEMPLATE_ID 10 | repeated string user_msg = 132760; // PB_OFFSET + MNM_USER_MSG 11 | repeated string rp_code = 132766; // PB_OFFSET + MNM_RESPONSE_CODE 12 | } 13 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/tick_bar.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message TickBar 6 | { 7 | // PB_OFFSET = 100000, is the offset added for each MNM field id 8 | 9 | enum BarType { 10 | BARTYPE_UNSPECIFIED = 0; 11 | TICK_BAR = 1; 12 | RANGE_BAR = 2; 13 | VOLUME_BAR = 3; 14 | } 15 | 16 | enum BarSubType { 17 | BARSUBTYPE_UNSPECIFIED = 0; 18 | REGULAR = 1; 19 | CUSTOM = 2; 20 | } 21 | 22 | int32 template_id = 154467; // PB_OFFSET + MNM_TEMPLATE_ID 23 | 24 | string symbol = 110100; // PB_OFFSET + MNM_SYMBOL 25 | string exchange = 110101; // PB_OFFSET + MNM_EXCHANGE 26 | 27 | BarType type = 119200; // PB_OFFSET + MNM_DATA_BAR_TYPE 28 | BarSubType sub_type = 119208; // PB_OFFSET + MNM_DATA_BAR_SUB_TYPE 29 | string type_specifier = 148162; // PB_OFFSET + MNM_CATEGORY_SPECIFIC_INFO 30 | uint64 num_trades = 119204; // PB_OFFSET + MNM_DATA_BAR_NUM_TRADES 31 | uint64 volume = 119205; // PB_OFFSET + MNM_DATA_BAR_TRADE_VOLUME 32 | uint64 bid_volume = 119213; // PB_OFFSET + MNM_DATA_BAR_BID_VOLUME 33 | uint64 ask_volume = 119214; // PB_OFFSET + MNM_DATA_BAR_ASK_VOLUME 34 | double open_price = 100019; // PB_OFFSET + MNM_OPEN_PRICE 35 | double close_price = 100021; // PB_OFFSET + MNM_CLOSE_TRADE_PRICE 36 | double high_price = 100012; // PB_OFFSET + MNM_HIGH_PRICE 37 | double low_price = 100013; // PB_OFFSET + MNM_LOW_PRICE 38 | int32 custom_session_open_ssm = 119209; // PB_OFFSET + MNM_CUSTOM_SESSION_OPEN_SSM 39 | repeated int32 data_bar_ssboe = 119202; // PB_OFFSET + MNM_DATA_BAR_SSBOE 40 | repeated int32 data_bar_usecs = 119203; // PB_OFFSTE + MNM_DATA_BAR_USECS 41 | } 42 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/time_bar.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message TimeBar 6 | { 7 | // PB_OFFSET = 100000, is the offset added for each MNM field id 8 | 9 | enum BarType { 10 | BARTYPE_UNSPECIFIED = 0; 11 | SECOND_BAR = 1; 12 | MINUTE_BAR = 2; 13 | DAILY_BAR = 3; 14 | WEEKLY_BAR = 4; 15 | } 16 | 17 | int32 template_id = 154467; // PB_OFFSET + MNM_TEMPLATE_ID 18 | 19 | string symbol = 110100; // PB_OFFSET + MNM_SYMBOL 20 | string exchange = 110101; // PB_OFFSET + MNM_EXCHANGE 21 | 22 | BarType type = 119200; // PB_OFFSET + MNM_DATA_BAR_TYPE 23 | string period = 119112; // PB_OFFSET + MNM_TIME_BAR_PERIOD 24 | int32 marker = 119100; // PB_OFFSET + MNM_TIME_BAR_MARKER 25 | uint64 num_trades = 119109; // PB_OFFSET + MNM_TIME_BAR_NUM_TRADES 26 | uint64 volume = 119110; // PB_OFFSET + MNM_TIME_BAR_TRADE_VOLUME 27 | uint64 bid_volume = 119117; // PB_OFFSET + MNM_TIME_BAR_BID_VOLUME 28 | uint64 ask_volume = 119118; // PB_OFFSET + MNM_TIME_BAR_ASK_VOLUME 29 | double open_price = 100019; // PB_OFFSET + MNM_OPEN_PRICE 30 | double close_price = 100021; // PB_OFFSET + MNM_CLOSE_TRADE_PRICE 31 | double high_price = 100012; // PB_OFFSET + MNM_HIGH_PRICE 32 | double low_price = 100013; // PB_OFFSET + MNM_LOW_PRICE 33 | double settlement_price = 100070; // PB_OFFSET + MNM_SETTLEMENT_PRICE 34 | bool has_settlement_price = 149138; // PB_OFFSET + MNM_PRICING_INDICATOR 35 | bool must_clear_settlement_price = 154571; // PB_OFFSET + MNM_DISPLAY_INDICATOR 36 | } 37 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/source/trade_route.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package rti; 4 | 5 | message TradeRoute 6 | { 7 | // PB_OFFSET = 100000, is the offset added for each MNM field id 8 | 9 | int32 template_id = 154467; // PB_OFFSET + MNM_TEMPLATE_ID 10 | 11 | string fcm_id = 154013; // PB_OFFSET + MNM_FCM_ID 12 | string ib_id = 154014; // PB_OFFSET + MNM_IB_ID 13 | string exchange = 110101; // PB_OFFSET + MNM_EXCHANGE 14 | string trade_route = 112016; // PB_OFFSET + MNM_TRADE_ROUTE 15 | string status = 131407; // PB_OFFSET + MNM_SERVICE_STATE 16 | bool is_default = 154689; // PB_OFFSET + MNM_DEFAULT_ROUTE 17 | } 18 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/time_bar_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: time_bar.proto 4 | # Protobuf Python Version: 4.25.4 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | 16 | 17 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0etime_bar.proto\x12\x03rti\"\x82\x04\n\x07TimeBar\x12\x15\n\x0btemplate_id\x18\xe3\xb6\t \x01(\x05\x12\x10\n\x06symbol\x18\x94\xdc\x06 \x01(\t\x12\x12\n\x08\x65xchange\x18\x95\xdc\x06 \x01(\t\x12$\n\x04type\x18\xa0\xa3\x07 \x01(\x0e\x32\x14.rti.TimeBar.BarType\x12\x10\n\x06period\x18\xc8\xa2\x07 \x01(\t\x12\x10\n\x06marker\x18\xbc\xa2\x07 \x01(\x05\x12\x14\n\nnum_trades\x18\xc5\xa2\x07 \x01(\x04\x12\x10\n\x06volume\x18\xc6\xa2\x07 \x01(\x04\x12\x14\n\nbid_volume\x18\xcd\xa2\x07 \x01(\x04\x12\x14\n\nask_volume\x18\xce\xa2\x07 \x01(\x04\x12\x14\n\nopen_price\x18\xb3\x8d\x06 \x01(\x01\x12\x15\n\x0b\x63lose_price\x18\xb5\x8d\x06 \x01(\x01\x12\x14\n\nhigh_price\x18\xac\x8d\x06 \x01(\x01\x12\x13\n\tlow_price\x18\xad\x8d\x06 \x01(\x01\x12\x1a\n\x10settlement_price\x18\xe6\x8d\x06 \x01(\x01\x12\x1e\n\x14has_settlement_price\x18\x92\x8d\t \x01(\x08\x12%\n\x1bmust_clear_settlement_price\x18\xcb\xb7\t \x01(\x08\"a\n\x07\x42\x61rType\x12\x17\n\x13\x42\x41RTYPE_UNSPECIFIED\x10\x00\x12\x0e\n\nSECOND_BAR\x10\x01\x12\x0e\n\nMINUTE_BAR\x10\x02\x12\r\n\tDAILY_BAR\x10\x03\x12\x0e\n\nWEEKLY_BAR\x10\x04\x62\x06proto3') 18 | 19 | _globals = globals() 20 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 21 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'time_bar_pb2', _globals) 22 | if _descriptor._USE_C_DESCRIPTORS == False: 23 | DESCRIPTOR._options = None 24 | _globals['_TIMEBAR']._serialized_start=24 25 | _globals['_TIMEBAR']._serialized_end=538 26 | _globals['_TIMEBAR_BARTYPE']._serialized_start=441 27 | _globals['_TIMEBAR_BARTYPE']._serialized_end=538 28 | # @@protoc_insertion_point(module_scope) 29 | -------------------------------------------------------------------------------- /async_rithmic/protocol_buffers/trade_route_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: trade_route.proto 4 | # Protobuf Python Version: 4.25.4 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | 16 | 17 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x11trade_route.proto\x12\x03rti\"\x99\x01\n\nTradeRoute\x12\x15\n\x0btemplate_id\x18\xe3\xb6\t \x01(\x05\x12\x10\n\x06\x66\x63m_id\x18\x9d\xb3\t \x01(\t\x12\x0f\n\x05ib_id\x18\x9e\xb3\t \x01(\t\x12\x12\n\x08\x65xchange\x18\x95\xdc\x06 \x01(\t\x12\x15\n\x0btrade_route\x18\x90\xeb\x06 \x01(\t\x12\x10\n\x06status\x18\xcf\x82\x08 \x01(\t\x12\x14\n\nis_default\x18\xc1\xb8\t \x01(\x08\x62\x06proto3') 18 | 19 | _globals = globals() 20 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 21 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'trade_route_pb2', _globals) 22 | if _descriptor._USE_C_DESCRIPTORS == False: 23 | DESCRIPTOR._options = None 24 | _globals['_TRADEROUTE']._serialized_start=27 25 | _globals['_TRADEROUTE']._serialized_end=180 26 | # @@protoc_insertion_point(module_scope) 27 | -------------------------------------------------------------------------------- /conftest.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | from unittest.mock import MagicMock, AsyncMock 3 | 4 | from async_rithmic.plants import TickerPlant, PnlPlant, OrderPlant 5 | 6 | @pytest.fixture 7 | def ticker_plant_mock(): 8 | plant = TickerPlant(MagicMock()) 9 | plant.ws = AsyncMock() 10 | plant.heartbeat_interval = 5 11 | plant._send_heartbeat = AsyncMock() 12 | 13 | plant.client = MagicMock() 14 | plant.client.retry_settings = MagicMock(max_retries=1, timeout=3, jitter_range=None) 15 | return plant 16 | 17 | @pytest.fixture 18 | def pnl_plant_mock(): 19 | plant = PnlPlant(MagicMock()) 20 | plant.ws = AsyncMock() 21 | return plant 22 | 23 | @pytest.fixture 24 | def order_plant_mock(): 25 | plant = OrderPlant(MagicMock()) 26 | plant.ws = AsyncMock() 27 | return plant 28 | 29 | def load_response_mock_from_filename(name): 30 | if isinstance(name, list): 31 | return [load_response_mock_from_filename(n) for n in name] 32 | else: 33 | with open(f"./tests/response_mocks/{name}.bin", "rb") as f: 34 | return f.read() 35 | 36 | def _convert_proto_message_to_bytes(proto_message): 37 | serialized = proto_message.SerializeToString() 38 | length = len(serialized) 39 | buffer = length.to_bytes(4, byteorder='big', signed=True) 40 | buffer += serialized 41 | return buffer 42 | -------------------------------------------------------------------------------- /docs/Makefile: -------------------------------------------------------------------------------- 1 | # Minimal makefile for Sphinx documentation 2 | # 3 | 4 | # You can set these variables from the command line, and also 5 | # from the environment for the first two. 6 | SPHINXOPTS ?= 7 | SPHINXBUILD ?= sphinx-build 8 | SOURCEDIR = . 9 | BUILDDIR = _build 10 | 11 | # Put it first so that "make" without argument is like "make help". 12 | help: 13 | @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) 14 | 15 | .PHONY: help Makefile 16 | 17 | # Catch-all target: route all unknown targets to Sphinx using the new 18 | # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). 19 | %: Makefile 20 | @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) 21 | -------------------------------------------------------------------------------- /docs/conf.py: -------------------------------------------------------------------------------- 1 | # Configuration file for the Sphinx documentation builder. 2 | # 3 | # For the full list of built-in configuration values, see the documentation: 4 | # https://www.sphinx-doc.org/en/master/usage/configuration.html 5 | import os 6 | import sys 7 | sys.path.insert(0, os.path.abspath('..')) 8 | 9 | 10 | # -- Project information ----------------------------------------------------- 11 | # https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information 12 | 13 | project = 'async_rithmic' 14 | copyright = '2025, rundef' 15 | author = 'rundef' 16 | 17 | # -- General configuration --------------------------------------------------- 18 | # https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration 19 | 20 | extensions = [ 21 | "sphinx.ext.autodoc", 22 | "sphinx.ext.napoleon", # for Google/NumPy-style docstrings 23 | "sphinx.ext.viewcode", 24 | "sphinx.ext.autosummary", 25 | ] 26 | #autosummary_generate = True 27 | 28 | templates_path = ['_templates'] 29 | exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store'] 30 | 31 | 32 | 33 | # -- Options for HTML output ------------------------------------------------- 34 | # https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output 35 | 36 | #html_theme = 'furo' 37 | #html_static_path = ['_static'] 38 | 39 | 40 | html_theme = 'sphinx_rtd_theme' 41 | html_theme_options = { 42 | 'logo_only': False, 43 | 'prev_next_buttons_location': 'bottom', 44 | # Toc options 45 | 'collapse_navigation': True, 46 | 'sticky_navigation': True, 47 | 'navigation_depth': 4, 48 | 'includehidden': True, 49 | 'titles_only': False, 50 | 'navigation_with_keys': True, 51 | 'style_external_links': True, 52 | } 53 | 54 | -------------------------------------------------------------------------------- /docs/index.rst: -------------------------------------------------------------------------------- 1 | async_rithmic 2 | ============= 3 | 4 | `async_rithmic` is an asynchronous Python client for connecting to Rithmic's Protocol Buffer API using asyncio. 5 | 6 | Rithmic's API is structured around four separate WebSocket endpoints (called *plants*), each responsible for a different category of functionality: 7 | 8 | - **TICKER_PLANT** - live market data 9 | - **ORDER_PLANT** - order routing and updates 10 | - **HISTORY_PLANT** - historical data 11 | - **PNL PLANT** - account pnl updates 12 | 13 | Each plant runs over its own dedicated WebSocket connection, with separate login and heartbeat management. The `async_rithmic` library mirrors this architecture by creating a separate asynchronous connection per plant. 14 | 15 | Internally, the logic for these plants shares a common base but is executed concurrently using `asyncio`, allowing fast, event-driven processing of tick, order, and historical data as it arrives. 16 | 17 | 📦 GitHub: https://github.com/rundef/async_rithmic 18 | 19 | Features 20 | -------- 21 | 22 | - Native asyncio support 23 | - One client object manages all plant connections 24 | - Custom reconnection logic 25 | - Event hooks for lifecycle events (connected/disconnected, tick received, etc.) 26 | 27 | 28 | .. toctree:: 29 | :maxdepth: 2 30 | :caption: Contents: 31 | 32 | connection 33 | realtime_data 34 | orders 35 | historical_data 36 | -------------------------------------------------------------------------------- /docs/make.bat: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | 3 | pushd %~dp0 4 | 5 | REM Command file for Sphinx documentation 6 | 7 | if "%SPHINXBUILD%" == "" ( 8 | set SPHINXBUILD=sphinx-build 9 | ) 10 | set SOURCEDIR=. 11 | set BUILDDIR=_build 12 | 13 | %SPHINXBUILD% >NUL 2>NUL 14 | if errorlevel 9009 ( 15 | echo. 16 | echo.The 'sphinx-build' command was not found. Make sure you have Sphinx 17 | echo.installed, then set the SPHINXBUILD environment variable to point 18 | echo.to the full path of the 'sphinx-build' executable. Alternatively you 19 | echo.may add the Sphinx directory to PATH. 20 | echo. 21 | echo.If you don't have Sphinx installed, grab it from 22 | echo.https://www.sphinx-doc.org/ 23 | exit /b 1 24 | ) 25 | 26 | if "%1" == "" goto help 27 | 28 | %SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% 29 | goto end 30 | 31 | :help 32 | %SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% 33 | 34 | :end 35 | popd 36 | -------------------------------------------------------------------------------- /docs/requirements.txt: -------------------------------------------------------------------------------- 1 | sphinx>=6.0 2 | sphinx-rtd-theme>=1.0 3 | sphinx-autodoc-typehints>=1.24 4 | -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- 1 | [build-system] 2 | requires = ["setuptools>=61.0"] 3 | build-backend = "setuptools.build_meta" 4 | 5 | [project] 6 | name = "async_rithmic" 7 | version = "1.4.3" 8 | description = "Python API Integration with Rithmic Protocol Buffer API" 9 | readme = "README.md" 10 | requires-python = ">=3.10" 11 | license = { text = "MIT" } 12 | authors = [ 13 | { name = "Mickael Burguet" } 14 | ] 15 | keywords = ["python", "rithmic"] 16 | classifiers = [ 17 | "Development Status :: 5 - Production/Stable", 18 | "Intended Audience :: Developers", 19 | "Topic :: Software Development :: Build Tools", 20 | "Programming Language :: Python :: 3", 21 | "Programming Language :: Python :: 3.10", 22 | "Programming Language :: Python :: 3.11", 23 | "Programming Language :: Python :: 3.12", 24 | "Programming Language :: Python :: 3.13", 25 | "Programming Language :: Python :: 3 :: Only", 26 | "License :: OSI Approved :: MIT License", 27 | "Operating System :: OS Independent" 28 | ] 29 | dependencies = [ 30 | "pattern_kit>=2.0.0", 31 | "websockets>=11.0,<15.0", 32 | "protobuf>=4.25.4,<5", 33 | "pytz>=2022.5", 34 | "tzlocal>=5.2" 35 | ] 36 | 37 | [project.optional-dependencies] 38 | dev = ["check-manifest"] 39 | test = ["coverage", "pytest"] 40 | 41 | [project.urls] 42 | Homepage = "https://github.com/rundef/async_rithmic" 43 | Repository = "https://github.com/rundef/async_rithmic" 44 | Issues = "https://github.com/rundef/async_rithmic/issues" 45 | 46 | [tool.setuptools.package-data] 47 | "async_rithmic" = ["certificates/*"] 48 | 49 | [tool.setuptools.packages.find] 50 | where = ["."] 51 | -------------------------------------------------------------------------------- /pytest.ini: -------------------------------------------------------------------------------- 1 | [pytest] 2 | asyncio_mode = auto 3 | log_cli = true 4 | log_cli_level = DEBUG 5 | log_format = %(asctime)s [%(levelname)s] %(message)s 6 | log_date_format = %H:%M:%S 7 | -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | pattern_kit>=2.0.0 2 | websockets>=11.0,<15.0 3 | protobuf>=4.25.4,<5 4 | pytz>=2022.5 5 | tzlocal>=5.2 6 | -------------------------------------------------------------------------------- /tests/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rundef/async_rithmic/e3fde1ac82e1a68bf7188a3193b8853bbb718137/tests/__init__.py -------------------------------------------------------------------------------- /tests/response_mocks/front_month_contract_NQ.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rundef/async_rithmic/e3fde1ac82e1a68bf7188a3193b8853bbb718137/tests/response_mocks/front_month_contract_NQ.bin -------------------------------------------------------------------------------- /tests/response_mocks/reference_data_ES.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rundef/async_rithmic/e3fde1ac82e1a68bf7188a3193b8853bbb718137/tests/response_mocks/reference_data_ES.bin -------------------------------------------------------------------------------- /tests/response_mocks/system_info.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rundef/async_rithmic/e3fde1ac82e1a68bf7188a3193b8853bbb718137/tests/response_mocks/system_info.bin -------------------------------------------------------------------------------- /tests/test_base.py: -------------------------------------------------------------------------------- 1 | from unittest.mock import MagicMock 2 | from datetime import datetime 3 | import pytz 4 | 5 | from async_rithmic.plants import TickerPlant 6 | from async_rithmic import protocol_buffers as pb 7 | 8 | from conftest import load_response_mock_from_filename 9 | 10 | def test_convert_request_to_bytes(): 11 | rq = pb.request_login_pb2.RequestLogin() 12 | rq.template_id = 10 13 | rq.template_version = "3.9" 14 | rq.user = 'my_username' 15 | rq.password = 'my_password' 16 | rq.app_name = 'my_app' 17 | rq.app_version = 'my_version' 18 | rq.system_name = 'RITHMIC TEST' 19 | rq.infra_type = 2 20 | 21 | api = TickerPlant(None) 22 | result = api._convert_request_to_bytes(rq) 23 | expected = b'\x00\x00\x00U\x92\xbd?\x06my_app\xa2\xbd?\x0bmy_password\xda\xfb?\x0bmy_username\xda\xad@\nmy_version\xa8\x81K\x02\xe2\x81K\x0cRITHMIC TEST\x92\x82K\x033.9\x98\xb6K\n' 24 | assert result == expected 25 | assert isinstance(result, bytes) 26 | 27 | 28 | def test_convert_bytes_to_response(): 29 | api = TickerPlant(None) 30 | msg_buf = b'\x00\x00\x00\x17\x98\xb6K\x13\xa0\xa5I\xa5\xa0\xeb\xa8\x06\xa8\xa5I\x8c\xd9.\xf2\xe9@\x010' 31 | response = api._convert_bytes_to_response(msg_buf) 32 | assert response.template_id == 19 33 | assert isinstance(response, pb.response_heartbeat_pb2.ResponseHeartbeat) 34 | 35 | 36 | def test_datetime_to_utc(): 37 | 38 | plant = TickerPlant(MagicMock()) 39 | 40 | ny_tz = pytz.timezone("America/New_York") 41 | dt = ny_tz.localize(datetime(2024, 11, 8, 17, 29, 0)) 42 | 43 | dt = plant._datetime_to_utc(dt) 44 | assert dt == datetime(2024, 11, 8, 22, 29, 0, tzinfo=pytz.utc) 45 | 46 | def test_ssboe_usecs_conversion(): 47 | plant = TickerPlant(MagicMock()) 48 | 49 | inputs = 1731092410, 164409 50 | 51 | dt = plant._ssboe_usecs_to_datetime(*inputs) 52 | assert dt == datetime(2024, 11, 8, 19, 0, 10, 164409, tzinfo=pytz.utc) 53 | 54 | output = plant._datetime_to_ssboe_usecs(dt) 55 | assert output == inputs 56 | 57 | -------------------------------------------------------------------------------- /tests/test_endpoints.py: -------------------------------------------------------------------------------- 1 | import asyncio 2 | from unittest.mock import patch, MagicMock 3 | from contextlib import suppress 4 | 5 | from conftest import load_response_mock_from_filename 6 | 7 | async def test_get_front_month_contract(ticker_plant_mock): 8 | with patch.object(ticker_plant_mock, "_generate_request_id", MagicMock(return_value="NQ")): 9 | future = asyncio.create_task( 10 | ticker_plant_mock.get_front_month_contract("NQ", "CME") 11 | ) 12 | await asyncio.sleep(0.01) 13 | 14 | recv_queue = asyncio.Queue() 15 | for r in load_response_mock_from_filename(["front_month_contract_NQ"]): 16 | await recv_queue.put(r) 17 | 18 | async def mock_recv(): 19 | return await recv_queue.get() 20 | 21 | ticker_plant_mock.ws.recv.side_effect = mock_recv 22 | 23 | recv_task = asyncio.create_task(ticker_plant_mock._recv_loop()) 24 | process_task = asyncio.create_task(ticker_plant_mock._process_loop()) 25 | await asyncio.sleep(0.1) 26 | 27 | result = await future 28 | assert result == "NQU4" 29 | 30 | recv_task.cancel() 31 | process_task.cancel() 32 | for task in [recv_task, process_task]: 33 | with suppress(asyncio.CancelledError): 34 | await task 35 | 36 | --------------------------------------------------------------------------------