Strategy Inputs
A section of the exec input document for model invocation focuses on strategies. This is an array; you can have as many strategies as you like. The goal of a strategy is to include different guaranteed income products with different allocations (taken from savings) and see how that affects the RISE Score.
A very simple example is below, where there is one ‘base’ strategy, which has no guaranteed income products, and strategy that looks at 10% of savings assigned to a Variable Annuity.
{
"data": [{
"id": "af5efe77-fb84-4faa-99c0-0631e86a91cb",
"type": "profile",
"attributes": {
"tag": "minimal inputs",
"strategy": {
"strategies": [
[],
[
{
"productId": 1,
"allocation": 0.1
}
]
]
},
"primary": {},
"portfolio": []
}
}]
}
There are many defaults for each product, but the values can be overridden. The same example above could include:
{
"data": [{
"id": "af5efe77-fb84-4faa-99c0-0631e86a91cb",
"type": "profile",
"attributes": {
"tag": "minimal inputs",
"strategy": {
"strategies": [
[],
[
{
"productId": 1,
"allocation": 0.1,
"issueAge": 65,
"withdrawalAge": 65,
"eqFundAllocation": 0.6,
"bondFundAllocation": 0.4,
"fundFees": 0.03,
"mCharge": 0.003,
"riderCharge": 0.0085,
"riderChargeBasis": 0,
"withdrawalRate": 0.05,
"ratchet": true,
"bonusPeriod": 0,
"bonusPercentage": 0.0,
"bonusType": 1
}
]
]
},
"primary": {},
"portfolio": []
}
}]
}
Note also that earlier versions of the RISE API included a fixed number of strategies (3), such as:
{
"data": [{
"id": "af5efe77-fb84-4faa-99c0-0631e86a91cb",
"type": "profile",
"attributes": {
"tag": "minimal inputs",
"strategy": {
"strategyOne":[]
"strategyTwo":[
"productId": 2,
"allocation": 0.1,
],
"strategyThree":[
{
"productId": 1,
"allocation": 0.1,
"issueAge": 65,
"withdrawalAge": 65,
"eqFundAllocation": 0.6,
"bondFundAllocation": 0.4,
"fundFees": 0.03,
"mCharge": 0.003,
"riderCharge": 0.0085,
"riderChargeBasis": 0,
"withdrawalRate": 0.05,
"ratchet": true,
"bonusPeriod": 0,
"bonusPercentage": 0.0,
"bonusType": 1
}
]
]
},
"primary": {},
"portfolio": []
}
}]
}
The API is backwards compatible, and this structure still works, but it is not recommended.