AnyLogic - Динамика системы: как правильно отслеживать стоимость акций?
В базовой модели положительных отзывов первого порядка:
(один запас, один поток к нему и параметр дает скорость потока).
E сть stock
с начальным значением 100
, parameter
со значением 0.1
и формула flow
является:
(
flow = stock * paremeter
)
Модельные единицы времени "years"
и мы хотим запустить симуляцию для 100 years
,
Значение stock
с годами будет 100
, 110
, 121
, 133.1
, 146.41
...
Но ценности stock
со временем на экране симуляции (или когда я помещаю его в график времени или набор данных) 110.517
, 122.139
, 134.984
, 149.179
,
Почему значения
stock
со временем отличаются от ожидаемых выше?Как правильно отследить стоимость акций по годам?
1 ответ
Этот вопрос является типичным заблуждением системной динамики. Системная динамика подчиняется дифференциальным уравнениям и обычно использует метод Эйлера для расчета нового значения запаса после каждого дифференциального временного шага. У вас ошибочное мнение, что значение обновляется 1 раз в год, но это не так. Он обновляется 1 раз каждые 0,001 единицы времени (приблизительно со значением по умолчанию).
Я даю более обширный ответ на этот вопрос здесь: Системная динамика в последовательности AnyLogic - Fibonacci