Markov Regime Change in National Inflation Series

Markov Regime Change in National Inflation Series preview image

1 collaborator

Foto elder silva (Author)

Tags

(This model has yet to be categorized with any tags)
Visible to everyone | Changeable by everyone
Model was written in NetLogo 6.1.0 • Viewed 3 times • Downloaded 1 time • Run 0 times
Download the 'Markov Regime Change in National Inflation Series' modelDownload this modelEmbed this model

Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)


Comments and Questions

Please start the discussion about this model! (You'll first need to log in.)

Click to Run Model

globals
[
  current_price_level
  current_inflation
  price_level_t-1
]

patches-own
[
 current_price
 current_regime
]

to setup
  clear-all
  set current_inflation 0
  set current_price_level .1
  set price_level_t-1 1
  setup-patches
  setup-turtles
  reset-ticks
end 

to setup-BR
  clear-all
  set current_inflation 0
  set current_price_level .1
  set price_level_t-1 1
  setup-patches
  setup-turtles
  set Regime_Baixa_Inflacao 3.8
  set Regime_alta_Inflacao 7.5
  set Prob_Mud_R1_R2 0.025
  set Prob_Mud_R2_R1 0.032
  reset-ticks
end 

to setup-Chl
  clear-all
  set current_inflation 0
  set current_price_level .1
  set price_level_t-1 1
  setup-patches
  setup-turtles
  set Regime_Baixa_Inflacao 3.3
  set Regime_alta_Inflacao 10.3
  set Prob_Mud_R1_R2 0.007
  set Prob_Mud_R2_R1 0.046
  reset-ticks
end 

to setup-Col
  clear-all
  set current_inflation 0
  set current_price_level .1
  set price_level_t-1 1
  setup-patches
  setup-turtles
  set Regime_Baixa_Inflacao 3
  set Regime_alta_Inflacao 8
  set Prob_Mud_R1_R2 0.017
  set Prob_Mud_R2_R1 0.038
  reset-ticks
end 

to setup-Equ
  clear-all
  set current_inflation 0
  set current_price_level .1
  set price_level_t-1 1
  setup-patches
  setup-turtles
  set Regime_Baixa_Inflacao 0.5
  set Regime_alta_Inflacao 3.3
  set Prob_Mud_R1_R2 0.023
  set Prob_Mud_R2_R1 0.016
  reset-ticks
end 

to setup-Mex
  clear-all
  set current_inflation 0
  set current_price_level .1
  set price_level_t-1 1
  setup-patches
  setup-turtles
  set Regime_Baixa_Inflacao 3.5
  set Regime_alta_Inflacao 6.25
  set Prob_Mud_R1_R2 0.051
  set Prob_Mud_R2_R1 0.017
  reset-ticks
end 

to setup-Par
  clear-all
  set current_inflation 0
  set current_price_level .1
  set price_level_t-1 1
  setup-patches
  setup-turtles
  set Regime_Baixa_Inflacao 3
  set Regime_alta_Inflacao 7.3
  set Prob_Mud_R1_R2 0.074
  set Prob_Mud_R2_R1 0.016
  reset-ticks
end 

to setup-Per
  clear-all
  set current_inflation 0
  set current_price_level .1
  set price_level_t-1 1
  setup-patches
  setup-turtles
  set Regime_Baixa_Inflacao 2.5
  set Regime_alta_Inflacao 6.9
  set Prob_Mud_R1_R2 0.007
  set Prob_Mud_R2_R1 0.038
  reset-ticks
end 

to setup-EUA
  clear-all
  set current_inflation 0
  set current_price_level .1
  set price_level_t-1 1
  setup-patches
  setup-turtles
  set Regime_Baixa_Inflacao 0.5
  set Regime_alta_Inflacao 3.3
  set Prob_Mud_R1_R2 0.008
  set Prob_Mud_R2_R1 0.039
  reset-ticks
end 

to setup-DXY
  clear-all
  set current_inflation 0
  set current_price_level .1
  set price_level_t-1 .1
  setup-patches
  setup-turtles
  set Regime_Baixa_Inflacao -0.326
  set Regime_alta_Inflacao 12.2
  set Prob_Mud_R1_R2 0.025
  set Prob_Mud_R2_R1 0.066
  reset-ticks
end 

to setup-patches
  ask patches
  [
    set current_price 1
    set current_regime Selicione_regime
    sprout 1
  ]
end 

to setup-turtles
  ask turtles [ set shape "house" ]
end 

to update_inflation
  let p_t-1 price_level_t-1
  set price_level_t-1 current_price_level
  set current_price_level (sum [current_price] of patches / count patches)
  set current_inflation ((current_price_level - p_t-1) / p_t-1) * 100
end 

to update_prices
  let randomnumber ((random 1000) / 1000)
  ask patches
  [
    ifelse (Regimes? = FALSE) ; falso significa que o preço segue um passeio aleatório
    [
      set current_price current_price * ((1 + ((random 100) - 50) / 1000))
    ][                        ; verdadeiro significa que o preço é influenciado pelo regime
      ifelse (Regimes_Modo_Manual? = FALSE) ; modo manual permite que escolher entre os agentes escolherem por conta propria ou impor de fora o regime
      [
        ifelse (current_regime = 1)
        [
          set current_price current_price * ((1 + ((random 100) - 50) / 1000) + (Regime_Baixa_Inflacao / 200))  ; atualiza o preço da firma em R1
          set pcolor blue
          if ( randomnumber <= Prob_Mud_R1_R2) ; atualiza o regime para regime de alta inflacao com X de probabilidade
          [
            set  current_regime 2
          ]
        ] [ ; se entrar aqui é pq está atualmente no regime 2
          set pcolor red
          set current_price current_price * ((1 + ((random 100) - 50) / 1000) + (Regime_Alta_Inflacao / 200))  ; atualiza o preço da firma em R2
          if (randomnumber <= Prob_Mud_R2_R1) ; atualiza o regime para regime de alta inflacao com X de probabilidade
          [
            set  current_regime 1
          ]
        ]

      ] [ ; Regimes_Modo_Manual? = TRUE, ou seja, o regime é escolhido pelo observador
        set  current_regime Selicione_regime
        ifelse (current_regime = 1)
        [
          set current_price current_price * ((1 + ((random 100) - 50) / 1000) + (Regime_Baixa_Inflacao / 200))  ; atualiza o preço da firma em R1
          set pcolor blue
        ] [
          set pcolor red
          set current_price current_price * ((1 + ((random 100) - 50) / 1000) + (Regime_Alta_Inflacao / 200))  ; atualiza o preço da firma em R2

        ]

      ]
    ]
  ]
end 

to go
  if (ticks > 2000)
  [
  stop
  ]
  ask patches
  [
    if (current_regime = 1)
    [
      set pcolor blue
    ]
  ]
  update_prices
  update_inflation
  tick
end 

There is only one version of this model, created 2 days ago by elder silva.

Attached files

File Type Description Last updated
Markov Regime Change in National Inflation Series.png preview Preview for 'Markov Regime Change in National Inflation Series' 2 days ago, by elder silva Download

This model does not have any ancestors.

This model does not have any descendants.