@frontlinesystems/rason-mcp-server 2026.5.0 → 2026.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +35 -35
- package/README.md +1 -1
- package/examples/EXAMPLES_REFERENCE.md +128 -128
- package/examples/calculation/DMNExamples/DMN Box Fun with typeDef result.json +53 -53
- package/examples/calculation/DMNExamples/DMN Context example.json +69 -69
- package/examples/calculation/DMNExamples/DMN DT with typeDef result.json +43 -43
- package/examples/calculation/DMNExamples/FEEL Date Time example.json +28 -28
- package/examples/calculation/DMNExamples/FEEL For iteration example.json +66 -66
- package/examples/calculation/DMNExamples/FEEL For with two indices.json +15 -15
- package/examples/calculation/DMNExamples/FEEL For with typeDef result.json +88 -88
- package/examples/calculation/DMNExamples/FEEL If Then Else example.json +25 -25
- package/examples/calculation/DMNExamples/FEEL List example.json +37 -37
- package/examples/calculation/DMNExamples/FEEL List operator.json +17 -17
- package/examples/calculation/DMNExamples/FEEL List with typeDef collection.json +36 -36
- package/examples/calculation/DMNExamples/FEEL Some or Every example.json +65 -65
- package/examples/calculation/DecisionTables/DT Datasource example.json +52 -52
- package/examples/calculation/DecisionTables/DT Date and Time examples.json +91 -91
- package/examples/calculation/DecisionTables/DT Expression example.json +32 -32
- package/examples/calculation/DecisionTables/DT Hit Policy examples.json +136 -136
- package/examples/calculation/DecisionTables/DT Loan Recommend model.json +81 -81
- package/examples/calculation/DecisionTables/DT Loan Strategy Model and Predictive CSV-XML.json +218 -218
- package/examples/calculation/DecisionTables/DT Loan Strategy model and Datasource.json +286 -286
- package/examples/calculation/DecisionTables/DT Loan Strategy model and Predictive.json +203 -203
- package/examples/calculation/DecisionTables/DT Loan Strategy model by scratch.json +214 -214
- package/examples/calculation/DecisionTables/DT Output Order example.json +39 -39
- package/examples/calculation/DecisionTables/DT Unique example.json +38 -38
- package/examples/calculation/TypeDefinitions/TypeDefCF.json +64 -64
- package/examples/calculation/TypeDefinitions/TypeDefDT.json +57 -57
- package/examples/datamining/AffinityAnalysis/AssociationRules.json +51 -51
- package/examples/datamining/Classification/DecisionTree.json +90 -90
- package/examples/datamining/Classification/DiscriminantAnalysis.json +81 -81
- package/examples/datamining/Classification/Ensembles/Bagging.json +66 -66
- package/examples/datamining/Classification/Ensembles/Boosting.json +67 -67
- package/examples/datamining/Classification/Ensembles/RandomTrees.json +91 -91
- package/examples/datamining/Classification/FindBestModel.json +86 -86
- package/examples/datamining/Classification/LogisticRegression.json +82 -82
- package/examples/datamining/Classification/NaiveBayes.json +78 -78
- package/examples/datamining/Classification/NearestNeighbors.json +84 -84
- package/examples/datamining/Classification/NeuralNetwork.json +92 -92
- package/examples/datamining/Clustering/Hierarchical.json +54 -54
- package/examples/datamining/Clustering/KMeans.json +71 -71
- package/examples/datamining/DataSources/DelimitedFile.json +49 -49
- package/examples/datamining/DataSources/JSONFile.json +49 -49
- package/examples/datamining/DataSources/MSAccessDatabase.json +49 -49
- package/examples/datamining/DataSources/MSExcelTable.json +50 -50
- package/examples/datamining/DataSources/MSSQLDatabase.json +49 -49
- package/examples/datamining/DataSources/ODATATable.json +49 -49
- package/examples/datamining/DataSources/ODBCDatabase.json +49 -49
- package/examples/datamining/FeatureSelection/LinearWrapping.json +53 -53
- package/examples/datamining/FeatureSelection/LogisticWrapping.json +56 -56
- package/examples/datamining/FeatureSelection/Univariate.json +78 -78
- package/examples/datamining/Regression/DecisionTree.json +82 -82
- package/examples/datamining/Regression/Ensembles/Bagging.json +62 -62
- package/examples/datamining/Regression/Ensembles/Boosting.json +62 -62
- package/examples/datamining/Regression/Ensembles/RandomTrees.json +78 -78
- package/examples/datamining/Regression/FindBestModel.json +86 -86
- package/examples/datamining/Regression/LinearRegression.json +124 -124
- package/examples/datamining/Regression/NearestNeighbors.json +77 -77
- package/examples/datamining/Regression/NeuralNetwork.json +82 -82
- package/examples/datamining/Scoring/JSONClassifier.json +62 -62
- package/examples/datamining/Scoring/JSONClassifierNN.json +62 -62
- package/examples/datamining/Scoring/JSONClusterizer.json +37 -37
- package/examples/datamining/Scoring/JSONForecaster.json +49 -49
- package/examples/datamining/Scoring/JSONLinearRegression.json +56 -56
- package/examples/datamining/Scoring/JSONPCA.json +41 -41
- package/examples/datamining/Scoring/JSONRegressor.json +56 -56
- package/examples/datamining/Scoring/JSONTransformer.json +38 -38
- package/examples/datamining/Scoring/PMMLClassifier.json +42 -42
- package/examples/datamining/Scoring/PMMLForecaster.json +43 -43
- package/examples/datamining/Scoring/PMMLRegressor.json +38 -38
- package/examples/datamining/Scoring/PMMLTransformer.json +38 -38
- package/examples/datamining/Simulation/LinearRegressionSimulation.json +117 -117
- package/examples/datamining/Simulation/SyntheticDataGeneration.json +108 -108
- package/examples/datamining/Simulation/pmml-risk-scoring.json +62 -62
- package/examples/datamining/Summarizer/Summarization.json +54 -54
- package/examples/datamining/TextMining/LatentSemanticAnalysis.json +51 -51
- package/examples/datamining/TextMining/TfIdf-FileData.json +65 -65
- package/examples/datamining/TextMining/TfIdf-InlineData.json +55 -55
- package/examples/datamining/TimeSeries/AddHoltWinters.json +79 -79
- package/examples/datamining/TimeSeries/Arima.json +74 -74
- package/examples/datamining/TimeSeries/DoubleExponential.json +65 -65
- package/examples/datamining/TimeSeries/Exponential.json +64 -64
- package/examples/datamining/TimeSeries/LagAnalysis.json +48 -48
- package/examples/datamining/TimeSeries/MovingAverage.json +65 -65
- package/examples/datamining/TimeSeries/MulHoltWinters.json +65 -65
- package/examples/datamining/TimeSeries/NoTrendHoltWinters.json +65 -65
- package/examples/datamining/Transformation/Binning.json +69 -69
- package/examples/datamining/Transformation/CanonicalVariateAnalysis.json +47 -47
- package/examples/datamining/Transformation/CategoryReduction.json +51 -51
- package/examples/datamining/Transformation/Factorization.json +50 -50
- package/examples/datamining/Transformation/MissingDataHandling.json +83 -83
- package/examples/datamining/Transformation/OneHotEncoding-DataInline.json +54 -54
- package/examples/datamining/Transformation/OneHotEncoding-DatainFile.json +48 -48
- package/examples/datamining/Transformation/PartitionTimeSeries.json +48 -48
- package/examples/datamining/Transformation/Partitioning-DF.json +72 -72
- package/examples/datamining/Transformation/Partitioning.json +46 -46
- package/examples/datamining/Transformation/PartitioningWithOversampling-DF.json +65 -65
- package/examples/datamining/Transformation/PartitioningWithOversampling.json +44 -44
- package/examples/datamining/Transformation/PrincipalComponentsAnalysis.json +52 -52
- package/examples/datamining/Transformation/Rescaling.json +67 -67
- package/examples/datamining/Transformation/Sampling.json +43 -43
- package/examples/datamining/Transformation/StratifiedSampling.json +46 -46
- package/examples/flow/SQLServerTransform.json +260 -260
- package/examples/flow/dm-calc-pipeline.json +277 -277
- package/examples/flow/dm-pipeline-simulation.json +113 -113
- package/examples/flow/opt-sim-pipeline.json +159 -159
- package/examples/flow/sim-dm-pipeline.json +106 -106
- package/examples/flow/sim-sim-pipeline.json +136 -136
- package/examples/index.json +4678 -4678
- package/examples/{Optimization → optimization}/Conic/AirlineHubConic.json +111 -111
- package/examples/{Optimization → optimization}/Conic/AirlineHubConic2.json +108 -108
- package/examples/{Optimization → optimization}/Conic/AirlineHubConic3.json +111 -111
- package/examples/{Optimization → optimization}/Conic/AirlineHubConic4.json +99 -99
- package/examples/{Optimization → optimization}/Conic/AirlineHubConic5.json +101 -101
- package/examples/{Optimization → optimization}/DataBinding/ProductMixCsv.json +81 -81
- package/examples/{Optimization → optimization}/DataBinding/ProductMixCsv4.json +96 -96
- package/examples/{Optimization → optimization}/DataBinding/ProductMixExcel.json +73 -73
- package/examples/{Optimization → optimization}/DataBinding/ProductMixExcel1.json +86 -86
- package/examples/{Optimization → optimization}/DataBinding/ProductMixExcel11.json +108 -108
- package/examples/{Optimization → optimization}/DataBinding/ProductMixExcel2.json +77 -77
- package/examples/{Optimization → optimization}/DataBinding/ProductMixTab.json +89 -89
- package/examples/{Optimization → optimization}/DataBinding/ProductMixTab1.json +73 -73
- package/examples/{Optimization → optimization}/DataBinding/ProductMixTab2.json +77 -77
- package/examples/{Optimization → optimization}/Linear/Inventory.json +199 -199
- package/examples/{Optimization → optimization}/Linear/Matop.json +119 -119
- package/examples/{Optimization → optimization}/Linear/ProductMix.json +97 -97
- package/examples/{Optimization → optimization}/Linear/ProductMix2.json +72 -72
- package/examples/{Optimization → optimization}/Linear/ProductMix3.json +49 -49
- package/examples/{Optimization → optimization}/Linear/ProductMix4.json +56 -56
- package/examples/{Optimization → optimization}/Linear/ProductMixCsv1.json +106 -106
- package/examples/{Optimization → optimization}/Linear/ProductMixCsv2.json +106 -106
- package/examples/{Optimization → optimization}/Linear/ProductMixSQL11.json +82 -82
- package/examples/{Optimization → optimization}/Linear/Rowop.json +126 -126
- package/examples/{Optimization → optimization}/NonLinear/AirlineHub.json +63 -63
- package/examples/{Optimization → optimization}/NonLinear/AirlineHub2.json +47 -47
- package/examples/{Optimization → optimization}/NonLinear/AirlineHub3.json +47 -47
- package/examples/{Optimization → optimization}/NonSmooth/Inventory2.json +159 -159
- package/examples/{Optimization → optimization}/Quadratic/PortfolioOpt.json +55 -55
- package/examples/{Optimization → optimization}/Quadratic/PortfolioOpt2.json +65 -65
- package/examples/{Optimization → optimization}/WithUncertainty/GasCompanyChance.json +78 -78
- package/examples/{Optimization → optimization}/WithUncertainty/GasCompanyRecourse.json +78 -78
- package/examples/{Optimization → optimization}/WithUncertainty/ProjectSelect.json +77 -77
- package/examples/{Optimization → optimization}/WithUncertainty/ProjectSelect2.json +81 -81
- package/examples/{Optimization → optimization}/WithUncertainty/ProjectSelect3.json +84 -84
- package/examples/{Optimization → optimization}/WithUncertainty/ProjectSelect4.json +74 -74
- package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/DataFiltering/ListwithFilter.json +52 -52
- package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/Loops/ProductMix5.json +57 -57
- package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/Loops/compoundWhileStatement.json +35 -35
- package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/Loops/ifThenElseStatement.json +33 -33
- package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/Loops/nestedLoop.json +25 -25
- package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/ParallelArray.json +47 -47
- package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/indexedArray.json +69 -69
- package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/nonParallelArray.json +49 -49
- package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/sumAggregateExample.json +337 -337
- package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/tsp.json +61 -61
- package/examples/rason-features/BoxIterators/Box_Fun_Loop_Iter_Sim_RASON.json +190 -190
- package/examples/rason-features/BoxIterators/Box_Fun_Loop_Sim_RASON.json +75 -75
- package/examples/rason-features/BoxIterators/Box_Fun_Sim_RASON.json +108 -108
- package/examples/rason-features/BoxIterators/Box_Iter_SIM_RASON.json +68 -68
- package/examples/rason-features/BoxIterators/Box_Iterator_Calc_Loop.json +183 -183
- package/examples/rason-features/BoxIterators/Box_Iterator_with_typeDef_partial.json +79 -79
- package/examples/rason-features/BoxLambdaExamples/BoxFunOptimize.json +154 -154
- package/examples/rason-features/BoxLambdaExamples/BoxFunSimulate.json +118 -118
- package/examples/rason-features/BoxLambdaExamples/LambdaFunOptimize.json +142 -142
- package/examples/rason-features/BoxLambdaExamples/LambdaFunSimulate.json +81 -81
- package/examples/rason-features/ReferenceGuide/RGFirehouseLocation.json +69 -69
- package/examples/rason-features/ReferenceGuide/RGFirehouseLocationConic.json +113 -113
- package/examples/rason-features/ReferenceGuide/RGProductMixCsv1.json +107 -107
- package/examples/rason-features/ReferenceGuide/RGProductMixExcel11.json +117 -117
- package/examples/rason-features/ReferenceGuide/RGProductMixSQL11.json +108 -108
- package/examples/rason-features/UserGuide/UGAirlineHubCSV.json +67 -67
- package/examples/rason-features/UserGuide/UGForecast.json +50 -50
- package/examples/rason-features/UserGuide/UGProductMix1.json +48 -48
- package/examples/rason-features/UserGuide/UGProductMix2.json +48 -48
- package/examples/rason-features/UserGuide/UGProductMixTab1.json +67 -67
- package/examples/rason-features/UserGuide/UGProductMixTab2.json +76 -76
- package/examples/rason-features/UserGuide/UGProductMixTab3.json +66 -66
- package/examples/rason-features/UserGuide/UGProductMixTab4.json +70 -70
- package/examples/rason-features/UserGuide/UGProductMixTab5.json +67 -67
- package/examples/rason-features/UserGuide/UGProjectSelect0.json +91 -91
- package/examples/rason-features/UserGuide/UGProjectSelect1.json +74 -74
- package/examples/rason-features/UserGuide/UGProjectSelect2.json +74 -74
- package/examples/rason-features/UserGuide/UGYieldManagement1.json +61 -61
- package/examples/rason-features/UserGuide/UGYieldManagement2.json +61 -61
- package/examples/rason-features/UserGuide/UGYieldManagement3.json +63 -63
- package/examples/{Simulation → simulation}/CandyStoreSalesUsingSIP.json +147 -147
- package/examples/{Simulation → simulation}/CollegeFundGrowth1.json +423 -423
- package/examples/{Simulation → simulation}/CollegeFundGrowth1SIPModel.json +27 -27
- package/examples/{Simulation → simulation}/CollegeFundGrowth2.json +415 -415
- package/examples/{Simulation → simulation}/CollegeFundGrowthSIP.json +401 -401
- package/examples/{Simulation → simulation}/GBMSimulationModel.json +236 -236
- package/examples/{Simulation → simulation}/YieldManagement(Sim).json +69 -69
- package/examples/{Simulation → simulation}/YieldManagement2(Sim).json +72 -72
- package/out/index.cjs +38 -38
- package/package.json +2 -2
|
@@ -1,424 +1,424 @@
|
|
|
1
|
-
{
|
|
2
|
-
"modelName": "CollegeFundGrowth1(Sim)",
|
|
3
|
-
"modelType": "simulation",
|
|
4
|
-
"modelDescription": "CollegeFundGrowth1 - RASON Model that simulates a college fund account, PsiMetalog distribution models the yearly market returns. Imagine a couple, Mark and Nicole, want to ensure that they have enough funds to send their sons Joseph and Benjamin to college after they graduate from high school. They have opened a 529 account at their local investment bank, but are unsure how much to invest each year to ensure that enough funds are available when needed. Mark and Nicole are projecting that the price for a private 4 year institution will be $75,000 per year. Nicole has fit a distribution to the historical returns from the S&P 500 using Analytic Solver. She is using this return to model the portfolio return for each year the 529 is in use. If the balance of the portfolio is negative, Nicole assumes she will borrow money to cover the cost of tuition at an 8% interest rate.",
|
|
5
|
-
"engineSettings": {
|
|
6
|
-
"comment": "Use this section to set options related to the engine being used to solve the model, in the case of a simulation model, the Risk Solver Engine. In most cases, the default values are sufficient.",
|
|
7
|
-
"randomGenerator": "Lecuyer",
|
|
8
|
-
"samplingMethod": "Latin"
|
|
9
|
-
},
|
|
10
|
-
"uncertainVariables": {
|
|
11
|
-
"comment": "Enter the uncertain variables in this section. In this example, there are 25 uncertain variables modeling the portfolio return in each year. For more information on Metalog distributions, see http://metalogdistributions.com/.",
|
|
12
|
-
"y1Return": {
|
|
13
|
-
"formula": "PsiMetalog(,,{0.137088248307783,235.996630065143,-41.6761363388904,-943.412342399359,166.781999403805,-1781.91992354393,5864.72184371948,265.6771517599,-850.31248220655,3796.63619041443,-8596.89170408249,-404.07730274836,835.784252876499,-1707.57994881272})"
|
|
14
|
-
},
|
|
15
|
-
"y2Return": {
|
|
16
|
-
"formula": "PsiMetalog(,,{0.137088248307783,235.996630065143,-41.6761363388904,-943.412342399359,166.781999403805,-1781.91992354393,5864.72184371948,265.6771517599,-850.31248220655,3796.63619041443,-8596.89170408249,-404.07730274836,835.784252876499,-1707.57994881272})"
|
|
17
|
-
},
|
|
18
|
-
"y3Return": {
|
|
19
|
-
"formula": "PsiMetalog(,,{0.137088248307783,235.996630065143,-41.6761363388904,-943.412342399359,166.781999403805,-1781.91992354393,5864.72184371948,265.6771517599,-850.31248220655,3796.63619041443,-8596.89170408249,-404.07730274836,835.784252876499,-1707.57994881272})"
|
|
20
|
-
},
|
|
21
|
-
"y4Return": {
|
|
22
|
-
"formula": "PsiMetalog(,,{0.137088248307783,235.996630065143,-41.6761363388904,-943.412342399359,166.781999403805,-1781.91992354393,5864.72184371948,265.6771517599,-850.31248220655,3796.63619041443,-8596.89170408249,-404.07730274836,835.784252876499,-1707.57994881272})"
|
|
23
|
-
},
|
|
24
|
-
"y5Return": {
|
|
25
|
-
"formula": "PsiMetalog(,,{0.137088248307783,235.996630065143,-41.6761363388904,-943.412342399359,166.781999403805,-1781.91992354393,5864.72184371948,265.6771517599,-850.31248220655,3796.63619041443,-8596.89170408249,-404.07730274836,835.784252876499,-1707.57994881272})"
|
|
26
|
-
},
|
|
27
|
-
"y6Return": {
|
|
28
|
-
"formula": "PsiMetalog(,,{0.137088248307783,235.996630065143,-41.6761363388904,-943.412342399359,166.781999403805,-1781.91992354393,5864.72184371948,265.6771517599,-850.31248220655,3796.63619041443,-8596.89170408249,-404.07730274836,835.784252876499,-1707.57994881272})"
|
|
29
|
-
},
|
|
30
|
-
"y7Return": {
|
|
31
|
-
"formula": "PsiMetalog(,,{0.137088248307783,235.996630065143,-41.6761363388904,-943.412342399359,166.781999403805,-1781.91992354393,5864.72184371948,265.6771517599,-850.31248220655,3796.63619041443,-8596.89170408249,-404.07730274836,835.784252876499,-1707.57994881272})"
|
|
32
|
-
},
|
|
33
|
-
"y8Return": {
|
|
34
|
-
"formula": "PsiMetalog(,,{0.137088248307783,235.996630065143,-41.6761363388904,-943.412342399359,166.781999403805,-1781.91992354393,5864.72184371948,265.6771517599,-850.31248220655,3796.63619041443,-8596.89170408249,-404.07730274836,835.784252876499,-1707.57994881272})"
|
|
35
|
-
},
|
|
36
|
-
"y9Return": {
|
|
37
|
-
"formula": "PsiMetalog(,,{0.137088248307783,235.996630065143,-41.6761363388904,-943.412342399359,166.781999403805,-1781.91992354393,5864.72184371948,265.6771517599,-850.31248220655,3796.63619041443,-8596.89170408249,-404.07730274836,835.784252876499,-1707.57994881272})"
|
|
38
|
-
},
|
|
39
|
-
"y10Return": {
|
|
40
|
-
"formula": "PsiMetalog(,,{0.137088248307783,235.996630065143,-41.6761363388904,-943.412342399359,166.781999403805,-1781.91992354393,5864.72184371948,265.6771517599,-850.31248220655,3796.63619041443,-8596.89170408249,-404.07730274836,835.784252876499,-1707.57994881272})"
|
|
41
|
-
},
|
|
42
|
-
"y11Return": {
|
|
43
|
-
"formula": "PsiMetalog(,,{0.137088248307783,235.996630065143,-41.6761363388904,-943.412342399359,166.781999403805,-1781.91992354393,5864.72184371948,265.6771517599,-850.31248220655,3796.63619041443,-8596.89170408249,-404.07730274836,835.784252876499,-1707.57994881272})"
|
|
44
|
-
},
|
|
45
|
-
"y12Return": {
|
|
46
|
-
"formula": "PsiMetalog(,,{0.137088248307783,235.996630065143,-41.6761363388904,-943.412342399359,166.781999403805,-1781.91992354393,5864.72184371948,265.6771517599,-850.31248220655,3796.63619041443,-8596.89170408249,-404.07730274836,835.784252876499,-1707.57994881272})"
|
|
47
|
-
},
|
|
48
|
-
"y13Return": {
|
|
49
|
-
"formula": "PsiMetalog(,,{0.137088248307783,235.996630065143,-41.6761363388904,-943.412342399359,166.781999403805,-1781.91992354393,5864.72184371948,265.6771517599,-850.31248220655,3796.63619041443,-8596.89170408249,-404.07730274836,835.784252876499,-1707.57994881272})"
|
|
50
|
-
},
|
|
51
|
-
"y14Return": {
|
|
52
|
-
"formula": "PsiMetalog(,,{0.137088248307783,235.996630065143,-41.6761363388904,-943.412342399359,166.781999403805,-1781.91992354393,5864.72184371948,265.6771517599,-850.31248220655,3796.63619041443,-8596.89170408249,-404.07730274836,835.784252876499,-1707.57994881272})"
|
|
53
|
-
},
|
|
54
|
-
"y15Return": {
|
|
55
|
-
"formula": "PsiMetalog(,,{0.137088248307783,235.996630065143,-41.6761363388904,-943.412342399359,166.781999403805,-1781.91992354393,5864.72184371948,265.6771517599,-850.31248220655,3796.63619041443,-8596.89170408249,-404.07730274836,835.784252876499,-1707.57994881272})"
|
|
56
|
-
},
|
|
57
|
-
"y16Return": {
|
|
58
|
-
"formula": "PsiMetalog(,,{0.137088248307783,235.996630065143,-41.6761363388904,-943.412342399359,166.781999403805,-1781.91992354393,5864.72184371948,265.6771517599,-850.31248220655,3796.63619041443,-8596.89170408249,-404.07730274836,835.784252876499,-1707.57994881272})"
|
|
59
|
-
},
|
|
60
|
-
"y17Return": {
|
|
61
|
-
"formula": "PsiMetalog(,,{0.137088248307783,235.996630065143,-41.6761363388904,-943.412342399359,166.781999403805,-1781.91992354393,5864.72184371948,265.6771517599,-850.31248220655,3796.63619041443,-8596.89170408249,-404.07730274836,835.784252876499,-1707.57994881272})"
|
|
62
|
-
},
|
|
63
|
-
"y18Return": {
|
|
64
|
-
"formula": "PsiMetalog(,,{0.137088248307783,235.996630065143,-41.6761363388904,-943.412342399359,166.781999403805,-1781.91992354393,5864.72184371948,265.6771517599,-850.31248220655,3796.63619041443,-8596.89170408249,-404.07730274836,835.784252876499,-1707.57994881272})"
|
|
65
|
-
},
|
|
66
|
-
"y19Return": {
|
|
67
|
-
"formula": "PsiMetalog(,,{0.137088248307783,235.996630065143,-41.6761363388904,-943.412342399359,166.781999403805,-1781.91992354393,5864.72184371948,265.6771517599,-850.31248220655,3796.63619041443,-8596.89170408249,-404.07730274836,835.784252876499,-1707.57994881272})"
|
|
68
|
-
},
|
|
69
|
-
"y20Return": {
|
|
70
|
-
"formula": "PsiMetalog(,,{0.137088248307783,235.996630065143,-41.6761363388904,-943.412342399359,166.781999403805,-1781.91992354393,5864.72184371948,265.6771517599,-850.31248220655,3796.63619041443,-8596.89170408249,-404.07730274836,835.784252876499,-1707.57994881272})"
|
|
71
|
-
},
|
|
72
|
-
"y21Return": {
|
|
73
|
-
"formula": "PsiMetalog(,,{0.137088248307783,235.996630065143,-41.6761363388904,-943.412342399359,166.781999403805,-1781.91992354393,5864.72184371948,265.6771517599,-850.31248220655,3796.63619041443,-8596.89170408249,-404.07730274836,835.784252876499,-1707.57994881272})"
|
|
74
|
-
},
|
|
75
|
-
"y22Return": {
|
|
76
|
-
"formula": "PsiMetalog(,,{0.137088248307783,235.996630065143,-41.6761363388904,-943.412342399359,166.781999403805,-1781.91992354393,5864.72184371948,265.6771517599,-850.31248220655,3796.63619041443,-8596.89170408249,-404.07730274836,835.784252876499,-1707.57994881272})"
|
|
77
|
-
},
|
|
78
|
-
"y23Return": {
|
|
79
|
-
"formula": "PsiMetalog(,,{0.137088248307783,235.996630065143,-41.6761363388904,-943.412342399359,166.781999403805,-1781.91992354393,5864.72184371948,265.6771517599,-850.31248220655,3796.63619041443,-8596.89170408249,-404.07730274836,835.784252876499,-1707.57994881272})"
|
|
80
|
-
},
|
|
81
|
-
"y24Return": {
|
|
82
|
-
"formula": "PsiMetalog(,,{0.137088248307783,235.996630065143,-41.6761363388904,-943.412342399359,166.781999403805,-1781.91992354393,5864.72184371948,265.6771517599,-850.31248220655,3796.63619041443,-8596.89170408249,-404.07730274836,835.784252876499,-1707.57994881272})"
|
|
83
|
-
},
|
|
84
|
-
"y25Return": {
|
|
85
|
-
"formula": "PsiMetalog(,,{0.137088248307783,235.996630065143,-41.6761363388904,-943.412342399359,166.781999403805,-1781.91992354393,5864.72184371948,265.6771517599,-850.31248220655,3796.63619041443,-8596.89170408249,-404.07730274836,835.784252876499,-1707.57994881272})"
|
|
86
|
-
}
|
|
87
|
-
},
|
|
88
|
-
"data": {
|
|
89
|
-
"comment": "Use the data section to keep constant data parameters organized. ",
|
|
90
|
-
"begBal": {
|
|
91
|
-
"comment": "This is the beginning balance of the 529 account.",
|
|
92
|
-
"value": 0
|
|
93
|
-
},
|
|
94
|
-
"intRate": {
|
|
95
|
-
"comment": "If there is not enough funds to cover college, the parents will have to borrow money at this interest rate.",
|
|
96
|
-
"value": 0.08
|
|
97
|
-
},
|
|
98
|
-
"deposit1": {
|
|
99
|
-
"comment": "Deposit1 thru Desposit24 represents the deposit for each year, deposit1 in year 1, deposit2 in year 2, etc. No deposits will occur in years 18-24 ",
|
|
100
|
-
"value": 10000
|
|
101
|
-
},
|
|
102
|
-
"deposit2": {
|
|
103
|
-
"value": 10000
|
|
104
|
-
},
|
|
105
|
-
"deposit3": {
|
|
106
|
-
"value": 10000
|
|
107
|
-
},
|
|
108
|
-
"deposit4": {
|
|
109
|
-
"value": 10000
|
|
110
|
-
},
|
|
111
|
-
"deposit5": {
|
|
112
|
-
"value": 10000
|
|
113
|
-
},
|
|
114
|
-
"deposit6": {
|
|
115
|
-
"value": 10000
|
|
116
|
-
},
|
|
117
|
-
"deposit7": {
|
|
118
|
-
"value": 10000
|
|
119
|
-
},
|
|
120
|
-
"deposit8": {
|
|
121
|
-
"value": 10000
|
|
122
|
-
},
|
|
123
|
-
"deposit9": {
|
|
124
|
-
"value": 10000
|
|
125
|
-
},
|
|
126
|
-
"deposit10": {
|
|
127
|
-
"value": 10000
|
|
128
|
-
},
|
|
129
|
-
"deposit11": {
|
|
130
|
-
"value": 10000
|
|
131
|
-
},
|
|
132
|
-
"deposit12": {
|
|
133
|
-
"value": 10000
|
|
134
|
-
},
|
|
135
|
-
"deposit13": {
|
|
136
|
-
"value": 10000
|
|
137
|
-
},
|
|
138
|
-
"deposit14": {
|
|
139
|
-
"value": 10000
|
|
140
|
-
},
|
|
141
|
-
"deposit15": {
|
|
142
|
-
"value": 10000
|
|
143
|
-
},
|
|
144
|
-
"deposit16": {
|
|
145
|
-
"value": 10000
|
|
146
|
-
},
|
|
147
|
-
"deposit17": {
|
|
148
|
-
"value": 10000
|
|
149
|
-
},
|
|
150
|
-
"deposit18": {
|
|
151
|
-
"value": 0
|
|
152
|
-
},
|
|
153
|
-
"deposit19": {
|
|
154
|
-
"value": 0
|
|
155
|
-
},
|
|
156
|
-
"deposit20": {
|
|
157
|
-
"value": 0
|
|
158
|
-
},
|
|
159
|
-
"deposit21": {
|
|
160
|
-
"value": 0
|
|
161
|
-
},
|
|
162
|
-
"deposit22": {
|
|
163
|
-
"value": 0
|
|
164
|
-
},
|
|
165
|
-
"deposit23": {
|
|
166
|
-
"value": 0
|
|
167
|
-
},
|
|
168
|
-
"deposit24": {
|
|
169
|
-
"value": 0
|
|
170
|
-
},
|
|
171
|
-
"withdrawal1": {
|
|
172
|
-
"comment": "Withdraws start in year 18 as this is when the first child, Joe, enters college.",
|
|
173
|
-
"value": -75000
|
|
174
|
-
},
|
|
175
|
-
"withdrawal2": {
|
|
176
|
-
"comment": "Withdrawal for Joe year 2.",
|
|
177
|
-
"value": -75000
|
|
178
|
-
},
|
|
179
|
-
"withdrawal3": {
|
|
180
|
-
"comment": "Withdrawal for Joe year 3.",
|
|
181
|
-
"value": -75000
|
|
182
|
-
},
|
|
183
|
-
"withdrawal4": {
|
|
184
|
-
"comment": "Withdrawal for Joe year 4 and Ben (2nd child) year 1.",
|
|
185
|
-
"value": -150000
|
|
186
|
-
},
|
|
187
|
-
"withdrawal5": {
|
|
188
|
-
"comment": "Withdrawal for Ben year 2.",
|
|
189
|
-
"value": -75000
|
|
190
|
-
},
|
|
191
|
-
"withdrawal6": {
|
|
192
|
-
"comment": "Withdrawal for Ben year 3.",
|
|
193
|
-
"value": -75000
|
|
194
|
-
},
|
|
195
|
-
"withdrawal7": {
|
|
196
|
-
"comment": "Withdrawal for Ben year 4.",
|
|
197
|
-
"value": -75000
|
|
198
|
-
}
|
|
199
|
-
},
|
|
200
|
-
"formulas": {
|
|
201
|
-
"gainLoss1": {
|
|
202
|
-
"comment": "The gainLossX formulas calculate the gain or loss of the portfolio in each year.",
|
|
203
|
-
"formula": "IF((begBal+deposit1)<0,(begBal+deposit1)*intRate,(begBal+deposit1)*y1Return)"
|
|
204
|
-
},
|
|
205
|
-
"endBal1": {
|
|
206
|
-
"comment": "The endBalX formulas calculate the ending balance of the portfolio in each year.",
|
|
207
|
-
"formula": "begBal+deposit1+gainLoss1"
|
|
208
|
-
},
|
|
209
|
-
"y2BegBal": {
|
|
210
|
-
"comment": "The yXBegBal formulas calculate the beg balance of the portfolio in each year.",
|
|
211
|
-
"formula": "endBal1"
|
|
212
|
-
},
|
|
213
|
-
"gainLoss2": {
|
|
214
|
-
"formula": "IF((y2BegBal+deposit2)<0,(y2begBal+deposit2)*intRate,(y2begBal+deposit2)*y2Return)"
|
|
215
|
-
},
|
|
216
|
-
"endBal2": {
|
|
217
|
-
"formula": "y2begBal+deposit2+gainLoss2"
|
|
218
|
-
},
|
|
219
|
-
"y3BegBal": {
|
|
220
|
-
"formula": "endBal2"
|
|
221
|
-
},
|
|
222
|
-
"gainLoss3": {
|
|
223
|
-
"formula": "IF((y3begBal+deposit3)<0,(y3begBal+deposit3)*intRate,(y3begBal+deposit3)*y3Return)"
|
|
224
|
-
},
|
|
225
|
-
"endBal3": {
|
|
226
|
-
"formula": "y3begBal+deposit3+gainLoss3"
|
|
227
|
-
},
|
|
228
|
-
"y4BegBal": {
|
|
229
|
-
"formula": "endBal3"
|
|
230
|
-
},
|
|
231
|
-
"gainLoss4": {
|
|
232
|
-
"formula": "IF((y4begBal+deposit4)<0,(y4begBal+deposit4)*intRate,(y4begBal+deposit4)*y4Return)"
|
|
233
|
-
},
|
|
234
|
-
"endBal4": {
|
|
235
|
-
"formula": "y4begBal+deposit4+gainLoss4"
|
|
236
|
-
},
|
|
237
|
-
"y5BegBal": {
|
|
238
|
-
"formula": "endBal4"
|
|
239
|
-
},
|
|
240
|
-
"gainLoss5": {
|
|
241
|
-
"formula": "IF((y5begBal+deposit5)<0,(y5begBal+deposit5)*intRate,(y5begBal+deposit5)*y5Return)"
|
|
242
|
-
},
|
|
243
|
-
"endBal5": {
|
|
244
|
-
"formula": "y5begBal+deposit5+gainLoss5"
|
|
245
|
-
},
|
|
246
|
-
"y6BegBal": {
|
|
247
|
-
"formula": "endBal5"
|
|
248
|
-
},
|
|
249
|
-
"gainLoss6": {
|
|
250
|
-
"formula": "IF((y6begBal+deposit6)<0,(y6begBal+deposit6)*intRate,(y6begBal+deposit6)*y6Return)"
|
|
251
|
-
},
|
|
252
|
-
"endBal6": {
|
|
253
|
-
"formula": "y6begBal+deposit6+gainLoss6"
|
|
254
|
-
},
|
|
255
|
-
"y7BegBal": {
|
|
256
|
-
"formula": "endBal6"
|
|
257
|
-
},
|
|
258
|
-
"gainLoss7": {
|
|
259
|
-
"formula": "IF((y7begBal+deposit7)<0,(y7begBal+deposit7)*intRate,(y7begBal+deposit7)*y7Return)"
|
|
260
|
-
},
|
|
261
|
-
"endBal7": {
|
|
262
|
-
"formula": "y7begBal+deposit7+gainLoss7"
|
|
263
|
-
},
|
|
264
|
-
"y8BegBal": {
|
|
265
|
-
"formula": "endBal7"
|
|
266
|
-
},
|
|
267
|
-
"gainLoss8": {
|
|
268
|
-
"formula": "IF((y8begBal+deposit8)<0,(y8begBal+deposit8)*intRate,(y8begBal+deposit8)*y8Return)"
|
|
269
|
-
},
|
|
270
|
-
"endBal8": {
|
|
271
|
-
"formula": "y8begBal+deposit8+gainLoss8"
|
|
272
|
-
},
|
|
273
|
-
"y9BegBal": {
|
|
274
|
-
"formula": "endBal8"
|
|
275
|
-
},
|
|
276
|
-
"gainLoss9": {
|
|
277
|
-
"formula": "IF((y9begBal+deposit9)<0,(y9begBal+deposit9)*intRate,(y9begBal+deposit9)*y9Return)"
|
|
278
|
-
},
|
|
279
|
-
"endBal9": {
|
|
280
|
-
"formula": "y9begBal+deposit9+gainLoss9"
|
|
281
|
-
},
|
|
282
|
-
"y10BegBal": {
|
|
283
|
-
"formula": "endBal9"
|
|
284
|
-
},
|
|
285
|
-
"gainLoss10": {
|
|
286
|
-
"formula": "IF((y10begBal+deposit10)<0,(y10begBal+deposit10)*intRate,(y10begBal+deposit10)*y10Return)"
|
|
287
|
-
},
|
|
288
|
-
"endBal10": {
|
|
289
|
-
"formula": "y10begBal+deposit10+gainLoss10"
|
|
290
|
-
},
|
|
291
|
-
"y11BegBal": {
|
|
292
|
-
"formula": "endBal10"
|
|
293
|
-
},
|
|
294
|
-
"gainLoss11": {
|
|
295
|
-
"formula": "IF((y11begBal+deposit11)<0,(y11begBal+deposit11)*intRate,(y11begBal+deposit11)*y11Return)"
|
|
296
|
-
},
|
|
297
|
-
"endBal11": {
|
|
298
|
-
"formula": "y11begBal+deposit11+gainLoss11"
|
|
299
|
-
},
|
|
300
|
-
"y12BegBal": {
|
|
301
|
-
"formula": "endBal11"
|
|
302
|
-
},
|
|
303
|
-
"gainLoss12": {
|
|
304
|
-
"formula": "IF((y12begBal+deposit12)<0,(y12begBal+deposit12)*intRate,(y12begBal+deposit12)*y12Return)"
|
|
305
|
-
},
|
|
306
|
-
"endBal12": {
|
|
307
|
-
"formula": "y12begBal+deposit12+gainLoss12"
|
|
308
|
-
},
|
|
309
|
-
"y13BegBal": {
|
|
310
|
-
"formula": "endBal12"
|
|
311
|
-
},
|
|
312
|
-
"gainLoss13": {
|
|
313
|
-
"formula": "IF((y13begBal+deposit13)<0,(y13begBal+deposit13)*intRate,(y13begBal+deposit13)*y13Return)"
|
|
314
|
-
},
|
|
315
|
-
"endBal13": {
|
|
316
|
-
"formula": "y13begBal+deposit13+gainLoss13"
|
|
317
|
-
},
|
|
318
|
-
"y14BegBal": {
|
|
319
|
-
"formula": "endBal13"
|
|
320
|
-
},
|
|
321
|
-
"gainLoss14": {
|
|
322
|
-
"formula": "IF((y14begBal+deposit14)<0,(y14begBal+deposit14)*intRate,(y14begBal+deposit14)*y14Return)"
|
|
323
|
-
},
|
|
324
|
-
"endBal14": {
|
|
325
|
-
"formula": "y14begBal+deposit14+gainLoss14"
|
|
326
|
-
},
|
|
327
|
-
"y15BegBal": {
|
|
328
|
-
"formula": "endBal14"
|
|
329
|
-
},
|
|
330
|
-
"gainLoss15": {
|
|
331
|
-
"formula": "IF((y15begBal+deposit15)<0,(y15begBal+deposit15)*intRate,(y15begBal+deposit15)*y15Return)"
|
|
332
|
-
},
|
|
333
|
-
"endBal15": {
|
|
334
|
-
"formula": "y15begBal+deposit15+gainLoss15"
|
|
335
|
-
},
|
|
336
|
-
"y16BegBal": {
|
|
337
|
-
"formula": "endBal15"
|
|
338
|
-
},
|
|
339
|
-
"gainLoss16": {
|
|
340
|
-
"formula": "IF((y16begBal+deposit16)<0,(y16begBal+deposit16)*intRate,(y16begBal+deposit16)*y16Return)"
|
|
341
|
-
},
|
|
342
|
-
"endBal16": {
|
|
343
|
-
"formula": "y16begBal+deposit16+gainLoss16"
|
|
344
|
-
},
|
|
345
|
-
"y17BegBal": {
|
|
346
|
-
"formula": "endBal16"
|
|
347
|
-
},
|
|
348
|
-
"gainLoss17": {
|
|
349
|
-
"formula": "IF((y17begBal+deposit17)<0,(y17begBal+deposit17)*intRate,(y17begBal+deposit17)*y17Return)"
|
|
350
|
-
},
|
|
351
|
-
"endBal17": {
|
|
352
|
-
"formula": "y17begBal+deposit17+gainLoss17"
|
|
353
|
-
},
|
|
354
|
-
"y18BegBal": {
|
|
355
|
-
"formula": "endBal17"
|
|
356
|
-
},
|
|
357
|
-
"gainLoss18": {
|
|
358
|
-
"formula": "IF((y18begBal+deposit18)<0,(y18begBal+deposit18)*intRate,(y18begBal+deposit18)*y18Return)"
|
|
359
|
-
},
|
|
360
|
-
"endBal18": {
|
|
361
|
-
"formula": "y18begBal+withdrawal1+gainLoss18"
|
|
362
|
-
},
|
|
363
|
-
"y19BegBal": {
|
|
364
|
-
"formula": "endBal18"
|
|
365
|
-
},
|
|
366
|
-
"gainLoss19": {
|
|
367
|
-
"formula": "IF((y19begBal+deposit19)<0,(y19begBal+deposit19)*intRate,(y19begBal+deposit19)*y19Return)"
|
|
368
|
-
},
|
|
369
|
-
"endBal19": {
|
|
370
|
-
"formula": "y19begBal+withdrawal2+gainLoss19"
|
|
371
|
-
},
|
|
372
|
-
"y20BegBal": {
|
|
373
|
-
"formula": "endBal19"
|
|
374
|
-
},
|
|
375
|
-
"gainLoss20": {
|
|
376
|
-
"formula": "IF((y20begBal+deposit20)<0,(y20begBal+deposit20)*intRate,(y20begBal+deposit20)*y20Return)"
|
|
377
|
-
},
|
|
378
|
-
"endBal20": {
|
|
379
|
-
"formula": "y20begBal+withdrawal3+gainLoss20"
|
|
380
|
-
},
|
|
381
|
-
"y21BegBal": {
|
|
382
|
-
"formula": "endBal20"
|
|
383
|
-
},
|
|
384
|
-
"gainLoss21": {
|
|
385
|
-
"formula": "IF((y21begBal+deposit21)<0,(y21begBal+deposit21)*intRate,(y21begBal+deposit21)*y21Return)"
|
|
386
|
-
},
|
|
387
|
-
"endBal21": {
|
|
388
|
-
"formula": "y21begBal+withdrawal4+gainLoss21"
|
|
389
|
-
},
|
|
390
|
-
"y22BegBal": {
|
|
391
|
-
"formula": "endBal21"
|
|
392
|
-
},
|
|
393
|
-
"gainLoss22": {
|
|
394
|
-
"formula": "IF((y22begBal+deposit22)<0,(y22begBal+deposit22)*intRate,(y22begBal+deposit22)*y22Return)"
|
|
395
|
-
},
|
|
396
|
-
"endBal22": {
|
|
397
|
-
"formula": "y22begBal+withdrawal5+gainLoss22"
|
|
398
|
-
},
|
|
399
|
-
"y23BegBal": {
|
|
400
|
-
"formula": "endBal22"
|
|
401
|
-
},
|
|
402
|
-
"gainLoss23": {
|
|
403
|
-
"formula": "IF((y23begBal+deposit23)<0,(y23begBal+deposit23)*intRate,(y23begBal+deposit23)*y23Return)"
|
|
404
|
-
},
|
|
405
|
-
"endBal23": {
|
|
406
|
-
"formula": "y23begBal+withdrawal6+gainLoss23"
|
|
407
|
-
},
|
|
408
|
-
"y24BegBal": {
|
|
409
|
-
"formula": "endBal23"
|
|
410
|
-
},
|
|
411
|
-
"gainLoss24": {
|
|
412
|
-
"formula": "IF((y24begBal+deposit24)<0,(y24begBal+deposit24)*intRate,(y24begBal+deposit24)*y24Return)",
|
|
413
|
-
"finalValue": []
|
|
414
|
-
}
|
|
415
|
-
},
|
|
416
|
-
"uncertainFunctions": {
|
|
417
|
-
"endBalYear25": {
|
|
418
|
-
"comment": "There is one uncertain function in the model, the ending balance for the last year of the 529 account. The two statistics, mean and Target(0) will be returned in the result. The mean returns the mean value for the uncertain function. The target(0) statistic returns the proportion of simulated values for the uncertain function that are less than or equal to target value of 0. Due to the tax implications of pulling funds from a 529 for non-education related expenses, Mark and Nicole want this account to be as close to 0 as possible.",
|
|
419
|
-
"formula": "y24begBal+withdrawal7+gainLoss24",
|
|
420
|
-
"mean": [],
|
|
421
|
-
"Target(0)": []
|
|
422
|
-
}
|
|
423
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"modelName": "CollegeFundGrowth1(Sim)",
|
|
3
|
+
"modelType": "simulation",
|
|
4
|
+
"modelDescription": "CollegeFundGrowth1 - RASON Model that simulates a college fund account, PsiMetalog distribution models the yearly market returns. Imagine a couple, Mark and Nicole, want to ensure that they have enough funds to send their sons Joseph and Benjamin to college after they graduate from high school. They have opened a 529 account at their local investment bank, but are unsure how much to invest each year to ensure that enough funds are available when needed. Mark and Nicole are projecting that the price for a private 4 year institution will be $75,000 per year. Nicole has fit a distribution to the historical returns from the S&P 500 using Analytic Solver. She is using this return to model the portfolio return for each year the 529 is in use. If the balance of the portfolio is negative, Nicole assumes she will borrow money to cover the cost of tuition at an 8% interest rate.",
|
|
5
|
+
"engineSettings": {
|
|
6
|
+
"comment": "Use this section to set options related to the engine being used to solve the model, in the case of a simulation model, the Risk Solver Engine. In most cases, the default values are sufficient.",
|
|
7
|
+
"randomGenerator": "Lecuyer",
|
|
8
|
+
"samplingMethod": "Latin"
|
|
9
|
+
},
|
|
10
|
+
"uncertainVariables": {
|
|
11
|
+
"comment": "Enter the uncertain variables in this section. In this example, there are 25 uncertain variables modeling the portfolio return in each year. For more information on Metalog distributions, see http://metalogdistributions.com/.",
|
|
12
|
+
"y1Return": {
|
|
13
|
+
"formula": "PsiMetalog(,,{0.137088248307783,235.996630065143,-41.6761363388904,-943.412342399359,166.781999403805,-1781.91992354393,5864.72184371948,265.6771517599,-850.31248220655,3796.63619041443,-8596.89170408249,-404.07730274836,835.784252876499,-1707.57994881272})"
|
|
14
|
+
},
|
|
15
|
+
"y2Return": {
|
|
16
|
+
"formula": "PsiMetalog(,,{0.137088248307783,235.996630065143,-41.6761363388904,-943.412342399359,166.781999403805,-1781.91992354393,5864.72184371948,265.6771517599,-850.31248220655,3796.63619041443,-8596.89170408249,-404.07730274836,835.784252876499,-1707.57994881272})"
|
|
17
|
+
},
|
|
18
|
+
"y3Return": {
|
|
19
|
+
"formula": "PsiMetalog(,,{0.137088248307783,235.996630065143,-41.6761363388904,-943.412342399359,166.781999403805,-1781.91992354393,5864.72184371948,265.6771517599,-850.31248220655,3796.63619041443,-8596.89170408249,-404.07730274836,835.784252876499,-1707.57994881272})"
|
|
20
|
+
},
|
|
21
|
+
"y4Return": {
|
|
22
|
+
"formula": "PsiMetalog(,,{0.137088248307783,235.996630065143,-41.6761363388904,-943.412342399359,166.781999403805,-1781.91992354393,5864.72184371948,265.6771517599,-850.31248220655,3796.63619041443,-8596.89170408249,-404.07730274836,835.784252876499,-1707.57994881272})"
|
|
23
|
+
},
|
|
24
|
+
"y5Return": {
|
|
25
|
+
"formula": "PsiMetalog(,,{0.137088248307783,235.996630065143,-41.6761363388904,-943.412342399359,166.781999403805,-1781.91992354393,5864.72184371948,265.6771517599,-850.31248220655,3796.63619041443,-8596.89170408249,-404.07730274836,835.784252876499,-1707.57994881272})"
|
|
26
|
+
},
|
|
27
|
+
"y6Return": {
|
|
28
|
+
"formula": "PsiMetalog(,,{0.137088248307783,235.996630065143,-41.6761363388904,-943.412342399359,166.781999403805,-1781.91992354393,5864.72184371948,265.6771517599,-850.31248220655,3796.63619041443,-8596.89170408249,-404.07730274836,835.784252876499,-1707.57994881272})"
|
|
29
|
+
},
|
|
30
|
+
"y7Return": {
|
|
31
|
+
"formula": "PsiMetalog(,,{0.137088248307783,235.996630065143,-41.6761363388904,-943.412342399359,166.781999403805,-1781.91992354393,5864.72184371948,265.6771517599,-850.31248220655,3796.63619041443,-8596.89170408249,-404.07730274836,835.784252876499,-1707.57994881272})"
|
|
32
|
+
},
|
|
33
|
+
"y8Return": {
|
|
34
|
+
"formula": "PsiMetalog(,,{0.137088248307783,235.996630065143,-41.6761363388904,-943.412342399359,166.781999403805,-1781.91992354393,5864.72184371948,265.6771517599,-850.31248220655,3796.63619041443,-8596.89170408249,-404.07730274836,835.784252876499,-1707.57994881272})"
|
|
35
|
+
},
|
|
36
|
+
"y9Return": {
|
|
37
|
+
"formula": "PsiMetalog(,,{0.137088248307783,235.996630065143,-41.6761363388904,-943.412342399359,166.781999403805,-1781.91992354393,5864.72184371948,265.6771517599,-850.31248220655,3796.63619041443,-8596.89170408249,-404.07730274836,835.784252876499,-1707.57994881272})"
|
|
38
|
+
},
|
|
39
|
+
"y10Return": {
|
|
40
|
+
"formula": "PsiMetalog(,,{0.137088248307783,235.996630065143,-41.6761363388904,-943.412342399359,166.781999403805,-1781.91992354393,5864.72184371948,265.6771517599,-850.31248220655,3796.63619041443,-8596.89170408249,-404.07730274836,835.784252876499,-1707.57994881272})"
|
|
41
|
+
},
|
|
42
|
+
"y11Return": {
|
|
43
|
+
"formula": "PsiMetalog(,,{0.137088248307783,235.996630065143,-41.6761363388904,-943.412342399359,166.781999403805,-1781.91992354393,5864.72184371948,265.6771517599,-850.31248220655,3796.63619041443,-8596.89170408249,-404.07730274836,835.784252876499,-1707.57994881272})"
|
|
44
|
+
},
|
|
45
|
+
"y12Return": {
|
|
46
|
+
"formula": "PsiMetalog(,,{0.137088248307783,235.996630065143,-41.6761363388904,-943.412342399359,166.781999403805,-1781.91992354393,5864.72184371948,265.6771517599,-850.31248220655,3796.63619041443,-8596.89170408249,-404.07730274836,835.784252876499,-1707.57994881272})"
|
|
47
|
+
},
|
|
48
|
+
"y13Return": {
|
|
49
|
+
"formula": "PsiMetalog(,,{0.137088248307783,235.996630065143,-41.6761363388904,-943.412342399359,166.781999403805,-1781.91992354393,5864.72184371948,265.6771517599,-850.31248220655,3796.63619041443,-8596.89170408249,-404.07730274836,835.784252876499,-1707.57994881272})"
|
|
50
|
+
},
|
|
51
|
+
"y14Return": {
|
|
52
|
+
"formula": "PsiMetalog(,,{0.137088248307783,235.996630065143,-41.6761363388904,-943.412342399359,166.781999403805,-1781.91992354393,5864.72184371948,265.6771517599,-850.31248220655,3796.63619041443,-8596.89170408249,-404.07730274836,835.784252876499,-1707.57994881272})"
|
|
53
|
+
},
|
|
54
|
+
"y15Return": {
|
|
55
|
+
"formula": "PsiMetalog(,,{0.137088248307783,235.996630065143,-41.6761363388904,-943.412342399359,166.781999403805,-1781.91992354393,5864.72184371948,265.6771517599,-850.31248220655,3796.63619041443,-8596.89170408249,-404.07730274836,835.784252876499,-1707.57994881272})"
|
|
56
|
+
},
|
|
57
|
+
"y16Return": {
|
|
58
|
+
"formula": "PsiMetalog(,,{0.137088248307783,235.996630065143,-41.6761363388904,-943.412342399359,166.781999403805,-1781.91992354393,5864.72184371948,265.6771517599,-850.31248220655,3796.63619041443,-8596.89170408249,-404.07730274836,835.784252876499,-1707.57994881272})"
|
|
59
|
+
},
|
|
60
|
+
"y17Return": {
|
|
61
|
+
"formula": "PsiMetalog(,,{0.137088248307783,235.996630065143,-41.6761363388904,-943.412342399359,166.781999403805,-1781.91992354393,5864.72184371948,265.6771517599,-850.31248220655,3796.63619041443,-8596.89170408249,-404.07730274836,835.784252876499,-1707.57994881272})"
|
|
62
|
+
},
|
|
63
|
+
"y18Return": {
|
|
64
|
+
"formula": "PsiMetalog(,,{0.137088248307783,235.996630065143,-41.6761363388904,-943.412342399359,166.781999403805,-1781.91992354393,5864.72184371948,265.6771517599,-850.31248220655,3796.63619041443,-8596.89170408249,-404.07730274836,835.784252876499,-1707.57994881272})"
|
|
65
|
+
},
|
|
66
|
+
"y19Return": {
|
|
67
|
+
"formula": "PsiMetalog(,,{0.137088248307783,235.996630065143,-41.6761363388904,-943.412342399359,166.781999403805,-1781.91992354393,5864.72184371948,265.6771517599,-850.31248220655,3796.63619041443,-8596.89170408249,-404.07730274836,835.784252876499,-1707.57994881272})"
|
|
68
|
+
},
|
|
69
|
+
"y20Return": {
|
|
70
|
+
"formula": "PsiMetalog(,,{0.137088248307783,235.996630065143,-41.6761363388904,-943.412342399359,166.781999403805,-1781.91992354393,5864.72184371948,265.6771517599,-850.31248220655,3796.63619041443,-8596.89170408249,-404.07730274836,835.784252876499,-1707.57994881272})"
|
|
71
|
+
},
|
|
72
|
+
"y21Return": {
|
|
73
|
+
"formula": "PsiMetalog(,,{0.137088248307783,235.996630065143,-41.6761363388904,-943.412342399359,166.781999403805,-1781.91992354393,5864.72184371948,265.6771517599,-850.31248220655,3796.63619041443,-8596.89170408249,-404.07730274836,835.784252876499,-1707.57994881272})"
|
|
74
|
+
},
|
|
75
|
+
"y22Return": {
|
|
76
|
+
"formula": "PsiMetalog(,,{0.137088248307783,235.996630065143,-41.6761363388904,-943.412342399359,166.781999403805,-1781.91992354393,5864.72184371948,265.6771517599,-850.31248220655,3796.63619041443,-8596.89170408249,-404.07730274836,835.784252876499,-1707.57994881272})"
|
|
77
|
+
},
|
|
78
|
+
"y23Return": {
|
|
79
|
+
"formula": "PsiMetalog(,,{0.137088248307783,235.996630065143,-41.6761363388904,-943.412342399359,166.781999403805,-1781.91992354393,5864.72184371948,265.6771517599,-850.31248220655,3796.63619041443,-8596.89170408249,-404.07730274836,835.784252876499,-1707.57994881272})"
|
|
80
|
+
},
|
|
81
|
+
"y24Return": {
|
|
82
|
+
"formula": "PsiMetalog(,,{0.137088248307783,235.996630065143,-41.6761363388904,-943.412342399359,166.781999403805,-1781.91992354393,5864.72184371948,265.6771517599,-850.31248220655,3796.63619041443,-8596.89170408249,-404.07730274836,835.784252876499,-1707.57994881272})"
|
|
83
|
+
},
|
|
84
|
+
"y25Return": {
|
|
85
|
+
"formula": "PsiMetalog(,,{0.137088248307783,235.996630065143,-41.6761363388904,-943.412342399359,166.781999403805,-1781.91992354393,5864.72184371948,265.6771517599,-850.31248220655,3796.63619041443,-8596.89170408249,-404.07730274836,835.784252876499,-1707.57994881272})"
|
|
86
|
+
}
|
|
87
|
+
},
|
|
88
|
+
"data": {
|
|
89
|
+
"comment": "Use the data section to keep constant data parameters organized. ",
|
|
90
|
+
"begBal": {
|
|
91
|
+
"comment": "This is the beginning balance of the 529 account.",
|
|
92
|
+
"value": 0
|
|
93
|
+
},
|
|
94
|
+
"intRate": {
|
|
95
|
+
"comment": "If there is not enough funds to cover college, the parents will have to borrow money at this interest rate.",
|
|
96
|
+
"value": 0.08
|
|
97
|
+
},
|
|
98
|
+
"deposit1": {
|
|
99
|
+
"comment": "Deposit1 thru Desposit24 represents the deposit for each year, deposit1 in year 1, deposit2 in year 2, etc. No deposits will occur in years 18-24 ",
|
|
100
|
+
"value": 10000
|
|
101
|
+
},
|
|
102
|
+
"deposit2": {
|
|
103
|
+
"value": 10000
|
|
104
|
+
},
|
|
105
|
+
"deposit3": {
|
|
106
|
+
"value": 10000
|
|
107
|
+
},
|
|
108
|
+
"deposit4": {
|
|
109
|
+
"value": 10000
|
|
110
|
+
},
|
|
111
|
+
"deposit5": {
|
|
112
|
+
"value": 10000
|
|
113
|
+
},
|
|
114
|
+
"deposit6": {
|
|
115
|
+
"value": 10000
|
|
116
|
+
},
|
|
117
|
+
"deposit7": {
|
|
118
|
+
"value": 10000
|
|
119
|
+
},
|
|
120
|
+
"deposit8": {
|
|
121
|
+
"value": 10000
|
|
122
|
+
},
|
|
123
|
+
"deposit9": {
|
|
124
|
+
"value": 10000
|
|
125
|
+
},
|
|
126
|
+
"deposit10": {
|
|
127
|
+
"value": 10000
|
|
128
|
+
},
|
|
129
|
+
"deposit11": {
|
|
130
|
+
"value": 10000
|
|
131
|
+
},
|
|
132
|
+
"deposit12": {
|
|
133
|
+
"value": 10000
|
|
134
|
+
},
|
|
135
|
+
"deposit13": {
|
|
136
|
+
"value": 10000
|
|
137
|
+
},
|
|
138
|
+
"deposit14": {
|
|
139
|
+
"value": 10000
|
|
140
|
+
},
|
|
141
|
+
"deposit15": {
|
|
142
|
+
"value": 10000
|
|
143
|
+
},
|
|
144
|
+
"deposit16": {
|
|
145
|
+
"value": 10000
|
|
146
|
+
},
|
|
147
|
+
"deposit17": {
|
|
148
|
+
"value": 10000
|
|
149
|
+
},
|
|
150
|
+
"deposit18": {
|
|
151
|
+
"value": 0
|
|
152
|
+
},
|
|
153
|
+
"deposit19": {
|
|
154
|
+
"value": 0
|
|
155
|
+
},
|
|
156
|
+
"deposit20": {
|
|
157
|
+
"value": 0
|
|
158
|
+
},
|
|
159
|
+
"deposit21": {
|
|
160
|
+
"value": 0
|
|
161
|
+
},
|
|
162
|
+
"deposit22": {
|
|
163
|
+
"value": 0
|
|
164
|
+
},
|
|
165
|
+
"deposit23": {
|
|
166
|
+
"value": 0
|
|
167
|
+
},
|
|
168
|
+
"deposit24": {
|
|
169
|
+
"value": 0
|
|
170
|
+
},
|
|
171
|
+
"withdrawal1": {
|
|
172
|
+
"comment": "Withdraws start in year 18 as this is when the first child, Joe, enters college.",
|
|
173
|
+
"value": -75000
|
|
174
|
+
},
|
|
175
|
+
"withdrawal2": {
|
|
176
|
+
"comment": "Withdrawal for Joe year 2.",
|
|
177
|
+
"value": -75000
|
|
178
|
+
},
|
|
179
|
+
"withdrawal3": {
|
|
180
|
+
"comment": "Withdrawal for Joe year 3.",
|
|
181
|
+
"value": -75000
|
|
182
|
+
},
|
|
183
|
+
"withdrawal4": {
|
|
184
|
+
"comment": "Withdrawal for Joe year 4 and Ben (2nd child) year 1.",
|
|
185
|
+
"value": -150000
|
|
186
|
+
},
|
|
187
|
+
"withdrawal5": {
|
|
188
|
+
"comment": "Withdrawal for Ben year 2.",
|
|
189
|
+
"value": -75000
|
|
190
|
+
},
|
|
191
|
+
"withdrawal6": {
|
|
192
|
+
"comment": "Withdrawal for Ben year 3.",
|
|
193
|
+
"value": -75000
|
|
194
|
+
},
|
|
195
|
+
"withdrawal7": {
|
|
196
|
+
"comment": "Withdrawal for Ben year 4.",
|
|
197
|
+
"value": -75000
|
|
198
|
+
}
|
|
199
|
+
},
|
|
200
|
+
"formulas": {
|
|
201
|
+
"gainLoss1": {
|
|
202
|
+
"comment": "The gainLossX formulas calculate the gain or loss of the portfolio in each year.",
|
|
203
|
+
"formula": "IF((begBal+deposit1)<0,(begBal+deposit1)*intRate,(begBal+deposit1)*y1Return)"
|
|
204
|
+
},
|
|
205
|
+
"endBal1": {
|
|
206
|
+
"comment": "The endBalX formulas calculate the ending balance of the portfolio in each year.",
|
|
207
|
+
"formula": "begBal+deposit1+gainLoss1"
|
|
208
|
+
},
|
|
209
|
+
"y2BegBal": {
|
|
210
|
+
"comment": "The yXBegBal formulas calculate the beg balance of the portfolio in each year.",
|
|
211
|
+
"formula": "endBal1"
|
|
212
|
+
},
|
|
213
|
+
"gainLoss2": {
|
|
214
|
+
"formula": "IF((y2BegBal+deposit2)<0,(y2begBal+deposit2)*intRate,(y2begBal+deposit2)*y2Return)"
|
|
215
|
+
},
|
|
216
|
+
"endBal2": {
|
|
217
|
+
"formula": "y2begBal+deposit2+gainLoss2"
|
|
218
|
+
},
|
|
219
|
+
"y3BegBal": {
|
|
220
|
+
"formula": "endBal2"
|
|
221
|
+
},
|
|
222
|
+
"gainLoss3": {
|
|
223
|
+
"formula": "IF((y3begBal+deposit3)<0,(y3begBal+deposit3)*intRate,(y3begBal+deposit3)*y3Return)"
|
|
224
|
+
},
|
|
225
|
+
"endBal3": {
|
|
226
|
+
"formula": "y3begBal+deposit3+gainLoss3"
|
|
227
|
+
},
|
|
228
|
+
"y4BegBal": {
|
|
229
|
+
"formula": "endBal3"
|
|
230
|
+
},
|
|
231
|
+
"gainLoss4": {
|
|
232
|
+
"formula": "IF((y4begBal+deposit4)<0,(y4begBal+deposit4)*intRate,(y4begBal+deposit4)*y4Return)"
|
|
233
|
+
},
|
|
234
|
+
"endBal4": {
|
|
235
|
+
"formula": "y4begBal+deposit4+gainLoss4"
|
|
236
|
+
},
|
|
237
|
+
"y5BegBal": {
|
|
238
|
+
"formula": "endBal4"
|
|
239
|
+
},
|
|
240
|
+
"gainLoss5": {
|
|
241
|
+
"formula": "IF((y5begBal+deposit5)<0,(y5begBal+deposit5)*intRate,(y5begBal+deposit5)*y5Return)"
|
|
242
|
+
},
|
|
243
|
+
"endBal5": {
|
|
244
|
+
"formula": "y5begBal+deposit5+gainLoss5"
|
|
245
|
+
},
|
|
246
|
+
"y6BegBal": {
|
|
247
|
+
"formula": "endBal5"
|
|
248
|
+
},
|
|
249
|
+
"gainLoss6": {
|
|
250
|
+
"formula": "IF((y6begBal+deposit6)<0,(y6begBal+deposit6)*intRate,(y6begBal+deposit6)*y6Return)"
|
|
251
|
+
},
|
|
252
|
+
"endBal6": {
|
|
253
|
+
"formula": "y6begBal+deposit6+gainLoss6"
|
|
254
|
+
},
|
|
255
|
+
"y7BegBal": {
|
|
256
|
+
"formula": "endBal6"
|
|
257
|
+
},
|
|
258
|
+
"gainLoss7": {
|
|
259
|
+
"formula": "IF((y7begBal+deposit7)<0,(y7begBal+deposit7)*intRate,(y7begBal+deposit7)*y7Return)"
|
|
260
|
+
},
|
|
261
|
+
"endBal7": {
|
|
262
|
+
"formula": "y7begBal+deposit7+gainLoss7"
|
|
263
|
+
},
|
|
264
|
+
"y8BegBal": {
|
|
265
|
+
"formula": "endBal7"
|
|
266
|
+
},
|
|
267
|
+
"gainLoss8": {
|
|
268
|
+
"formula": "IF((y8begBal+deposit8)<0,(y8begBal+deposit8)*intRate,(y8begBal+deposit8)*y8Return)"
|
|
269
|
+
},
|
|
270
|
+
"endBal8": {
|
|
271
|
+
"formula": "y8begBal+deposit8+gainLoss8"
|
|
272
|
+
},
|
|
273
|
+
"y9BegBal": {
|
|
274
|
+
"formula": "endBal8"
|
|
275
|
+
},
|
|
276
|
+
"gainLoss9": {
|
|
277
|
+
"formula": "IF((y9begBal+deposit9)<0,(y9begBal+deposit9)*intRate,(y9begBal+deposit9)*y9Return)"
|
|
278
|
+
},
|
|
279
|
+
"endBal9": {
|
|
280
|
+
"formula": "y9begBal+deposit9+gainLoss9"
|
|
281
|
+
},
|
|
282
|
+
"y10BegBal": {
|
|
283
|
+
"formula": "endBal9"
|
|
284
|
+
},
|
|
285
|
+
"gainLoss10": {
|
|
286
|
+
"formula": "IF((y10begBal+deposit10)<0,(y10begBal+deposit10)*intRate,(y10begBal+deposit10)*y10Return)"
|
|
287
|
+
},
|
|
288
|
+
"endBal10": {
|
|
289
|
+
"formula": "y10begBal+deposit10+gainLoss10"
|
|
290
|
+
},
|
|
291
|
+
"y11BegBal": {
|
|
292
|
+
"formula": "endBal10"
|
|
293
|
+
},
|
|
294
|
+
"gainLoss11": {
|
|
295
|
+
"formula": "IF((y11begBal+deposit11)<0,(y11begBal+deposit11)*intRate,(y11begBal+deposit11)*y11Return)"
|
|
296
|
+
},
|
|
297
|
+
"endBal11": {
|
|
298
|
+
"formula": "y11begBal+deposit11+gainLoss11"
|
|
299
|
+
},
|
|
300
|
+
"y12BegBal": {
|
|
301
|
+
"formula": "endBal11"
|
|
302
|
+
},
|
|
303
|
+
"gainLoss12": {
|
|
304
|
+
"formula": "IF((y12begBal+deposit12)<0,(y12begBal+deposit12)*intRate,(y12begBal+deposit12)*y12Return)"
|
|
305
|
+
},
|
|
306
|
+
"endBal12": {
|
|
307
|
+
"formula": "y12begBal+deposit12+gainLoss12"
|
|
308
|
+
},
|
|
309
|
+
"y13BegBal": {
|
|
310
|
+
"formula": "endBal12"
|
|
311
|
+
},
|
|
312
|
+
"gainLoss13": {
|
|
313
|
+
"formula": "IF((y13begBal+deposit13)<0,(y13begBal+deposit13)*intRate,(y13begBal+deposit13)*y13Return)"
|
|
314
|
+
},
|
|
315
|
+
"endBal13": {
|
|
316
|
+
"formula": "y13begBal+deposit13+gainLoss13"
|
|
317
|
+
},
|
|
318
|
+
"y14BegBal": {
|
|
319
|
+
"formula": "endBal13"
|
|
320
|
+
},
|
|
321
|
+
"gainLoss14": {
|
|
322
|
+
"formula": "IF((y14begBal+deposit14)<0,(y14begBal+deposit14)*intRate,(y14begBal+deposit14)*y14Return)"
|
|
323
|
+
},
|
|
324
|
+
"endBal14": {
|
|
325
|
+
"formula": "y14begBal+deposit14+gainLoss14"
|
|
326
|
+
},
|
|
327
|
+
"y15BegBal": {
|
|
328
|
+
"formula": "endBal14"
|
|
329
|
+
},
|
|
330
|
+
"gainLoss15": {
|
|
331
|
+
"formula": "IF((y15begBal+deposit15)<0,(y15begBal+deposit15)*intRate,(y15begBal+deposit15)*y15Return)"
|
|
332
|
+
},
|
|
333
|
+
"endBal15": {
|
|
334
|
+
"formula": "y15begBal+deposit15+gainLoss15"
|
|
335
|
+
},
|
|
336
|
+
"y16BegBal": {
|
|
337
|
+
"formula": "endBal15"
|
|
338
|
+
},
|
|
339
|
+
"gainLoss16": {
|
|
340
|
+
"formula": "IF((y16begBal+deposit16)<0,(y16begBal+deposit16)*intRate,(y16begBal+deposit16)*y16Return)"
|
|
341
|
+
},
|
|
342
|
+
"endBal16": {
|
|
343
|
+
"formula": "y16begBal+deposit16+gainLoss16"
|
|
344
|
+
},
|
|
345
|
+
"y17BegBal": {
|
|
346
|
+
"formula": "endBal16"
|
|
347
|
+
},
|
|
348
|
+
"gainLoss17": {
|
|
349
|
+
"formula": "IF((y17begBal+deposit17)<0,(y17begBal+deposit17)*intRate,(y17begBal+deposit17)*y17Return)"
|
|
350
|
+
},
|
|
351
|
+
"endBal17": {
|
|
352
|
+
"formula": "y17begBal+deposit17+gainLoss17"
|
|
353
|
+
},
|
|
354
|
+
"y18BegBal": {
|
|
355
|
+
"formula": "endBal17"
|
|
356
|
+
},
|
|
357
|
+
"gainLoss18": {
|
|
358
|
+
"formula": "IF((y18begBal+deposit18)<0,(y18begBal+deposit18)*intRate,(y18begBal+deposit18)*y18Return)"
|
|
359
|
+
},
|
|
360
|
+
"endBal18": {
|
|
361
|
+
"formula": "y18begBal+withdrawal1+gainLoss18"
|
|
362
|
+
},
|
|
363
|
+
"y19BegBal": {
|
|
364
|
+
"formula": "endBal18"
|
|
365
|
+
},
|
|
366
|
+
"gainLoss19": {
|
|
367
|
+
"formula": "IF((y19begBal+deposit19)<0,(y19begBal+deposit19)*intRate,(y19begBal+deposit19)*y19Return)"
|
|
368
|
+
},
|
|
369
|
+
"endBal19": {
|
|
370
|
+
"formula": "y19begBal+withdrawal2+gainLoss19"
|
|
371
|
+
},
|
|
372
|
+
"y20BegBal": {
|
|
373
|
+
"formula": "endBal19"
|
|
374
|
+
},
|
|
375
|
+
"gainLoss20": {
|
|
376
|
+
"formula": "IF((y20begBal+deposit20)<0,(y20begBal+deposit20)*intRate,(y20begBal+deposit20)*y20Return)"
|
|
377
|
+
},
|
|
378
|
+
"endBal20": {
|
|
379
|
+
"formula": "y20begBal+withdrawal3+gainLoss20"
|
|
380
|
+
},
|
|
381
|
+
"y21BegBal": {
|
|
382
|
+
"formula": "endBal20"
|
|
383
|
+
},
|
|
384
|
+
"gainLoss21": {
|
|
385
|
+
"formula": "IF((y21begBal+deposit21)<0,(y21begBal+deposit21)*intRate,(y21begBal+deposit21)*y21Return)"
|
|
386
|
+
},
|
|
387
|
+
"endBal21": {
|
|
388
|
+
"formula": "y21begBal+withdrawal4+gainLoss21"
|
|
389
|
+
},
|
|
390
|
+
"y22BegBal": {
|
|
391
|
+
"formula": "endBal21"
|
|
392
|
+
},
|
|
393
|
+
"gainLoss22": {
|
|
394
|
+
"formula": "IF((y22begBal+deposit22)<0,(y22begBal+deposit22)*intRate,(y22begBal+deposit22)*y22Return)"
|
|
395
|
+
},
|
|
396
|
+
"endBal22": {
|
|
397
|
+
"formula": "y22begBal+withdrawal5+gainLoss22"
|
|
398
|
+
},
|
|
399
|
+
"y23BegBal": {
|
|
400
|
+
"formula": "endBal22"
|
|
401
|
+
},
|
|
402
|
+
"gainLoss23": {
|
|
403
|
+
"formula": "IF((y23begBal+deposit23)<0,(y23begBal+deposit23)*intRate,(y23begBal+deposit23)*y23Return)"
|
|
404
|
+
},
|
|
405
|
+
"endBal23": {
|
|
406
|
+
"formula": "y23begBal+withdrawal6+gainLoss23"
|
|
407
|
+
},
|
|
408
|
+
"y24BegBal": {
|
|
409
|
+
"formula": "endBal23"
|
|
410
|
+
},
|
|
411
|
+
"gainLoss24": {
|
|
412
|
+
"formula": "IF((y24begBal+deposit24)<0,(y24begBal+deposit24)*intRate,(y24begBal+deposit24)*y24Return)",
|
|
413
|
+
"finalValue": []
|
|
414
|
+
}
|
|
415
|
+
},
|
|
416
|
+
"uncertainFunctions": {
|
|
417
|
+
"endBalYear25": {
|
|
418
|
+
"comment": "There is one uncertain function in the model, the ending balance for the last year of the 529 account. The two statistics, mean and Target(0) will be returned in the result. The mean returns the mean value for the uncertain function. The target(0) statistic returns the proportion of simulated values for the uncertain function that are less than or equal to target value of 0. Due to the tax implications of pulling funds from a 529 for non-education related expenses, Mark and Nicole want this account to be as close to 0 as possible.",
|
|
419
|
+
"formula": "y24begBal+withdrawal7+gainLoss24",
|
|
420
|
+
"mean": [],
|
|
421
|
+
"Target(0)": []
|
|
422
|
+
}
|
|
423
|
+
}
|
|
424
424
|
}
|