Projections

Based on the following inputs regarding user's:

  1. Financial Ability - Initial and Periodic Investment Amounts, and Number of Compounding Periods Per Year
  2. Goal Details - Goal Amount, Goal Start and End Date
  3. Investment Profile - Expected Returns and Volatilities of each Model Portfolio, Model Portfolio to be invested in each year, Confidence Level and Target Probability
  4. Fees - Front-end Fee, Back-end Fee and Management Fees

This API projects future expected portfolio values at each compound date based on expected annual returns and volatilities of Model Portfolios invested each year during the goal period. According to this, the API determines if investor's goal is achievable, and also returns probability of achieving goal. It also has the option to display various recommendations. Following describes some other specifics of the API:

  1. Compounding options - "yearly", "monthly", "weekly","quarterly","semiAnnually"
  2. Recommendations available:
    • If goal is not achievable (SHORTFALL) - Change in Initial Investment Amount, Periodic Investment Amounts (Constant, Increasing and Decreasing), Goal Amount and Investment End Date
    • If goal is achievable (SURPLUS) - A declining glide path that recommends investments in less risky Model Portfolios nearer to Goal End Date


The following table describes the input parameters for the Projections API:

NameDataTypeDescriptionMandatorySample ValueList of possible valuesNo. of DecimalsNotes
reccomendationSelectionDictionarySelection of recommendations to be displayedY
shortfallRecommendationDictionarySelection of recommendations to be displayed if there is a shortfall in investment to achieve goalY
initialInvestmentBooleanTo display recommendation for initial investment amountYtruetrue, falseN/A
constantInfusionBooleanTo display recommendation for constant infusion amountYtruetrue, falseN/A
dynamicIncreasingInfusionBooleanTo display recommendation for increasing infusion amountsYtruetrue, falseN/A
dynamicDecreasingInfusionBooleanTo display recommendation for decreasing infusion amountsYtruetrue, falseN/A
goalAmountBooleanTo display goal amount achievable by end of investmentYtruetrue, falseN/A
goalYearBooleanTo display recommendation for investment end dateYtruetrue, falseN/A
surplusRecommendationDictionarySelection of recommendations to be displayed if there is a surplus in investment to achieve goalY
glidePathDictionarySettings for declining glide path recommendationYtruetrue, falseN/A
glidePathBooleanTo display recommendation for declining glide pathYtruetrue, falseN/A
portfolioDeriskingBooleanTo apply start and end dates for which glide path should happenYtruetrue, falseN/A
deriskingStartDateStringGlide path start dateY"2015-01-02"N/Aformat: "%Y-%m-%d"
deriskingEndDateStringGlide path end dateY"2019-01-03"N/Aformat: "%Y-%m-%d"
availablePortfoliosArrayDetails of all Model Portfolios suitable for the clientY
modelPortfolioIdIntegerID of the Model PortfolioY4>00
discreteExpectedMeanNumberDiscrete mean of the Model Portfolio's annual returnsY0.03>=0 , <16
discreteExpectedStandardDeviationNumberDiscrete standard deviation of the Model Portfolio's annual returnsY0.05>=0, <16
inputsDictionaryY
startDateStringGoal start dateY"2010-01-21"N/Aformat: "%Y-%m-%d"
endDateStringGoal end dateY"2012-03-30"N/Aformat: "%Y-%m-%d". endDate must be greater than startDate
compoundingStringCompounding frequencyY"monthly""yearly", "semiAnnually", "quarterly", "monthly", "weekly"N/A
confidenceIntervalNumberConfidence level for computation of upper and lower band returnsY0.9>=0, <=12
grossInitialInvestmentNumberGross initial investment amount (before front-end fee)Y298323>=02
currentWealthNumberCurrent portfolio total valueY11190>=02
frontEndFeesNumberFront-end fees in %Y0.04>=0, <16
backEndFeesNumberBack-end fees in %Y0.02>=0, <16
managementFeesList of numbersAnnual management fees levied on returnsY[0]>=0, <16If no. of elements in this list < no. of years of investment tenure, the last element will be appended to the list until this condition is satisfied.

If no. of elements in this list > no. of years of investment tenure, the extra elements will be ignored
grossGoalAmountNumberGross goal amount (before back-end fee)Y228323>=02
modelPortfolioIdListList of integersIDs of Model Portfolios to be invested in each year. These IDs correspond the modelPortfolioId inputs in availablePortfolios sectionY[13]all modelPortfolioId defined in availablePortfoliosN/AIf no. of elements in this list < no. of years of investment tenure, the last element will be appended to the list until this condition is satisfied.

If no. of elements in this list > no. of years of investment tenure, the extra elements will be ignored
infusionsList of numbersInfusion amount on each compound dateY[100]2If no. of elements in this list < total times of compounding, the last element will be appended to the list until this condition is satisfied
targetProbabilityNumberProbability for computation of target returnsY0.66>0 , <12


The following table describes the outputs from the Projections API:

NameDataTypeDescriptionSample ValueNo. of DecimalsNotes
differenceNumberDifference between net goal amount (after back-end fee) and projected accumulated target portfolio value at the end of investment tenure105180Projected accumulated target portfolio value is computed with target returns
goalProbabilityStringProbability of obtaining portfolio returns sufficient for achieving goal0.640416Round off to 6 dp
healthCheckPassString"SHORTFALL" - projected investment value is less than goal amount.

"OK" - projected investment value is 0-5% above goal amount.

"SURPLUS" - projected investment value is more then 5% above goal amount.
"SURPLUS"N/A
matchGoalProbBoolean"true" if goalProbability > targetProbability, "false" otherwisefalseN/A
performanceTestDictionary(if healthCheckStatus: SHORTFALL)
constantInfusionRecRunningTimeNumberRunning time for constant infusion recommendation0.01754In seconds
dynamicDecreasingInfusionRecRunningTimeNumberRunning time for decreasing infusions recommendation0.05494In seconds
dynamicIncreasingInfusionRecRunningTimeNumberRunning time for increasing infusions recommendation0.04284In seconds
goalAmountRecRunningTimeNumberRunning time for goal amount recommendation0.04In seconds
goalYearRecRunningTimeNumberRunning time for goal year recommendation0.00174In seconds
initialInvestmentRecRunningTimeNumberRunning time for initial investment recommendation0.00144In seconds
projectionsArray
dateStringCompound date"2010-02-01"N/ARepeated for each compound date
goalAmountNetNumberNet goal amount at each compound date232982.652Repeated for each compound date
projectionLowerAmtNumberProjected accumulated lower band portfolio value at each compound date241572.652Repeated for each compound date
projectionMiddleAmtNumberProjected accumulated middle band portfolio value at each compound date287840.632Repeated for each compound date
projectionTargetAmtNumberProjected accumulated target portfolio value at each compound date275466.122Repeated for each compound date
projectionUpperAmtNumberProjected accumulated upper band portfolio value at each compound date342970.242Repeated for each compound date
recommendationsDictionary(If healthCheckStatus: SHORTFALL)
constantInfusionList of integersThe minimum constant infusion amount required to achieve goal[447, 447, 447, ..., 447, 447, 447]0Round up to nearest whole number
dynamicDecreasingInfusionList of integersInfusion amounts in a decreasing manner required to achieve goal[484, 483, 481, 479, 477, ..., 419, 412, 404, 396, 381]0Rounded up to nearest whole number
dynamicIncreasingInfusionList of integersInfusion amounts in an increasing manner required to achieve goal[376, 391, 400, 407, 415, ..., 472, 475, 476, 478, 479]0Rounded up to nearest whole number
goalAmountNumberNet goal amount achievable with current investment218014.642
initialInvestmentIntegerThe minimum initial investment amount required to achieve goal3124140Rounded up to nearest whole number
recommendationsDictionary(If healthCheckStatus: SURPLUS)
portfolioPathDictionaryDetails of recommended glide path
discreteExpectedMeanList of numbersDiscrete mean of returns of selected Model Portfolio for each year[0.12, 0.12, 0.12, 0.08, ..., 0.03]2
discreteExpectedStandardDeviationList of numbersDiscrete standard deviations of returns of selected Model Portfolio for each year[0.16, 0.16, 0.16, 0.1, ..., 0.05]2
modelPortfolioIdList of IntegersIDs of selected Model Portfolio for each year[14, 14, 14, 13, ..., 4]0
runningTimeStringTotal running time"0.321 seconds"N/A
Language
Authentication
Bearer
Click Try It! to start a request and see the response here!