Home

  Publications

  Labor Economics

  Codes

  Contact

  Software

  CV (PDF)
Friends:

  OpenABM

  Translations

  Labor Market
 Observatory
 

SIMPLE SEARCH AND MATCHING MODEL


The basic equilibrium search model of labor market is developed in this section. I implement
the model equation in Python programming language.

Modele tej klasy stanowia przeciwienstwo modeli Walrasowskich, gdzie dopasowanie
pomiedzy podaza a popytem nastepowalo niezwlocznie. Kluczowe jest tu zalozenie
o braku dostepu do informacji jak i heterogenicznosci zarówno poszukujacych zatrudnienia
jak i wakatów. Powyzsze zalozenia sa przyczyna wystepowania kosztownych opóznien (tarc)
w procesie laczenia pracowników i pracodawców i w konsekwencji przyczynia sie do powstania
bezrobocia i dyspersji plac.

Model omawiany w ramach wyklady pochodzi z podrecznika „Advanced Macroecononomics” Davida
Romera, jednak pewne elementy równan zostaly nieco zmodyfikowane.

MODEL

Modelowana gospodarka sklada sie z poszukujacych zatrudnienia bezrobotnych U
zatrudnionych E oraz wakujacych V i obsadzonych F stanowisk.
Na jednym stanowisku moze pracowac dokladnie jedna osoba. Ponadto wszyscy uczestnicy
gospodarki maja te same preferencje, a takze zasiedlaja odcinek o jednostkowej dlugosci.
Zyja oni w nieskonczonosc, sa obojetni wobec ryzyka i dyskontuja przyszlosc z pewna stala stopa r. Obowiazuje warunek swobodnego wejscia – wakaty sa tworzone bez ponoszenia dodatków kosztów. Pracodawca musi poniesc jednak pewien koszt utrzymania stanowiska C – moze to byc np. koszt zwiazany z rekrutacja. Gdy bezrobotny zostaje zatrudniony rozpoczyna on wytwarzac pewna ilosc dobra A w jednostce czasu, otrzymujac jednoczesnie pensje w. Zalózmy tez, ze A > C .

Za modelowanie skomplikowane i czasochlonnego procesu poszukiwan na rynku pracy odpowiada mechanizm funkcji dopasowan, która przedstawia strumien odplywu do zatrudnienia w danym czasie jako funkcje wakatów i bezrobotnych:

\[ M=M(U,V) \hspace{1cm} (1)\]

Przyjmujemy, ze funkcja powyzsza jest rosnaca w obu argumentach, a jej przyrosty sa malejace:

\[ \frac{\partial M}{\partial U} > 0, \frac{\partial M}{\partial V} > 0; \frac{\partial^2 M}{\partial^2 U} > 0, \frac{\partial^2 M}{\partial^2 V} > 0\]

Oznaczmy teraz przez a czestotliwosc odplywu do zatrudnienia, a przez α czestotliwosc z jaka sa zapelniane wolne miejsca pracy:

\[ a=\frac{M}{U} \hspace{1cm} (2) \] \[ \alpha = \frac{M}{V} \hspace{1cm} (3) \]

Po polaczeniu bezrobotnego z wakatem, produkcja trwa, dopóki z pewna egzogeniczna czestotliwoscia szok nie spowoduje likwidacji stanowiska pracy. W tego typu modelach poszukiwan i dopasowan, aby opisac mozliwe stany poszczególnych agentów wykorzystujemy programowanie dynamiczne. Wartosc obsadzonego stanowiska pracy dla pracownika sklada sie wiec z pewnej pensji, która otrzymuje w oraz ryzyka utraty kapitalu w przypadku wystapienia egzogenicznego szoku b:

\[ rV_E=w-b(V_E-V_U) \hspace{1cm} (4) \]

Wartosc obsadzonego stanowiska pracy dla pracodawcy przedstawia sie nastepujaco:

\[ rV_F=A-w-C-b(V_F-V_V) \hspace{1cm} (5) \]

W tym przypadku sklada sie ona wielkosci wytwarzanego produktu pomniejszonego o pensje, która musi on wyplacac pracownikowi, pewien staly koszt C utrzymania stanowiska, a takze ryzyka straty kapitalu w przypadku wystapienia egzogenicznego szoku.

Dla bezrobotnego równanie Bellmana mozna zapisac nastepujaco:

\[ rV_U=a(V_E-V_U) \hspace{1cm} (6) \]

Funkcja wartosci sklada sie w tym przypadku z prawdopodobienstwa otrzymania kapitalu w przypadku podjecia zatrudnienia. Z uwagi na prostote analizy pomieto tu wysokosc zasilków dla bezrobotnych, które w równaniu sa zwykle uwzgledniane.

Dla wakujacego stanowiska mozemy zapisac równanie:

\[ rV_V=-C+\alpha(V_F-V_V) \hspace{1cm} (7) \]

W tym przypadku na jego wartosc skladaja sie pewne stale koszty C oraz prawdopodobienstwo uzyskania przychodu w przypadku udanej rekrutacji.

Po spotkaniu sie pracodawcy i poszukujacego zatrudnienia jest ustalana placa. Musi ona byc na tyle wysoka, aby bezrobotny zgodzil sie podjac zatrudnienie i na tyle niska, aby pracodawca mógl czerpac zysk z zatrudnienia. Negocjacje placowe odbywaja sie zgodnie z symetrycznym rozwiazaniem Nasha, zapozyczonym z teorii gier. Kazdy z agentów uczestniczacy w negocjacjach otrzymuje taki sam udzial:

\[ V_E-V_U=V_F-V_V \hspace{1cm} (8) \]

Tym sposobem model jest kompletny.

PROCEDURA ROZWIAZANIA

Romer proponuje nieco inna procedure rozwiazania niz ma to miejsce w przypadku klasycznej pozycji Pissaridesa (2000). Przyjrzyjmy sie blizej metodyce Romera. Proponuje on, aby wyjsc od wartosci nieobsadzonego stanowiska pracy oraz calkowitej populacji zasiedlajacej gospodarke L, która stanowia bezrobotni U i zatrudnieni E. Zastanówmy sie jak wyrazic place realne w warunkach VV oraz L ?

Odejmijmy poczatkowo równanie wartosci bezrobotnego od zatrudnionego (6) – (4):

\[ V_E-V_U=\frac{w}{a+b+r} \hspace{1cm} (9) \]

Podobnie postepujemy z wartoscia pustego i obsadzonego stanowiska dla pracodawców (7) – (5):

\[ V_F-V_V=\frac{A-w}{\alpha+b+r} \hspace{1cm} (10) \]

Przytoczmy teraz (8) z którego wynika, ze (9) i (10) musza byc sobie równe, a takze rozwazmy warunek swobodnego wejscia Vv=0:

\[\frac{w}{a+b+r}=\frac{A-w}{\alpha+b+r} \hspace{1cm} (11) \]

Po przeksztalceniu otrzymujemy równanie plac jako funkcje parametrów i zmiennych endogenicznych modelu:

\[ w=\frac{(a+b+r)A}{a+\alpha+2b+2r} \hspace{1cm} (12) \]

Teraz mozemy w w równaniu (9) zastapic place równaniem (12) i przeksztalcic równanie wartosci wakujacego stanowiska:

\[ rV_V=-C+\frac{A\alpha}{a+\alpha+2b+2r} \hspace{1cm} (13) \] W powyzszym równaniu α i a to zmienne endogeniczne. Ostatnie co nam zostaje, to wyrazic obie czestotliwosci w warunkach E. Czestotliwosc odplywu do zatrudnienia otrzymujemy przywolujac (2) i przypominajac, ze E + U = L: \[ a=\frac{bE}{L-E} \hspace{1cm} (14) \]

Czestotliwosc zapelniania wakatów mozna uzyskac w podobny, jednak w tym przypadku konieczne jest sprecyzowanie funkcji dopasowan. Zakladamy, ze przyjmuje ona postac Cobba-Douglasa:

\[ M =KU^\beta V^\gamma \] tak wiec przeksztalcmy (3): \[ \alpha=\frac{bE}{bE/[(K(L-E)^\beta)]^\frac{1}{\gamma}} \hspace{1cm} (15) \]

Równania (14) i (15) wskazuja, ze wraz ze wzrostem E rosnie a, natomiast α spada. Poziom zatrudnienia w stanie równowagi E w danej gospodarce jest okreslony przez przeciecie sie krzywej VV z warunkiem swobodnego wejscia. Podstawmy teraz wyprowadzone czestotliwosci a i α do 13 oraz skorzystajmy z warunku VV=0:

\[ A\frac{K^\frac{1}{\gamma}(bE)^\frac{\gamma-1}{\gamma}(L-E)\frac{\beta}{\gamma}}{[\frac{bE}{L-E}]+K^\frac{1}{\gamma}bE^\frac{\gamma-1}{\gamma}(L-E)^\frac{\beta}{\gamma}+2b+2r)}=C \hspace{1cm} (16) \]

Powyzsze równanie wskazuje na wielkosc zatrudnienia w równowadze E i zamyka model.

IMPLEMENTACJA

Zanim przejdziemy do obliczen numerycznych, zauwazmy, ze powyzszy model sklada sie z osmiu parametrów C, A, L, K, r, b, β, γ oraz czterech glównych zmiennych endogenicznych E, U, w, V. Kluczowe równanie to (16) - jest to równanie z jedna niewiadoma E, rozwiazywanie reczne byloby jednak znacznie utrudnione.

Zobaczmy wiec jak implementacja powyzszego problemu wyglada w Pythonie!


# -*- coding: utf-8 -*-
"""
Created on Fri Feb 14 15:03:41 2014

@author: Marcin Wozniak
Equilibrium Search Model with Exogenous Job Destruction
"""

"""Definiuje parametry i ich wartosci. Jest to tzw. proces 
kalibracji parametrów strukturalnych modelu. W tym przykladowym 
zadaniu posluzymy sie wartosciami parametrów zaproponowanych 
przez Shimmera i sprawdzimy czy rezultat obliczen numerycznych 
bedzie ten sam"""

C = 0.5 # koszty pracodawcy zwiazane z rekrutacja pracownika i 
  		utrzymaniem stanowiska

A = 1   # wielkosc produkcji wytwarzana na obsadzonym stanowisku 
  		  pracy

K = 0.4 # parametr funkcji dopasowan

r = 0.012 # stopa dyskontowa, przy zalozeniu kwartalnego czasu 
  modelu

b =  0.02 # czestotliwosc wystepowania smiertelnych szoków. 
  Po wystapieniu szoku obsadzone stanowiksko pracy 
  jest likwidowane

L = 1   # calkowita liczba ludnosci zasiedlajaca modelowana 
  		  gospodarke

gamma = 0.5 # elastycznosc funkcji dopasowan

beta = 0.5 # elastycznosc funkcji dopasowan 

"""Kolejnym krokiem jest zdefiniowanie równania, które zostanie 
rozwiazane jako pierwsze. Z analizy symbolicznej wiemy, ze kluczowe 
dla rozwiazania jest równanie 16. Spróbujmy wiec zapisac funkcje"""

def f(E):
  return (A*K**(1/gamma)*(b*E)**((gamma-1)/gamma)*(L-E)**(beta/gamma))
  \(b*E/(L-E))+K**(1/gamma)*b*E**((gamma-1)/gamma)*(L-E)**(beta/gamma)
  + 2*b+2*r-C

"""importujemy teraz algorytmy odpowieni algorytm 
z biblioteki scipy.optimize"""

from scipy.optimize import fsolve

E = fsolve (f, 0.8)
print E


Web site and all contents © Copyright Marcin Wozniak 2017, All rights reserved.
Free website templates