Stochastic Chaotic Market Competition
Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)
THE MODEL
BY Carlos Pedro Gonçalves and Carlos Rouco (2025)
Lusófona University (https://www.ulusofona.pt/en/), School of Economic and Organizational Sciences (https://eceo.ulusofona.pt/), Civil Aviation and Airports Management Department.
The current model simulates a market competition dynamics in a network of competing companies for a noisy coupled logistic map. The network links correspond to competition links between the companies, a less connected company has a niche strategy that allows it greater differentiation, while a more connected company corresponds to a company that has a wider range of market presence (market leader).
The network uses Watts–Strogatz small-world model (https://en.wikipedia.org/wiki/Watts%E2%80%93Strogatz_model).
The model is based on a coupled logistic map with driven growth rate.
In this case each company's sales are given by the market sales' carrying capacity multiplied by the company's fitness for each trading round:
s(i,t)=fitness(i,t)*K
The fitness is updated by a coupled stochastic logistic map with a varying grow rate with a seasonal component in accordance with the following algorithm:
Step 1: the fitness driver is updated incorporating a varying logistic growth rate factor r(i,t) and a stochastic shock in accordance with the equation:
F(fitness(i,t-1)) = (1 - stochastic-shock-level) * r(i,t) * fitness(i,t-1) * (1 - fitness(i,t-1)) + stochastic-shock-level * u(i,t)
The stochastic factor u(i,t) is IID noise characterized by a uniform distribuion on the unit interval, while the local growth rate factor is updated by the conditional rule:
if r + A * fitness(i,t-1) * (sin(2 * pi * t / period) + 1) > 4 then r(t)=4 else r(t) = r + A * fitness(i,t-1) * (sin(2 * pi * t / period) + 1)
The seasonal sinusoidal component thus has a varying amplitude that depends upon the fitness value.
Step 2: is the standard local coupled map on a network using the weighted average between the local fitness driver function F(fitness(i,t-1)) calculated in step 1 and the average of the network neighbors (the direct competitors) fitness driver values
fitness(i,t) = (1-coupling) * F(fitness(i,t-1)) + coupling *
This last rule simulates a tension between local mean field convergence due to competition and company specific factors driving the company's sales F(fitness(i,t-1)).
HOW TO USE IT AND THINGS TO TRY
The interface is comprised of network parameter sliders and dynamical map sliders.
The network specific sliders are comprised of the market size in terms of number of companies, the initial neighborhood size and rewiring probability for the Watts–Strogatz network to be built. The Histogram for the degree distribution is provided.
The user can try different network parameters and evaluate their impact on the dynamics.
The sliders for the dynamical map include:
a) The parameter K which corresponds to the logistic map's carrying capacity, in this case, applied to the evolutionary economic game dynamics;
b) r is the base growth rate factor as per explained above;
c) init-finess is the initial fitness level that is set the same for every company;
d) coupling is the network coupling used for the coupled map dynamics as explained above;
e) stochastic-shock-level is the level of the stochastic component in the stochastic logistic map;
f) A is the amplitude for the seasonal component in the time-varying local growth rate factor as addressed above;
g) period is the period for the seasonal component in the time-varying local growth rate factor as addressed above.
h) the transient slider is used to drop possible transients in plotting, the trading rounds until the transient time are not plotted
The plots show the dynamics for the mean sales and the standard deviation of sales in terms of times series charts and also on an scatterplot, which allow the user to see how the spatial dispersion around the mean sales and the mean sales are related. This allows for the study of synchronization and desynchronization dynamics and evaluate the overall economic dynamics of the market.
The growth rate vs mean fitness dynamics is also shown on a scatterplot.
NETLOGO FEATURES
The model incorporates the network extension and stochastic chaotic dynamics in a coevolutionary agent-based model, showing the applications of stochastic chaos to nonlinear economic dynamics.
CREDITS AND REFERENCES
The model should be cited as:
Gonçalves C.P. and Rouco C. (2025). Stochastic Chaotic Market Competition. Chaos Theory and Complexity Sciences Research Project. Lusófona University. https://sites.google.com/view/chaos-complexity
Comments and Questions
breed [companies company]
companies-own [fitness
growth-factor
sales
fitness-driver
degree
]
undirected-link-breed [competitors competitor]
extensions [nw]
globals [
unique-degrees
frequencies
t]
to setup
ca
set t 0
create-ordered-companies market-size
[
set shape "circle"
set size 1.2
set fitness init-fitness
set growth-factor r
]
nw:generate-watts-strogatz companies competitors market-size init-neighborhood-size rewiring-probability
ask companies [set degree count my-competitors]
ask companies with [degree = 0] [ let target one-of other companies
create-competitor-with target]
ask companies [set degree count my-competitors
]
layout-circle companies (market-size / 2)
ask competitors [set color white]
set-current-plot "Degree Distribution"
set-current-plot-pen "Degree"
set-plot-x-range 1 max [degree] of companies + 10
histogram [degree] of companies
reset-ticks
end
to go
tick
set t t + 1
ask companies [set growth-factor r + A * fitness * (sin(2 * pi * t / period) + 1)
if growth-factor > 4 [set growth-factor 4]
set fitness-driver (1 - stochastic-shock-level) * growth-factor * fitness * (1 - fitness) + stochastic-shock-level * random-float 1.000]
ask companies [set fitness (1 - coupling) * fitness-driver + coupling * mean [fitness-driver] of competitor-neighbors
set sales fitness * K
]
if ticks >= transient [do-plots]
end
to do-plots
let mean-sales mean [sales] of companies
let sd-sales standard-deviation [sales] of companies
set-current-plot "Mean Sales"
set-current-plot-pen "Mean"
plot mean-sales
set-current-plot "Standard Deviation of Sales"
set-current-plot-pen "Standard Deviation"
plot sd-sales
set-current-plot "Mean vs Standard Deviation"
set-current-plot-pen "Mean vs SD"
plotxy mean-sales sd-sales
set-current-plot "Mean Growth Rate vs Mean Fitness"
set-current-plot-pen "(r(t), fitness(t))"
set-plot-x-range (r - 0.01) 4
set-plot-y-range 0 1
plotxy mean [growth-factor] of companies mean [fitness] of companies
end
There is only one version of this model, created 1 day ago by Carlos Pedro S. Gonçalves.
Attached files
| File | Type | Description | Last updated | |
|---|---|---|---|---|
| Stochastic Chaotic Market Competition.png | preview | Preview for 'Stochastic Chaotic Market Competition' | 1 day ago, by Carlos Pedro S. Gonçalves | Download |
This model does not have any ancestors.
This model does not have any descendants.
Download this model