image
Чарльз Понци – создатель первой финансовой пирамиды

В данной статье мы увидим как создаются, счастливо живут, и умирают финансовые пирамиды.

Финансовая пирамида в классическом понимании этого слова (деньги предыдущим «вкладчикам» выплачиваются за счет следующих) была придумана Чарльзом Понци, в 1919 году им была создана финансовая пирамида и в 1920 году «предприятие» закрылось. Сколько «вкладчиков» может быть у финансовой пирамиды? У финансовой пирамиды может быть 15 млн «вкладчиков» (финансовая пирамида созданная Сергеем Мавроди, 1994 год). Сколько по времени может просуществовать финансовая пирамида? Финансовая пирамида Бернарда Мэддофа работала 17 лет (с 1991 по 2008), при этом «вкладчикам» казалось что они вкладывают деньги в инвестиционный фонд, так как «предприятие» заявляло доходность 12% в год и по уровню доходности не отличалось от других инвестиционных фондов.

Давайте проверим устойчивость финансовой пирамиды с помощью математического моделирования.

Как будем создавать математическую модель? На языке программирования питон. Что нужно чтобы создать математическую модель финансовой пирамиды? Ну для начала нужно формализовать как она будет работать.

Вот пример того как может выглядеть финансовая пирамида.

Есть основатель, он получает прибыль от финансовой пирамиды. Есть «вкладчики», они заводят «счет» в финансовой пирамиде (в нашем случае это будет случайная сумма от 1 $ до 100 $, случайная сумма – целое, не дробное число). Каждый день «вкладчикам» выплачивается процент прибыли с их суммы (в нашем случае 1% в день). Также допустим что в финансовой пирамиде есть 2 счета: 1-й – это счет основателя, 2-й – это основной счет для финансовой деятельности (из него выплачиваются проценты «вкладчикам»). Допустим что каждый день основатель берет 9% от основного счета и переводит себе на счет (ну ему же нужны деньги). Ну и собственно, формула роста числа вкладчиков: допустим что число вкладчиков увеличивается на 10% в день. Поскольку число вкладчиков – целое, то для прироста на 1 человека в день нам нужно 10 человек, для этого первые 10 дней запрограммируем рост числа вкладчиков не как 10% в день, а на 1 человека в день. Матмодель будет работать пока число «вкладчиков» меньше 500000 (можно смоделировать для любого числа которое сможет рассчитать ваш компьютер, но больше 500000 у меня компьютер уже начинает медленно обрабатывать информацию). Матмоделирование будет происходить по дням.

Код математической модели:

import random


def pay_percents(deposits, gathered_money):
    for deposit in deposits:
        gathered_money -= deposit / 100
    return gathered_money


day = 0
deposits = []
investors_count = 0
gathered_money = 0
organizer_account = 0
while investors_count < 10:  # gather first 10 'investors'
    investors_count += 1
    new_investor_money = random.randint(1, 100)
    gathered_money += new_investor_money
    if day != 0:
        gathered_money = pay_percents(deposits, gathered_money)
    deposits.append(new_investor_money)
    organizer_account += 0.09 * gathered_money  # pay to organizer (replenish organizer's account)
    gathered_money -= 0.09 * gathered_money  # pay to organizer (take money from gathered money)
    day += 1
    print('day =', day)
    print('money in scheme =', gathered_money)
    print('investors count =', investors_count)
    print('---')  # for better viewing results
while investors_count < 500000:
    new_wave_investors_count = int(0.1 * investors_count)
    for _ in range(0, new_wave_investors_count):
        new_investors_money = random.randint(1, 100)
        deposits.append(new_investors_money)
        gathered_money += new_investors_money
    gathered_money = pay_percents(deposits[:investors_count], gathered_money)
    investors_count += new_wave_investors_count
    organizer_account += 0.09 * gathered_money  # pay to organizer (replenish organizer's account)
    gathered_money -= 0.09 * gathered_money  # pay to organizer (take money from gathered money)
    day += 1
    print('day =', day)
    print('money in scheme =', gathered_money)
    print('investors count =', investors_count)
    print('---')
print('organizer account money =', organizer_account)
print('money in scheme =', gathered_money)
print('investors count =', investors_count)

Ну что же, вот результаты:

image
Красный график — счет основателя, черный график – основной счет пирамиды

Срок работы пирамиды — 129 дней, количество «вкладчиков» – 521893 человек. Пирамида принесла нам 23 млн $ за 129 дней. 23 млн $ за 4 месяца, неплохо.

При этом на 129 день пирамида не развалилась, то есть эти 129 дней она была устойчивой. Почему так произошло? Ну матмодель описывает идеальный случай, и в реальности не факт, что прирост «вкладчиков» первые 10 дней составлял бы 1 человек в день, а после 10 дней составлял бы 10% в день. Вообще срок жизни финансовой пирамиды определяется только 2-мя величинами: процентом, который выплачивается вкладчикам, и формулой прироста новых вкладчиков.

Из определения работы финансовой пирамиды известно, что она развалится в любом случае, так как конечно число людей на Земле.

Постойте. Население Земли постоянно увеличивается, то есть не является постоянным. Что если финансовая пирамида охватит весь мир, и при этом будет учитываться рост населения Земли.

Делаем математическую модель.

На этот раз изменим правила работы финансовой пирамиды. У нас как и раньше есть основатель финансовой пирамиды, и он как и раньше берет 9% в день от общего счета финансовой пирамиды. Но моделирование случайной суммы вклада мы заменим на постоянную сумму которую будет вносить «среднестатистический» житель Земли. Также будем считать что «среднестатистический» житель Земли получает «среднестатистическую» заработную плату на Земле. И «среднестатистический» житель Земли если у него уже есть «депозит», при получении заработной платы обязательно внесет еще один «вклад», на ту же самую фиксированную сумму. В общем, мы будем моделировать ситуацию, при которой человек относит все свои свободные средства при получении заработной платы в финансовую пирамиду. Формула прироста «вкладчиков» будет такая: первые 10 дней – 1 человек в день, далее 10% в день от текущего числа «вкладчиков», а когда мы упремся в число людей на Земле, которое способно сделать «вклад», то уже будет учитываться прирост населения Земли в день, и в этот период времени прирост «вкладчиков» будет соответствовать максимально возможному числу «вкладчиков» которые способны внести «депозит».

Давайте сделаем некоторые допущения.

Допустим что «среднестатистический» житель Земли, который получает «среднестатистическую» заработную плату, получает ее 1 раз каждые 30 дней.

Теперь нужно определить «среднестатистическую» заработную плату на Земле.

Таблица среднестатистических заработных плат за 2018 год по странам

Страна Средняя заработная плата (USD)
1 Швейцария 5426,27
2 Люксембург 3565
3 Катар 3372,63
4 Австралия 3306,13
5 Объединенные Арабские Эмираты 3182,48
6 Норвегия 3176,34
7 Сингапур 3148,24
8 Дания 3068,11
9 США 2835,07
10 Гонконг 2750,64
11 Сан-Марино 2675
12 Ирландия 2609,14
13 Япония 2495,92
14 Нидерланды 2473,05
15 Финляндия 2451,07
16 Германия 2420,63
17 Новая Зеландия 2406,44
18 Швеция 2360,21
19 Кувейт 2358,91
20 Исландия 2307,46
21 Великобритания 2270,29
22 Канада 2253,74
23 Южная Корея 2167,48
24 Франция 2121,82
25 Израиль 2079,5
26 Бельгия 2048,73
27 Австрия 1982,06
28 Оман 1891,73
29 Саудовская Аравия 1868,24
30 Италия 1841,34
31 Тайвань 1626,59
32 Бахрейн 1573,56
33 Пуэрто-Рико 1481,28
34 Испания 1412,39
35 Мальта 1200,53
36 Кипр 1188,79
37 Южно-Африканская Республика 1163,46
38 Макао 1150
39 Словения 1118,92
40 Бруней 1100,15
41 Ливан 1056,87
42 Ямайка 1030
43 Антигуа и Барбуда 950
44 Сейшельские Острова 920
45 Эстония 909,38
46 Чехия 908,43
47 Малайзия 892,22
48 Китай 888,29
49 Португалия 883,61
50 Чили 872,62
51 Греция 862,39
52 Коста-Рика 846,34
53 Аргентина 845,53
54 Словакия 817,38
55 Экваториальная Гвинея 805
56 Маврикий 778
57 Барбадос 778
58 Польша 766,58
59 Хорватия 751,08
60 Ирак 748,53
61 Сент-Люсия 705
62 Турция 689,34
63 Панама 683,51
64 Ботсвана 680
65 Латвия 668,86
66 Литва 668,39
67 Россия 637,7
68 Иордания 619,35
69 Уругвай 613,12
70 Намибия 601,08
71 Бразилия 586,63
72 Гватемала 577,11
73 Ливия 575,12
74 Молдова 560
75 Мексика 551,98
76 Венгрия 544,18
77 Мальдивы 540
78 Судан 510
79 Перу 502,92
80 Румыния 502,29
81 Индия 501,72
82 Болгария 492,89
83 Черногория 485,46
84 Иран 485,44
85 Боливия 482,38
86 Фиджи 480
87 Албания 465
88 Эквадор 462,96
89 Монголия 458
90 Босния и Герцеговина 453,65
91 Косово 415
92 Таиланд 414,8
93 Ангола 402
94 Белиз 390
95 Марокко 389,45
96 Мавритания 380
97 Доминиканская Республика 378,13
98 Сербия 369,52
99
Казахстан 360,75
100 Сальвадор 350,47
101 Беларусь 347,89
102 Колумбия 343,01
103 Бангладеш 331,59
104 Нигерия 325,46
105 Филиппины 323,89
106 Индонезия 322,05
107 Гана 321,22
108 Македония 320,17
109 Туркменистан 320
110 Кения 314
111 Алжир 308,04
112 Тунис 293,21
113 Египет 288,35
114 Азербайджан 282,9
115 Гренада 280
116 Армения 265,71
117 Грузия 264,9
118 Пакистан 259,55
119 Вьетнам 254,13
120 Узбекистан 249,32
121 Мьянма 248
122 Эфиопия 240,18
123 Шри-Ланка 238,7
124 Киргизия 220
125 Лаос 214
126 Молдавия 199,41
127 Украина 194,88
128 Камбоджа 187,06
129 Суринам 170
130 Непал 169,56
131 Уганда 165,16
132 Джибути 165
133 Сенегал 160
134 Гондурас 150
135 Камерун 146
136 Бурунди 140
137 Сирия 129,39
138 Таджикистан 110
139 Республика Гаити 95
140 Кабо-Верде 80
141 Руанда 75
142 Мозамбик 72
143 Чад 62
144 Гвинея-Бисау 62
145 Лесото 52
146 Замбия 48
147 Танзания 45
148 Мали 44
149 Либерия 42
150 Мадагаскар 35
151 Бутан 35
152 Афганистан 34
153 Республика Конго 32
154 Соломоновы Острова 30
155 Гамбия 29
156 Восточный Тимор 28
157 Демократическая Республика Конго 27
158 Венесуэла 24,6
159 Малави 22
160 Зимбабве 21


В таблице 160 стран.

Средняя заработная плата на Земле = складываем все заработные платы, а потом делим получившееся число на 160 = 876$

Итак, у нас есть средняя заработная плата на Земле. Но «среднестатистический» житель Земли не будет относить все свою заработную плату в финансовую пирамиду, он будет относить только свободные средства которые остаются от заработной платы. Свободными средствами будем считать заработную плату минус расходы на еду и минус различные налоги.

Будем считать что «среднестатистический» житель Земли тратит в месяц 22% от своей заработной платы на еду и 13% на различные налоги.

Внести «депозит» может только работающий житель Земли. Будем считать что количество работающих жителей Земли составляет 47% от всего населения Земли. Также будем учитывать, что когда мы упремся в число людей на Земле которое способно сделать «вклад», то будет учитываться прирост населения Земли в день, и в этот период времени будут приниматься «вклады» только от работающих людей, то есть 47% от числа людей, на которое увеличивается население Земли в день.

Теперь нужно определить прирост населения Земли в день.

В 2017 году население Земли составляло 7.5 млрд человек. В 2018 году население Земли составляло 7.6 млрд человек.

Будем считать что 1 января 2019 года (начальный день моделирования финансовой пирамиды) население Земли составляло 7.7 млрд человек. Также допустим, что население Земли увеличивается на 273973 ((7.7 млрд – 7.6 млрд)/365 дней) человека в день, и учтем что население Земли растет на 1,1% в год или на 0.0030136986% в день.

Теперь учтены все нужные параметры, можно делать математическую модель.

day = 0
investors_count = 0
investors_accounts = 0
average_salary = 876
tax = 13
meal = 22
gathered_money = 0
organizer_account = 0
previous_investors_count = 0
payment_per_month = average_salary - (average_salary / 100 * tax) - (average_salary / 100 * meal)
earth_population = 7700000000
people_per_day = 273973
while investors_accounts < 10:  # gather first 10 'investors'
    people_per_day += int(people_per_day / 100 * 0.0030136986)
    earth_population += people_per_day
    gathered_money += payment_per_month
    if day != 0:
        gathered_money -= investors_accounts * 0.01 * payment_per_month  # pay to 'investors'
    organizer_account += 0.09 * gathered_money  # pay to organizer (replenish organizer's account)
    gathered_money -= 0.09 * gathered_money  # pay to organizer (take money from gathered money)
    investors_count += 1
    investors_accounts += 1
    day += 1
    print('day =', day)
    print('organizer account =', organizer_account)
    print('gathered money =', gathered_money)
    print('investors count =', investors_count)
    print('investors accounts =', investors_accounts)
    print('---')  # for better viewing results
while gathered_money > 0:
    people_per_day += int(people_per_day * 0.0030136986)
    earth_population += people_per_day
    day += 1
    if investors_count <= (0.47 * earth_population):
        new_wave_investors_count = int(0.1 * investors_accounts)
    else:
        new_wave_investors_count = int(0.47 * people_per_day)
    if day % 30 == 0:
        previous_investors_count = investors_count
        if day // 30 > 1:
            investors_count += new_wave_investors_count
            new_investors_money = payment_per_month * new_wave_investors_count
            gathered_money += new_investors_money + previous_investors_count * payment_per_month
            organizer_account += 0.09 * gathered_money  # pay to organizer (replenish organizer's account)
            gathered_money -= 0.09 * gathered_money  # pay to organizer (take money from gathered money)
            gathered_money -= investors_accounts * 0.01 * payment_per_month  # pay to 'investors'
            investors_accounts += new_wave_investors_count + previous_investors_count
        else:
            investors_count += new_wave_investors_count
            new_investors_money = payment_per_month * new_wave_investors_count
            gathered_money += new_investors_money
            organizer_account += 0.09 * gathered_money  # pay to organizer (replenish organizer's account)
            gathered_money -= 0.09 * gathered_money  # pay to organizer (take money from gathered money)
            gathered_money -= investors_accounts * 0.01 * payment_per_month  # pay to 'investors'
            investors_accounts += new_wave_investors_count
    else:
        investors_count += new_wave_investors_count
        new_investors_money = payment_per_month * new_wave_investors_count
        gathered_money += new_investors_money
        organizer_account += 0.09 * gathered_money  # pay to organizer (replenish organizer's account)
        gathered_money -= 0.09 * gathered_money  # pay to organizer (take money from gathered money)
        gathered_money -= investors_accounts * 0.01 * payment_per_month  # pay to 'investors'
        investors_accounts += new_wave_investors_count
    print('day =', day)
    print('organizer account =', organizer_account)
    print('gathered money =', gathered_money)
    print('investors count =', investors_count)
    print('investors accounts =', investors_accounts)
    print('---')

Вот результаты:

image
Красный график — счет основателя, черный график — основной счет пирамиды. Красной точкой (на оси days) показан день, когда «предприятие» нужно закрывать.

image
График количества «инвесторов»

На 209 день денег в пирамиде будет недостаточно для выплаты денег предыдущим «вкладчикам».

Сумма организатора + деньги в пирамиде составляют максимум на 191 день работы пирамиды, на 191 день количество «вкладчиков» будет составлять 3,8 млрд человек. У «пирамидостроителей» есть свои «тонкости» работы, они заключаются не в том чтобы подольше выплачивать процент «вкладчикам», а в том чтобы закрыть «предприятие» в момент времени, когда сумма средств у «пирамидостроителя» будет максимальна. Под суммой средств подразумевается личный счет «пирамидостроителя» + деньги в пирамиде. Соответственно в данном случае мировой пирамиды организатору нужно ретироваться как минимум на Луну (на Земле то его уже все знают) на 191 день работы пирамиды. Жаль что 2 трлн $ на Луне потратить негде.

Комментарии (6)


  1. CryptoPirate
    28.08.2019 11:39
    +1

    Средняя заработная плата на Земле = складываем все заработные платы, а потом делим получившееся число на 160 = 876$

    Вас не смущает что в разных странах разное количество людей живёт?


  1. trofimovep
    28.08.2019 11:40

    Ну зачем было приводить всю таблицу зарплат, ее же несколько минут листать…
    То что, график основного счета пирамиды получился экспоненциальный не удивительно, это же обычный прирост, примерно как в сложных процентах.
    + было бы неплохо добавить случайное количество людей пополняющих и закрывающих вклад каждый день.
    + добавить выплату налогов, поскольку они будут зависеть от времени, график интереснее будет
    + наверное, не надо бы брать все страны, а какую-то группу стран: СНГ, например, тогда и таблица с зп была бы короче)))
    + при расчете средней зп, вы учитываете, что там плотность населения разная?
    Такие вещи не сложно добавить, но график должен поинтереснее получиться и быть более приближенным к идеальному случаю


  1. lmp59
    28.08.2019 13:19

    В начале 90-х было много пирамид. У нас на ВЦ делать было нечего, строили разные модели, оказалось ни одна и близко не приблизилась к реалиям, то есть день развала ни разу не угадали высчитали.


  1. karamalak
    28.08.2019 18:23

    Не хочу Вас расстраивать, но «Молдова» (74-ое) и «Молдавия» (126-ое) — это одна и та же страна. Причем в таблице эти две «разные страны» по средней зарплате различаются очень сильно. Скорее всего «Молдова» = «Мальдивы», т.к. в Молдове средняя зарплата как раз соответствует ~ 200$. Автор, проверь, пожалуйста, правильность данных всей таблицы))


    1. Alex_464638 Автор
      28.08.2019 18:31

      Эх… вся моя матмодель пошла по… «средней зарплате в Российской Федераци»


  1. Xander_Vi
    29.08.2019 13:33

    Вспоминается один случай, о котором я когда-то (давно) прочел в газете.
    Некий гражданин N предложил нескольким десяткам людей отправиться в поход. Все организационные расходы он обещал взять на себя. Поход планировался заранее, где-то за полгода и N попросил всех участников сдать по 500$, чтобы он оптом закупил необходимое снаряжение у якобы знакомого поставщика.
    Были оформлены расписки, никто не давал деньги под честное слово, разумеется.

    Спустя полгода, N очень сильно извинился перед участниками похода, объяснив, что по каким-то причинам похода не будет. Отдал всем людям их деньги. Участники несостоявшегося похода, конечно, расстроились, но по крайней мере, никто не ополчился против N, так как он не присвоил ничьи деньги и честно вернул всё, что брал полгода назад.

    Как оказалось впоследствии, никакой поход изначально и не планировался. Получив с нескольких десятков людей по 500$, N отнес полученные деньги в банк и положил на депозит сроком на полгода.
    Спустя 6 месяцев он снял деньги, вернул всем вкладчикам их законные 500$, а себе оставил проценты, набежавшие за полгода.