# coinGame2

Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)

# coinGame2

Author: Rupert Nagler, Jan 2020, nagler@idi.co.at

## WHAT IS IT?

**"The rich get richer"** - you can hear it everywhere today. But why?
Playing with this model you will learn and understand the intrinsic workings of **multiplicative growth** and a possible remedy. We abstract economic transactions by
simulating a bilateral coin game played pairwise by a set of turtles sitting on a blue 2d-world. The vertical position reflects their actual wealth, the horizontal position the turtle's unique who number. Currently playing pairs are pictured by a link.
Lorenz Curve, Gini Coefficient and a histogram show the actual distribution of wealth.
You can explore the effects of cumulative growth obscured by the **misleading ergodic hypothesis** in traditional economics and the **benefits of cooperation** induced by a form of wealth-tax.
Idea influenced by Ole Peters, LML, see:
https://ergodicityeconomics.files.wordpress.com/2018/06/ergodicity_economics.pdf

## HOW IT WORKS

- A fraction "select-ratio" of turtles throw a coin pairwise at each tick, the bet is a fraction "transfer-ratio" of the minimum of the wealth of both turtles.
- For the looser the bet is multiplied by "loose-mult" and then subtracted from his wealth. For the winner the bet is multiplied by "win-mult" and then added to his wealth.
- After all pairs have thrown their coins and their wealth was transferred, some redistribution in the form of a wealth-tax may be applied: If "tax-factor" is > 0 and wealth is > "tax-limit" a wealth tax (wealth * tax-factor) is subtracted. Then the collected wealth tax is redistributed evenly to all turtles or to the poor turtles below tax-limit, depending on the switch "redist-all?".
- So you can simulate the effects of cooperation thru risk-sharing between players.

## HOW TO USE IT

- Use the sliders to control the number of turtles "num-turtles" and the initial wealth "init-wealth".
- If you switch "random-init-wealth?" to "off" each turtle receives the equal "init-wealth" wealth. If you switch "random-init-wealth?" to "on" each turtle receives a random wealth between 1 and "init-wealth".
- Set the fraction of the minimum wealth of both turtles "leverage" to bet and the fraction of all turtles to play in one tick "selection-ratio".
- Set the multiplicative factors "loose-mult", "win-mult" (default: 1.0) to be applied to the transfer of the bet.
- Optional set a "tax-factor", "tax-limit", and "redist-all?"
- If you want bancrupt turtles to die, set "turtles-die?" to on.
- To initialize the simulation "setup".
- To play one round press "go-1", to play as long as you wish, press "go".

## THINGS TO NOTICE

- You see all turtles sitting on the black world area. Each turtle will go up or down vertically dependent of its current wealth after each tick.
- Each pair of turtles (link) engaged in throwing a coin is connected by a line.
- In the wealth-plot you see min, max, mean and median of the turtles wealth on a log10 scale.
- In the wealth-distribution histogramm you see the number of turtles in different classes of wealth.
- In the Lorenz Plot you see the actual shape of the Lorenz Curve.
- In the Gini Plot you see the value of the Gini Coefficient over time.

## THINGS TO TRY

- Try different values for multiplicative growth ("loose-mult", "win-mult"),
- Compare the wealth-distribution for no multiplicative growth (set both "loose-mult", "win-mult" to 1.0) to other values of multiplicative growth (eg. 0.6, 1.5)
- Try different "tax-factor"s and "tax-limits", switch "redist-all?" on/off.
- What effects can you see in the histogram, Gini Plot and Lorenz Curve?

## EXTENDING THE MODEL

- better visualization ideas?
- turtles die of age and get children
- implement heritage tax

## NETLOGO FEATURES

- using turtle world to show turtle ranking by position,
- histogram on varying upper and lower bounds,

## RELATED MODELS

http://ccl.northwestern.edu/netlogo/models/WealthDistribution http://ccl.northwestern.edu/netlogo/models/Sugarscape3WealthDistribution

## CREDITS & REFERENCES

credit: computation of lorenz curve and gini index copied from: NetLogo models WealthDistribution

in-depth readings:

Wikipedia: Distribution of wealth, retrieved 12/2019
https://en.wikipedia.org/wiki/Distribution*of*wealth

Wikipedia: Lorenz Curve, retrieved 12/2019 https://en.wikipedia.org/wiki/Lorenz_curve

Wikipedia: Gini Coefficient, retrieved 12/2019 https://en.wikipedia.org/wiki/Gini_coefficient

Wikipedia: Ergodic process, retrieved 12/2019 https://en.wikipedia.org/wiki/Ergodic_process

Ergodicity Economics, Ole Peters and Alexander Adamou, 2018 https://ergodicityeconomics.files.wordpress.com/2018/06/ergodicity_economics.pdf

Entrepreneurs, Chance, and the Deterministic Concentration of Wealth, Joseph E. Fargione u.a., 2011 https://journals.plos.org/plosone/article/file?id=10.1371/journal.pone.0020728&type=printable

An evolutionary advantage of cooperation, Ole Peters and Alexander Adamou, 2018 https://arxiv.org/pdf/1506.03414.pdf

Capital and Ideology, Thomas Piketty, 2019 http://piketty.pse.ens.fr/files/Piketty2020SlidesLongVersion.pdf

Farmers Fable: Simulation benefits of cooperation, retrieved 12/2019 https://www.farmersfable.org/

Gier, Marc Elsberg, novel, blanvalet 2019 https://gier-das-buch.de/gier.php

## COPYRIGHT

Copyright 2020 Rupert Nagler, nagler@idi.co.at. All rights reserved. Permission to use, modify or redistribute this model is hereby granted, provided that both of the following requirements are followed:

- this copyright notice is included.
- this model will not be redistributed for profit without permission from Rupert Nagler.

Contact the author for appropriate licenses for redistribution for profit.

## Comments and Questions

; coinGame2 Rupert Nagler Jan 2020 globals [ gini-index-reserve ; actual gini % lorenz-points ; list of lorenz-points count-notax-turtles ; number of turtles paying no tax ; win-mult and loose-mult are global growthrates to introduce multiplicative growth ; for positive growth set loose-mult < win-mult ; additrive growth is interinsic as bet is moved from looser to winner ] turtles-own [ wealth ; actual wealth of turtle tax ; actual amount of wealth tax turtle has payed ] to setup clear-all ask patches [set pcolor 73] setup-turtles set count-notax-turtles 0 update-lorenz-and-gini reset-ticks end to setup-turtles create-turtles num-turtles [ set heading 0 set color yellow set shape "circle" ifelse random-init-wealth? [ ; random distributuion set wealth random-float init-wealth ][ ; equal distribution set wealth init-wealth ] set tax 0 ; place turtle on plain according id(own) on x-axsis and wealth on y-axsis setxy (who / num-turtles * 100) wealth ] end to go clear-links ; delete all links of player pairs from old round gaming taxing moving if count turtles < 2 [stop] update-lorenz-and-gini tick end to gaming ; build random list of all turtles participating in new game round let game-turtles [self] of n-of (count turtles * select-ratio) turtles while [length game-turtles > 1] [ ; select a pair and transfer bet let tlooser one-of game-turtles ; select looser and remove from list set game-turtles remove tlooser game-turtles let twinner one-of game-turtles ; select winner and remove from list set game-turtles remove twinner game-turtles let minwealth min list [wealth] of tlooser [wealth] of twinner ; compute lower wealth let diffwealth (minwealth * leverage) ; amount to bet ask twinner [ ; winner receives bet, multiplicated by winners growth rate set wealth wealth + (diffwealth * win-mult) ] ask tlooser [; looser pays bet, multiplicated by loosers growth rate set wealth wealth - (diffwealth * loose-mult) create-link-to twinner ] ] end to taxing if tax-factor > 0 [ ; do we have to compute taxes? let notax-turtles [self] of no-turtles ; empty unsorted list of turtles let sumtax 0 ask turtles [ ; pay wealth tax ifelse wealth > tax-limit [ ; is there a tax to pay? set tax wealth * tax-factor set wealth wealth - tax ; turtle pays tax set sumtax sumtax + tax ; add to total tax collected ] [ set tax 0 set notax-turtles lput self notax-turtles ; add to list of notax-turtles ] ] set count-notax-turtles length notax-turtles ; number of notax-turtles ifelse (redist-all?) or (count-notax-turtles <= 0) [ ; do we have to redistribute to all turtles? let mtax (sumtax / count turtles) ; divide total tax between all turtles ask turtles [ ; distribute tax collected to all turtles set wealth wealth + mtax ; redistribute ] ] [ ; distribute tax collected only to no-tax-turtles let mtax (sumtax / count-notax-turtles) ; divide total tax between all no-tax-turtles ask turtle-set notax-turtles [ ; changes list into agentset set wealth wealth + mtax ; redistribute ] ] ] end to moving ask turtles [ if turtles-die? [ ; should bancrupt turtles die? if wealth < 1.0E-10 [die] ] ; move turtles to their y-position according to their wealth set ycor (wealth + min [wealth] of turtles) / max [wealth] of turtles * 100 ] end to update-lorenz-and-gini ; recompute value of gini-index-reserve and the points in lorenz-points for the Lorenz and Gini-Index plots let sorted-wealths sort [wealth] of turtles let total-wealth sum sorted-wealths let wealth-sum-so-far 0 let index 0 let c-turtles count turtles set gini-index-reserve 0 set lorenz-points [] ; now actually plot the Lorenz curve -- along the way, we also calculate the Gini index repeat c-turtles [ set wealth-sum-so-far (wealth-sum-so-far + item index sorted-wealths) set lorenz-points lput ((wealth-sum-so-far / total-wealth) * 100) lorenz-points set index (index + 1) set gini-index-reserve gini-index-reserve + (index / c-turtles) - (wealth-sum-so-far / total-wealth) ] end

There are 3 versions of this model.

## Attached files

File | Type | Description | Last updated | |
---|---|---|---|---|

coinGame2.png | preview | Preview for 'coinGame2' | 8 days ago, by Rupert Nagler | Download |

This model does not have any ancestors.

This model does not have any descendants.