{ "cashflows": [ { "name": "Standard loan", "preferences": { "locale": "en-US", "group": "Standard loan", "parameter-list": [ { "name": "strDescription", "parameter-type": "string", "value": "Standard loan" } ], "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||Value-to-interest~70|Value-to-principal~70|Balance~70|Accrued-balance~70|Description~100" }, { "propagate": false, "group": "General", "name": "Summary", "descriptor-type": "custom", "descriptor-code": "", "value": "Description|Type|EAR|PR|DR|APR|LTV|FinCharge|AmountFin|TotalOfPymts|OrigBal|IntStart|IntRate|CompFreq|PymtStart|PymtAmt|PayFreq|OrigTerm|PymtsMade|RemTerm|IntPaidTo|CurBal|NextPymt|LastDate|LastAmt" }, { "propagate": false, "group": "Summary", "name": "APR", "descriptor-type": "custom", "descriptor-code": "", "value": "\"APR\"~if(decYield > 0, formatnumber(decYield) + \"%\", \"Undefined\")" }, { "propagate": false, "group": "Summary", "name": "AmountFin", "descriptor-type": "custom", "descriptor-code": "", "value": "\"Amount financed\"~formatcurrency(cashflow(\"PrinTotalDecr\") - cashflow(\"AuxActiveIncr\") - cashflow(\"AuxPassiveIncr\"))" }, { "propagate": false, "group": "Summary", "name": "CompFreq", "descriptor-type": "custom", "descriptor-code": "", "value": "\"Compound frequency\"~am(\"IntFirst\", \"Frequency\")" }, { "propagate": false, "group": "Summary", "name": "CurBal", "descriptor-type": "custom", "descriptor-code": "", "value": "\"Current balance\"~if(len(am(\"CurFirstPV\", \"StrBal\")) > 0, am(\"CurFirstPV\", \"StrBal\"), formatcurrency(abs(am(\"PrinFirst\", \"Balance\"))))" }, { "propagate": false, "group": "Summary", "name": "DR", "descriptor-type": "custom", "descriptor-code": "", "value": "\"Daily rate\"~if(am(\"IntFirst\", \"DR\") > 0, formatnumber(am(\"IntFirst\", \"DR\")) + \"%\", \"Undefined\")" }, { "propagate": false, "group": "Summary", "name": "Description", "descriptor-type": "custom", "descriptor-code": "", "value": "\"Description\"~strDescription" }, { "propagate": false, "group": "Summary", "name": "EAR", "descriptor-type": "custom", "descriptor-code": "", "value": "\"Effective rate\"~if(am(\"IntFirst\", \"EAR\") > 0, formatnumber(am(\"IntFirst\", \"EAR\")) + \"%\", \"Undefined\")" }, { "propagate": false, "group": "Summary", "name": "FinCharge", "descriptor-type": "custom", "descriptor-code": "", "value": "\"Finance charge\"~formatcurrency(cashflow(\"IntTotal\") + cashflow(\"AuxPassiveIncr\"))" }, { "propagate": false, "group": "Summary", "name": "IntPaidTo", "descriptor-type": "custom", "descriptor-code": "", "value": "\"Int paid to\"~formatdate(if(am(\"CurFirstPV\", \"Date\") > 0, am(\"CurFirstPV\", \"Date\"), am(\"IntFirst\", \"Date\")))" }, { "propagate": false, "group": "Summary", "name": "IntRate", "descriptor-type": "custom", "descriptor-code": "", "value": "\"Interest rate\"~formatnumber(am(\"IntFirst\", \"Value\")) + \"%\"" }, { "propagate": false, "group": "Summary", "name": "IntStart", "descriptor-type": "custom", "descriptor-code": "", "value": "\"Int start date\"~formatdate(am(\"IntFirst\", \"Date\"))" }, { "propagate": false, "group": "Summary", "name": "LTV", "descriptor-type": "custom", "descriptor-code": "", "value": "\"LTV\"~formatnumber(if(am(\"CurFirstPV\", \"Balance\") = 0, 100, round(abs(am(\"CurFirstPV\", \"Balance\") / am(\"PrinFirst\", \"Value\")) * 100))) + \"%\"" }, { "propagate": false, "group": "Summary", "name": "LastAmt", "descriptor-type": "custom", "descriptor-code": "", "value": "\"Last amount\"~if(am(\"PrinLastStat\", \"Value\") >= am(\"PrinFirstStat\", \"Value\") * 2, \"Balloon amount\", \"Last pymt amt\")~formatcurrency(am(\"PrinLastStat\", \"Value\"))" }, { "propagate": false, "group": "Summary", "name": "LastDate", "descriptor-type": "custom", "descriptor-code": "", "value": "\"Last date\"~if(am(\"PrinLastStat\", \"Value\") >= am(\"PrinFirstStat\", \"Value\") * 2, \"Balloon date\", \"Last pymt date\")~formatdate(am(\"PrinLastStat\", \"Date\"))" }, { "propagate": false, "group": "Summary", "name": "NextPymt", "descriptor-type": "custom", "descriptor-code": "", "value": "\"Next pymt due\"~formatdate(am(\"PrinFirstStatPV\", \"Date\"))" }, { "propagate": false, "group": "Summary", "name": "OrigBal", "descriptor-type": "custom", "descriptor-code": "", "value": "\"Original balance\"~formatcurrency(am(\"PrinFirst\", \"Value\"))" }, { "propagate": false, "group": "Summary", "name": "OrigTerm", "descriptor-type": "custom", "descriptor-code": "", "value": "\"Original term\"~cashflow(\"PrinTotal\")" }, { "propagate": false, "group": "Summary", "name": "PR", "descriptor-type": "custom", "descriptor-code": "", "value": "\"Periodic rate\"~if(am(\"IntFirst\", \"PR\") > 0, formatnumber(am(\"IntFirst\", \"PR\")) + \"%\", \"Undefined\")" }, { "propagate": false, "group": "Summary", "name": "PayFreq", "descriptor-type": "custom", "descriptor-code": "", "value": "\"Payment frequency\"~am(\"PrinFirstStat\", \"Frequency\")" }, { "propagate": false, "group": "Summary", "name": "PymtAmt", "descriptor-type": "custom", "descriptor-code": "", "value": "\"Payment amount\"~formatcurrency(am(\"PrinFirstStat\", \"Value\"))" }, { "propagate": false, "group": "Summary", "name": "PymtStart", "descriptor-type": "custom", "descriptor-code": "", "value": "\"First pymt due\"~formatdate(am(\"PrinFirstStat\", \"Date\"))" }, { "propagate": false, "group": "Summary", "name": "PymtsMade", "descriptor-type": "custom", "descriptor-code": "", "value": "\"Payments made\"~cashflow(\"PrinBefore\")" }, { "propagate": false, "group": "Summary", "name": "RemTerm", "descriptor-type": "custom", "descriptor-code": "", "value": "\"Remaining term\"~cashflow(\"PrinAfter\")" }, { "propagate": false, "group": "Summary", "name": "TotalOfPymts", "descriptor-type": "custom", "descriptor-code": "", "value": "\"Total of payments\"~formatcurrency(cashflow(\"PrinTotalDecr\") + cashflow(\"IntTotal\") - cashflow(\"AuxActiveIncr\"))" }, { "propagate": false, "group": "Summary", "name": "Type", "descriptor-type": "custom", "descriptor-code": "", "value": "\"Compute method\"~am(\"IntFirst\", \"Type\")" } ] }, "event-list": [ { "event-type": "Loan", "event-date": { "date": "2002-08-01" }, "sort-order": 10, "event-value": { "value": "200000.0" }, "event-periods": { "periods": 1 }, "intervals": 1, "frequency": "1-month", "end-date": "2002-08-01", "extension": { "principal-change": { "eom": true, "principal-first": false, "statistics": false, "auxiliary": false, "passive": false, "principal-type": "decrease" } }, "descriptor-list": [ { "propagate": false, "group": "PrinChange", "name": "EventType", "descriptor-type": "custom", "descriptor-code": "", "value": "\"Loan\"", "event-index": 0 } ], "event-next-name": "Interest rate" }, { "event-type": "Int Act Per 360", "event-date": { "date": "2002-08-01", "expression": "intEndDate" }, "sort-order": 40, "event-value": { "value": "6.25" }, "event-periods": { "periods": 1 }, "intervals": 1, "frequency": "1-month", "end-date": "2002-08-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": "30 year fixed", "event-index": 1 }, { "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": "Normal payment" }, { "event-type": "Pymt", "event-date": { "date": "2002-09-01" }, "sort-order": 12, "event-value": { "value": "1231.43" }, "event-periods": { "periods": 359 }, "intervals": 1, "frequency": "1-month", "end-date": "2032-07-01", "extension": { "principal-change": { "eom": true, "principal-first": false, "statistics": true, "auxiliary": false, "passive": false, "principal-type": "increase" } }, "descriptor-list": [ { "propagate": false, "group": "PrinChange", "name": "EventType", "descriptor-type": "custom", "descriptor-code": "", "value": "\"Pymt \" + if(intPrinFirst, \" First\", \"\")", "event-index": 2 } ], "event-next-name": "Normal payment" }, { "event-type": "Pymt", "event-date": { "date": "2032-09-01" }, "sort-order": 12, "event-value": { "value": "1242.51" }, "event-periods": { "periods": 1 }, "intervals": 1, "frequency": "1-month", "end-date": "2032-09-01", "extension": { "principal-change": { "eom": true, "principal-first": false, "statistics": true, "auxiliary": false, "passive": false, "principal-type": "increase" } }, "descriptor-list": [ { "propagate": false, "group": "PrinChange", "name": "EventType", "descriptor-type": "custom", "descriptor-code": "", "value": "\"Pymt \" + if(intPrinFirst, \" First\", \"\")", "event-index": 3 } ], "event-next-name": "Normal payment" } ] } ] }