{ "cashflows": [ { "name": "Standard_annuity", "preferences": { "locale": "en-US", "group": "Standard annuity", "parameter-list": [ { "name": "strDescription", "parameter-type": "string", "value": "Standard annuity" } ], "descriptor-list": [ { "propagate": false, "group": "ColValue", "name": "Description", "descriptor-type": "custom", "descriptor-code": "", "value": "Custom~Description~~~0~0" }, { "propagate": false, "group": "Event", "name": "Columns", "descriptor-type": "custom", "descriptor-code": "", "value": "Type~65|Date~50|Value~70|Periods~50|Frequency~60|End-date~50|Skip-periods~50|Parameter-list~40|Description~100" }, { "propagate": false, "group": "Amortization", "name": "Columns", "descriptor-type": "custom", "descriptor-code": "", "value": "Sequence~30|Type~65|Date~50||Decrease~70|Increase~70|Periods~50|Interest~70||Balance~70|Accrued-balance~70|Description~100" }, { "propagate": false, "group": "General", "name": "Summary", "descriptor-type": "custom", "descriptor-code": "", "value": "Description|Yield|InitPrem|IntStart|IntRate|IntFreq|PremStart|PremAmt|PremFreq|PremTerm|RenStart|RenRate|RenFreq|DrawStart|DrawAmt|DrawFreq|DrawTerm|FinalBal" }, { "propagate": false, "group": "Summary", "name": "Description", "descriptor-type": "custom", "descriptor-code": "", "value": "\"Description\"~strDescription" }, { "propagate": false, "group": "Summary", "name": "DrawAmt", "descriptor-type": "custom", "descriptor-code": "", "value": "\"Withdrawal amount\"~if(am(\"PrinFirstStat\", \"Value\") > 0, formatcurrency(am(\"PrinFirstStat\", \"Value\")), \"None\")" }, { "propagate": false, "group": "Summary", "name": "DrawFreq", "descriptor-type": "custom", "descriptor-code": "", "value": "\"Withdrawal frequency\"~if(am(\"PrinFirstStat\", \"Value\") > 0, am(\"PrinFirstStat\", \"Frequency\"), \"None\")" }, { "propagate": false, "group": "Summary", "name": "DrawStart", "descriptor-type": "custom", "descriptor-code": "", "value": "\"Withdrawal date\"~if(am(\"PrinFirstStat\", \"Date\") > 0, formatdate(am(\"PrinFirstStat\", \"Date\")), \"None\")" }, { "propagate": false, "group": "Summary", "name": "DrawTerm", "descriptor-type": "custom", "descriptor-code": "", "value": "\"Withdrawal term\"~if(am(\"PrinFirstStat\", \"Date\") > 0, format(datediff(am(\"PrinFirstStat\", \"Date\"), am(\"PrinLastStat\", \"Date\"), am(\"PrinFirstStat\", \"Frequency\"), 1, 1) + 1), \"None\")" }, { "propagate": false, "group": "Summary", "name": "FinalBal", "descriptor-type": "custom", "descriptor-code": "", "value": "\"Final balance\"~formatcurrency(cashflow(\"AccBal\") + cashflow(\"Balance\"))" }, { "propagate": false, "group": "Summary", "name": "InitPrem", "descriptor-type": "custom", "descriptor-code": "", "value": "\"Initial premium amount\"~formatcurrency(am(\"PrinFirst\", \"Value\"))" }, { "propagate": false, "group": "Summary", "name": "IntFreq", "descriptor-type": "custom", "descriptor-code": "", "value": "\"Guaranteed interest frequency\"~am(\"IntFirst\", \"Frequency\")" }, { "propagate": false, "group": "Summary", "name": "IntRate", "descriptor-type": "custom", "descriptor-code": "", "value": "\"Guaranteed interest rate\"~formatnumber(am(\"IntFirst\", \"Value\")) + \"%\"" }, { "propagate": false, "group": "Summary", "name": "IntStart", "descriptor-type": "custom", "descriptor-code": "", "value": "\"Guaranteed interest date\"~formatdate(am(\"IntFirst\", \"Date\"))" }, { "propagate": false, "group": "Summary", "name": "PremAmt", "descriptor-type": "custom", "descriptor-code": "", "value": "\"Periodic premium amount\"~if(am(\"FirstStart=Per prem\", \"Value\") > 0, formatcurrency(am(\"FirstStart=Per prem\", \"Value\")), \"None\")" }, { "propagate": false, "group": "Summary", "name": "PremFreq", "descriptor-type": "custom", "descriptor-code": "", "value": "\"Periodic premium frequency\"~if(am(\"FirstStart=Per prem\", \"Value\") > 0, am(\"FirstStart=Per prem\", \"Frequency\"), \"None\")" }, { "propagate": false, "group": "Summary", "name": "PremStart", "descriptor-type": "custom", "descriptor-code": "", "value": "\"Periodic premium date\"~if(am(\"FirstStart=Per prem\", \"Date\") > 0, formatdate(am(\"FirstStart=Per prem\", \"Date\")), \"None\")" }, { "propagate": false, "group": "Summary", "name": "PremTerm", "descriptor-type": "custom", "descriptor-code": "", "value": "\"Periodic premium term\"~if(am(\"FirstStart=Per prem\", \"Date\") > 0, format(datediff(am(\"FirstStart=Per prem\", \"Date\"), am(\"LastStart=Per prem\", \"Date\"), am(\"FirstStart=Per prem\", \"Frequency\"), 1, 1) + 1), \"None\")" }, { "propagate": false, "group": "Summary", "name": "RenFreq", "descriptor-type": "custom", "descriptor-code": "", "value": "\"Renewal interest frequency\"~am(\"IntLast\", \"Frequency\")" }, { "propagate": false, "group": "Summary", "name": "RenRate", "descriptor-type": "custom", "descriptor-code": "", "value": "\"Renewal interest frequency\"~formatnumber(am(\"IntLast\", \"Value\")) + \"%\"" }, { "propagate": false, "group": "Summary", "name": "RenStart", "descriptor-type": "custom", "descriptor-code": "", "value": "\"Renewal interest date\"~formatdate(am(\"IntLast\", \"Date\"))" }, { "propagate": false, "group": "Summary", "name": "Yield", "descriptor-type": "custom", "descriptor-code": "", "value": "\"Yield\"~if(decYield > 0, formatnumber(decYield) + \"%\", \"Undefined\")" } ] }, "event-list": [ { "event-type": "Init prem", "event-date": { "date": "2002-07-01" }, "sort-order": 10, "event-value": { "value": "10000.0" }, "event-periods": { "periods": 1 }, "intervals": 1, "frequency": "6-months", "end-date": "2002-07-01", "extension": { "principal-change": { "eom": true, "principal-first": false, "statistics": false, "auxiliary": false, "passive": false, "principal-type": "increase" } }, "descriptor-list": [ { "propagate": false, "group": "PrinChange", "name": "EventType", "descriptor-type": "custom", "descriptor-code": "", "value": "\"Init prem\"", "event-index": 0 } ], "event-next-name": "Interest rate" }, { "event-type": "Int Sim Per 360 Rnd", "event-date": { "date": "2002-07-01", "expression": "intEndDate" }, "sort-order": 40, "event-value": { "value": "6.0" }, "event-periods": { "periods": 1 }, "intervals": 1, "frequency": "6-months", "end-date": "2002-07-01", "extension": { "interest-change": { "round-balance": "bankers", "interest-method": "simple-interest", "day-count-basis": "periodic", "days-in-year": 360 } }, "descriptor-list": [ { "propagate": false, "group": "IntChange", "name": "EventType", "descriptor-type": "custom", "descriptor-code": "", "value": "\"Int \" + strMethod + \" \" + strDayCount + \" \" + format(intDaysInYear) + if(strRound = \"none\", \"\", \" Rnd\")", "event-index": 1 } ], "event-next-name": "Periodic premium" }, { "event-type": "Per prem", "event-date": { "date": "2003-01-01" }, "sort-order": 10, "event-value": { "value": "600.0" }, "event-periods": { "periods": 20 }, "intervals": 1, "frequency": "6-months", "end-date": "2012-07-01", "extension": { "principal-change": { "eom": true, "principal-first": false, "statistics": false, "auxiliary": false, "passive": false, "principal-type": "increase" } }, "descriptor-list": [ { "propagate": false, "group": "PrinChange", "name": "EventType", "descriptor-type": "custom", "descriptor-code": "", "value": "\"Per prem\"", "event-index": 2 } ], "event-next-name": "Periodic withdrawal" }, { "event-type": "Int Act Per 360", "event-date": { "date": "2012-07-01", "expression": "intEndDate" }, "sort-order": 40, "event-value": { "value": "3.5" }, "event-periods": { "periods": 1 }, "intervals": 1, "frequency": "6-months", "end-date": "2012-07-01", "extension": { "interest-change": { "interest-method": "actuarial", "day-count-basis": "periodic", "days-in-year": 360 } }, "descriptor-list": [ { "propagate": false, "group": "Custom", "name": "Description", "descriptor-type": "custom", "descriptor-code": "", "value": "Sect 7520 rate", "event-index": 3 }, { "propagate": false, "group": "IntChange", "name": "EventType", "descriptor-type": "custom", "descriptor-code": "", "value": "\"Int \" + strMethod + \" \" + strDayCount + \" \" + format(intDaysInYear) + if(strRound = \"none\", \"\", \" Rnd\")", "event-index": 3 } ], "event-next-name": "Periodic premium" }, { "event-type": "Per draw", "event-date": { "date": "2013-01-01" }, "sort-order": 12, "event-value": { "value": "1200.0" }, "event-periods": { "periods": 20 }, "intervals": 1, "frequency": "6-months", "end-date": "2022-07-01", "extension": { "principal-change": { "eom": true, "principal-first": false, "statistics": true, "auxiliary": false, "passive": false, "principal-type": "decrease" } }, "descriptor-list": [ { "propagate": false, "group": "PrinChange", "name": "EventType", "descriptor-type": "custom", "descriptor-code": "", "value": "\"Per draw\"", "event-index": 4 } ], "event-next-name": "Periodic withdrawal" } ] } ] }