Skip to content

Positions Book

Request to be POSTed to uri : /NorenWClientTP/PositionBook

Warning: This endpoint should be strictly used as a single call for fetching m2m without a while loop. For live m2m tracking please use the web socket feed for fetching real time prices and computing the m2m.

Request Details

Parameter Name Possible value Description
jData* Should send json object with fields in below list
jKey* Key Obtained on login success.
Json Fields Possible value Description
uid* Logged in User Id
actid* Account Id of logged in user

Example

curl https://apitest.kambala.co.in/NorenWClientTP/PositionBook \
-d "jData={\"uid\":\"VIDYA\", \"actid\":\"ACCT_1\"}" \
-d "jKey=GHUDWU53H32MTHPA536Q32WR"

Response Details

Response data will be in json format with Array of Objects with below fields in case of success:

Json Fields Possible value Description
stat Ok or Not_Ok Position book success or failure indication.
exch Exchange segment
tsym Trading symbol / contract.
token Contract token
uid User Id
actid Account Id
prd Product name to be shown.
s_prdt_ali Product display name
netqty Net Position quantity
netavgprc Net position average price
dayavgprc Day average price
daybuyqty Day Buy Quantity
daysellqty Day Sell Quantity
daybuyavgprc Day Buy average price
daysellavgprc Day buy average price
daybuyamt Day Buy Amount
daysellamt Day Sell Amount
cfbuyqty Carry Forward Buy Quantity
cforgavgprc Original Avg Price
cfsellqty Carry Forward Sell Quantity
cfbuyavgprc Carry Forward Buy average price
cfsellavgprc Carry Forward Buy average price
cfbuyamt Carry Forward Buy Amount
cfsellamt Carry Forward Sell Amount
totbuyamt Total Buy Amount
totsellamt Total Sell Amount
totbuyavgprc Total Buy Avg Price
totsellavgprc Total Sell Avg Price
lp LTP
rpnl RealizedPNL
urmtom UnrealizedMTOM.
Can be recalculated in LTP update = netqty * (lp from web socket - netavgprc) * prcftr
bep Break even price
openbuyqty Open Buy Quantity
opensellqty Open Sell Quantity
openbuyamt Open Buy Amount
opensellamt Open Sell Amount
openbuyavgprc Open Buy Average Price
opensellavgprc Open Sell Average Price
mult Contract price multiplier, (used for order value calculation)
pp Price precision
prcftr gn*pn/(gd*pd).
ti Tick size
ls Lot size
instname Instrument Name
upldprc Upload price
netupldprc Net Upload Price
dname Broker specific contract display name, present only if applicable.
cname Company Name.
request_time This will be present only in a failure response.

Note: Calculation of MTM and PnL

  1. ActualUnrealizedMtoM = netqty(in weights) * prcftr * mult * (LTP - avgprc)

    • For MTM, avgprc = netavgprc
    • For PnL, avgprc = netupldprc; if netupldprc = 0 then avgprc = netavgprc
  2. NetBuyQty = daybuyqty + cfbuyqty

  3. NetSellQty = daysellqty + cfsellqty

  4. ActualSellAvgPrice

    • if (NetSellQty != 0):
      ActualSellAvgPrice = ((daysellamt / mult) + (upldprc * prcftr * cfsellqty)) / NetSellQty
    • else:
      ActualSellAvgPrice = 0.0
  5. ActualBuyAvgPrice

    • if (NetBuyQty != 0):
      ActualBuyAvgPrice = ((daybuyamt / mult) + (upldprc * prcftr * cfbuyqty)) / NetBuyQty
    • else:
      ActualBuyAvgPrice = 0.0
  6. ActualBookedPNL

    • if (netqty(in weights) > 0):
      ActualBookedPNL = (ActualSellAvgPrice - ActualBuyAvgPrice) * NetSellQty * mult
    • else:
      ActualBookedPNL = (ActualSellAvgPrice - ActualBuyAvgPrice) * NetBuyQty * mult
  7. MTM = rpnl + ActualUnrealizedMtoM

  8. PnL = ActualBookedPNL + ActualUnrealizedMtoM

Sample Success Response

[
{
"stat":"Ok",
"uid":"POORNA",
"actid":"POORNA",
"exch":"NSE",
"tsym":"ACC-EQ",
"prarr":"C",
"pp":"2",
"ls":"1",
"ti":"5.00",
"mult":"1",
"prcftr":"1.000000",
"daybuyqty":"2",
"daysellqty":"2",
"daybuyamt":"2610.00",
"daybuyavgprc":"1305.00",
"daysellamt":"2610.00",
"daysellavgprc":"1305.00",
"cfbuyqty":"0",
"cfsellqty":"0",
"cfbuyamt":"0.00",
"cfbuyavgprc":"0.00",
"cfsellamt":"0.00",
"cfsellavgprc":"0.00",
"openbuyqty":"0",
"opensellqty":"23",
"openbuyamt":"0.00",
"openbuyavgprc":"0.00",
"opensellamt":"30015.00",
"opensellavgprc":"1305.00",
"netqty":"0",
"netavgprc":"0.00",
"lp":"0.00",
"urmtom":"0.00",
"rpnl":"0.00",
"cforgavgprc":"0.00"
}
]

Sample Failure Response

{
"stat":"Not_Ok",
"request_time":"14:14:11 26-05-2020",
"emsg":"Error Occurred : 5 \"no data\""
}