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.UATfor testing andNubraEnv.PRODfor live usage. - Resolve
ref_idvalues 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.