\n",
" \n",
" \n",
" \n",
"

"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Knowing the Forecasts of Others"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Contents\n",
"\n",
"- [Knowing the Forecasts of Others](#Knowing-the-Forecasts-of-Others) \n",
" - [Introduction](#Introduction) \n",
" - [The Setting](#The-Setting) \n",
" - [Tactics](#Tactics) \n",
" - [Equilibrium conditions](#Equilibrium-conditions) \n",
" - [Equilibrium with $ \\theta_t $ stochastic but observed at $ t $](#Equilibrium-with-$-\\theta_t-$-stochastic-but-observed-at-$-t-$) \n",
" - [Guess-and-verify tactic](#Guess-and-verify-tactic) \n",
" - [Equilibrium with one signal on $ \\theta_t $](#Equilibrium-with-one-signal-on-$-\\theta_t-$) \n",
" - [Equilibrium with two noisy signals on $ \\theta_t $](#Equilibrium-with-two-noisy-signals-on-$-\\theta_t-$) \n",
" - [Comparison of the two signal structures](#Comparison-of-the-two-signal-structures) \n",
" - [Notes on History of the Problem](#Notes-on-History-of-the-Problem) "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"In addition to what’s in Anaconda, this lecture will need the following libraries:"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"hide-output": true
},
"outputs": [],
"source": [
"!pip install --upgrade quantecon\n",
"!conda install -y -c plotly plotly plotly-orca"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Introduction\n",
"\n",
"Robert E. Lucas, Jr. [[REL75]](https://python-programming.quantecon.org/zreferences.html#lucas75), Kenneth Kasa [[Kas00]](https://python-programming.quantecon.org/zreferences.html#kasa), and Robert Townsend\n",
"[[Tow83]](https://python-programming.quantecon.org/zreferences.html#townsend) showed that giving decision makers incentives to infer persistent hidden state\n",
"variables from equilibrium prices and quantities can\n",
"elongate and amplify impulse responses to aggregate\n",
"shocks in business cycle models.\n",
"\n",
"Townsend [[Tow83]](https://python-programming.quantecon.org/zreferences.html#townsend)\n",
"noted that such incentives can naturally\n",
"induce decision makers to want to forecast the forecast of others.\n",
"\n",
"This theme has been pursued and extended in analyses in which\n",
"decision makers’ imperfect information forces them into pursuing an\n",
"infinite recursion of forming beliefs about the beliefs of other\n",
"(e.g., [[AMS02]](https://python-programming.quantecon.org/zreferences.html#ams)).\n",
"\n",
"Lucas [[REL75]](https://python-programming.quantecon.org/zreferences.html#lucas75) side stepped having decision makers forecast the\n",
"forecasts of other decision makers by assuming that they simply pool their\n",
"information before forecasting.\n",
"\n",
"A **pooling equilibrium** like Lucas’s plays a prominent role in this lecture.\n",
"\n",
"Because he didn’t assume such pooling, [[Tow83]](https://python-programming.quantecon.org/zreferences.html#townsend)\n",
"confronted the forecasting the forecasts of others problem.\n",
"\n",
"To formulate the problem recursively required that Townsend define decision maker’s **state** vector.\n",
"\n",
"Townsend concluded that his original model required an intractable infinite dimensional state space.\n",
"\n",
"Therefore, he constructed a more manageable approximating model in which the hidden Markov component of\n",
"the demand shock is\n",
"revealed to all firms after a fixed and finite number of periods.\n",
"\n",
"In this lecture, as yet another instance of the theme that **finding the state is an art**,\n",
"we show how to formulate Townsend’s original model in terms of a low-dimensional state space.\n",
"\n",
"By doing so, we show that Townsend’s model shares equilibrium prices and quantities with those that\n",
"prevail in a pooling equilibrium.\n",
"\n",
"That finding emerged from a line of research about Townsend’s model that culminated in\n",
"[[PS05]](https://python-programming.quantecon.org/zreferences.html#pearlman-sargent2005) that built on [[PCL86]](https://python-programming.quantecon.org/zreferences.html#pcl).\n",
"\n",
"However, rather than deploying the [[PCL86]](https://python-programming.quantecon.org/zreferences.html#pcl) machinery here, we shall rely instead on a sneaky\n",
"**guess-and-verify** tactic.\n",
"\n",
"- We compute a pooling equilibrium and represent it as an instance of a linear state-space system provided by\n",
" the Python class `quantecon.LinearStateSpace`. \n",
"- Leaving the state-transition equation for the pooling equilibrium unaltered, we alter the observation vector\n",
" for a firm to what it in in Townsend’s original model. So rather than directly observing the signal received by\n",
" firms in the other industry, a firm sees the equilibrium price\n",
" of the good produced by the other industry. \n",
"- We compute a population linear least squares regression of the noisy signal that firms in the other\n",
" industry receive in a pooling equilibrium on time $ t $ information that a firm receives in Townsend’s\n",
" original model. The $ R^2 $ in this regression equals $ 1 $. That verifies that a firm’s information\n",
" set in Townsend’s original model equals its information set in a pooling equilibrium. Therefore, equilibrium\n",
" prices and quantities in Townsend’s original model equal those in a pooling equilibrium. "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### A Sequence of Models\n",
"\n",
"We proceed by describing a sequence of models of two industries that are linked in a\n",
"single way: shocks to the demand curves for their products have a common\n",
"component.\n",
"\n",
"The models are simplified versions of Townsend’s [[Tow83]](https://python-programming.quantecon.org/zreferences.html#townsend).\n",
"\n",
"Townsend’s is a model of a rational expectations equilibrium in which firms confront\n",
"the problem **forecasting the forecasts of others**.\n",
"\n",
"In Townsend’s model, firms condition their forecasts on observed endogenous variables whose equilibrium laws of motion\n",
"are determined by their own forecasting functions.\n",
"\n",
"We start with model components that we shall progressively assemble in ways that can help us to appreciate the structure of a\n",
"**pooling equilibrium** that ultimately concerns us.\n",
"\n",
"While keeping other aspects of the model the same, we shall study\n",
"consequences of alternative assumptions about what decision makers\n",
"observe.\n",
"\n",
"Technically, this lecture deploys concepts and tools that appear\n",
"in [First Look at Kalman Filter](https://python-intro.quantecon.org/kalman.html) and\n",
"[Rational Expectations Equilibrium](https://python-intro.quantecon.org/rational_expectations.html)."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## The Setting\n",
"\n",
"We cast all variables in terms of deviations from means.\n",
"\n",
"Therefore, we omit constants from inverse demand curves\n",
"and other functions.\n",
"\n",
"Firms in each of two industries $ i=1,2 $ use a single factor of\n",
"production, capital $ k_t^i $, to produce output of a single good,\n",
"$ y_t^i $.\n",
"\n",
"Firms bear quadratic costs of adjusting their capital stocks.\n",
"\n",
"A representative firm in industry $ i $ has production function\n",
"$ y_t^i = f k_t^i $, $ f >0 $, acts as a price taker with\n",
"respect to output price $ P_t^i $, and maximizes\n",
"\n",
"\n",
"\n",
"$$\n",
"\\begin{aligned}\n",
" E_0^i \\sum_{t=0}^\\infty \\beta^t \\left\\{ P_t^i f k_t^i - .5\n",
" h (k_{t+1}^i - k_t^i)^2 \\right\\} ,\n",
" \\quad h >0 .\\end{aligned} \\tag{1}\n",
"$$\n",
"\n",
"Demand in industry $ i $ is described by the inverse demand curve\n",
"\n",
"\n",
"\n",
"$$\n",
"\\begin{aligned}\n",
" P_t^i = - b Y_t^i + \\theta_t + \\epsilon_t^i , \\quad b >0,\n",
" \\end{aligned} \\tag{2}\n",
"$$\n",
"\n",
"where $ P_t^i $ is the price of good $ i $ at $ t $,\n",
"$ Y_t^i = f K_t^i $ is output in market $ i $, $ \\theta_t $\n",
"is a persistent component of a demand shock that is common across the\n",
"two industries, and $ \\epsilon_t^i $ is an industry specific\n",
"component of the demand shock that is i.i.d. and whose time $ t $\n",
"marginal distributon is $ {\\mathcal N}(0, \\sigma_{\\epsilon}^2) $.\n",
"\n",
"We assume that $ \\theta_t $ is governed by\n",
"\n",
"\n",
"\n",
"$$\n",
"\\begin{aligned}\n",
" \\theta_{t+1} = \\rho \\theta_t + v_{t}\n",
" \\end{aligned} \\tag{3}\n",
"$$\n",
"\n",
"where $ \\{v_{t}\\} $ is an i.i.d. sequence of Gaussian shocks each\n",
"with mean zero and variance $ \\sigma_v^2 $.\n",
"\n",
"To simplify notation, we’ll study a special case of the model by setting\n",
"$ h=f=1 $.\n",
"\n",
"The presence of costs of adjusting their capital stocks imparts to firms an incentives to forecast the price of the\n",
"good that they sell.\n",
"\n",
"Throughout, we use the **rational expectations** equilibrium concept presented\n",
"in this lecture [Rational Expectations Equilibrium](https://python-intro.quantecon.org/rational_expectations.html).\n",
"\n",
"We let capital letters denote market wide objects and lower case letters\n",
"denote objects chosen by a representative firm.\n",
"\n",
"In each industry, a competitive equilibrium prevails.\n",
"\n",
"To rationalize the big $ K $, little $ k $ connection, we can\n",
"think of there being a continua of each type of firm, each indexed by\n",
"$ \\omega \\in [0,1] $ with\n",
"$ K^i = \\int_0^1 k^i(\\omega) d \\omega $.\n",
"\n",
"In equilibrium, $ k_t^i = K_t^i $, but as usual we must distinguish\n",
"between $ k_t^i $ and $ K_t^i $ when we pose the firm’s\n",
"optimization problem."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Tactics\n",
"\n",
"We shall compute\n",
"equilibrium laws of motion for capital in industry $ i $ under a\n",
"sequence of assumptions about what a representative firm observes.\n",
"\n",
"Successive members of this sequence make a representative firm’s\n",
"information more and more obscure.\n",
"\n",
"We begin with the most information, then gradually withdraw information\n",
"in a way that approaches and eventually reaches the information\n",
"structure that that we are ultimately interested in.\n",
"\n",
"Thus, we shall compute equilibria under the following alternative\n",
"information structures:\n",
"\n",
"- **Perfect foresight:** future values of\n",
" $ \\theta_t, \\epsilon_{t}^i $ are observed in industry $ i $. \n",
"- **Observed but stochastic** $ \\theta_t $:\n",
" $ \\{\\theta_t, \\epsilon_{t}^i\\} $ are realizations from a\n",
" stochastic process; current and past values of each are observed at\n",
" time $ t $ but future values are not. \n",
"- **One noise-ridden observation on** $ \\theta_t $: Values of\n",
" $ \\{\\theta_t, \\epsilon_{t}^i\\} $ separately are never observed. However, at\n",
" time $ t $, a history $ w^t $ of a scalar noise-ridden\n",
" observations on $ \\theta_t $ is observed at time $ t $. \n",
"- **Two noise-ridden observations on** $ \\theta_t $: Values of\n",
" $ \\{\\theta_t, \\epsilon_{t}^i\\} $ separately are never observed. However, at\n",
" time $ t $, a history $ w^t $ of *two* noise-ridden\n",
" observations on $ \\theta_t $ is observed at time $ t $. \n",
"\n",
"\n",
"Successive computations build one on another.\n",
"\n",
"We proceed by first finding an equilibrium under perfect foresight.\n",
"\n",
"To compute an equilibrium with $ \\theta_t $ observed, we use a\n",
"*certainty equivalence principle* to justify modifying the perfect\n",
"foresight equilibrium by replacing future values of\n",
"$ \\theta_s, \\epsilon_{s}^i, s \\geq t $ with mathematical\n",
"expectations conditioned on $ \\theta_t $.\n",
"\n",
"This provides the equilibrium when $ \\theta_t $ is observed at\n",
"$ t $ but future $ \\theta_{t+j} $ and\n",
"$ \\epsilon_{t+j}^i $ are not observed.\n",
"\n",
"To find an equilibrium when only a history $ w_t $ of a single noise\n",
"ridden observations on $ \\theta_t $ is observed, we again apply a\n",
"certainty equivalence principle and replace future values of the random\n",
"variables $ \\theta_s, \\epsilon_{s}^i, s \\geq t $ with their\n",
"mathematical expectations conditioned on $ w^t $.\n",
"\n",
"To find an equilibrium when only a history $ w_t $ of a *two* noisy\n",
"signal on $ \\theta_t $ is observed, we replace future values of the\n",
"random variables $ \\theta_s, \\epsilon_{s}^i, s \\geq t $ with their\n",
"mathematical expectations conditioned on history $ w^t $.\n",
"\n",
"We call the equilibrium with two noise-ridden observations on $ \\theta_t $ a **pooling equilibrium**.\n",
"\n",
"- It corresponds to an arrangement in which at the beginning of each\n",
" period firms in industries $ 1 $ and $ 2 $ somehow get\n",
" together and share information about current values of their noisy\n",
" signals on $ \\theta $. \n",
"\n",
"\n",
"We want ultimately to compare outcomes in a pooling equilibrium\n",
"with an equilibrium under the following alternative information structure for a firm\n",
"in industry $ i $ that interested [[Tow83]](https://python-programming.quantecon.org/zreferences.html#townsend):\n",
"\n",
"- **Firm** $ i $’s **noise-ridden signal on** $ \\theta_t $ **and the\n",
" price in industry** $ -i $, a firm in industry\n",
" $ i $ observes a history $ w^t $ of *one* noise-ridden signal\n",
" on $ \\theta_t $ and a history of industry $ -i $’s price is\n",
" observed. \n",
"\n",
"\n",
"With this information structure, the representative firm $ i $ sees the price as well as the\n",
"aggregate state variable $ Y_t^i $ in its own industry.\n",
"\n",
"That allows it to infer\n",
"the total demand shock $ \\theta_t + \\epsilon_{t}^i $.\n",
"\n",
"However, at time $ t $, the firm sees only $ P_t^{-i} $ and does\n",
"not see $ Y_t^{-i} $, so that firm $ i $ does not directly\n",
"observe $ \\theta_t + \\epsilon_t^{-i} $.\n",
"\n",
"Nevertheless, it will turn out that equilibrium prices and quantities in this equilibrium equal\n",
"their counterparts in a pooling equilibrium because\n",
"firms in industry $ i $ are able to infer the noisy signal about the demand shock\n",
"received by firms in industry $ -i $.\n",
"\n",
"We shall eventually verify this assertion by using a guess and verify tactic. **[1]** [[PS05]](https://python-programming.quantecon.org/zreferences.html#pearlman-sargent2005) verified this assertion using a different tactic, namely, by constructing\n",
"analytic formulas an equilibrium under the incomplete\n",
"information structure and confirming that they match the pooling equilibrium formulas derived here.\n",
"\n",
"

**[2]** See [[AHMS96]](https://python-programming.quantecon.org/zreferences.html#ahms) for an account of invariant subspace methods.\n",
"\n",
"

**[3]** See [[AHMS96]](https://python-programming.quantecon.org/zreferences.html#ahms) for a discussion\n",
"of the information assumptions needed to create a situation\n",
"in which higher order beliefs appear in equilibrium decision rules. The way\n",
"to read our findings in light of [[AMS02]](https://python-programming.quantecon.org/zreferences.html#ams) is that Townsend’s\n",
"section 8 model has too few sources of random shocks relative\n",
"to sources of signals to permit higher order beliefs to\n",
"play a role.\n",
"\n",
"

**[4]** See [[Sar87]](https://python-programming.quantecon.org/zreferences.html#sargent1987), especially\n",
"chapters IX and XIV, for the principles that guide solving some roots backwards and others forwards.\n",
"\n",
"

**[5]** As noted [[Sar87]](https://python-programming.quantecon.org/zreferences.html#sargent1987), this difference equation is the Euler equation for\n",
"the planning problem of maximizing the discounted sum of consumer plus\n",
"producer surplus.\n",
"\n",
"

**[6]** [[PS05]](https://python-programming.quantecon.org/zreferences.html#pearlman-sargent2005) verify the same claim by applying machinery of [[PCL86]](https://python-programming.quantecon.org/zreferences.html#pcl)."
]
}
],
"metadata": {
"date": 1618812143.2310474,
"filename": "knowing_forecasts_of_others.rst",
"kernelspec": {
"display_name": "Python",
"language": "python3",
"name": "python3"
},
"next_doc": {
"link": "index_asset_pricing",
"title": "Asset Pricing and Finance"
},
"prev_doc": {
"link": "classical_filtering",
"title": "Classical Prediction and Filtering With Linear Algebra"
},
"title": "Knowing the Forecasts of Others"
},
"nbformat": 4,
"nbformat_minor": 2
}