<?xml version="1.0" encoding="UTF-8"?>
<rss  xmlns:atom="http://www.w3.org/2005/Atom" 
      xmlns:media="http://search.yahoo.com/mrss/" 
      xmlns:content="http://purl.org/rss/1.0/modules/content/" 
      xmlns:dc="http://purl.org/dc/elements/1.1/" 
      version="2.0">
<channel>
<title>Jonathan Schmidt – Blog</title>
<link>https://schmidtjonathan.github.io/blog/</link>
<atom:link href="https://schmidtjonathan.github.io/blog/index.xml" rel="self" type="application/rss+xml"/>
<description>Long-form notes on stochastic processes, simulation, and the social systems they can describe.</description>
<image>
<url>https://schmidtjonathan.github.io/assets/portrait.jpg</url>
<title>Jonathan Schmidt – Blog</title>
<link>https://schmidtjonathan.github.io/blog/</link>
</image>
<generator>quarto-1.9.38</generator>
<lastBuildDate>Thu, 17 Sep 2026 00:00:00 GMT</lastBuildDate>
<item>
  <title>On the Distribution of Wealth, Income, and Functions—Part 1</title>
  <dc:creator>Jonathan Schmidt</dc:creator>
  <link>https://schmidtjonathan.github.io/blog/wealth-income-functions-part-1/</link>
  <description><![CDATA[ 




<div class="callout callout-style-default callout-important callout-titled" title="&quot;Will I be reading AI output here?&quot;">
<div class="callout-header d-flex align-content-center collapsed" data-bs-toggle="collapse" data-bs-target=".callout-1-contents" aria-controls="callout-1" aria-expanded="false" aria-label="Toggle callout">
<div class="callout-icon-container">
<i class="callout-icon"></i>
</div>
<div class="callout-title-container flex-fill">
<span class="screen-reader-only">Important</span>“Will I be reading AI output here?”
</div>
<div class="callout-btn-toggle d-inline-block border-0 py-1 ps-1 pe-0 float-end"><i class="callout-toggle"></i></div>
</div>
<div id="callout-1" class="callout-1-contents callout-collapse collapse">
<div class="callout-body-container callout-body">
<p>No, you won’t. The entire text was written by myself. This does not mean that I did not use AI tools, I did: mostly to understand the topic better, to find and discuss helpful examples, and to create (interactive) visualizations. I can assure you, each and every single em-dash was added, intentionally, by me (I <em>looove</em> em—dashes). Enjoy the read :)</p>
</div>
</div>
</div>
<p>This text aims to shed some light onto important, fundamental properties of stochastic differential equations (SDEs) that govern the noisy dynamics of Itô processes. It has grown out of a lengthy note in which I explained to myself a modeling framework from macroeconomics; specifically the Aiyagari–Bewley–Huggett model for distributions of wealth and income in the continuous-time formulation of Yves Achdou et al. <span class="citation" data-cites="achdou2014PDE achdou2022Income">(Achdou et al. 2014, 2022)</span>. In the process, I realized that I have gained a much more useful understanding of properties of stochastic (Itô) processes, objects I have been working with for quite a while. So the economics model has not only been interesting in and of itself, but also turned out to be a valuable vehicle for conveying certain aspects of the rich theory behind Itô processes, which I would like to share with you here.</p>
<p>As the post got more and more lengthy, I decided to split it into two parts. This first part will, aside from briefly motivating and establishing the basics, introduce the <strong>generator</strong> of a stochastic process. In the next part, this generator will reappear in the two other results I want to demonstrate: the <strong>Feynman–Kac formula</strong> and the <strong>Fokker–Planck</strong> (or <strong>Kolmogorov forward</strong>) equation. All of these concepts are going to be introduced …</p>
<ol type="1">
<li>… specifically for Markovian Itô processes, so processes without memory, without jumps, processes in which all noise comes from a driving Wiener process (or Brownian motion), and which can be mapped through smooth functions to return Itô processes again.</li>
<li>… by following along a practical example from macroeconomics that most readers, also non-economists (like myself), should be able to relate to without any prior knowledge.</li>
</ol>
<div class="callout callout-style-default callout-tip callout-titled" title="By the way...">
<div class="callout-header d-flex align-content-center collapsed" data-bs-toggle="collapse" data-bs-target=".callout-2-contents" aria-controls="callout-2" aria-expanded="false" aria-label="Toggle callout">
<div class="callout-icon-container">
<i class="callout-icon"></i>
</div>
<div class="callout-title-container flex-fill">
<span class="screen-reader-only">Tip</span>By the way…
</div>
<div class="callout-btn-toggle d-inline-block border-0 py-1 ps-1 pe-0 float-end"><i class="callout-toggle"></i></div>
</div>
<div id="callout-2" class="callout-2-contents callout-collapse collapse">
<div class="callout-body-container callout-body">
<p>For more details on SDEs, I always recommend the (publicly and freely available) book on “Applied Stochastic Differential Equations” by S. Särkkä <span class="citation" data-cites="sarkka2019Applied">(Särkkä and Solin 2019)</span>. As for notation, I tried to converge to the least confusing mix between Särkkä’s book and the macroeconomics literature by Achdou et al. <span class="citation" data-cites="achdou2014PDE achdou2022Income">(Achdou et al. 2014, 2022)</span>. The vast majority of the content in this post is only my personal perspective on, and understanding of, the work by <span class="citation" data-cites="sarkka2019Applied achdou2014PDE achdou2022Income">(Särkkä and Solin 2019; Achdou et al. 2014, 2022)</span>.</p>
</div>
</div>
</div>
<section id="dynamics-and-uncertainty" class="level1">
<h1>Dynamics and uncertainty</h1>
<p>Differential equations provide a universal language that is shared across many disciplines of scientific modeling and computing. This framework allows for understanding and predicting complex phenomena via rigorous analysis and simulation. Many laws describe <em>deterministic</em> variations of the state of a system with one free variable (usually time) or with multiple (usually (time and) space). Such deterministic relationships are then formulated as ordinary (ODEs) and partial differential equations (PDEs). However, there are cases—and we will get to know a specific one—in which it makes sense to deliberately model parts of a system as <em>“random”</em>. From my experience, stochasticity is usually incorporated into a model if …</p>
<ul>
<li>… parts of the system are understood but explicitly modeling them would introduce a degree of complexity that is consciously avoided.</li>
<li>… parts of the system are explained by different plausible models and choosing one of them is consciously avoided.</li>
<li>… parts of the system are not (properly, completely) understood and random noise is the best we got to model this component at all.</li>
</ul>
<p>Introducing a stochastic component into the model allows for explicitly encoding uncertainty about the model or individual components. “Random noise”, after all, does not mean that you know nothing. It just implies that multiple—even infinitely many—solutions of the same system are plausible. (And, yes, perhaps one also knows nothing). Communicating uncertainty is crucial in many applications—in particular critical ones, such as weather- and climate modeling, finance, disease spread, and many more.</p>
<p>The formal language that allows us to introduce stochasticity into a dynamical system are, you guessed it, <em>stochastic</em> differential equations (SDEs). Unlike ODEs and PDEs, solutions of SDEs are not functions, but <em>probability distributions</em> over functions. These solutions are known as <em>stochastic processes</em>. Drawing samples from a stochastic process yields trajectories that are plausible realizations of the dynamics system under the chosen noise model. But more on that in a second. Before we dive into the technical details, let me briefly introduce the practical example that allows us to connect technical terms and symbols to interpretable concepts and quantities.</p>
</section>
<section id="a-simple-economy" class="level1">
<h1>A simple economy</h1>
<p>We have a closer look at SDEs in the context of a specific dynamical system: an economy in which multiple (actually: infinitely many) agents or individuals earn income, accumulate wealth, and consume goods. Here’s a rough overview.</p>
<p>In this massively simplified model of an economy there exists one single good, say apples. People in our economy, whom I at times call “individuals” or “agents”, receive a certain amount of this good as income. We decide against a realistic, complicated model for income dynamics. Instead, the income each agent receives follows the trajectory of a stochastic process and the agents have no way to influence what they earn. They cannot work harder to earn more or tend their apple tree in hope of a better harvest. This is what economists would call an <em>exogenous force</em>; it enters the model “from outside” without the possibility for anyone to control it.</p>
<p>Agents can do exactly two things with each apple they receive: consume it immediately or give it to another individual in the economy. Consumption, of course, brings joy—or <em>utility</em>—for the individual. This utility increases further and further—though at a diminishing rate—the more an individual consumes. But the economy would be quite boring if everybody just received a random amount of apples, which they immediately eat and gain a varying degree of joy from it. So there is a second aspect to the individuals’ dynamics, other than income.</p>
<p>Whenever an individual chooses not to consume everything they earn—and we will see in Part 2 why and how they decide that—their only other option is to hand a portion of their apples to other individuals in the economy. In other words, individuals can <em>lend</em> apples to other individuals, who in turn <em>borrow</em> them. In this exchange, the borrower will hand the lender the corresponding amount of <a href="https://en.wikipedia.org/wiki/IOU">IOUs</a>; claims on apples of theirs that they receive at some point in the future. By lending out goods and compiling claims on goods produced in the future, you accumulate <em>wealth</em>. If an unlucky individual’s income situation has been dire for some time, they had to borrow and give out claims on their future goods, which pushed their wealth into the negative. An apple-loan, if you will. If they are really unlucky they reach a point at which they are not allowed anymore to borrow more. They hit a limit, which we will call the <em>borrowing constraint</em> and have to live from what they receive as income. A time limit at which you have to have paid back your debt does not exist. But there <em>is</em> an interest rate that borrowers have to pay to the wealthy people who lent them their apples.</p>
<section id="a-simple-economy-in-the-language-of-sdes" class="level2">
<h2 class="anchored" data-anchor-id="a-simple-economy-in-the-language-of-sdes">A simple economy in the language of SDEs</h2>
<p>This gives us a high-level overview regarding the laws that govern our little economy. It’s very simple: there is no money, no complex interactions between agents, no storage of goods, no insurance—many complicated mechanisms we take for granted in our day-to-day lives, yet would quickly lead to an infeasibly complex model, at least for the purpose of this post. In order to properly investigate the model, let us now translate these vague concepts into a formal language.</p>
<p><strong>The agents</strong></p>
<p>Say we are interested in the distribution of wealth and income in the economy. This requires, first of all, that we consider different individuals in different economic situations and that behave differently, depending on their own individual situation. This is what economists call <em>heterogenous</em> agents (versus a single, <em>representative</em> agent, which is a different approach that is less suitable for studying “relational” quantities like inequality). So, each agent gets their own dynamics.</p>
<p>An agent in our economy is fully determined by their</p>
<ul>
<li>wealth <img src="https://latex.codecogs.com/png.latex?a"> and</li>
<li>income <img src="https://latex.codecogs.com/png.latex?z">.</li>
</ul>
<p>Over time, the agents move as <img src="https://latex.codecogs.com/png.latex?(a_t,%20z_t)">-particles through the wealth-income <em>state space</em>. Next, we define these dynamics.</p>
<p><strong>Wealth dynamics</strong></p>
<p>The dynamics of <strong>wealth</strong> follow a simple rule: An agent receives income <img src="https://latex.codecogs.com/png.latex?z_t"> and consumes some amount <img src="https://latex.codecogs.com/png.latex?c_t"> of goods. What an agent chooses not to consume, they give away to other agents in exchange for a promise to receive an equal amount of the borrower’s goods at some point in the future. Lending out goods increases wealth—the amount of claims on other people’s future goods. Individuals receive (or pay) interest at a rate <img src="https://latex.codecogs.com/png.latex?r%20%3E%200"> on the wealth they hold (or owe). Together, this yields the following differential equation: <span id="eq-budget"><img src="https://latex.codecogs.com/png.latex?%5Cdot%7Ba%7D_t%20=%20z_t%20+%20r%20a_t%20-%20c_t,%20%5Ctag%7B1%7D"></span> where we used the short-hand notation <img src="https://latex.codecogs.com/png.latex?%5Cdot%7Ba%7D_t%20=%20%7B%5Cmathrm%7Bd%7Da_t%7D%20/%20%7B%5Cmathrm%7Bd%7Dt%7D">. Three terms: income plus interest payments minus consumption. Makes sense, that’s pretty much what happens to me every month. Eq. (1) is called a <em>budget identity</em> or <em>budget constraint</em>, and it governs the dynamics of the wealth dimension. As mentioned before, we add the <em>borrowing constraint</em> <img src="https://latex.codecogs.com/png.latex?%5Cunderline%20a">, a limit under which an agent’s wealth cannot fall. At any time <img src="https://latex.codecogs.com/png.latex?t">, <span id="eq-borrowing"><img src="https://latex.codecogs.com/png.latex?%0Aa_t%20%5Cgeq%20%5Cunderline%7Ba%7D.%0A%5Ctag%7B2%7D"></span></p>
<p><strong>Important:</strong> In order to study properties of a specific stochastic process, everything on the right-hand side of eq. (1) has to be specified. Therefore, we take the interest rate <img src="https://latex.codecogs.com/png.latex?r"> and the <em>consumption policy</em> <img src="https://latex.codecogs.com/png.latex?c">, which determines the amount an agent consumes at time <img src="https://latex.codecogs.com/png.latex?t"> as <img src="https://latex.codecogs.com/png.latex?c_t%20=%20c(a_t,%20z_t)">, as given. How <img src="https://latex.codecogs.com/png.latex?r"> is determined and how agents choose <img src="https://latex.codecogs.com/png.latex?c"> is the topic of Part 2. In this part, we will next focus on the income dynamics. Each individual’s income path <img src="https://latex.codecogs.com/png.latex?z_t"> is random and unknown in advance. But each path is generated from a shared law, which we <em>do</em> know.</p>
<p><strong>Income dynamics</strong></p>
<p>As mentioned earlier, in this model, the agents have no control over their income—the income process is a given <em>exogenous</em> force. To add insult to injury, an individual’s income is subject to regular shocks, making the received amount of apples increase or decrease randomly at any given time instant. This is what makes each agent’s situation unique. Even if everybody started out at the exact same situation, over time, their respective income paths will spread them apart. Concretely, the dynamics of <strong>income</strong> are governed by a stochastic process that solves the following SDE: <span id="eq-income"><img src="https://latex.codecogs.com/png.latex?%5Cmathrm%7Bd%7Dz_t%20=%20%5Cmu(z_t)%20%5Cmathrm%7Bd%7Dt%20+%20%5Csigma(z_t)%20%5Cmathrm%7Bd%7DW_t.%20%5Ctag%7B3%7D"></span> This object splits the income dynamics into two parts:</p>
<ol type="1">
<li>a deterministic part, which specifies the <em>direction</em> in which the income moves from each point <img src="https://latex.codecogs.com/png.latex?z">. This is governed by the <strong>drift</strong>, which we model here as a function <img src="https://latex.codecogs.com/png.latex?%5Cmu(z)"> that we assume to be given.</li>
<li>a stochastic part, which introduces a noise (or diffusion) component into the income process. Effectively, at each point the income dynamics receive a shock in a random direction and of a random magnitude. The magnitude is scaled by the <strong>dispersion</strong> coefficient <img src="https://latex.codecogs.com/png.latex?%5Csigma(z_t)">, which we assume to be given. The object <img src="https://latex.codecogs.com/png.latex?W_t"> is called a Wiener process (or Brownian motion), which is itself a stochastic process. It follows very simple stochastic dynamics: over each time step of length <img src="https://latex.codecogs.com/png.latex?h">, <img src="https://latex.codecogs.com/png.latex?W_t"> takes a step into a random direction that is drawn from a zero-centered Gaussian random variable. The variance is given by the step size <img src="https://latex.codecogs.com/png.latex?h">. Formally, <span id="eq-wiener"><img src="https://latex.codecogs.com/png.latex?W_%7Bt+h%7D%20-%20W_t%20%5Csim%20%5Cmathcal%7BN%7D%5Cleft(0,%20h%5Cright)%20%5Cqquad%20%5CLeftrightarrow%20%5Cqquad%20W_%7Bt+h%7D%20=%20W_t%20+%20%5Csqrt%7Bh%7D%5Cepsilon,%20%5Cquad%20%5Ctext%7Bwith%7D%20%5Cquad%20%5Cepsilon%20%5Csim%20%5Cmathcal%7BN%7D(0,%201).%20%5Ctag%7B4%7D"></span> Crucially, the Wiener increment itself has zero mean and its variance corresponds to the step size of the increment.</li>
</ol>
<p>This <strong>interactive</strong> visualization aims to demonstrate both the deterministic and stochastic part in isolation.</p>
<div class="fig-centered-controls">
<div class="cell">
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code hidden" id="cb1" data-startfrom="116" data-source-offset="-0" style="background: #f1f3f5;"><pre class="sourceCode js code-with-copy"><code class="sourceCode javascript" style="counter-reset: source-line 115;"><span id="cb1-116"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> {stepFigure} <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"./figures/steps.js"</span></span>
<span id="cb1-117">viewof stepSize <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> Inputs<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">.</span><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">range</span>([<span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.005</span><span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">,</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>]<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">,</span> {<span class="dt" style="color: #AD0000;
background-color: null;
font-style: inherit;">value</span><span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.1</span><span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">,</span> <span class="dt" style="color: #AD0000;
background-color: null;
font-style: inherit;">step</span><span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.005</span><span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">,</span> <span class="dt" style="color: #AD0000;
background-color: null;
font-style: inherit;">label</span><span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"step size h"</span>})</span>
<span id="cb1-118"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">stepFigure</span>({d3<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">,</span> <span class="dt" style="color: #AD0000;
background-color: null;
font-style: inherit;">h</span><span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:</span> stepSize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">,</span> width})</span></code></pre></div></div>
<div class="cell-output cell-output-display">
<div>
<div id="ojs-cell-1-1" data-nodetype="declaration">

</div>
</div>
</div>
<div class="cell-output cell-output-display">
<div>
<div id="ojs-cell-1-2" data-nodetype="declaration">

</div>
</div>
</div>
<div class="cell-output cell-output-display">
<div>
<div id="ojs-cell-1-3" data-nodetype="expression">

</div>
</div>
</div>
</div>
</div>
<p>On the <strong>left</strong>, one single step is shown: a starting value is displaced by the drift, but where it ends up, exactly, is sampled from a Gaussian around the end point. Press the “Take 1 step” button to see this process animated. The <strong>right</strong> shows a whole trajectory of many steps. You can move the <strong>slider</strong> in order to change the step size <img src="https://latex.codecogs.com/png.latex?h"> and determine how many steps are taken.</p>
<p>Think of the individuals drifting and wiggling along the income dimension, without being able to exercise any control over this process. An agent that currently earns <img src="https://latex.codecogs.com/png.latex?z_t"> will drift according to the direction specified by <img src="https://latex.codecogs.com/png.latex?%5Cmu(z_t)"> and receive a random shock, positive or negative, according to their individual draw from the increment <img src="https://latex.codecogs.com/png.latex?%5Cmathrm%7Bd%7D%20W_t">. This shock is amplified by the dispersion <img src="https://latex.codecogs.com/png.latex?%5Csigma(z_t)">—the larger <img src="https://latex.codecogs.com/png.latex?%5Csigma">, the stronger the income shock.</p>
<p>Wealth is coupled to income, directly, and inherits the stochasticity from the Wiener diffusion. Therefore, the <img src="https://latex.codecogs.com/png.latex?(a_t,%20z_t)">-process for the agents’ dynamics can be written as one joint, vector-valued SDE:</p>
<div class="callout-equation">
<div class="callout callout-style-default callout-note callout-titled" title="An individual's wealth-income dynamics">
<div class="callout-header d-flex align-content-center">
<div class="callout-icon-container">
<i class="callout-icon"></i>
</div>
<div class="callout-title-container flex-fill">
<span class="screen-reader-only">Note</span>An individual’s wealth-income dynamics
</div>
</div>
<div class="callout-body-container callout-body">
<p><span id="eq-wealth-income"><img src="https://latex.codecogs.com/png.latex?%5Cmathrm%7Bd%7D%0A%5Cbegin%7Bpmatrix%7D%0Aa_t%20%5C%5C%20z_t%0A%5Cend%7Bpmatrix%7D%20=%0A%5Cbegin%7Bpmatrix%7D%0Az_t%20+%20r%20a_t%20-%20c_t%20%5C%5C%0A%5Cmu(z_t)%0A%5Cend%7Bpmatrix%7D%20%5Cmathrm%7Bd%7Dt%20+%0A%5Cbegin%7Bpmatrix%7D%0A0%20%5C%5C%20%5Csigma(z_t)%0A%5Cend%7Bpmatrix%7D%20%5Cmathrm%7Bd%7DW_t.%20%5Ctag%7B5%7D"></span></p>
</div>
</div>
</div>
<p>The first term, the drift function, now a vector with two components, captures the deterministic part of the dynamics of both dimensions that make up an individual in our model: the budget identity (eq. (1)) governs wealth dynamics, the drift <img src="https://latex.codecogs.com/png.latex?%5Cmu(z_t)"> of the income process governs income dynamics. The Wiener diffusion <img src="https://latex.codecogs.com/png.latex?W_t"> enters only via the income process, hence the zero in the dispersion function’s wealth component.</p>
<p>With eq. (5) we now have the object that we want to study. The law that governs the dynamics of an individual through the wealth- and income space. And the best thing is: we have an interpretable setup in which we can get to know this model class a bit more. Not just symbols <img src="https://latex.codecogs.com/png.latex?a_t">, <img src="https://latex.codecogs.com/png.latex?z_t">, and <img src="https://latex.codecogs.com/png.latex?c_t">, but wealth, income, and consumption. Here is what it looks like when a bunch of agents follow these dynamics for a while:</p>
<div class="cell">
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code hidden" id="cb2" data-startfrom="154" data-source-offset="-0" style="background: #f1f3f5;"><pre class="sourceCode js code-with-copy"><code class="sourceCode javascript" style="counter-reset: source-line 153;"><span id="cb2-154"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> {agentsFigure} <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"./figures/agents.js"</span></span>
<span id="cb2-155"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">agentsFigure</span>({width<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">,</span> invalidation})</span></code></pre></div></div>
<div class="cell-output cell-output-display">
<div>
<div id="ojs-cell-2-1" data-nodetype="declaration">

</div>
</div>
</div>
<div class="cell-output cell-output-display">
<div>
<div id="ojs-cell-2-2" data-nodetype="expression">

</div>
</div>
</div>
</div>
<p>On the <strong>right</strong>, we see two time series, one for wealth (top) and a really rough one for income (bottom). A few agents (including the one from the right panels, highlighted in purple) are visualized in the joint wealth-income space on the <strong>left</strong>.</p>
<p>Now, we understand how agents move. Sometimes, however, it might be more interesting to track the changes of some quantity related to the agents. The next section introduces how functions of the state move together with the state.</p>
</section>
</section>
<section id="the-generator-of-an-itô-process-how-do-functions-of-the-state-evolve" class="level1">
<h1>The generator of an Itô process: how do functions of the state evolve?</h1>
<p>We are interested in the rate at which any (scalar) function <img src="https://latex.codecogs.com/png.latex?%5Cpsi(a,%20z)"> changes, <em>in expectation</em>, with time. This rate is obtained by applying an operator <img src="https://latex.codecogs.com/png.latex?%5Cmathcal%7BA%7D">, called the <em>(infinitesimal) generator</em> of the process. Instead of pasting in the textbook definition, I will try and provide the intuitive idea.</p>
<p>Let <img src="https://latex.codecogs.com/png.latex?%5Cpsi(a,%20z)"> be some (scalar) function of the state. An example: <img src="https://latex.codecogs.com/png.latex?%5Cpsi(a,%20z)%20=%20z%20+%20r%20a"> could be defined as the total income (“labor” + capital income) that an agent gains. We will think a similar (and slightly more interesting) example through in more detail, later. Since the state evolves dynamically over time and the function <img src="https://latex.codecogs.com/png.latex?%5Cpsi"> reacts to changes in its arguments, the state dynamics—both deterministic and stochastic—should somehow transfer to the expected drift of <img src="https://latex.codecogs.com/png.latex?%5Cpsi">. But how?</p>
<p><strong>The deterministic part</strong></p>
<p>The (deterministic) drift of the wealth-income process transfers to <img src="https://latex.codecogs.com/png.latex?%5Cpsi"> as a product of state velocity <img src="https://latex.codecogs.com/png.latex?%5Ctimes"> sensitivity of <img src="https://latex.codecogs.com/png.latex?%5Cpsi">, for each state dimension. For example, in the wealth dimension, the state changes at rate <img src="https://latex.codecogs.com/png.latex?z%20+%20r%20a%20-%20c">. That’s the velocity part. And how <img src="https://latex.codecogs.com/png.latex?%5Cpsi"> varies with changes in wealth, the sensitivity part, is simply determined by the wealth-component of the gradient of <img src="https://latex.codecogs.com/png.latex?%5Cpsi"> with respect to wealth, i.e.&nbsp;<img src="https://latex.codecogs.com/png.latex?%5Cpartial_a%20%5Cpsi">.<sup>1</sup> The same holds for the income dimension. This is nothing but the <em>chain rule of differentiation</em>. Writing <img src="https://latex.codecogs.com/png.latex?x_t%20=%20(a_t,%20z_t)"> for simplicity, we know that <span id="eq-chain-rule"><img src="https://latex.codecogs.com/png.latex?%0A%5Cfrac%7B%5Cmathrm%7Bd%7D%5Cpsi%7D%7B%5Cmathrm%7Bd%7Dt%7D%20=%20%5Cfrac%7B%5Cmathrm%7Bd%7D%5Cpsi%7D%7B%5Cmathrm%7Bd%7Dx%7D%20%5Ccdot%20%5Cfrac%7B%5Cmathrm%7Bd%7Dx%7D%7B%5Cmathrm%7Bd%7D%20t%7D,%0A%5Ctag%7B6%7D"></span> sensitivity <img src="https://latex.codecogs.com/png.latex?%5Ctimes"> velocity, or: how <img src="https://latex.codecogs.com/png.latex?%5Cpsi"> varies with the state <img src="https://latex.codecogs.com/png.latex?%5Ctimes"> how the state varies with time. Plugging in the respective derivatives, evaluated at the current state <img src="https://latex.codecogs.com/png.latex?x_t%20=%20(a,%20z)">, we get <span id="eq-gradients"><img src="https://latex.codecogs.com/png.latex?%0A%5Cfrac%7B%5Cmathrm%7Bd%7D%5Cpsi%7D%7B%5Cmathrm%7Bd%7Dx%7D%20=%20%5Cbegin%7Bpmatrix%7D%5Cpartial_a%5Cpsi%20%5C%5C%20%5Cpartial_z%5Cpsi%5Cend%7Bpmatrix%7D,%20%5Cqquad%20%5Cfrac%7B%5Cmathrm%7Bd%7Dx%7D%7B%5Cmathrm%7Bd%7Dt%7D%20=%20%5Cbegin%7Bpmatrix%7Dz%20+%20r%20a%20-%20c%20%5C%5C%20%5Cmu(z)%5Cend%7Bpmatrix%7D,%0A%5Ctag%7B7%7D"></span> and taking the inner product (right-hand side of eq. (6)) gives <span id="eq-deterministic-part"><img src="https://latex.codecogs.com/png.latex?%0A%5Cfrac%7B%5Cmathrm%7Bd%7D%5Cpsi%7D%7B%5Cmathrm%7Bd%7Dt%7D%20=%20(z%20+%20r%20a%20-%20c)%5Cpartial_a%5Cpsi%20+%20%5Cmu(z)%5Cpartial_z%5Cpsi.%0A%5Ctag%7B8%7D"></span> Both of these terms will appear in the generator. But before we get to the actual definition, something is missing.</p>
<p><strong>The stochastic part</strong></p>
<p>So a part of the generator—how the drift of the state transfers to the drift of <img src="https://latex.codecogs.com/png.latex?%5Cpsi">—just follow from basic calculus. Which leaves the stochastic part of the state: the income shocks from the Wiener process <img src="https://latex.codecogs.com/png.latex?W_t">, scaled by the dispersion coefficient <img src="https://latex.codecogs.com/png.latex?%5Csigma(z)">—see eqs. (3) and (5). As we saw in eq. (4), these shocks are centered at zero, i.e., they have zero mean—income is as likely to be pushed up by <img src="https://latex.codecogs.com/png.latex?+%20%5CDelta%20z"> as down by <img src="https://latex.codecogs.com/png.latex?-%5CDelta%20z">. So…on average, the shocks cancel out. Does that mean that they do not affect the expected rate of change of <img src="https://latex.codecogs.com/png.latex?%5Cpsi">?</p>
<p>Well, not necessarily. If <img src="https://latex.codecogs.com/png.latex?%5Cpsi"> is <em>curved</em> in the dimension driven by noise, then the shocks do not cancel. Why that’s the case is best explained visually:</p>
<div class="cell">
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code hidden" id="cb3" data-startfrom="203" data-source-offset="-0" style="background: #f1f3f5;"><pre class="sourceCode js code-with-copy"><code class="sourceCode javascript" style="counter-reset: source-line 202;"><span id="cb3-203"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> {generatorFigure} <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"./figures/generator.js"</span></span>
<span id="cb3-204">viewof step <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> Inputs<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">.</span><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">form</span>({</span>
<span id="cb3-205">  <span class="dt" style="color: #AD0000;
background-color: null;
font-style: inherit;">theta</span><span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:</span> Inputs<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">.</span><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">range</span>([<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span><span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">,</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">1.5</span>]<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">,</span> {<span class="dt" style="color: #AD0000;
background-color: null;
font-style: inherit;">value</span><span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.55</span><span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">,</span> <span class="dt" style="color: #AD0000;
background-color: null;
font-style: inherit;">step</span><span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.01</span><span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">,</span> <span class="dt" style="color: #AD0000;
background-color: null;
font-style: inherit;">label</span><span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"drift strength"</span>})<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">,</span></span>
<span id="cb3-206">  <span class="dt" style="color: #AD0000;
background-color: null;
font-style: inherit;">sigma</span><span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:</span> Inputs<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">.</span><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">range</span>([<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span><span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">,</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">1.2</span>]<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">,</span> {<span class="dt" style="color: #AD0000;
background-color: null;
font-style: inherit;">value</span><span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.7</span><span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">,</span> <span class="dt" style="color: #AD0000;
background-color: null;
font-style: inherit;">step</span><span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.01</span><span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">,</span> <span class="dt" style="color: #AD0000;
background-color: null;
font-style: inherit;">label</span><span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"dispersion σ"</span>})<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">,</span></span>
<span id="cb3-207">})</span>
<span id="cb3-208"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">generatorFigure</span>({Plot<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">,</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">...</span>step<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">,</span> width})</span></code></pre></div></div>
<div class="cell-output cell-output-display">
<div>
<div id="ojs-cell-3-1" data-nodetype="declaration">

</div>
</div>
</div>
<div class="cell-output cell-output-display">
<div>
<div id="ojs-cell-3-2" data-nodetype="declaration">

</div>
</div>
</div>
<div class="cell-output cell-output-display">
<div>
<div id="ojs-cell-3-3" data-nodetype="expression">

</div>
</div>
</div>
</div>
<p>The figure shows what happens to a bunch of agents, each starting from the same income. Each agent is mapped through a function <img src="https://latex.codecogs.com/png.latex?%5Cpsi"> and advanced one time step. Crucially, in this example, the function <img src="https://latex.codecogs.com/png.latex?%5Cpsi"> is curved upward—convex—in <img src="https://latex.codecogs.com/png.latex?z">. <strong>Left:</strong> Without the noise, the drift moves each agent by the same amount, in the same direction (upward, as <img src="https://latex.codecogs.com/png.latex?%5Cpsi"> is increasing). <strong>Middle:</strong> Without the drift, adding noise from the Wiener process spreads the agents out across <img src="https://latex.codecogs.com/png.latex?%5Cpsi">. On average, the value of <img src="https://latex.codecogs.com/png.latex?%5Cpsi"> increases, as the convex curvature in <img src="https://latex.codecogs.com/png.latex?%5Cpsi"> increases upward shocks more than it decreases downward shocks. <strong>Right:</strong> A full step of the process—drift + noise—increases the function value of <img src="https://latex.codecogs.com/png.latex?%5Cpsi"> <em>and</em> the state (income) itself.</p>
<p>So, in expectation, for convex functions <img src="https://latex.codecogs.com/png.latex?%5Cpsi">, shocks will lead to larger values of <img src="https://latex.codecogs.com/png.latex?%5Cpsi">. Analogously, if <img src="https://latex.codecogs.com/png.latex?%5Cpsi"> is curved downward—concave—in <img src="https://latex.codecogs.com/png.latex?z">, then the income volatility will decrease <img src="https://latex.codecogs.com/png.latex?%5Cpsi"> on average. To account for this effect, the generator of our process contains a third term, <img src="https://latex.codecogs.com/png.latex?+%5Ctfrac12%20%5Csigma%5E2(z)%5Ccdot%20%5Cpartial_%7Bzz%7D%5Cpsi">, referred to as the <em>Itô correction</em>. The math tells us that …</p>
<ul>
<li>…wherever the function <img src="https://latex.codecogs.com/png.latex?%5Cpsi"> is (strictly) convex in <img src="https://latex.codecogs.com/png.latex?z">, <img src="https://latex.codecogs.com/png.latex?%5Cpartial_%7Bzz%7D%5Cpsi(a,%20z)%20%3E%200">. Therefore, the term <img src="https://latex.codecogs.com/png.latex?+%5Ctfrac12%20%5Csigma%5E2(z)%20%5Cpartial_%7Bzz%7D%5Cpsi(a,%20z)%20%3E%200"> is strictly positive, which implies that income volatility <em>increases</em> the rate at which <img src="https://latex.codecogs.com/png.latex?%5Cpsi"> changes.</li>
<li>…wherever the function <img src="https://latex.codecogs.com/png.latex?%5Cpsi"> is (strictly) concave in <img src="https://latex.codecogs.com/png.latex?z">, <img src="https://latex.codecogs.com/png.latex?%5Cpartial_%7Bzz%7D%5Cpsi(a,%20z)%20%3C%200">. Therefore, the term <img src="https://latex.codecogs.com/png.latex?+%5Ctfrac12%20%5Csigma%5E2(z)%20%5Cpartial_%7Bzz%7D%5Cpsi(a,%20z)%20%3C%200"> is strictly negative, which implies that income volatility <em>decreases</em> the rate at which <img src="https://latex.codecogs.com/png.latex?%5Cpsi"> changes.</li>
</ul>
<p>To summarize: even though the noise that drives the income process is symmetric around zero, not influencing <img src="https://latex.codecogs.com/png.latex?%5Cpsi"> to first order, the curvature <img src="https://latex.codecogs.com/png.latex?%5Cpartial_%7Bzz%7D%5Cpsi"> introduces an asymmetric effect with respect to the spread of the income process.</p>
<p><strong>The generator in full</strong></p>
<p>Let us collect what I described above in a formal statement: For any (scalar) function <img src="https://latex.codecogs.com/png.latex?%5Cpsi"> of the state of the process from eq. (5), the rate at which <img src="https://latex.codecogs.com/png.latex?%5Cpsi"> changes, in expectation, over an infinitesimal time increment is given by an operator <img src="https://latex.codecogs.com/png.latex?%5Cmathcal%7BA%7D"> called the generator of the process. The generator of the wealth-income process is defined as follows:</p>
<div class="callout-equation">
<div class="callout callout-style-default callout-note callout-titled">
<div class="callout-header d-flex align-content-center">
<div class="callout-icon-container">
<i class="callout-icon"></i>
</div>
<div class="callout-title-container flex-fill">
<span class="screen-reader-only">Note</span>Generator of the process that solves eq. (5)
</div>
</div>
<div class="callout-body-container callout-body">
<p><span id="eq-generator"><img src="https://latex.codecogs.com/png.latex?%5Cmathcal%7BA%7D%5Cpsi%20=%20(z%20+%20r%20a%20-%20c)%20%5Cpartial_a%20%5Cpsi%20+%20%5Cmu(z)%20%5Cpartial_z%20%5Cpsi%20+%20%5Ctfrac12%20%5Csigma%5E2(z)%20%5Cpartial_%7Bzz%7D%5Cpsi.%20%5Ctag%7B9%7D"></span></p>
</div>
</div>
</div>
<div class="callout callout-style-default callout-tip callout-titled" title="By the way...">
<div class="callout-header d-flex align-content-center collapsed" data-bs-toggle="collapse" data-bs-target=".callout-5-contents" aria-controls="callout-5" aria-expanded="false" aria-label="Toggle callout">
<div class="callout-icon-container">
<i class="callout-icon"></i>
</div>
<div class="callout-title-container flex-fill">
<span class="screen-reader-only">Tip</span>By the way…
</div>
<div class="callout-btn-toggle d-inline-block border-0 py-1 ps-1 pe-0 float-end"><i class="callout-toggle"></i></div>
</div>
<div id="callout-5" class="callout-5-contents callout-collapse collapse">
<div class="callout-body-container callout-body">
<p>The generator generalizes standard calculus, in particular the chain rule of differentiation, to stochastic processes. How closely the concept is related to derivatives can be seen from the more general definition.</p>
<p>The (infinitesimal) <em>generator</em> <img src="https://latex.codecogs.com/png.latex?%5Cmathcal%7BA%7D"> of a stochastic process <img src="https://latex.codecogs.com/png.latex?(x_t)_%7Bt%5Cgeq%200%7D"> is defined as an operator that, applied to any (scalar) function <img src="https://latex.codecogs.com/png.latex?%5Cpsi"> of the state, gives the rate at which <img src="https://latex.codecogs.com/png.latex?%5Cpsi"> changes, in expectation, over an infinitesimal time increment: <img src="https://latex.codecogs.com/png.latex?%5Cmathcal%7BA%7D%5Cpsi(x)%20=%20%5Clim_%7Bh%20%5Cto%200%7D%5Cfrac%7B%5Cmathbb%7BE%7D%5Cleft%5B%5Cpsi(x_%7Bt+h%7D)%20%5Cmid%20x_t%20=%20x%5Cright%5D%20-%20%5Cpsi(x)%7D%7Bh%7D."> <!-- {#eq-generator-definition} --></p>
</div>
</div>
</div>
<p>Let’s make this more clear by looking at an example.</p>
<section id="example-relative-change-of-income" class="level3">
<h3 class="anchored" data-anchor-id="example-relative-change-of-income">Example: Relative change of income</h3>
<p>The function we are going to look at is the logarithm of total income <img src="https://latex.codecogs.com/png.latex?y%20%5Ccoloneqq%20z%20+%20ra">, i.e., <img src="https://latex.codecogs.com/png.latex?%0A%5Cpsi(a,%20z)%20=%20%5Clog%20(z%20+%20ra)%20=%20%5Clog%20y.%0A"> What is so interesting about this quantity? The answer is: its rate of change.</p>
<p>For a second, let <img src="https://latex.codecogs.com/png.latex?y_t"> be a <em>deterministic and continuously differentiable</em> path of an agent’s total income over time. Applying the chain rule of differentiation gives <span id="eq-growth-rate"><img src="https://latex.codecogs.com/png.latex?%0A%5Cfrac%7B%5Cmathrm%7Bd%7D%7D%7B%5Cmathrm%7Bd%7D%20t%7D%20%5Clog%20y_t%20=%20%5Cfrac%7B%5Cmathrm%7Bd%7D%5Clog%20y_t%7D%7B%5Cmathrm%7Bd%7Dy_t%7D%20%5Ccdot%20%5Cfrac%7B%5Cmathrm%7Bd%7Dy_t%7D%7B%5Cmathrm%7Bd%7Dt%7D%20=%20%5Cfrac%7B%5Cdot%7By%7D_t%7D%7By_t%7D.%0A%5Ctag%7B10%7D"></span> The quantity <img src="https://latex.codecogs.com/png.latex?%5Cdot%7By%7D_t%20/%20y_t"> is the instantaneous growth rate of the quantity <img src="https://latex.codecogs.com/png.latex?y_t">. Think: the rate of change, <em>relative</em> to the current level.</p>
<p>In our economy, however, income <img src="https://latex.codecogs.com/png.latex?z_t"> is stochastic, which makes <img src="https://latex.codecogs.com/png.latex?y_t"> stochastic, as well. And this creates two challenges when it comes to the equality in eq. (10). We will adress both with the generator <img src="https://latex.codecogs.com/png.latex?%5Cmathcal%7BA%7D"> (see eq. (9)) of the wealth-income process:</p>
<ol type="1">
<li><p>The time derivative <img src="https://latex.codecogs.com/png.latex?%5Cdot%7By%7D_t"> does not exist, in the classical sense, due to the stochastic process <img src="https://latex.codecogs.com/png.latex?y_t"> being nowhere differentiable. Its stochastic-process analogue would be<sup>2</sup> <span id="eq-gen-A-y"><img src="https://latex.codecogs.com/png.latex?%5Cmathcal%7BA%7D%20y%20=%20r%20(y%20-%20c)%20+%20%5Cmu(z)%20%5Cqquad%20%5CRightarrow%20%5Cqquad%20%5Cfrac%7B%5Cmathcal%7BA%7D%20y%7D%7By%7D%20=%20%5Cfrac%7Br%20(y%20-%20c)%7D%7By%7D%20+%20%5Cfrac%7B%5Cmu(z)%7D%7By%7D.%20%5Ctag%7B11%7D"></span></p></li>
<li><p>The second challenge is that the equality comes from applying the chain rule to a strictly concave function, the logarithm. We learned above that the generator <em>does</em> generalize the chain rule to stochastic processes. But it needs a correction term whenever the noise <em>and</em> the curvature of the function are non-zero. Therefore, <span id="eq-inequal-in-stoch-case"><img src="https://latex.codecogs.com/png.latex?%0A%5Cmathcal%7BA%7D%5Clog%20y%20%5Cneq%20%5Cfrac%7B%5Cmathcal%7BA%7Dy%7D%7By%7D,%0A%5Ctag%7B12%7D"></span> and the gap is quantified by the Itô correction term. This is where it gets really interesting, so let’s have a closer look!</p></li>
</ol>
<p>With <img src="https://latex.codecogs.com/png.latex?%5Cpsi(a,%20z)%20=%20%5Clog%20(z%20+%20r%20a)">, the derivatives appearing inside the generator are <span id="eq-log-derivatives"><img src="https://latex.codecogs.com/png.latex?%0A%5Cpartial_a%20%5Cpsi(a,%20z)%20=%20%5Cfrac%7Br%7D%7Bz%20+%20ra%7D,%20%5Cqquad%20%5Cpartial_z%5Cpsi(a,%20z)%20=%20%5Cfrac%7B1%7D%7Bz%20+%20ra%7D,%20%5Cqquad%20%5Cpartial_%7Bzz%7D%5Cpsi(a,%20z)%20=%20-%5Cfrac%7B1%7D%7B(z%20+%20ra)%5E2%7D.%0A%5Ctag%7B13%7D"></span> Plugging these into the generator of the wealth-income process gives <span id="eq-log-growth-generator"><img src="https://latex.codecogs.com/png.latex?%0A%5Cbegin%7Baligned%7D%0A%5Cmathcal%7BA%7D%5Cpsi(a,%20z)%20&amp;=%20%5Cfrac%7Br%20(z%20+%20ra%20-%20c)%7D%7Bz%20+%20ra%7D%20+%20%5Cfrac%7B%5Cmu(z)%7D%7Bz%20+%20ra%7D%20-%20%5Cfrac%7B%5Csigma%5E2(z)%7D%7B2(z%20+%20ra)%5E2%7D%20%5C%5C%5B2ex%5D%0A&amp;=%20%5Cunderbrace%7B%5Cfrac%7Br%20(y%20-%20c)%7D%7By%7D%20+%20%5Cfrac%7B%5Cmu(z)%7D%7By%7D%7D_%7B=%20%5Cmathcal%7BA%7Dy%20/%20y%7D%20%20-%20%5Cfrac%7B%5Csigma%5E2(z)%7D%7B2y%5E2%7D.%0A%5Cend%7Baligned%7D%0A%5Ctag%7B14%7D"></span></p>
<p>This tells us that <span id="eq-ito-gap-btwn-rates"><img src="https://latex.codecogs.com/png.latex?%0A%5Cmathcal%7BA%7D%20%5Clog%20y%20=%20%5Cfrac%7B%5Cmathcal%7BA%7Dy%7D%7By%7D%20-%5Cfrac%7B1%7D%7B2%7D%20%5Cleft(%5Cfrac%7B%5Csigma(z)%7D%7By%7D%5Cright)%5E2.%0A%5Ctag%7B15%7D"></span></p>
<p>This is the instantaneous growth-rate equality from eq. (10) but corrected for the stochasticity in the income process. The reason why volatility in income introduces a gap between the two rates—a gap that does not exist for deterministic income paths—is due to an effect called <strong>volatility drag</strong>. Intuitively, noisy fluctuations in <img src="https://latex.codecogs.com/png.latex?y"> make average relative changes (<img src="https://latex.codecogs.com/png.latex?%5Cmathcal%7BA%7Dy%20/%20y">) look higher than what they actually add up to over time (<img src="https://latex.codecogs.com/png.latex?%5Cmathcal%7BA%7D%5Clog%20y">).</p>
<p>An example: take an agent with a total income of <img src="https://latex.codecogs.com/png.latex?y=%202"> apples. If this agent loses <img src="https://latex.codecogs.com/png.latex?1"> apple and gets it back immediately afterwards, this amounts to relative changes of <img src="https://latex.codecogs.com/png.latex?-50%5C%25"> and <img src="https://latex.codecogs.com/png.latex?+100%5C%25">. The average growth is <img src="https://latex.codecogs.com/png.latex?%5Ctfrac12%20(-50%5C%25%20+%20100%5C%25)%20=%2025%5C%25"> per step. But the agent did not gain anything, so something is off. Taking the logarithm of the growth factors (<img src="https://latex.codecogs.com/png.latex?-50%5C%25%20%5Cto%20%5Ctimes%200.5"> and <img src="https://latex.codecogs.com/png.latex?+100%5C%25%20%5Cto%20%5Ctimes%202">) fixes this: <img src="https://latex.codecogs.com/png.latex?%5Clog%200.5%20+%20%5Clog%202%20=%20-0.69%20+%200.69%20=%200">.</p>
<p>The Itô-correction term <img src="https://latex.codecogs.com/png.latex?%5Ctfrac12%20%5Cleft(%5Csigma(z)/y%5Cright)%5E2"> quantifies the size of the gap between the average relative change and the expected logarithmic change. Besides the income volatility <img src="https://latex.codecogs.com/png.latex?%5Csigma(z)">, the size of the gap also depends on the level of total income, which is individual to each agent. Therefore, different agents suffer to different degrees from volatility drag.</p>
<p>There is another interesting aspect to this: The same absolute income shock can mean very different things for differently situated individuals. For example, a loss of <img src="https://latex.codecogs.com/png.latex?1"> apple would mean a loss of <img src="https://latex.codecogs.com/png.latex?50%5C%25"> for someone with a total income of <img src="https://latex.codecogs.com/png.latex?2"> apples but only a <img src="https://latex.codecogs.com/png.latex?1%5C%25"> loss for someone receiving <img src="https://latex.codecogs.com/png.latex?100"> apples. These unequal conditions are mirrored in the Itô-correction, which involves the term <img src="https://latex.codecogs.com/png.latex?%5Csigma(z)%20/%20y">. This term can be interpreted as a <em>relative volatility</em> in income: how large the shocks are, <em>relative</em> to an agent’s current total income. For equal-sized shocks, individuals with high values of <img src="https://latex.codecogs.com/png.latex?y"> are strictly less impacted by income volatility—and the resulting volatility drag—than low-income individuals. The higher <img src="https://latex.codecogs.com/png.latex?y">, the lower <img src="https://latex.codecogs.com/png.latex?%5Csigma(z)%20/%20y">. This effect is weaker in models, in which the magnitude of the shocks, <img src="https://latex.codecogs.com/png.latex?%5Csigma(z)">, scales proportionately with income <img src="https://latex.codecogs.com/png.latex?z">. But regardless of <img src="https://latex.codecogs.com/png.latex?%5Csigma(z)">, <em>capital income</em> <img src="https://latex.codecogs.com/png.latex?ra">, which enters total income alongside <img src="https://latex.codecogs.com/png.latex?z">, depends only on an agent’s wealth. Hence, accumulating higher levels of wealth increases <img src="https://latex.codecogs.com/png.latex?y"> and thus reduces the relative impact of income shocks.</p>
</section>
</section>
<section id="conclusion-whats-next" class="level1">
<h1>Conclusion &amp; what’s next</h1>
<p>This post introduced a simple macroeconomics model for how heterogenous agents drift and diffuse through a landscape of wealth and income. These dynamics are governed by an SDE, in which income follows a diffusion process and wealth accumulates according to a simple budget identity: what an agent saves at each time instant equals their total income (“labour + capital”) minus their consumption. Assuming a fixed and known interest rate <img src="https://latex.codecogs.com/png.latex?r"> and consumption policy <img src="https://latex.codecogs.com/png.latex?c"> allowed us to begin studying properties of the resulting process.</p>
<p>The <strong>generator</strong> gives us the expected rate of change of any (scalar) function of the stochastic state. It fixes two things that standard calculus does not account for: (1) that the function argument (the state) is nowhere differentiable, and (2) that the stochasticity in the state has a nontrivial effect on how a curved function changes over time in expectation. The meaning of the correction became more clear by thinking this through in the context of a practical example.</p>
<p><strong>What’s left?</strong></p>
<p>From the economics perspective, fixing the interest rate and the consumption is precisely removing the interesting bits from the model. So, it would be a shame to not have a look at how to determine these quantities in a <em>sliiiightly</em> more realistic setting. Luckily, determining both of these quantities connects beautifully to two more general insights about stochastic processes: the <strong>Feynman–Kac formula</strong> and the <strong>Fokker–Planck</strong> equation. The next part of this post will introduce both, which will also teach us how the agents choose their individual consumption, repeatedly, over time, and how the interest rate is determined by the aggregate state of the economy. So, if you’re interested, stay tuned :)</p>



</section>


<div id="quarto-appendix" class="default"><section class="quarto-appendix-contents" id="quarto-bibliography"><h2 class="anchored quarto-appendix-heading">References</h2><div id="refs" class="references csl-bib-body hanging-indent">
<div id="ref-achdou2014PDE" class="csl-entry">
Achdou, Yves, Francisco J Buera, Jean-Michel Lasry, Pierre-Louis Lions, and Benjamin Moll. 2014. <em><span>PDE Models</span> in <span>Macroeconomics</span></em>.
</div>
<div id="ref-achdou2022Income" class="csl-entry">
Achdou, Yves, Jiequn Han, Jean-Michel Lasry, Pierre-Louis Lions, and Benjamin Moll. 2022. <span>“Income and <span>Wealth Distribution</span> in <span>Macroeconomics</span>: <span>A Continuous-Time Approach</span>.”</span> <em>The Review of Economic Studies</em> 89 (1): 45–86. <a href="https://doi.org/10.1093/restud/rdab002">https://doi.org/10.1093/restud/rdab002</a>.
</div>
<div id="ref-sarkka2019Applied" class="csl-entry">
Särkkä, Simo, and Arno Solin. 2019. <em>Applied <span>Stochastic Differential Equations</span></em>. 1st ed. Cambridge University Press. <a href="https://doi.org/10.1017/9781108186735">https://doi.org/10.1017/9781108186735</a>.
</div>
</div></section><section id="footnotes" class="footnotes footnotes-end-of-document"><h2 class="anchored quarto-appendix-heading">Footnotes</h2>

<ol>
<li id="fn1"><p>I use the short-hand notation <img src="https://latex.codecogs.com/png.latex?%5Cpartial_x%20=%20%5Cfrac%7B%5Cpartial%7D%7B%5Cpartial%20x%7D"> throughout the post.↩︎</p></li>
<li id="fn2"><p>This follows simply from taking the relevant derivatives of <img src="https://latex.codecogs.com/png.latex?y(a,%20z)%20=%20z%20+%20r%20a">: <img src="https://latex.codecogs.com/png.latex?%5Cpartial_a%20y%20=%20r,%20~%20%5Cpartial_z%20y%20=%201,%20~%20%5Cpartial_%7Bzz%7D%20y%20=%200"> and plugging them into the definition of the generator (see eq. (9)).↩︎</p></li>
</ol>
</section></div> ]]></description>
  <category>stochastic processes</category>
  <category>macroeconomics</category>
  <category>social dynamics</category>
  <guid>https://schmidtjonathan.github.io/blog/wealth-income-functions-part-1/</guid>
  <pubDate>Thu, 17 Sep 2026 00:00:00 GMT</pubDate>
  <media:content url="https://schmidtjonathan.github.io/blog/wealth-income-functions-part-1/cover.png" medium="image" type="image/png" height="76" width="144"/>
</item>
</channel>
</rss>
