【问题标题】:Anylogic: System dynamics and randomness (triangular or normal) in flows gives wrong resultsAnylogic:流中的系统动力学和随机性(三角形或正态)给出了错误的结果
【发布时间】:2021-06-03 10:02:25
【问题描述】:

我正在尝试在 anylogic 中创建一个动态环境,并随着时间的推移而表现出投资组合的性能。 每年的回报应该是动态(随机)使用三角形或正常 三角形 (-0.5,0.1,0.5) 或法线 (0.05,0.08) 示例 这意味着有时是积极的,有时是消极的

动态变量/参数是'Return1' 流量是“赚” 股票是“投资组合”

我使用一个变量 Return1 = normal(0.05,0.08) A Flow 收益 = 投资组合*Return1 该股票称为投资组合,初始值为100。它每年累积盈亏 不幸的是,累积投资组合的结果不正确。

如果我使用 Return1=0.1 或例如 -0.05(固定价格),它会完美运行。

在任意逻辑系统动力学中似乎存在随机性问题。 如果您能帮助我如何以这种方式模拟投资组合的表现,我将不胜感激

【问题讨论】:

  • 谢谢。我每步使用 1 秒来模拟它。那么,没有任何可信的方法来为这种情况创建随机性吗?该事件将在每一步之后将值传递给 Return1 并且他们现在的流程是否正确?如果没有,我可以使用一个excel文件,在那里我可以有随机值并在每个步骤中将它们传递给变量吗?例如,在 excel 文件 Params.excel 中,我有一个选项卡返回 1,其中有一个将在每个步骤中使用的值列表

标签: anylogic stock


【解决方案1】:

要做你想做的,你需要每年重新计算你的变量中的随机变量。也许创建一个每年运行一次的事件来更改变量的值。

如果您每年都有:

Return1 = normal(0.05,0.08)

变量 Return1 不会根据您自己的愿望和愿望神奇地自动更新,除非您明确告诉 Anylogic。

如果 return1 是一个动态变量,那么每个时间步都会重新计算该值,这将导致意想不到的结果,这可能相当于使用随机值的平均值。

如果您的时间步长是 1 年……那么在 AnyLogic 中,不幸的是您不能真正信任该时间步长。

【讨论】:

  • 我每隔一秒重复一次,因为模拟单位是 1 秒。它显示的是相同的值在 2 个步骤中保持不变。 Return1 = Return1*(1+ 三角形(-0.3,0.1,0.3));其中Return1是一个初始值为100的参数,那么结果是100, 96.604,96.604,116.715, 116,715,95.849, 95849等。是不是时间有问题,显示重复?
猜你喜欢
  • 2021-08-31
  • 2018-04-13
  • 2018-08-12
  • 2019-11-12
  • 1970-01-01
  • 2021-09-15
  • 1970-01-01
  • 2023-04-05
  • 1970-01-01
相关资源
最近更新 更多