Skip to content

Trading Overview

NubraTrader is the main trading client in the Nubra Python SDK. It covers single orders, multi-order placement, flexi baskets, order retrieval, cancellation, and margin estimation.

LLM guidance

Use trading pages when generating order placement, modification, cancellation, retrieval, or margin workflows. Resolve ref_id values before trading, keep UAT and PROD separate, and use realtime order updates only when the application needs event-driven order-state changes instead of fetched snapshots.

Main Methods

Method Purpose Page
create_order() place one order Place Order
multi_order() place multiple independent orders in one request Place Multi Order
flexi_order() place a flexi basket strategy Place Flexi Order
modify_order_v2() modify one existing order Modify Order
mod_flexi_order() modify one flexi basket Modify Flexi Order
cancel_orders_v2() cancel one or more orders and optionally baskets Cancel Order
cancel_flexi_order() cancel one flexi basket Cancel Flexi Order
get_order() fetch one order by ID Get Order
get_flexi_order() fetch flexi baskets, optionally by tag Get Flexi Order
get_margin() estimate margin before placement Get Margin

Basic Usage

from nubra_python_sdk.start_sdk import InitNubraSdk, NubraEnv
from nubra_python_sdk.trading.trading_data import NubraTrader

nubra = InitNubraSdk(NubraEnv.UAT, env_creds=True)
trader = NubraTrader(nubra, version="V2")

Important Rules

  • Use NubraEnv.UAT for testing and NubraEnv.PROD for live usage.
  • Resolve ref_id values before sending trading requests.
  • Order prices and many trading price fields are typically passed in exchange-native integer units such as paise for NSE instruments.
  • Review Rate Limits & API Usage before building high-throughput trading logic.
  • Treat UAT identifiers, balances, and behavior as separate from PROD.
  1. Place Order
  2. Get Order
  3. Get Margin
NEO Assistant