Recent Posts

Sunday, January 8, 2017

The Determination Financial Asset Holdings In SFC Models

This article discusses how I systematically generate the systems of equations that determines financial asset holdings within the Python sfc_models framework for Stock-Flow Consistent (SFC) models. It should be noted that despite the generality of the title, I am only discussing how I attacked the problem (the results of my technique is consistent with the literature that I have studied). The existing literature relies on the derivation of system equations by hand, and so the modelling techniques used by others are less constrained than the algorithmic equation generation I use.

(This article is technical, and aimed at those with an interest in SFC models, or more generally, an interest in how to set up a mathematical macro model. It will presumably make its way into an upcoming book on SFC modelling in Python.)

Two-Step Process: Income, Then Portfolio

One difficulty of macro modelling is that for the same economic model, we can generate a spectacular number of equations that describe the relationships between sectors. In order to algorithmic generate the systems of equations, I need to be able to develop rules that pin down the set of equations that are to be included.

It should be noted that my technique does generate redundant equations. However, the redundant equations generally appear to be variables that are descriptive, and do not effect the rest of the equations. For example, the primary fiscal deficit appears as an equation in some models, but since no sector bases its behaviour on the primary deficit, the extra equation does not cause difficulties for the solution technique.

Financial assets pose a particular problem, as they show up in many ways.
  1. The change in the total value of financial asset holdings is determined net cash flow. The net cash flow is usually equal to income (that is, including the effect of capital gains), but we may need to add flows that do not affect income. (For example, consumption spending by the household sector does not subtract from household income.) Income is driven by by flows in the real economy (wage income, goods purchases) and transfers (dividends, taxes).
  2.  The total value of financial assets held is equal to the sum of the values of the holdings of particular instruments.
  3. Instruments are issued by particular sectors (for example, the Treasury/central government issues Treasury bills), and this issuance is used to finance purchases of goods or other financial assets.
  4. The supply of any asset has to equal its demand.

The approach currently used within the sfc_models package is straightforward.
  1. The new level of a sector's financial asset holdings is equal to the previous period's financial asset holdings plus the sum of the period's cash flow terms. (At present, there is no need to track capital gains, since none of the modelled instruments generate them. However, Treasury bills generate interest that enters as a cash flow term.) Examples are discussed below.
  2. The level of holdings of any particular financial instrument for a period is equal to a weighting term times the total financial asset holding. For example, in a model where the only financial assets are money (with a 0% rate of interest) and Treasury bills (which pay the policy rate), the household and business sectors will allocate their portfolios between money and bills based on the rate of interest. The sum of the weightings has to be one (or else there will effectively be a ghost instrument created that catches the missing wealth).*
  3. The supply of any financial asset is assumed to be equal to the sum of the holdings in all sectors.
The first step is the most complex, and it might be unclear what the cash flow terms refer to. Some simple examples (based on the simplest SFC models, such as models SIM and PC from Godley and Lavoie) would include:
  1. For a household sector that just receives wages, pays taxes, and buys goods -- household consumption. The equation is:
    (new financial assets) = (old financial assets) + (wages) - (taxes) - (consumption)
  2. A government that purchases goods and imposes taxes, and pays interest on Treasury bills:
    (new financial assets) = (old financial assets) + (taxes) - (government consumption) - (interest cost).
    Since financial assets in these models are typically government liabilities, it should be noted that the financial asset holdings for the government are typically negative.
  3. For a business sector (in which we ignore business taxation and investment),
    (new financial assets) = (old financial assets) + (total goods sales) - (wages) - (dividends).
These examples illustrate that these equations are mainly driven by the nominal cash flows within the real economy, such as the total wage bill, goods consumption, taxes, and interest. They do not examine how sectors raise cash, such as the split between debt and currency issuance by the government.

It should be noted that the equations generated by the technique are solved simultaneously, and so the steps above do not tell us about the behaviour of the solution. For example, we could have the household sector's consumption depending upon money holdings, and so the "real economy" variables are not determined before the portfolio allocation step. (However, the risk is that such an information loop might cause a lack of convergence of the system of equations.)

Consequences

The description taken within the framework is demand driven; the supplier of a financial instrument has no choice but to supply the amount demanded.

For example, there is no attempt to impose the governmental budget constraint (in which spending is "financed" by taxes, or the issuance of bills or money). We can back out the constraint from the system of equations, but it is purely the result of the accounting adding up properly. The total change in the government's financial position is driven by a broad fiscal deficit (with adjustments needed for the monetisation of assets, etc.), and the levels of particular liabilities (money, debt) is driven entirely by private sector portfolio allocation. (I am including the external sector under the "private sector," which might be awkward when thinking about real world data. By my definition here, the Chinese central bank is in the private sector, at least in the context of its reserve holdings in the United States.)

(If we treat the central bank as being distinct from the rest of the government, the picture might appear to be slightly different, but we still end up with roughly the outcome. I will discuss this in a follow up article.)

Although having the supply of financial assets being driven entirely by the demand for holdings is reasonable for government liabilities (which is only what I have attempted to model), it may feel unusual for financial assets issued by the private sector. It would imply that private sector credit creation is driven entirely by credit rationing amongst the holders of financial assets, which does seem like a reasonable modelling assumption. However, under this assumption, it is nearly impossible to capture unusual positive feedback loops where a sector lends to itself. This happens a lot in the real world, such as the household sector is lending to itself as part of real estate transactions. 

Concluding Remarks

In order to systematically generate the equations of a SFC model, we need to adopt a relatively fixed perspective in order to decide which equations are included. The most natural approach is to take a demand-driven view, and assume that supply will always adjust to meet demand.

Once again, if someone sets up the equations by hand, they are free to be more flexible. However, such an approach relies on the ability of the researcher to pick and choose a coherent set of constraints.

Footnote:

* At the time of writing, the system does not directly support portfolio weightings; the equations are generated at within the sector code. Making portfolio weightings more systematic is a convenient feature that will be added as the project develops.

(c) Brian Romanchuk 2017

4 comments:

  1. Brian, this is super intresting initiative. I might need to learn Python after all :)

    This is something I struggle with:

    "1. The change in the total value of financial asset holdings is determined net cash flow. The net cash flow is usually equal to income (that is, including the effect of capital gains), but we may need to add flows that do not affect income. (For example, consumption spending by the household sector does not subtract from household income.) Income is driven by by flows in the real economy (wage income, goods purchases) and transfers (dividends, taxes)."

    What do you mean by the net cash flow? Is it the same as change in loans and thus change in quantity of money (=deposits)? Is the total value of financial asset holdings determined by the change in quantity of money plus capital gains during that period. Or is there other components? Does your model incorporate inflation, so this also affects the capital gains?

    ReplyDelete
    Replies
    1. Python is one of the easier programming languages to learn. It's not aimed solely at statistical style analysis (like R), so it has less built in series analysis tools, but it is much cleaner to work with.

      The net cash flow is the sum of all the income and financing cash flows. It's somewhat hard to define using everyday language, as some cash flows are not considered income depending on the context. If I buy a piece of tax software for personal use, it has no effect on income, but if a business buys it, it subtracts from income. However, in both cases, the expenditure is a cash outflow.

      If money were the only financial asset in the economy, this net cash flow would be the change in money.

      As soon as the models have financial assets that generate capital gains, we need to add in the asset price changes (capital gains as well). For example, if you own 100 shares that go from $1 to $2 in the next period, you can hold $100 more in shares without any cash flows required.

      I am attempting to replicate the models in Godley and Lavoie's "Monetary Economics" in order, and I have not hit inflation accounting yet. (The accounting for price changes in markets is one of the last major hurdles I have to deal with. Right now, markets are analysed in terms of the cash flows between sectors; the quantities and prices are ignored.)
      I am unsure how I want to treat the effects of inflation on capital gains; since taxes are levied on nominal prices, I would probably keep the treatment in nominal terms. Behavioural equations might be more complex, but that is not a concern for me; the challenge for the system is setting up relationships between sectors, and keeping everything consistent. I think the real challenge for inflation would show up with inventory accounting.

      Delete
    2. Thanks for the elaboration. This is very interesting as I have tried to read through my copy of Monetary Economics and understand the ideas and run some models.

      "If money were the only financial asset in the economy, this net cash flow would be the change in money.

      As soon as the models have financial assets that generate capital gains, we need to add in the asset price changes"

      This makes perfect sense. And change in money is change in loans ("deltaM = deltaL") in the "Monetary Economics" models, e.g. model ch. 7.

      "If I buy a piece of tax software for personal use, it has no effect on income, but if a business buys it, it subtracts from income."

      This is something I do not get. Doesn't expenditures generate profits regardless of the origin?

      Delete
    3. To clarify - household income is not reduced by consumption spending, but it would reduce business income. (Unless it is classified as investment, in which case it will end up being depreciated).

      Delete

Note: Posts may be moderated, and there may be a considerable delay before they appear.

Although I welcome people who disagree with me, please be civil.

Please note that my spam comment filter appears to dislike long "anonymous" posts. I get no warning about this, and only go through my "spambox" infrequently. The best bet it to keep comments short, and if you think the spam filter struck, let me know with a short comment.