@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.
Files changed (195) hide show
  1. package/LICENSE +35 -35
  2. package/README.md +1 -1
  3. package/examples/EXAMPLES_REFERENCE.md +128 -128
  4. package/examples/calculation/DMNExamples/DMN Box Fun with typeDef result.json +53 -53
  5. package/examples/calculation/DMNExamples/DMN Context example.json +69 -69
  6. package/examples/calculation/DMNExamples/DMN DT with typeDef result.json +43 -43
  7. package/examples/calculation/DMNExamples/FEEL Date Time example.json +28 -28
  8. package/examples/calculation/DMNExamples/FEEL For iteration example.json +66 -66
  9. package/examples/calculation/DMNExamples/FEEL For with two indices.json +15 -15
  10. package/examples/calculation/DMNExamples/FEEL For with typeDef result.json +88 -88
  11. package/examples/calculation/DMNExamples/FEEL If Then Else example.json +25 -25
  12. package/examples/calculation/DMNExamples/FEEL List example.json +37 -37
  13. package/examples/calculation/DMNExamples/FEEL List operator.json +17 -17
  14. package/examples/calculation/DMNExamples/FEEL List with typeDef collection.json +36 -36
  15. package/examples/calculation/DMNExamples/FEEL Some or Every example.json +65 -65
  16. package/examples/calculation/DecisionTables/DT Datasource example.json +52 -52
  17. package/examples/calculation/DecisionTables/DT Date and Time examples.json +91 -91
  18. package/examples/calculation/DecisionTables/DT Expression example.json +32 -32
  19. package/examples/calculation/DecisionTables/DT Hit Policy examples.json +136 -136
  20. package/examples/calculation/DecisionTables/DT Loan Recommend model.json +81 -81
  21. package/examples/calculation/DecisionTables/DT Loan Strategy Model and Predictive CSV-XML.json +218 -218
  22. package/examples/calculation/DecisionTables/DT Loan Strategy model and Datasource.json +286 -286
  23. package/examples/calculation/DecisionTables/DT Loan Strategy model and Predictive.json +203 -203
  24. package/examples/calculation/DecisionTables/DT Loan Strategy model by scratch.json +214 -214
  25. package/examples/calculation/DecisionTables/DT Output Order example.json +39 -39
  26. package/examples/calculation/DecisionTables/DT Unique example.json +38 -38
  27. package/examples/calculation/TypeDefinitions/TypeDefCF.json +64 -64
  28. package/examples/calculation/TypeDefinitions/TypeDefDT.json +57 -57
  29. package/examples/datamining/AffinityAnalysis/AssociationRules.json +51 -51
  30. package/examples/datamining/Classification/DecisionTree.json +90 -90
  31. package/examples/datamining/Classification/DiscriminantAnalysis.json +81 -81
  32. package/examples/datamining/Classification/Ensembles/Bagging.json +66 -66
  33. package/examples/datamining/Classification/Ensembles/Boosting.json +67 -67
  34. package/examples/datamining/Classification/Ensembles/RandomTrees.json +91 -91
  35. package/examples/datamining/Classification/FindBestModel.json +86 -86
  36. package/examples/datamining/Classification/LogisticRegression.json +82 -82
  37. package/examples/datamining/Classification/NaiveBayes.json +78 -78
  38. package/examples/datamining/Classification/NearestNeighbors.json +84 -84
  39. package/examples/datamining/Classification/NeuralNetwork.json +92 -92
  40. package/examples/datamining/Clustering/Hierarchical.json +54 -54
  41. package/examples/datamining/Clustering/KMeans.json +71 -71
  42. package/examples/datamining/DataSources/DelimitedFile.json +49 -49
  43. package/examples/datamining/DataSources/JSONFile.json +49 -49
  44. package/examples/datamining/DataSources/MSAccessDatabase.json +49 -49
  45. package/examples/datamining/DataSources/MSExcelTable.json +50 -50
  46. package/examples/datamining/DataSources/MSSQLDatabase.json +49 -49
  47. package/examples/datamining/DataSources/ODATATable.json +49 -49
  48. package/examples/datamining/DataSources/ODBCDatabase.json +49 -49
  49. package/examples/datamining/FeatureSelection/LinearWrapping.json +53 -53
  50. package/examples/datamining/FeatureSelection/LogisticWrapping.json +56 -56
  51. package/examples/datamining/FeatureSelection/Univariate.json +78 -78
  52. package/examples/datamining/Regression/DecisionTree.json +82 -82
  53. package/examples/datamining/Regression/Ensembles/Bagging.json +62 -62
  54. package/examples/datamining/Regression/Ensembles/Boosting.json +62 -62
  55. package/examples/datamining/Regression/Ensembles/RandomTrees.json +78 -78
  56. package/examples/datamining/Regression/FindBestModel.json +86 -86
  57. package/examples/datamining/Regression/LinearRegression.json +124 -124
  58. package/examples/datamining/Regression/NearestNeighbors.json +77 -77
  59. package/examples/datamining/Regression/NeuralNetwork.json +82 -82
  60. package/examples/datamining/Scoring/JSONClassifier.json +62 -62
  61. package/examples/datamining/Scoring/JSONClassifierNN.json +62 -62
  62. package/examples/datamining/Scoring/JSONClusterizer.json +37 -37
  63. package/examples/datamining/Scoring/JSONForecaster.json +49 -49
  64. package/examples/datamining/Scoring/JSONLinearRegression.json +56 -56
  65. package/examples/datamining/Scoring/JSONPCA.json +41 -41
  66. package/examples/datamining/Scoring/JSONRegressor.json +56 -56
  67. package/examples/datamining/Scoring/JSONTransformer.json +38 -38
  68. package/examples/datamining/Scoring/PMMLClassifier.json +42 -42
  69. package/examples/datamining/Scoring/PMMLForecaster.json +43 -43
  70. package/examples/datamining/Scoring/PMMLRegressor.json +38 -38
  71. package/examples/datamining/Scoring/PMMLTransformer.json +38 -38
  72. package/examples/datamining/Simulation/LinearRegressionSimulation.json +117 -117
  73. package/examples/datamining/Simulation/SyntheticDataGeneration.json +108 -108
  74. package/examples/datamining/Simulation/pmml-risk-scoring.json +62 -62
  75. package/examples/datamining/Summarizer/Summarization.json +54 -54
  76. package/examples/datamining/TextMining/LatentSemanticAnalysis.json +51 -51
  77. package/examples/datamining/TextMining/TfIdf-FileData.json +65 -65
  78. package/examples/datamining/TextMining/TfIdf-InlineData.json +55 -55
  79. package/examples/datamining/TimeSeries/AddHoltWinters.json +79 -79
  80. package/examples/datamining/TimeSeries/Arima.json +74 -74
  81. package/examples/datamining/TimeSeries/DoubleExponential.json +65 -65
  82. package/examples/datamining/TimeSeries/Exponential.json +64 -64
  83. package/examples/datamining/TimeSeries/LagAnalysis.json +48 -48
  84. package/examples/datamining/TimeSeries/MovingAverage.json +65 -65
  85. package/examples/datamining/TimeSeries/MulHoltWinters.json +65 -65
  86. package/examples/datamining/TimeSeries/NoTrendHoltWinters.json +65 -65
  87. package/examples/datamining/Transformation/Binning.json +69 -69
  88. package/examples/datamining/Transformation/CanonicalVariateAnalysis.json +47 -47
  89. package/examples/datamining/Transformation/CategoryReduction.json +51 -51
  90. package/examples/datamining/Transformation/Factorization.json +50 -50
  91. package/examples/datamining/Transformation/MissingDataHandling.json +83 -83
  92. package/examples/datamining/Transformation/OneHotEncoding-DataInline.json +54 -54
  93. package/examples/datamining/Transformation/OneHotEncoding-DatainFile.json +48 -48
  94. package/examples/datamining/Transformation/PartitionTimeSeries.json +48 -48
  95. package/examples/datamining/Transformation/Partitioning-DF.json +72 -72
  96. package/examples/datamining/Transformation/Partitioning.json +46 -46
  97. package/examples/datamining/Transformation/PartitioningWithOversampling-DF.json +65 -65
  98. package/examples/datamining/Transformation/PartitioningWithOversampling.json +44 -44
  99. package/examples/datamining/Transformation/PrincipalComponentsAnalysis.json +52 -52
  100. package/examples/datamining/Transformation/Rescaling.json +67 -67
  101. package/examples/datamining/Transformation/Sampling.json +43 -43
  102. package/examples/datamining/Transformation/StratifiedSampling.json +46 -46
  103. package/examples/flow/SQLServerTransform.json +260 -260
  104. package/examples/flow/dm-calc-pipeline.json +277 -277
  105. package/examples/flow/dm-pipeline-simulation.json +113 -113
  106. package/examples/flow/opt-sim-pipeline.json +159 -159
  107. package/examples/flow/sim-dm-pipeline.json +106 -106
  108. package/examples/flow/sim-sim-pipeline.json +136 -136
  109. package/examples/index.json +4678 -4678
  110. package/examples/{Optimization → optimization}/Conic/AirlineHubConic.json +111 -111
  111. package/examples/{Optimization → optimization}/Conic/AirlineHubConic2.json +108 -108
  112. package/examples/{Optimization → optimization}/Conic/AirlineHubConic3.json +111 -111
  113. package/examples/{Optimization → optimization}/Conic/AirlineHubConic4.json +99 -99
  114. package/examples/{Optimization → optimization}/Conic/AirlineHubConic5.json +101 -101
  115. package/examples/{Optimization → optimization}/DataBinding/ProductMixCsv.json +81 -81
  116. package/examples/{Optimization → optimization}/DataBinding/ProductMixCsv4.json +96 -96
  117. package/examples/{Optimization → optimization}/DataBinding/ProductMixExcel.json +73 -73
  118. package/examples/{Optimization → optimization}/DataBinding/ProductMixExcel1.json +86 -86
  119. package/examples/{Optimization → optimization}/DataBinding/ProductMixExcel11.json +108 -108
  120. package/examples/{Optimization → optimization}/DataBinding/ProductMixExcel2.json +77 -77
  121. package/examples/{Optimization → optimization}/DataBinding/ProductMixTab.json +89 -89
  122. package/examples/{Optimization → optimization}/DataBinding/ProductMixTab1.json +73 -73
  123. package/examples/{Optimization → optimization}/DataBinding/ProductMixTab2.json +77 -77
  124. package/examples/{Optimization → optimization}/Linear/Inventory.json +199 -199
  125. package/examples/{Optimization → optimization}/Linear/Matop.json +119 -119
  126. package/examples/{Optimization → optimization}/Linear/ProductMix.json +97 -97
  127. package/examples/{Optimization → optimization}/Linear/ProductMix2.json +72 -72
  128. package/examples/{Optimization → optimization}/Linear/ProductMix3.json +49 -49
  129. package/examples/{Optimization → optimization}/Linear/ProductMix4.json +56 -56
  130. package/examples/{Optimization → optimization}/Linear/ProductMixCsv1.json +106 -106
  131. package/examples/{Optimization → optimization}/Linear/ProductMixCsv2.json +106 -106
  132. package/examples/{Optimization → optimization}/Linear/ProductMixSQL11.json +82 -82
  133. package/examples/{Optimization → optimization}/Linear/Rowop.json +126 -126
  134. package/examples/{Optimization → optimization}/NonLinear/AirlineHub.json +63 -63
  135. package/examples/{Optimization → optimization}/NonLinear/AirlineHub2.json +47 -47
  136. package/examples/{Optimization → optimization}/NonLinear/AirlineHub3.json +47 -47
  137. package/examples/{Optimization → optimization}/NonSmooth/Inventory2.json +159 -159
  138. package/examples/{Optimization → optimization}/Quadratic/PortfolioOpt.json +55 -55
  139. package/examples/{Optimization → optimization}/Quadratic/PortfolioOpt2.json +65 -65
  140. package/examples/{Optimization → optimization}/WithUncertainty/GasCompanyChance.json +78 -78
  141. package/examples/{Optimization → optimization}/WithUncertainty/GasCompanyRecourse.json +78 -78
  142. package/examples/{Optimization → optimization}/WithUncertainty/ProjectSelect.json +77 -77
  143. package/examples/{Optimization → optimization}/WithUncertainty/ProjectSelect2.json +81 -81
  144. package/examples/{Optimization → optimization}/WithUncertainty/ProjectSelect3.json +84 -84
  145. package/examples/{Optimization → optimization}/WithUncertainty/ProjectSelect4.json +74 -74
  146. package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/DataFiltering/ListwithFilter.json +52 -52
  147. package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/Loops/ProductMix5.json +57 -57
  148. package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/Loops/compoundWhileStatement.json +35 -35
  149. package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/Loops/ifThenElseStatement.json +33 -33
  150. package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/Loops/nestedLoop.json +25 -25
  151. package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/ParallelArray.json +47 -47
  152. package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/indexedArray.json +69 -69
  153. package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/nonParallelArray.json +49 -49
  154. package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/sumAggregateExample.json +337 -337
  155. package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/tsp.json +61 -61
  156. package/examples/rason-features/BoxIterators/Box_Fun_Loop_Iter_Sim_RASON.json +190 -190
  157. package/examples/rason-features/BoxIterators/Box_Fun_Loop_Sim_RASON.json +75 -75
  158. package/examples/rason-features/BoxIterators/Box_Fun_Sim_RASON.json +108 -108
  159. package/examples/rason-features/BoxIterators/Box_Iter_SIM_RASON.json +68 -68
  160. package/examples/rason-features/BoxIterators/Box_Iterator_Calc_Loop.json +183 -183
  161. package/examples/rason-features/BoxIterators/Box_Iterator_with_typeDef_partial.json +79 -79
  162. package/examples/rason-features/BoxLambdaExamples/BoxFunOptimize.json +154 -154
  163. package/examples/rason-features/BoxLambdaExamples/BoxFunSimulate.json +118 -118
  164. package/examples/rason-features/BoxLambdaExamples/LambdaFunOptimize.json +142 -142
  165. package/examples/rason-features/BoxLambdaExamples/LambdaFunSimulate.json +81 -81
  166. package/examples/rason-features/ReferenceGuide/RGFirehouseLocation.json +69 -69
  167. package/examples/rason-features/ReferenceGuide/RGFirehouseLocationConic.json +113 -113
  168. package/examples/rason-features/ReferenceGuide/RGProductMixCsv1.json +107 -107
  169. package/examples/rason-features/ReferenceGuide/RGProductMixExcel11.json +117 -117
  170. package/examples/rason-features/ReferenceGuide/RGProductMixSQL11.json +108 -108
  171. package/examples/rason-features/UserGuide/UGAirlineHubCSV.json +67 -67
  172. package/examples/rason-features/UserGuide/UGForecast.json +50 -50
  173. package/examples/rason-features/UserGuide/UGProductMix1.json +48 -48
  174. package/examples/rason-features/UserGuide/UGProductMix2.json +48 -48
  175. package/examples/rason-features/UserGuide/UGProductMixTab1.json +67 -67
  176. package/examples/rason-features/UserGuide/UGProductMixTab2.json +76 -76
  177. package/examples/rason-features/UserGuide/UGProductMixTab3.json +66 -66
  178. package/examples/rason-features/UserGuide/UGProductMixTab4.json +70 -70
  179. package/examples/rason-features/UserGuide/UGProductMixTab5.json +67 -67
  180. package/examples/rason-features/UserGuide/UGProjectSelect0.json +91 -91
  181. package/examples/rason-features/UserGuide/UGProjectSelect1.json +74 -74
  182. package/examples/rason-features/UserGuide/UGProjectSelect2.json +74 -74
  183. package/examples/rason-features/UserGuide/UGYieldManagement1.json +61 -61
  184. package/examples/rason-features/UserGuide/UGYieldManagement2.json +61 -61
  185. package/examples/rason-features/UserGuide/UGYieldManagement3.json +63 -63
  186. package/examples/{Simulation → simulation}/CandyStoreSalesUsingSIP.json +147 -147
  187. package/examples/{Simulation → simulation}/CollegeFundGrowth1.json +423 -423
  188. package/examples/{Simulation → simulation}/CollegeFundGrowth1SIPModel.json +27 -27
  189. package/examples/{Simulation → simulation}/CollegeFundGrowth2.json +415 -415
  190. package/examples/{Simulation → simulation}/CollegeFundGrowthSIP.json +401 -401
  191. package/examples/{Simulation → simulation}/GBMSimulationModel.json +236 -236
  192. package/examples/{Simulation → simulation}/YieldManagement(Sim).json +69 -69
  193. package/examples/{Simulation → simulation}/YieldManagement2(Sim).json +72 -72
  194. package/out/index.cjs +38 -38
  195. package/package.json +2 -2
@@ -1,237 +1,237 @@
1
- {
2
- "comment": "This model has been generated by Psi from an Excel model in the workbook GBMSimpleModel(Sim).xlsx",
3
- "modelName": "GBMSimpleModel(Sim)",
4
- "modelDescription": "RASON example model using Simple Geometric Brownian Motion based Pricing Model: Data obtained from www.yahoo.com.",
5
- "modelType": "simulation",
6
- "engineSettings": {
7
- "comment": "Use the engineSettings section to set options related to the engine being used to solve the RASON model, in the case of a simulation model, the Risk Solver Engine. In most cases, the default values are sufficient.",
8
- "randomGenerator": "Lecuyer",
9
- "samplingMethod": "Latin"
10
- },
11
- "uncertainVariables": {
12
- "comment": "The uncertain variables are entered into the uncertainVariables section. This model uses the PsiNormal distribution to compute the uncertainty in each time period (each day).",
13
- "dist1": {
14
- "formula": "PsiNormal(0,1)"
15
- },
16
- "dist2": {
17
- "formula": "PsiNormal(0,1)"
18
- },
19
- "dist3": {
20
- "formula": "PsiNormal(0,1)"
21
- },
22
- "dist4": {
23
- "formula": "PsiNormal(0,1)"
24
- },
25
- "dist5": {
26
- "formula": "PsiNormal(0,1)"
27
- },
28
- "dist6": {
29
- "formula": "PsiNormal(0,1)"
30
- },
31
- "dist7": {
32
- "formula": "PsiNormal(0,1)"
33
- },
34
- "dist8": {
35
- "formula": "PsiNormal(0,1)"
36
- },
37
- "dist9": {
38
- "formula": "PsiNormal(0,1)"
39
- },
40
- "dist10": {
41
- "formula": "PsiNormal(0,1)"
42
- },
43
- "dist11": {
44
- "formula": "PsiNormal(0,1)"
45
- },
46
- "dist12": {
47
- "formula": "PsiNormal(0,1)"
48
- },
49
- "dist13": {
50
- "formula": "PsiNormal(0,1)"
51
- },
52
- "dist14": {
53
- "formula": "PsiNormal(0,1)"
54
- },
55
- "dist15": {
56
- "formula": "PsiNormal(0,1)"
57
- },
58
- "dist16": {
59
- "formula": "PsiNormal(0,1)"
60
- },
61
- "dist17": {
62
- "formula": "PsiNormal(0,1)"
63
- },
64
- "dist18": {
65
- "formula": "PsiNormal(0,1)"
66
- },
67
- "dist19": {
68
- "formula": "PsiNormal(0,1)"
69
- },
70
- "dist20": {
71
- "formula": "PsiNormal(0,1)"
72
- },
73
- "dist21": {
74
- "formula": "PsiNormal(0,1)"
75
- },
76
- "dist22": {
77
- "formula": "PsiNormal(0,1)"
78
- },
79
- "dist23": {
80
- "formula": "PsiNormal(0,1)"
81
- },
82
- "dist24": {
83
- "formula": "PsiNormal(0,1)"
84
- }
85
- },
86
- "data": {
87
- "comment": "Use the data section to keep constant data parameters organized.",
88
- "priceJan2": {
89
- "comment": "Closing price for Jan 2.",
90
- "value": 20.33
91
- },
92
- "meanDailyReturn": {
93
- "comment": "Mean daily return",
94
- "value": "0.00019"
95
- },
96
- "stdDailyReturn": {
97
- "comment": "Mean daily return standard deviation",
98
- "value": "0.009486"
99
- },
100
- "numDays": {
101
- "value": 100
102
- }
103
- },
104
- "formulas": {
105
- "appRate": {
106
- "comment": "appreciation rate = (meanDailyReturn/(1/numDays)) + (1/2volatility^2) ",
107
- "formula": "(meanDailyReturn/(1/numDays))+(1/2 * volatility^2)"
108
- },
109
- "volatility": {
110
- "comment": "volatility = stdDailyReturn/(SQRT(1/numDays))",
111
- "formula": "stdDailyReturn/(SQRT(1/numDays))"
112
- }
113
- },
114
- "uncertainFunctions": {
115
- "comment": "The uncertain functions represent the predicted daily price for the stock. ",
116
- "predPrice1": {
117
- "formula": "(priceJan2*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist1)))+PsiOutput()",
118
- "trials": [],
119
- "mean": []
120
- },
121
- "predPrice2": {
122
- "formula": "(predPrice1*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist2)))+PsiOutput()",
123
- "trials": [],
124
- "mean": []
125
- },
126
- "predPrice3": {
127
- "formula": "(predPrice2*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist3)))+PsiOutput()",
128
- "trials": [],
129
- "mean": []
130
- },
131
- "predPrice4": {
132
- "formula": "(predPrice3*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist4)))+PsiOutput()",
133
- "trials": [],
134
- "mean": []
135
- },
136
- "predPrice5": {
137
- "formula": "(predPrice4*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist5)))+PsiOutput()",
138
- "trials": [],
139
- "mean": []
140
- },
141
- "predPrice6": {
142
- "formula": "(predPrice5*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist6)))+PsiOutput()",
143
- "trials": [],
144
- "mean": []
145
- },
146
- "predPrice7": {
147
- "formula": "(predPrice6*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist7)))+PsiOutput()",
148
- "trials": [],
149
- "mean": []
150
- },
151
- "predPrice8": {
152
- "formula": "(predPrice7*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist8)))+PsiOutput()",
153
- "trials": [],
154
- "mean": []
155
- },
156
- "predPrice9": {
157
- "formula": "(predPrice8*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist9)))+PsiOutput()",
158
- "trials": [],
159
- "mean": []
160
- },
161
- "predPrice10": {
162
- "formula": "(predPrice9*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist10)))+PsiOutput()",
163
- "trials": [],
164
- "mean": []
165
- },
166
- "predPrice11": {
167
- "formula": "(predPrice10*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist11)))+PsiOutput()",
168
- "trials": [],
169
- "mean": []
170
- },
171
- "predPrice12": {
172
- "formula": "(predPrice11*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist12)))+PsiOutput()",
173
- "trials": [],
174
- "mean": []
175
- },
176
- "predPrice13": {
177
- "formula": "(predPrice12*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist13)))+PsiOutput()",
178
- "trials": [],
179
- "mean": []
180
- },
181
- "predPrice14": {
182
- "formula": "(predPrice13*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist14)))+PsiOutput()",
183
- "trials": [],
184
- "mean": []
185
- },
186
- "predPrice15": {
187
- "formula": "(predPrice14*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist15)))+PsiOutput()",
188
- "trials": [],
189
- "mean": []
190
- },
191
- "predPrice16": {
192
- "formula": "(predPrice15*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist16)))+PsiOutput()",
193
- "trials": [],
194
- "mean": []
195
- },
196
- "predPrice17": {
197
- "formula": "(predPrice16*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist17)))+PsiOutput()",
198
- "trials": [],
199
- "mean": []
200
- },
201
- "predPrice18": {
202
- "formula": "(predPrice17*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist18)))+PsiOutput()",
203
- "trials": [],
204
- "mean": []
205
- },
206
- "predPrice19": {
207
- "formula": "(predPrice18*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist19)))+PsiOutput()",
208
- "trials": [],
209
- "mean": []
210
- },
211
- "predPrice20": {
212
- "formula": "(predPrice19*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist20)))+PsiOutput()",
213
- "trials": [],
214
- "mean": []
215
- },
216
- "predPrice21": {
217
- "formula": "(predPrice20*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist21)))+PsiOutput()",
218
- "trials": [],
219
- "mean": []
220
- },
221
- "predPrice22": {
222
- "formula": "(predPrice21*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist22)))+PsiOutput()",
223
- "trials": [],
224
- "mean": []
225
- },
226
- "predPrice23": {
227
- "formula": "(predPrice22*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist23)))+PsiOutput()",
228
- "trials": [],
229
- "mean": []
230
- },
231
- "predPrice24": {
232
- "formula": "(predPrice23*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist24)))+PsiOutput()",
233
- "trials": [],
234
- "mean": []
235
- }
236
- }
1
+ {
2
+ "comment": "This model has been generated by Psi from an Excel model in the workbook GBMSimpleModel(Sim).xlsx",
3
+ "modelName": "GBMSimpleModel(Sim)",
4
+ "modelDescription": "RASON example model using Simple Geometric Brownian Motion based Pricing Model: Data obtained from www.yahoo.com.",
5
+ "modelType": "simulation",
6
+ "engineSettings": {
7
+ "comment": "Use the engineSettings section to set options related to the engine being used to solve the RASON model, in the case of a simulation model, the Risk Solver Engine. In most cases, the default values are sufficient.",
8
+ "randomGenerator": "Lecuyer",
9
+ "samplingMethod": "Latin"
10
+ },
11
+ "uncertainVariables": {
12
+ "comment": "The uncertain variables are entered into the uncertainVariables section. This model uses the PsiNormal distribution to compute the uncertainty in each time period (each day).",
13
+ "dist1": {
14
+ "formula": "PsiNormal(0,1)"
15
+ },
16
+ "dist2": {
17
+ "formula": "PsiNormal(0,1)"
18
+ },
19
+ "dist3": {
20
+ "formula": "PsiNormal(0,1)"
21
+ },
22
+ "dist4": {
23
+ "formula": "PsiNormal(0,1)"
24
+ },
25
+ "dist5": {
26
+ "formula": "PsiNormal(0,1)"
27
+ },
28
+ "dist6": {
29
+ "formula": "PsiNormal(0,1)"
30
+ },
31
+ "dist7": {
32
+ "formula": "PsiNormal(0,1)"
33
+ },
34
+ "dist8": {
35
+ "formula": "PsiNormal(0,1)"
36
+ },
37
+ "dist9": {
38
+ "formula": "PsiNormal(0,1)"
39
+ },
40
+ "dist10": {
41
+ "formula": "PsiNormal(0,1)"
42
+ },
43
+ "dist11": {
44
+ "formula": "PsiNormal(0,1)"
45
+ },
46
+ "dist12": {
47
+ "formula": "PsiNormal(0,1)"
48
+ },
49
+ "dist13": {
50
+ "formula": "PsiNormal(0,1)"
51
+ },
52
+ "dist14": {
53
+ "formula": "PsiNormal(0,1)"
54
+ },
55
+ "dist15": {
56
+ "formula": "PsiNormal(0,1)"
57
+ },
58
+ "dist16": {
59
+ "formula": "PsiNormal(0,1)"
60
+ },
61
+ "dist17": {
62
+ "formula": "PsiNormal(0,1)"
63
+ },
64
+ "dist18": {
65
+ "formula": "PsiNormal(0,1)"
66
+ },
67
+ "dist19": {
68
+ "formula": "PsiNormal(0,1)"
69
+ },
70
+ "dist20": {
71
+ "formula": "PsiNormal(0,1)"
72
+ },
73
+ "dist21": {
74
+ "formula": "PsiNormal(0,1)"
75
+ },
76
+ "dist22": {
77
+ "formula": "PsiNormal(0,1)"
78
+ },
79
+ "dist23": {
80
+ "formula": "PsiNormal(0,1)"
81
+ },
82
+ "dist24": {
83
+ "formula": "PsiNormal(0,1)"
84
+ }
85
+ },
86
+ "data": {
87
+ "comment": "Use the data section to keep constant data parameters organized.",
88
+ "priceJan2": {
89
+ "comment": "Closing price for Jan 2.",
90
+ "value": 20.33
91
+ },
92
+ "meanDailyReturn": {
93
+ "comment": "Mean daily return",
94
+ "value": "0.00019"
95
+ },
96
+ "stdDailyReturn": {
97
+ "comment": "Mean daily return standard deviation",
98
+ "value": "0.009486"
99
+ },
100
+ "numDays": {
101
+ "value": 100
102
+ }
103
+ },
104
+ "formulas": {
105
+ "appRate": {
106
+ "comment": "appreciation rate = (meanDailyReturn/(1/numDays)) + (1/2volatility^2) ",
107
+ "formula": "(meanDailyReturn/(1/numDays))+(1/2 * volatility^2)"
108
+ },
109
+ "volatility": {
110
+ "comment": "volatility = stdDailyReturn/(SQRT(1/numDays))",
111
+ "formula": "stdDailyReturn/(SQRT(1/numDays))"
112
+ }
113
+ },
114
+ "uncertainFunctions": {
115
+ "comment": "The uncertain functions represent the predicted daily price for the stock. ",
116
+ "predPrice1": {
117
+ "formula": "(priceJan2*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist1)))+PsiOutput()",
118
+ "trials": [],
119
+ "mean": []
120
+ },
121
+ "predPrice2": {
122
+ "formula": "(predPrice1*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist2)))+PsiOutput()",
123
+ "trials": [],
124
+ "mean": []
125
+ },
126
+ "predPrice3": {
127
+ "formula": "(predPrice2*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist3)))+PsiOutput()",
128
+ "trials": [],
129
+ "mean": []
130
+ },
131
+ "predPrice4": {
132
+ "formula": "(predPrice3*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist4)))+PsiOutput()",
133
+ "trials": [],
134
+ "mean": []
135
+ },
136
+ "predPrice5": {
137
+ "formula": "(predPrice4*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist5)))+PsiOutput()",
138
+ "trials": [],
139
+ "mean": []
140
+ },
141
+ "predPrice6": {
142
+ "formula": "(predPrice5*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist6)))+PsiOutput()",
143
+ "trials": [],
144
+ "mean": []
145
+ },
146
+ "predPrice7": {
147
+ "formula": "(predPrice6*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist7)))+PsiOutput()",
148
+ "trials": [],
149
+ "mean": []
150
+ },
151
+ "predPrice8": {
152
+ "formula": "(predPrice7*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist8)))+PsiOutput()",
153
+ "trials": [],
154
+ "mean": []
155
+ },
156
+ "predPrice9": {
157
+ "formula": "(predPrice8*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist9)))+PsiOutput()",
158
+ "trials": [],
159
+ "mean": []
160
+ },
161
+ "predPrice10": {
162
+ "formula": "(predPrice9*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist10)))+PsiOutput()",
163
+ "trials": [],
164
+ "mean": []
165
+ },
166
+ "predPrice11": {
167
+ "formula": "(predPrice10*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist11)))+PsiOutput()",
168
+ "trials": [],
169
+ "mean": []
170
+ },
171
+ "predPrice12": {
172
+ "formula": "(predPrice11*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist12)))+PsiOutput()",
173
+ "trials": [],
174
+ "mean": []
175
+ },
176
+ "predPrice13": {
177
+ "formula": "(predPrice12*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist13)))+PsiOutput()",
178
+ "trials": [],
179
+ "mean": []
180
+ },
181
+ "predPrice14": {
182
+ "formula": "(predPrice13*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist14)))+PsiOutput()",
183
+ "trials": [],
184
+ "mean": []
185
+ },
186
+ "predPrice15": {
187
+ "formula": "(predPrice14*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist15)))+PsiOutput()",
188
+ "trials": [],
189
+ "mean": []
190
+ },
191
+ "predPrice16": {
192
+ "formula": "(predPrice15*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist16)))+PsiOutput()",
193
+ "trials": [],
194
+ "mean": []
195
+ },
196
+ "predPrice17": {
197
+ "formula": "(predPrice16*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist17)))+PsiOutput()",
198
+ "trials": [],
199
+ "mean": []
200
+ },
201
+ "predPrice18": {
202
+ "formula": "(predPrice17*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist18)))+PsiOutput()",
203
+ "trials": [],
204
+ "mean": []
205
+ },
206
+ "predPrice19": {
207
+ "formula": "(predPrice18*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist19)))+PsiOutput()",
208
+ "trials": [],
209
+ "mean": []
210
+ },
211
+ "predPrice20": {
212
+ "formula": "(predPrice19*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist20)))+PsiOutput()",
213
+ "trials": [],
214
+ "mean": []
215
+ },
216
+ "predPrice21": {
217
+ "formula": "(predPrice20*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist21)))+PsiOutput()",
218
+ "trials": [],
219
+ "mean": []
220
+ },
221
+ "predPrice22": {
222
+ "formula": "(predPrice21*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist22)))+PsiOutput()",
223
+ "trials": [],
224
+ "mean": []
225
+ },
226
+ "predPrice23": {
227
+ "formula": "(predPrice22*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist23)))+PsiOutput()",
228
+ "trials": [],
229
+ "mean": []
230
+ },
231
+ "predPrice24": {
232
+ "formula": "(predPrice23*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist24)))+PsiOutput()",
233
+ "trials": [],
234
+ "mean": []
235
+ }
236
+ }
237
237
  }
@@ -1,70 +1,70 @@
1
- {
2
- "modelName": "YieldManagementSimExample",
3
- "modelDescription": "RASON Airline Revenue Management Model: The price for a flight ticket from San Francisco to Seattle is $200. Each plane can hold no more than 100 passengers. Usually, some passengers who have purchased a ticket are 'no-shows'. To protect against such no-shows, the airline would like to sell more than 100 tickets for each flight. Federal regulations require that any ticketed customer who is unable to board the plane due to overbooking is entitled to compensation of 125% of the ticket value paid by the customer. Any no-show customer is refunded 50% of the ticket value paid by the customer. The number of no-shows, 'no_shows', is randomly distributed with a Lognormal distribution with mean of 10% of the number of tickets sold, 'sold', and standard deviation of 6% of 'sold'. In this problem, the only uncertainty, 'no_shows', depends on the parameter 'sold'. (The ROUND function in the 'show-ups' formula, rounds the fractional value for 'no_shows' to a whole number.) The number of tickets sold is set to 110. Total Revenue (the uncertain function) is a random quantity, since it depends on the number of no-shows. the mean is returned in the results. This mean is the Expected Total Revenue for the flight. The distribution of Total Revenue will change with the Number of Tickets Sold. Enter a new value for 'sold' to see how the distribution of Total Revenue changes. Try to find an optimal number that will maximize the Total Expected Revenue.",
4
- "modelType": "simulation",
5
- "modelSettings": {
6
- "comment": "Use this section to change model option settings. See the RASON Reference Guide (downloadable from the Help tab) for all model option descriptions.",
7
- "numSimulations": 1,
8
- "numTrials": 100
9
- },
10
- "engineSettings": {
11
- "comment": "Use this section to change option settings for the simulation engine, Risk Solver Engine. See the RASON Reference Guide (downloadable from the Help tab) for all option descriptions for this engine and all RASON engines. Default engine option settings are typically sufficient for optimal performance.",
12
- "randomSeed": 1234,
13
- "samplingMethod": 2,
14
- "randomGenerator": 1,
15
- "randomStreams": 0,
16
- "cltThreshold": 100
17
- },
18
- "data": {
19
- "comment": "Use this section to organize constant data parameters in the model.",
20
- "price": {
21
- "comment": "This is the price of a ticket",
22
- "value": 200
23
- },
24
- "capacity": {
25
- "comment": "This is the number of seats on the airplane.",
26
- "value": 100
27
- },
28
- "sold": {
29
- "comment": "This is the number of tickets sold.",
30
- "value": 110
31
- },
32
- "refund_no_shows": {
33
- "comment": "Each person who misses the flight is entitled to a refund of 50%.",
34
- "value": 0.5
35
- },
36
- "refund_overbook": {
37
- "comment": "Federal regulations require that any ticketed customer who is unable to board the plane due to overbooking is entitled to compensation of 125% of the ticket value paid by the customer.",
38
- "value": 1.25
39
- }
40
- },
41
- "uncertainVariables": {
42
- "comment": "The uncertainVariables section contains all of the uncertain variables in a RASON model.",
43
- "no_shows": {
44
- "comment": "The only uncertainty, no_Shows, depends on the parameter 'sold'. (The ROUND function rounds the fractional value to a whole number since it's not possible to sell a fractional part of a ticket.) ",
45
- "formula": "PsiLogNormal(0.1*sold, 0.06*sold)",
46
- "mean": []
47
- }
48
- },
49
- "formulas": {
50
- "comment": "Use this section to organize intermediate formulas which will be utilized in the uncertain function, revenue.",
51
- "show_ups": {
52
- "comment": "The number of passengers who show up for the flight.",
53
- "formula": "sold - Round(no_shows, 0)"
54
- },
55
- "overbook": {
56
- "comment": "The number of overbooked passengers.",
57
- "formula": "Max(0, show_ups - capacity)"
58
- }
59
- },
60
- "uncertainFunctions": {
61
- "comment": "The uncertainFunctions section contains all of the uncertain functions in a RASON model.",
62
- "revenue": {
63
- "comment": "Calculate the flight's revenue by multiplying the ticket price by the number of tickets sold - the number of no_shows - the number of ticket refunded due to overbooking. The mean is the expected value of the function. The results will contain the function mean, the percentile values and the values for each of the 100 trials.",
64
- "formula": "price*(sold - refund_no_shows*Round(no_shows, 0) - refund_overbook*overbook)",
65
- "mean": [],
66
- "percentiles": [],
67
- "trials": []
68
- }
69
- }
1
+ {
2
+ "modelName": "YieldManagementSimExample",
3
+ "modelDescription": "RASON Airline Revenue Management Model: The price for a flight ticket from San Francisco to Seattle is $200. Each plane can hold no more than 100 passengers. Usually, some passengers who have purchased a ticket are 'no-shows'. To protect against such no-shows, the airline would like to sell more than 100 tickets for each flight. Federal regulations require that any ticketed customer who is unable to board the plane due to overbooking is entitled to compensation of 125% of the ticket value paid by the customer. Any no-show customer is refunded 50% of the ticket value paid by the customer. The number of no-shows, 'no_shows', is randomly distributed with a Lognormal distribution with mean of 10% of the number of tickets sold, 'sold', and standard deviation of 6% of 'sold'. In this problem, the only uncertainty, 'no_shows', depends on the parameter 'sold'. (The ROUND function in the 'show-ups' formula, rounds the fractional value for 'no_shows' to a whole number.) The number of tickets sold is set to 110. Total Revenue (the uncertain function) is a random quantity, since it depends on the number of no-shows. the mean is returned in the results. This mean is the Expected Total Revenue for the flight. The distribution of Total Revenue will change with the Number of Tickets Sold. Enter a new value for 'sold' to see how the distribution of Total Revenue changes. Try to find an optimal number that will maximize the Total Expected Revenue.",
4
+ "modelType": "simulation",
5
+ "modelSettings": {
6
+ "comment": "Use this section to change model option settings. See the RASON Reference Guide (downloadable from the Help tab) for all model option descriptions.",
7
+ "numSimulations": 1,
8
+ "numTrials": 100
9
+ },
10
+ "engineSettings": {
11
+ "comment": "Use this section to change option settings for the simulation engine, Risk Solver Engine. See the RASON Reference Guide (downloadable from the Help tab) for all option descriptions for this engine and all RASON engines. Default engine option settings are typically sufficient for optimal performance.",
12
+ "randomSeed": 1234,
13
+ "samplingMethod": 2,
14
+ "randomGenerator": 1,
15
+ "randomStreams": 0,
16
+ "cltThreshold": 100
17
+ },
18
+ "data": {
19
+ "comment": "Use this section to organize constant data parameters in the model.",
20
+ "price": {
21
+ "comment": "This is the price of a ticket",
22
+ "value": 200
23
+ },
24
+ "capacity": {
25
+ "comment": "This is the number of seats on the airplane.",
26
+ "value": 100
27
+ },
28
+ "sold": {
29
+ "comment": "This is the number of tickets sold.",
30
+ "value": 110
31
+ },
32
+ "refund_no_shows": {
33
+ "comment": "Each person who misses the flight is entitled to a refund of 50%.",
34
+ "value": 0.5
35
+ },
36
+ "refund_overbook": {
37
+ "comment": "Federal regulations require that any ticketed customer who is unable to board the plane due to overbooking is entitled to compensation of 125% of the ticket value paid by the customer.",
38
+ "value": 1.25
39
+ }
40
+ },
41
+ "uncertainVariables": {
42
+ "comment": "The uncertainVariables section contains all of the uncertain variables in a RASON model.",
43
+ "no_shows": {
44
+ "comment": "The only uncertainty, no_Shows, depends on the parameter 'sold'. (The ROUND function rounds the fractional value to a whole number since it's not possible to sell a fractional part of a ticket.) ",
45
+ "formula": "PsiLogNormal(0.1*sold, 0.06*sold)",
46
+ "mean": []
47
+ }
48
+ },
49
+ "formulas": {
50
+ "comment": "Use this section to organize intermediate formulas which will be utilized in the uncertain function, revenue.",
51
+ "show_ups": {
52
+ "comment": "The number of passengers who show up for the flight.",
53
+ "formula": "sold - Round(no_shows, 0)"
54
+ },
55
+ "overbook": {
56
+ "comment": "The number of overbooked passengers.",
57
+ "formula": "Max(0, show_ups - capacity)"
58
+ }
59
+ },
60
+ "uncertainFunctions": {
61
+ "comment": "The uncertainFunctions section contains all of the uncertain functions in a RASON model.",
62
+ "revenue": {
63
+ "comment": "Calculate the flight's revenue by multiplying the ticket price by the number of tickets sold - the number of no_shows - the number of ticket refunded due to overbooking. The mean is the expected value of the function. The results will contain the function mean, the percentile values and the values for each of the 100 trials.",
64
+ "formula": "price*(sold - refund_no_shows*Round(no_shows, 0) - refund_overbook*overbook)",
65
+ "mean": [],
66
+ "percentiles": [],
67
+ "trials": []
68
+ }
69
+ }
70
70
  }