Co vlastně jsou DSGE modely?

V předchozím článku jsme si popsali různé metodologické přístupy, které používá moderní ekonomie. Konstatovali jsme, že ekonomie hlavního proudu (anglicky označovaná jako mainstream) je založená na matematických modelech. V současnosti nejoblíbenějším typem modelů jsou takzvané dynamické stochastické modely všeobecné rovnováhy. Anglicky je nazýváme Dynamic Stochastic Models of General Equilibrium, zkráceně se označují jako DSGE modely. Velmi složité varianty těchto modelů využívají například centrální banky či ministerstva financí (včetně našeho) k simulaci dopadů jejich hospodářské politiky na ekonomiku. DSGE modely můžeme oprávněně označit jako state of the art současné ekonomie.

Nezapomeňte prosím, že stejně jako předchozí text obsahuje i tento řadu zjednodušení.

DSGE modely v praxi nahradily dříve používané ekonometrické modely. Od nich se liší především tím, že mají mikroekonomickou strukturu. V DSGE modelech se vyskytují subjekty, které známe z mikroekonomie. Máme tam spotřebitele (často se používá i označení domácnost, význam je stejný), který nabízí práci na trhu práce a nakupuje zboží a služby na trhu zboží a služeb. Na rozdíl např. od keynesiánského modelu s multiplikátorem (který najdete vysvětlený zde) nepracujeme s nějakou agregátní spotřebou, která by zahrnovala spotřebu všech domácností v ekonomice. V DSGE modelech pracujeme s jednou konkrétní domácností. Dále máme v DSGE modelech konkrétní firmu, která nakupuje od spotřebitele práci, vyrábí zboží a toto zboží prodává spotřebiteli. Nepracujeme tedy s agregátní úrovní soukromých investic. Jak pomocí jedné domácnosti simulujeme celou ekonomiku? Používáme takzvanou reprezentativní domácnost, která je určitým průměrem a reprezentuje průměrné chování všech domácností v ekonomice. Chování všech domácností lze potom chápat jako agregované chování velkého množství totožných reprezentativních domácností.

Domácnost usiluje o co největší užitek (nebo také blahobyt). Na čem jeho užitek závisí? Téměř ve všech DSGE modelech je užitek závislí na množství spotřebovaného zboží. Je logické, že čím více zboží spotřebuje, tím je spokojenější. Dále může užitek záviset i na množství volného času spotřebitele. Opět logicky platí, že spotřebitel je tím spokojenější, čím více má volného času. Firma poté usiluje o maximální možný zisk.

Většina základních DSGE modelů má tedy užitkovou funkci s jednou proměnnou (množství spotřebovaného zboží) nebo dvěma proměnnými (množství spotřebovaného zboží a množství volného času). Jestliže užitková funkce obsahuje pouze spotřebu, znamená to, že spotřebitel pracuje bez ohledu na cenu práce. Množství práce v ekonomice je pevně dané. Takovým modelům pak říkáme modely s exogenní nabídkou práce. Naopak pokud máme v užitkové funkci i množství práce, znamená to, že množství nabízené práce můžeme přímo dopočítat a je určeno ostatními ekonomickými proměnnými modelu. Mluvíme pak o modelech s endogenní nabídkou práce.

Vraťme se ale k pojmu DSGE model – dynamický stochastický model všeobecné rovnováhy. Co jednotlivá slova znamenají?

Dynamický značí, že model zahrnuje rozhodování ve více časových obdobích. Tato období jsou mezi sebou provázaná, takže například omezení spotřeby v jednom období znamená, že spotřebitel má k dispozici vyšší úspory v příštím období. Zpravidla také uvažujeme, že spotřebitel se snaží o co největší sumu užitků za určitý časový interval, nikoli pouze v jednom období. Nejde mu tedy jen o současnost, ale hledí i do budoucnosti. Spotřebitel se tedy může vzdát blahobytu v současnosti, jestliže mu to přinese větší blahobyt v budoucnosti. Spotřebitel dokonce může brát v úvahu nejen svůj budoucí užitek, ale i budoucí užitky svých potomků.

Délka časového horizontu závisí na konkrétním modelu. Především v učebnicových modelech se často vyskytuje nekonečný časový horizont. Důvod je poměrně pragmatický – takový model je výpočetně mnohem jednodušší než model s konečně dlouhým časovým horizontem. To si blíže popíšeme v některém z dalších článků.

Uveďme si pro názornosti příklad statického modelu. V základním kurzu mikroekonomie se rozebírá model trhu s nabídkou a poptávkou (např. zde). Ten zobrazuje pouze situaci v jednom období. Vzpomeňte si, že jste nikdy neřešili, co bylo předtím a co bude potom. Tyto otázky nemají ve statickém modelu význam. V dynamickém naopak ano.

Pojem stochastický jste si možná do souvislosti se statistickou. Znamená to, že v modelech se vyskytují určité náhodné prvky. Tyto prvky zpravidla označují jevy, které přicházejí “zvenku”, a používá se pro ně pojem exogenní (na tento pojem už jsme narazili výše, i když v jiné souvislosti). Abychom však s náhodným šokem dokázali pracovat, musíme jej blíže specifikovat. Musíme si určit pravděpodobnostní rozdělení, ze kterého hodnoty pocházejí. Pravděpodobnostní rozdělení je pojem, který opět pochází ze statistiky. Rád bych se mu věnoval někdy v budoucnosti, nyní pouze konstatuji, že se ve většině případů používá normální rozdělení. Je třeba znát ještě parametry pravděpodobnostního rozdělení. V případě normálního nás zajímá střední hodnota a rozptyl. Střední hodnota rozdělení nám říká průměrnou hodnotu, kolem které se budou hodnoty rozdělení pohybovat. Rozptyl nám říká, jak daleko budou tyto hodnoty od průměru rozprostřeny. Čím je rozptyl vyšší, tím budou hodnoty rozdělení od středu vzdálenější. Normální rozdělení má řadu důležitých vlastností. Jednou z nich je, že jde o rozdělení symetrické kolem střední hodnoty.

Asi se ptáte, proč vůbec v modelech tyto náhodné prvky jsou. Zpravidla reprezentují jevy, které ekonomové neumí namodelovat. Typickým příkladem jsou technologické (inovační) šoky. Tyto šoky se projevují tím, že navyšují nebo naopak snižují produktivitu výrobních faktorů. Pozitivní technologický šok tedy znamená, že se stejným množstvím kapitálu a práce vyrobíme větší množství zboží, než které bychom vyrobili bez působení tohoto šoku. Negativní šok naopak produktivitu výrobních faktorů snižuje.

Náhodné šoky v DSGE modelech mají určitou setrvačnost. Pokud tedy byl šok v minulém období kladný, pravděpodobnost, že bude kladný i v aktuálním období, je vyšší, než že bude šok záporný.

A poslední z oněch pojmů je všeobecná rovnováha. V ekonomii obvykle rozlišujeme mezi parciální a všeobecnou rovnováhou. Parciální označuje rovnováhu na jednom konkrétním trhu. Typicky jde o model trhu ze základního kurzu, který jsem zmiňoval již výše. V něm nás nezajímala situace na ostatních trzích v ekonomie. Naopak v případě všeobecné rovnováhy nám jde o dosažení rovnováhy na všech trzích v ekonomice. Základní model všeobecné rovnováhy se opět vyučuje v základním kurzu mikroekonomie.

V DSGE modelu se tedy nespokojíme pouze s tím, že bychom měli rovnováhu jen na trhu spotřebního zboží. Naopak požadujeme, aby byla rovnováha i na trhu práce a případných dalších trzích.

Tím máme jednotlivé pojmy vysvětlené. Rád bych závěrem dodal, že základní principy DSGE modelů nejsou zdaleka tak složité, jak by se vám na první pohled mohlo znát. V dalším článku bych se rád věnoval tomu, jak a proč DSGE modely vlastně vznikly.

 

Business manager from a different business unit in Microsoft CRM

Security management is very nice and straightforward in Microsoft Dynamics CRM 2016. In a previous post I wrote about a security report which allows you to see permissions of all users at one place. However I found out one issue which can be little tricky to solve.

Our customer decided to split one department into two departments. The original department (let’s call it Old1) still existed. Customer created two additional departments inside it (let’s call them New1 and New2). So we have created new business units New1 and New2 and we set Old1 and the Parent Business for both of them. We changed Business Units for Users to either New1 or New2. Finally we filled in Manager fields for both the Business Units. We assigned a special security roles to the both managers. This role allows them to see all records created by all persons from the same business unit for one specific entity. Everything looked nice.

But we received an incident that the manager of one of the departments doesn’t see a record of his subsidiary employee. I checked the Business Unit entity. The manager was set as Manager at New1. However, the subsidiary employee was set to New2. I tried to change the Business Unit of the employee to New1 and then to change the manager. But then I saw an error:

The user is not in parent user's business hierarchy.

So the problem was at the Business Unit Manager setting. I fixed it by setting the manager as the New2 Business Unit Manager.

Conclusion: CRM doesn’t check the Business Unit Manager field. You can set there an user from any business unit. However, if you make a mistake you will face similar incident.

Dynamics CRM Security Report

Microsoft Dynamics CRM has a very sophisticated security model. You can create security roles and assign permissions to entities for these roles. Then you assign security roles to teams or to a single user. All the possibilities give you a lot of power to control security permission for your users. However, it can get quite complicated to check permission for a single selected users. To do it, you must open all user’s security roles and then you have to check security roles of all user’s teams. And you have to compare all the roles and select the highest level for each access right and for each entity. This can be a time consuming task. It would be nice to have all the information available in a single report. This report could be for example used for external security audits or regular internal audit.

If you are using Dynamics CRM On-Premise, you can check the permission in Dynamics CRM database. I have created a database view which read user’s permission assigned to user and to all user’s teams. You can see the SQL code below.

SELECT BU.Name AS BusinessUnit,
	U.LastName + ' ' + U.FirstName AS FullName,
	--PRIV.[Name],
	isnull(EN.OriginalLocalizedCollectionName, EN.Name) AS EntityName,
	R.Name AS RoleName,
	CASE PRIV.AccessRight
		WHEN 1 THEN '2 Read'
		WHEN 2 THEN '3 Write'
		WHEN 4 THEN '5 Append'
		WHEN 16 THEN '6 AppendTo'
		WHEN 32 THEN '1 Create'
		WHEN 65536 THEN '4 Delete'
		WHEN 262144 THEN '7 Share'
		WHEN 524288 THEN '8 Assign'
		ELSE PRIV.Name
	END AS AccessRight,
	MAX(P.PrivilegeDepthMask) as PriviledgeDepthMask
FROM [AIMTEC_MSCRM].[dbo].[Role] R WITH (NOLOCK)
	INNER JOIN [AIMTEC_MSCRM].[dbo].[RolePrivileges] P WITH (NOLOCK)
        ON P.[RoleId]=R.ParentRootRoleId
	INNER JOIN [AIMTEC_MSCRM].[dbo].[PrivilegeObjectTypeCodes] PTOTC WITH (NOLOCK)
		ON PTOTC.PrivilegeId = P.PrivilegeId
	INNER JOIN [AIMTEC_MSCRM].[dbo].[EntityView] EN  WITH (NOLOCK)
		ON EN.ObjectTypeCode = PTOTC.ObjectTypeCode
	INNER JOIN [AIMTEC_MSCRM].[dbo].[Privilege] PRIV WITH (NOLOCK)
        ON P.[PrivilegeId]=PRIV.[PrivilegeId]
	INNER JOIN [AIMTEC_MSCRM].[dbo].[FilteredPrivilege] FPRIV WITH(NOLOCK)
		ON PRIV.PrivilegeId = FPRIV.privilegeid
	INNER JOIN [AIMTEC_MSCRM].[dbo].[FilteredTeamRoles] TR WITH (NOLOCK)
		ON R.RoleId = TR.roleid
	INNER JOIN [AIMTEC_MSCRM].[dbo].[Team] TEAM  WITH (NOLOCK)
		ON TEAM.TeamId = TR.teamid
	INNER JOIN [AIMTEC_MSCRM].[dbo].[FilteredTeamMembership] TEME WITH (NOLOCK)
		ON TEAM.TeamId = TEME.teamid
	INNER JOIN [AIMTEC_MSCRM].[dbo].[SystemUser] U WITH(NOLOCK)
		ON U.SystemUserId = TEME.systemuserid
	INNER JOIN [AIMTEC_MSCRM].[dbo].[BusinessUnit] BU WITH(NOLOCK)
		ON BU.BusinessUnitId = U.BusinessUnitId
--WHERE R.[RoleId]=R.[ParentRootRoleId]
WHERE U.IsDisabled = 0
group by  U.LastName + ' ' + U.FirstName,
	isnull(EN.OriginalLocalizedCollectionName, EN.Name),
	CASE PRIV.AccessRight
		WHEN 1 THEN '2 Read'
		WHEN 2 THEN '3 Write'
		WHEN 4 THEN '5 Append'
		WHEN 16 THEN '6 AppendTo'
		WHEN 32 THEN '1 Create'
		WHEN 65536 THEN '4 Delete'
		WHEN 262144 THEN '7 Share'
		WHEN 524288 THEN '8 Assign'
		ELSE PRIV.Name
	END,
	BU.Name,
	R.Name

UNION ALL

SELECT BU.Name AS BusinessUnit,
	U.LastName + ' ' + U.FirstName AS FullName,
	isnull(EN.OriginalLocalizedCollectionName, EN.Name) AS EntityName,
	R.Name AS RoleName,
	CASE PRIV.AccessRight
		WHEN 1 THEN '2 Read'
		WHEN 2 THEN '3 Write'
		WHEN 4 THEN '5 Append'
		WHEN 16 THEN '6 AppendTo'
		WHEN 32 THEN '1 Create'
		WHEN 65536 THEN '4 Delete'
		WHEN 262144 THEN '7 Share'
		WHEN 524288 THEN '8 Assign'
		ELSE PRIV.Name
	END AS AccessRight,
	MAX(P.PrivilegeDepthMask) as PriviledgeDepthMask
FROM [AIMTEC_MSCRM].[dbo].[SystemUser] U WITH(NOLOCK)
	INNER JOIN [AIMTEC_MSCRM].[dbo].[FilteredSystemUserRoles] FSUR WITH(NOLOCK)
		ON U.SystemUserId = FSUR.systemuserid
	INNER JOIN [AIMTEC_MSCRM].[dbo].[Role] R WITH (NOLOCK)
		ON R.RoleId = FSUR.roleid
	INNER JOIN [AIMTEC_MSCRM].[dbo].[RolePrivileges] P WITH (NOLOCK)
        ON P.[RoleId]=R.ParentRootRoleId
	INNER JOIN [AIMTEC_MSCRM].[dbo].[PrivilegeObjectTypeCodes] PTOTC WITH (NOLOCK)
		ON PTOTC.PrivilegeId = P.PrivilegeId
	INNER JOIN [AIMTEC_MSCRM].[dbo].[EntityView] EN  WITH (NOLOCK)
		ON EN.ObjectTypeCode = PTOTC.ObjectTypeCode
	INNER JOIN [AIMTEC_MSCRM].[dbo].[Privilege] PRIV WITH (NOLOCK)
        ON P.[PrivilegeId]=PRIV.[PrivilegeId]
	INNER JOIN [AIMTEC_MSCRM].[dbo].[BusinessUnit] BU WITH(NOLOCK)
		ON BU.BusinessUnitId = U.BusinessUnitId
WHERE U.IsDisabled = 0
group by  U.LastName + ' ' + U.FirstName,
	isnull(EN.OriginalLocalizedCollectionName, EN.Name),
	CASE PRIV.AccessRight
		WHEN 1 THEN '2 Read'
		WHEN 2 THEN '3 Write'
		WHEN 4 THEN '5 Append'
		WHEN 16 THEN '6 AppendTo'
		WHEN 32 THEN '1 Create'
		WHEN 65536 THEN '4 Delete'
		WHEN 262144 THEN '7 Share'
		WHEN 524288 THEN '8 Assign'
		ELSE PRIV.Name
	END,
	BU.Name,
	R.Name

I used Excel pivot table for the security group. I select users (grouped by business department) for a row dimension and entities for a column dimension. The values are maximums of the PriviledgeDepthMask value. Don’t forget to select the maximum function because user have the highest assigned permission. I also added conditional formatting which is consistent with CRM security settings interface.

a0003-001

Here you can see that the User 13 has higher security permissions than other users. So this user account probably belongs to some power user to department manager.

 

Metodologie moderní ekonomie

V ekonomii existuje řada rozdílných přístupů, kterými lze zkoumat realitu. Tyto přístupy jsou jedním z důvodů, proč se od sebe ekonomické směry tolik liší. Rád bych vám nyní stručně a jednoduše vysvětlil tři základní přístupy, které v ekonomii existují. Nebojte se cizích pojmů, který možná nebudete rozumět. Všechno je mnohem jednodušší, než se na první pohled zdá.

Ekonomie hlavního proudu – pozitivismus

Ekonomie hlavního proudu je dnes založena především na složitých matematických modelech. Jejich používání je ekonomy z jiných směrů kritizováno. Jednotlivé modely jsou pak nejčastěji kritizovány z důvodu jejich předpokladů, které nejsou v souladu s realitou a jsou značně zjednodušující.

Odpovědí na tuto kritiku byl článek Metodologie pozitivní ekonomie Miltona Friedmana z roku 1953. V něm Friedman vysvětluje, že neexistuje objektivní měřítko toho, jak moc jsou předpoklady v souladu s realitou. Naopak samotnou podstatou modelu je určité zjednodušení reality. Zásadní objevy ve vědě by měly spočívat v tom, že vysvětlují mnoho pomocí mála, nikoli mnoho pomocí mnoha.

Friedman navrhuje jiné měřítko kvality modelu, a to schopnost modelu poskytovat kvantitativní predikce. Čím přesnější ekonomické predikce model poskytuje, tím je lepší. Doplňujícím měřítkem je pak složitost modelu a nákladnost získání potřebných dat. Z alternativních modelů může být zvolen ten s méně přesnými predikcemi, pokud dodatečné náklady na používání druhého modelu nevyvažují zpřesnění predikcí.

Friedman ve svém článku uvádí dnes již legendární příklad s hráčem biliáru. Podle něj by bylo možné na základě matematického modelu používajícího fyzikální a mechanické zákony určit optimální šťouch a na jeho základě predikovat příští šťouch profesionálního biliárového hráče. Tento přístup by generoval dostatečně dobré predikce, ačkoli profesionální hráč se rozhoduje čistě na základě svojí intuice.

Rakouská škola

Další z ekonomických směrů, rakouská škola, využívá takzvaný axiomaticko-deduktivní metodologický přístup. Tento pojem vypadá jistě hrozivě, proto si ho podrobněji rozebereme. Nejprve si vyjasníme pojem axiom.  Axiom je takové tvrzení, které je považováno za platné, aniž by bylo potřeba jeho platnost dokazovat. Rakouská škola je postavená na axiomu existence a účelovosti lidského jednání. Z tohoto axiomu jsou pak logicky dedukuje (odvozuje) další poznatky.

Ekonomové rakouské školy obhajují axiom lidského jednání tím, že důsledkem jakéhokoli pokusu o jeho popření je jeho potvrzení, protože je nutně účelovým lidským jednání. Tento axiom je tedy platný vždy za veškerých myslitelných podmínek. Z axiomu lidského jednání lze odvodit např. existenci preferenčních škál, na kterých jsou potřeby každého jednotlivce seřazeny od nejakutnější po nejméně akutní.

Z existence preferenčních škál lze pak odvodit další poznatky, jako třeba fungování směny na trhu. Ekonomové rakouské školy pracují s faktem, že pokud je tvrzení logicky bezchybně odvozeno z axiomu lidského jednání, pak je nutně platné vždy a za každých okolností.

Rakouská škola odmítá používání matematických modelů, proti nimž používá celou řadu různých argumentů. Vytrvale upozorňuje na fakt, že mainstreamová ekonomie je uzavřená ve svém světě modelů a je zcela odtržena od reality, přičemž řada ekonomů si toho faktu buď není vědoma, nebo (v horším případě) si toho vědoma je, ale nepovažuje to za problém. Rakouská škola rovněž tvrdě kritizuje státní zásahy do ekonomiky, které považuje jak za morálně neobhajitelné, tak za kontraproduktivní.

Název rakouská škola je dán faktem, že ve 2. polovině 19. století její zakladatelé a počáteční generace jejích autorů pocházeli z Rakouska. Ve 20. století tento myšlenkový směr přesunul do ostatních zemí, především do Spojených států amerických.

Postkeynesiánství – metodologický realismus

Dalším významným metodologickým přístupem je metodologický realismus, který prosazuje především postkeynesiánská ekonomie. Metodologický realismus je protikladem k metodologickému pozitivismu v tom smyslu, že se soustřeďuje především na předpoklady modelů, které se snaží dávat do co největšího souladu s realitou. Ekonomové náležící k tomuto směru např. rozesílali podnikům dotazníky, aby získali informace o jejich chování, a výsledky tohoto průzkumu pak zapracovávali do svých prací.

Postkenesiánská ekonomie, podobně jako ta mainstreamová, používá komplikované matematické modely. Vždy však zdůrazňuje vztah modelu (analytické úrovně myšlení) a reality, což bývá nazýváno retrodukcí. Pro nedostatečný akcent na tento vztah kritizují postkeynesiánci ekonomii hlavního proudu.

Tuto problematiku jsem vyučoval za Fakultě ekonomické Západočeské univerzity v Plzni v předmětu Ekonomická analýza a prognóza, který je stále vyučován. Pokud byste s tímto předmětem potřebovali poradit, neváhejte mě kontaktovat 🙂