post https://api-lib.bambu.life/api/generalCalculator/v2/portfolioRebalancers/rebalanceBuyLegs
The following table describes the parameters for this API:
Name | DataType | Description | Mandatory | Sample Value | List of possible values | No. of decimals | Notes |
---|---|---|---|---|---|---|---|
unitFractionSize | Number | The is to determine the rounding effect on the number of units.If the broker cannot do fractional shares, the unitFractionSize will be 1, if the broker can do fractional shares, the unitFractionSize will be 0.01 | Y | 0.01 | >0 | 2 | |
portfolios | Array of Objects | Details of all the portfolios available | Y | { "id":1, "threshold":0.2, "breakdown":[ { "investmentProductId":"AGG", "units":2.1, "subscriptionFee":0.01, "redemptionFee":0.01, "marketPrice":104.88, "modelPortfolioWeight":0.2, "minTopupAmt": 0, "maxTopupAmt": 10000, "minRedemptionUnits": 0, "maxRedemptionUnits": 10, "minHoldingUnits": 1 }, ......} | |||
id | Number | Portfolio Identifier | Y | 1 | >0 | 0 | |
threshold | Number | Threshold that triggers rebalancing for the portfolio | Y | 0.2 | >=0 | 4 | FE needs to convert the percentage to decimal representation before storing if the input from the front end is given as 20%, 50% etc. |
breakdown | Array of Objects | Breakdown of information for every portfolio | Y | [ { "investmentProductId":"AGG", "units":2.1, "subscriptionFee":0.01, "redemptionFee":0.01, "marketPrice":104.88, "modelPortfolioWeight":0.2, "minTopupAmt": 0, "maxTopupAmt": 10000, "minRedemptionUnits": 0, "maxRedemptionUnits": 10, "minHoldingUnits": 1 },...] | |||
investmentProductId | String | Product identification code | Y | AGG, CASH | |||
units | Number | Number of units owned for the portfolio | Y | 10 | 8 | ||
subscriptionFee | Number | Subscription Fee charged for the product | Y | 0.01 | 6 | ||
redemptionFee | Number | Redemption Fee charged for the product | Y | 0.01 | 6 | ||
marketPrice | Number | Current price of the holdings | Y | 31.2 | 8 | ||
modelPortfolioWeight | Number | Weightage of model portfolio | Y | 0.2 | 6 | ||
minTopupAmt | Number | Minimum Top Up amount for this product, imposed by the broker | Y | 0, 100, 500 | >0 | 2 | |
maxTopupAmt | Number | Maximum Top Up amount for this product, imposed by the broker | Y | 10000 | >0 | 2 | |
minRedemptionUnits | Number | Minimum Redemption number of units for this product, imposed by the broker | Y | 10 | >0 | 8 | |
maxRedemptionUnits | Number | Maximum Redemption number of units for this product, imposed by the broker | Y | 1000 | >0 | 8 | |
minHoldingUnits | Number | Minimum Holding Units for this product imposed by the broker | Y | 10 | >0 | 8 | |
excludedFunds | Array, String | List of all products that are to be excluded from the rebalancing request | Y | [ "IVW" ,"NEAR"] |
The following table describes the output for this API:
Name | DataType | Description | Sample Value | No. of Decimals* | Notes |
---|---|---|---|---|---|
id | Number | Identifier for each portfolio that is to be rebalanced | 1 | 0 | |
error | String | Error | null | null - will be displayed by default Else any error returned will be displayed | |
totalTransactionFee | Number | Aggregation of all the fees paid for the products in the portfolio | 4.5416 | 4 | |
investmentProductId | String | Product identification code | AGG,CASH | ||
currentWeightage | Number | Current weightage of the product in the portfolio | 0.789 | 4 | |
modelPortfolioWeight | Number | Weightage of the product in the model portfolio | 0.2 | 4 | |
upperBand | Number | The Upper Band threshold based on the Current Weightage and the Threshold % | 0.24 | 4 | |
lowerBand | Number | The Lower Band threshold based on the Current Weightage and the Threshold % | 0.16 | 4 | |
rebalancingStatus | String | Rebalancing status of the product which defines whether the product in the portfolio is over or under weight | UnderweightOverweightOK | Values can be :Underweight - product is less than the model portfolio recommendationOverweight - product is greater than the model portfolio recommendationOK - No change to the current product weights needed | |
transactionType | String | Type of rebalancing transaction to be performed for the product. | B | Values can be:B - for BuyS - Sell | |
roundedUnitDiffAfterFeeAdjustment | Number | Difference in holding units after rebalancing and factoring in fees, rounded to X decimal points | 3.09 | 10 | |
roundedAmtDiffAfterFeeAdjustment | Number | Difference in holdings (amount) after rebalancing and factoring in fees, rounded to 2 decimal points | 96.41 | 2 | |
feesPaid | Number | Fees paid for the product | 0.9641 | 4 | |
passedMinTransaction | Boolean | Validation on whether Minimum transaction criteria has passed or not. | True, False | List of values allowed:TrueFalse | |
subscriptionFee | Number | Subscription Fee charged for the product | 0.01 | 6 | |
redemptionFee | Number | Redemption Fee charged for the product | 0.01 | 6 |