Positions Book
retrieves the overnight and day positions as a list.
Request to be POSTed to uri : /NorenWClientTP/PositionBook
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 the 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 | |
| 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 | |
| lp | LTP | |
| rpnl | RealizedPNL | |
| urmtom | UnrealizedMTOM.(Can be recalculated in LTP update (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. | |
| request_time | This will be present only in a failure response. | |
| dname | Broker specific contract display name, present only if applicable. |
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 + ActualUnrealizedMto
Response data will be in json format with below fields in case of failure:
| Json Fields | Possible value | Description |
|---|---|---|
| stat | Not_Ok | Position book request failure indication. |
| request_time | Response received time. | |
| emsg | Error message |
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\""
}