@frontlinesystems/rason-mcp-server 2026.5.1 → 2026.5.3

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 (194) hide show
  1. package/LICENSE +35 -35
  2. package/examples/EXAMPLES_REFERENCE.md +128 -128
  3. package/examples/{optimization → Optimization}/Conic/AirlineHubConic.json +111 -111
  4. package/examples/{optimization → Optimization}/Conic/AirlineHubConic2.json +108 -108
  5. package/examples/{optimization → Optimization}/Conic/AirlineHubConic3.json +111 -111
  6. package/examples/{optimization → Optimization}/Conic/AirlineHubConic4.json +99 -99
  7. package/examples/{optimization → Optimization}/Conic/AirlineHubConic5.json +101 -101
  8. package/examples/{optimization → Optimization}/DataBinding/ProductMixCsv.json +81 -81
  9. package/examples/{optimization → Optimization}/DataBinding/ProductMixCsv4.json +96 -96
  10. package/examples/{optimization → Optimization}/DataBinding/ProductMixExcel.json +73 -73
  11. package/examples/{optimization → Optimization}/DataBinding/ProductMixExcel1.json +86 -86
  12. package/examples/{optimization → Optimization}/DataBinding/ProductMixExcel11.json +108 -108
  13. package/examples/{optimization → Optimization}/DataBinding/ProductMixExcel2.json +77 -77
  14. package/examples/{optimization → Optimization}/DataBinding/ProductMixTab.json +89 -89
  15. package/examples/{optimization → Optimization}/DataBinding/ProductMixTab1.json +73 -73
  16. package/examples/{optimization → Optimization}/DataBinding/ProductMixTab2.json +77 -77
  17. package/examples/{optimization → Optimization}/Linear/Inventory.json +199 -199
  18. package/examples/{optimization → Optimization}/Linear/Matop.json +119 -119
  19. package/examples/{optimization → Optimization}/Linear/ProductMix.json +97 -97
  20. package/examples/{optimization → Optimization}/Linear/ProductMix2.json +72 -72
  21. package/examples/{optimization → Optimization}/Linear/ProductMix3.json +49 -49
  22. package/examples/{optimization → Optimization}/Linear/ProductMix4.json +56 -56
  23. package/examples/{optimization → Optimization}/Linear/ProductMixCsv1.json +106 -106
  24. package/examples/{optimization → Optimization}/Linear/ProductMixCsv2.json +106 -106
  25. package/examples/{optimization → Optimization}/Linear/ProductMixSQL11.json +82 -82
  26. package/examples/{optimization → Optimization}/Linear/Rowop.json +126 -126
  27. package/examples/{optimization → Optimization}/NonLinear/AirlineHub.json +63 -63
  28. package/examples/{optimization → Optimization}/NonLinear/AirlineHub2.json +47 -47
  29. package/examples/{optimization → Optimization}/NonLinear/AirlineHub3.json +47 -47
  30. package/examples/{optimization → Optimization}/NonSmooth/Inventory2.json +159 -159
  31. package/examples/{optimization → Optimization}/Quadratic/PortfolioOpt.json +55 -55
  32. package/examples/{optimization → Optimization}/Quadratic/PortfolioOpt2.json +65 -65
  33. package/examples/{optimization → Optimization}/WithUncertainty/GasCompanyChance.json +78 -78
  34. package/examples/{optimization → Optimization}/WithUncertainty/GasCompanyRecourse.json +78 -78
  35. package/examples/{optimization → Optimization}/WithUncertainty/ProjectSelect.json +77 -77
  36. package/examples/{optimization → Optimization}/WithUncertainty/ProjectSelect2.json +81 -81
  37. package/examples/{optimization → Optimization}/WithUncertainty/ProjectSelect3.json +84 -84
  38. package/examples/{optimization → Optimization}/WithUncertainty/ProjectSelect4.json +74 -74
  39. package/examples/{simulation → Simulation}/CandyStoreSalesUsingSIP.json +147 -147
  40. package/examples/{simulation → Simulation}/CollegeFundGrowth1.json +423 -423
  41. package/examples/{simulation → Simulation}/CollegeFundGrowth1SIPModel.json +27 -27
  42. package/examples/{simulation → Simulation}/CollegeFundGrowth2.json +415 -415
  43. package/examples/{simulation → Simulation}/CollegeFundGrowthSIP.json +401 -401
  44. package/examples/{simulation → Simulation}/GBMSimulationModel.json +236 -236
  45. package/examples/{simulation → Simulation}/YieldManagement(Sim).json +69 -69
  46. package/examples/{simulation → Simulation}/YieldManagement2(Sim).json +72 -72
  47. package/examples/calculation/DMNExamples/DMN Box Fun with typeDef result.json +53 -53
  48. package/examples/calculation/DMNExamples/DMN Context example.json +69 -69
  49. package/examples/calculation/DMNExamples/DMN DT with typeDef result.json +43 -43
  50. package/examples/calculation/DMNExamples/FEEL Date Time example.json +28 -28
  51. package/examples/calculation/DMNExamples/FEEL For iteration example.json +66 -66
  52. package/examples/calculation/DMNExamples/FEEL For with two indices.json +15 -15
  53. package/examples/calculation/DMNExamples/FEEL For with typeDef result.json +88 -88
  54. package/examples/calculation/DMNExamples/FEEL If Then Else example.json +25 -25
  55. package/examples/calculation/DMNExamples/FEEL List example.json +37 -37
  56. package/examples/calculation/DMNExamples/FEEL List operator.json +17 -17
  57. package/examples/calculation/DMNExamples/FEEL List with typeDef collection.json +36 -36
  58. package/examples/calculation/DMNExamples/FEEL Some or Every example.json +65 -65
  59. package/examples/calculation/DecisionTables/DT Datasource example.json +52 -52
  60. package/examples/calculation/DecisionTables/DT Date and Time examples.json +91 -91
  61. package/examples/calculation/DecisionTables/DT Expression example.json +32 -32
  62. package/examples/calculation/DecisionTables/DT Hit Policy examples.json +136 -136
  63. package/examples/calculation/DecisionTables/DT Loan Recommend model.json +81 -81
  64. package/examples/calculation/DecisionTables/DT Loan Strategy Model and Predictive CSV-XML.json +218 -218
  65. package/examples/calculation/DecisionTables/DT Loan Strategy model and Datasource.json +286 -286
  66. package/examples/calculation/DecisionTables/DT Loan Strategy model and Predictive.json +203 -203
  67. package/examples/calculation/DecisionTables/DT Loan Strategy model by scratch.json +214 -214
  68. package/examples/calculation/DecisionTables/DT Output Order example.json +39 -39
  69. package/examples/calculation/DecisionTables/DT Unique example.json +38 -38
  70. package/examples/calculation/TypeDefinitions/TypeDefCF.json +64 -64
  71. package/examples/calculation/TypeDefinitions/TypeDefDT.json +57 -57
  72. package/examples/datamining/AffinityAnalysis/AssociationRules.json +51 -51
  73. package/examples/datamining/Classification/DecisionTree.json +90 -90
  74. package/examples/datamining/Classification/DiscriminantAnalysis.json +81 -81
  75. package/examples/datamining/Classification/Ensembles/Bagging.json +66 -66
  76. package/examples/datamining/Classification/Ensembles/Boosting.json +67 -67
  77. package/examples/datamining/Classification/Ensembles/RandomTrees.json +91 -91
  78. package/examples/datamining/Classification/FindBestModel.json +86 -86
  79. package/examples/datamining/Classification/LogisticRegression.json +82 -82
  80. package/examples/datamining/Classification/NaiveBayes.json +78 -78
  81. package/examples/datamining/Classification/NearestNeighbors.json +84 -84
  82. package/examples/datamining/Classification/NeuralNetwork.json +92 -92
  83. package/examples/datamining/Clustering/Hierarchical.json +54 -54
  84. package/examples/datamining/Clustering/KMeans.json +71 -71
  85. package/examples/datamining/DataSources/DelimitedFile.json +49 -49
  86. package/examples/datamining/DataSources/JSONFile.json +49 -49
  87. package/examples/datamining/DataSources/MSAccessDatabase.json +49 -49
  88. package/examples/datamining/DataSources/MSExcelTable.json +50 -50
  89. package/examples/datamining/DataSources/MSSQLDatabase.json +49 -49
  90. package/examples/datamining/DataSources/ODATATable.json +49 -49
  91. package/examples/datamining/DataSources/ODBCDatabase.json +49 -49
  92. package/examples/datamining/FeatureSelection/LinearWrapping.json +53 -53
  93. package/examples/datamining/FeatureSelection/LogisticWrapping.json +56 -56
  94. package/examples/datamining/FeatureSelection/Univariate.json +78 -78
  95. package/examples/datamining/Regression/DecisionTree.json +82 -82
  96. package/examples/datamining/Regression/Ensembles/Bagging.json +62 -62
  97. package/examples/datamining/Regression/Ensembles/Boosting.json +62 -62
  98. package/examples/datamining/Regression/Ensembles/RandomTrees.json +78 -78
  99. package/examples/datamining/Regression/FindBestModel.json +86 -86
  100. package/examples/datamining/Regression/LinearRegression.json +124 -124
  101. package/examples/datamining/Regression/NearestNeighbors.json +77 -77
  102. package/examples/datamining/Regression/NeuralNetwork.json +82 -82
  103. package/examples/datamining/Scoring/JSONClassifier.json +62 -62
  104. package/examples/datamining/Scoring/JSONClassifierNN.json +62 -62
  105. package/examples/datamining/Scoring/JSONClusterizer.json +37 -37
  106. package/examples/datamining/Scoring/JSONForecaster.json +49 -49
  107. package/examples/datamining/Scoring/JSONLinearRegression.json +56 -56
  108. package/examples/datamining/Scoring/JSONPCA.json +41 -41
  109. package/examples/datamining/Scoring/JSONRegressor.json +56 -56
  110. package/examples/datamining/Scoring/JSONTransformer.json +38 -38
  111. package/examples/datamining/Scoring/PMMLClassifier.json +42 -42
  112. package/examples/datamining/Scoring/PMMLForecaster.json +43 -43
  113. package/examples/datamining/Scoring/PMMLRegressor.json +38 -38
  114. package/examples/datamining/Scoring/PMMLTransformer.json +38 -38
  115. package/examples/datamining/Simulation/LinearRegressionSimulation.json +117 -117
  116. package/examples/datamining/Simulation/SyntheticDataGeneration.json +108 -108
  117. package/examples/datamining/Simulation/pmml-risk-scoring.json +62 -62
  118. package/examples/datamining/Summarizer/Summarization.json +54 -54
  119. package/examples/datamining/TextMining/LatentSemanticAnalysis.json +51 -51
  120. package/examples/datamining/TextMining/TfIdf-FileData.json +65 -65
  121. package/examples/datamining/TextMining/TfIdf-InlineData.json +55 -55
  122. package/examples/datamining/TimeSeries/AddHoltWinters.json +79 -79
  123. package/examples/datamining/TimeSeries/Arima.json +74 -74
  124. package/examples/datamining/TimeSeries/DoubleExponential.json +65 -65
  125. package/examples/datamining/TimeSeries/Exponential.json +64 -64
  126. package/examples/datamining/TimeSeries/LagAnalysis.json +48 -48
  127. package/examples/datamining/TimeSeries/MovingAverage.json +65 -65
  128. package/examples/datamining/TimeSeries/MulHoltWinters.json +65 -65
  129. package/examples/datamining/TimeSeries/NoTrendHoltWinters.json +65 -65
  130. package/examples/datamining/Transformation/Binning.json +69 -69
  131. package/examples/datamining/Transformation/CanonicalVariateAnalysis.json +47 -47
  132. package/examples/datamining/Transformation/CategoryReduction.json +51 -51
  133. package/examples/datamining/Transformation/Factorization.json +50 -50
  134. package/examples/datamining/Transformation/MissingDataHandling.json +83 -83
  135. package/examples/datamining/Transformation/OneHotEncoding-DataInline.json +54 -54
  136. package/examples/datamining/Transformation/OneHotEncoding-DatainFile.json +48 -48
  137. package/examples/datamining/Transformation/PartitionTimeSeries.json +48 -48
  138. package/examples/datamining/Transformation/Partitioning-DF.json +72 -72
  139. package/examples/datamining/Transformation/Partitioning.json +46 -46
  140. package/examples/datamining/Transformation/PartitioningWithOversampling-DF.json +65 -65
  141. package/examples/datamining/Transformation/PartitioningWithOversampling.json +44 -44
  142. package/examples/datamining/Transformation/PrincipalComponentsAnalysis.json +52 -52
  143. package/examples/datamining/Transformation/Rescaling.json +67 -67
  144. package/examples/datamining/Transformation/Sampling.json +43 -43
  145. package/examples/datamining/Transformation/StratifiedSampling.json +46 -46
  146. package/examples/flow/SQLServerTransform.json +260 -260
  147. package/examples/flow/dm-calc-pipeline.json +277 -277
  148. package/examples/flow/dm-pipeline-simulation.json +113 -113
  149. package/examples/flow/opt-sim-pipeline.json +159 -159
  150. package/examples/flow/sim-dm-pipeline.json +106 -106
  151. package/examples/flow/sim-sim-pipeline.json +136 -136
  152. package/examples/index.json +4678 -4678
  153. package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/DataFiltering/ListwithFilter.json +52 -52
  154. package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/Loops/ProductMix5.json +57 -57
  155. package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/Loops/compoundWhileStatement.json +35 -35
  156. package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/Loops/ifThenElseStatement.json +33 -33
  157. package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/Loops/nestedLoop.json +25 -25
  158. package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/ParallelArray.json +47 -47
  159. package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/indexedArray.json +69 -69
  160. package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/nonParallelArray.json +49 -49
  161. package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/sumAggregateExample.json +337 -337
  162. package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/tsp.json +61 -61
  163. package/examples/rason-features/BoxIterators/Box_Fun_Loop_Iter_Sim_RASON.json +190 -190
  164. package/examples/rason-features/BoxIterators/Box_Fun_Loop_Sim_RASON.json +75 -75
  165. package/examples/rason-features/BoxIterators/Box_Fun_Sim_RASON.json +108 -108
  166. package/examples/rason-features/BoxIterators/Box_Iter_SIM_RASON.json +68 -68
  167. package/examples/rason-features/BoxIterators/Box_Iterator_Calc_Loop.json +183 -183
  168. package/examples/rason-features/BoxIterators/Box_Iterator_with_typeDef_partial.json +79 -79
  169. package/examples/rason-features/BoxLambdaExamples/BoxFunOptimize.json +154 -154
  170. package/examples/rason-features/BoxLambdaExamples/BoxFunSimulate.json +118 -118
  171. package/examples/rason-features/BoxLambdaExamples/LambdaFunOptimize.json +142 -142
  172. package/examples/rason-features/BoxLambdaExamples/LambdaFunSimulate.json +81 -81
  173. package/examples/rason-features/ReferenceGuide/RGFirehouseLocation.json +69 -69
  174. package/examples/rason-features/ReferenceGuide/RGFirehouseLocationConic.json +113 -113
  175. package/examples/rason-features/ReferenceGuide/RGProductMixCsv1.json +107 -107
  176. package/examples/rason-features/ReferenceGuide/RGProductMixExcel11.json +117 -117
  177. package/examples/rason-features/ReferenceGuide/RGProductMixSQL11.json +108 -108
  178. package/examples/rason-features/UserGuide/UGAirlineHubCSV.json +67 -67
  179. package/examples/rason-features/UserGuide/UGForecast.json +50 -50
  180. package/examples/rason-features/UserGuide/UGProductMix1.json +48 -48
  181. package/examples/rason-features/UserGuide/UGProductMix2.json +48 -48
  182. package/examples/rason-features/UserGuide/UGProductMixTab1.json +67 -67
  183. package/examples/rason-features/UserGuide/UGProductMixTab2.json +76 -76
  184. package/examples/rason-features/UserGuide/UGProductMixTab3.json +66 -66
  185. package/examples/rason-features/UserGuide/UGProductMixTab4.json +70 -70
  186. package/examples/rason-features/UserGuide/UGProductMixTab5.json +67 -67
  187. package/examples/rason-features/UserGuide/UGProjectSelect0.json +91 -91
  188. package/examples/rason-features/UserGuide/UGProjectSelect1.json +74 -74
  189. package/examples/rason-features/UserGuide/UGProjectSelect2.json +74 -74
  190. package/examples/rason-features/UserGuide/UGYieldManagement1.json +61 -61
  191. package/examples/rason-features/UserGuide/UGYieldManagement2.json +61 -61
  192. package/examples/rason-features/UserGuide/UGYieldManagement3.json +63 -63
  193. package/out/index.cjs +1 -1
  194. package/package.json +3 -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
  }