XXIHistorical Mode · 2000–2025
Historical Mode · 2000–2025

Как считается результат

История — это данные, а не сценарий. Мы нигде не написали «в 2008 году кризис, отнять 30%»: мы храним реальные исторические ряды — индексы акций, курсы валют, ставки, цены на сырьё, законы — и считаем, что произошло именно с вашим портфелем. Поэтому два игрока в одном и том же году получают совершенно разные результаты.

Ниже — расчёт года целиком. У каждой величины подписано, откуда она взялась: взята из опубликованного источника напрямую или получена нашей моделью из нескольких исторических рядов. Это разделение — не оговорка мелким шрифтом, а главное, что нужно понимать про цифры в этой игре.

Период2000–2025 · 26 хода
Базовая валютаUSD
Версия методологии3.1.0

Любое изменение формулы обязано менять эту версию. Уже рассчитанные годы навсегда сохраняют ту версию, под которой они считались.

00

Пять типов чисел

Каждая цифра в отчёте о годе принадлежит ровно одному из пяти типов, и тип виден прямо рядом с числом — и здесь, и в разборе любой строки ledger. Два первых типа важнее всех остальных: первый — это то, что действительно опубликовано, второй и третий — то, что посчитали мы.

ПРЯМЫЕ ИСТОРИЧЕСКИЕ ДАННЫЕИсторические данные

Это прямые исторические данные: значение взято из опубликованного ряда именно для этой величины, без пересчётов и допущений.

Например: Ставка по депозиту от Всемирного банка, долларовая цена биткойна.

МОДЕЛЬ: РЫНОК СТРАНЫ + ОТРАСЛЕВОЙ ПРОКСИИсторические данные

Это модель: взята реальная доходность рынка страны, к ней добавлена отраслевая поправка по мировому отраслевому индексу. Прямого индекса этой отрасли в этой стране не существует.

Например: Отраслевая поправка к доходности бизнеса.

ВЫВЕДЕНО ИЗ ИСТОРИЧЕСКИХ РЯДОВИсторические данные

Это расчёт из нескольких реальных исторических рядов — например, курс на начало и на конец года, превращённые в годовую доходность.

Например: Доходность рынка страны в долларах, доходность валюты, стоимость жизни.

ИГРОВОЕ ДОПУЩЕНИЕНаши решения

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

Например: Коэффициент λ, верхняя и нижняя границы доходности позиции, множитель стоимости жизни.

КУРИРУЕМОЕ ПРАВОВОЕ ПРАВИЛОНаши решения

Это правовое правило, выписанное вручную из законодательства соответствующего года.

Например: Ставка налога на прирост капитала, стоимость смены налогового резидентства, срок для получения гражданства.

Первые три типа опираются на источники: разница между ними в том, сколько рядов пришлось соединить, чтобы получить нужную величину.

Последние два источником не подтверждаются вовсе. Игровое допущение — наш выбранный коэффициент; правовое правило — упрощение реального законодательства до одного числа.

01

Порядок расчёта года

Год считается ровно в этом порядке, и результат зависит только от трёх вещей: капитала на начало года, ваших решений и исторических данных этого года. Ни случайности, ни скрытых модификаторов в расчёте нет — один и тот же ввод всегда даёт один и тот же результат.

капитал на начало года
   ↓  делится между позициями по вашим долям

   бизнес-позиция    начало × (1 + r_позиции)
   сбережения        начало × (1 + ставка) × (1 + r_валюты)

   =  валовая стоимость портфеля
   −  налоги
   −  стоимость жизни
   −  переезд
   −  гражданство
   ±  явные эффекты исторических событий

   =  капитал на конец года

Каждая позиция считается независимо от остальных. Бонуса за диверсификацию не существует: если несколько позиций сгладили вам просадку, это сделала история, а не начисление за количество строк.

02

Бизнес-позиция

Основная формула игры. Доходность бизнеса — это доходность рынка страны плюс часть того, насколько выбранная отрасль в этом году обогнала эталонный рынок.

r_позиции = r_страны + λ × r_отрасли
r_позиции = ограничивается нижней и верхней границей
конец     = начало × (1 + r_позиции)
ВеличинаТип числаЧто это и откуда
r_страныВЫВЕДЕНО ИЗ ИСТОРИЧЕСКИХ РЯДОВГодовая доходность широкого рынка акций страны, пересчитанная в доллары. Собирается из двух рядов: индекс акций декабрь к декабрю и курс валюты за те же два декабря. Пересчёт по курсу выполняется ровно один раз — иначе мы показали бы рост, которого долларовый инвестор не получил, или обвал, которого не было.
r_отраслиМОДЕЛЬ: РЫНОК СТРАНЫ + ОТРАСЛЕВОЙ ПРОКСИНасколько отрасль обогнала эталонный рынок: (1 + доходность отрасли) / (1 + доходность эталонного рынка) − 1. Отраслевой ряд — мировой отраслевой портфель или мировая цена товара, один и тот же для всех стран. Уровень доверия у этой величины никогда не бывает высоким.
λИГРОВОЕ ДОПУЩЕНИЕКакая доля отраслевого отклонения доходит до вашего бизнеса. Наш коэффициент, не историческая величина: частный бизнес в стране заведомо менее чувствителен к мировому отраслевому индексу, чем сам индекс.
границыИГРОВОЕ ДОПУЩЕНИЕНижняя и верхняя граница годовой доходности позиции. Защита от повреждённого значения в источнике; срабатывание всегда попадает в ledger.

Самое важное ограничение всей модели

Отраслевой фактор — это глобальный, по сути американский, отраслевой цикл или мировая цена товара. Он НЕ говорит, как отработала эта отрасль в выбранной вами стране: надёжного такого набора данных по десяткам стран за четверть века просто не существует, и выдумывать его мы не станем. Именно поэтому фактор применяется частично, через λ, и именно поэтому такая цифра всегда помечена как результат модели, а не как исторические данные.


Один λ на всё не работает — поэтому их два

Сырьевой фактор — это изменение цены товара, а биржевой отраслевой фактор — доходность акций. Их колебания несопоставимы по величине: нефть может подорожать вдвое за год, отраслевой индекс — почти никогда. Пока коэффициент был один, сырьевые отрасли упирались в ограничитель каждый год. А ограничитель, который срабатывает каждый год, — это уже не защита от испорченных данных, а игровая константа вместо истории. Поэтому у каждого семейства свой λ и свои границы.

СемействоλНижняя границаВерхняя граница
Биржевые отрасли
Отраслевые портфели: технологии, финансы, здравоохранение, промышленность и так далее. Сюда же попадает отрасль, для которой в датасете не записан способ расчёта фактора.
0.70−95%+500%
Сырьевые отрасли
Нефть и газ, металлы, золото, продовольственное сырьё, майнинг криптовалюты — всё, что считается по мировым ценам товаров.
0.35−95%+800%
Активы с мировой ценой
Криптовалюта. Считается по собственной цене актива — см. следующий раздел.
не применяетсяне применяетсяне применяется

Границы — это защита от повреждённого значения в источнике, а не игровая механика. Если ограничитель сработал, вы увидите это прямо в ledger, а обе строки — «рынок страны» и «отраслевая поправка» — уменьшатся пропорционально: так ни одна из них не поменяет знак из-за поправки на качество данных.

03

Актив с мировой ценой

Задокументированное отступление от общей формулы

Криптовалюта — не бизнес в стране. Биткойн, купленный «в Катаре», — тот же самый биткойн, что и в Германии, и катарский фондовый индекс не имеет никакого отношения к тому, что произошло с его ценой. Общая формула ошибалась здесь в обе стороны сразу: обвалы почти не доходили до игрока, потому что их разбавлял рынок страны, а в 2025 году рынок страны просто перевесил актив, и год падения читался как год прибыли. Поэтому такая позиция приносит собственную доходность актива.

r_позиции = r_актива
конец     = начало × (1 + r_актива)
ВеличинаТип числаЧто это и откуда
r_активаПРЯМЫЕ ИСТОРИЧЕСКИЕ ДАННЫЕСобственная долларовая доходность актива за год, посчитанная по его же цене. Здесь нет ни прокси, ни подстановки: это ровно то, что вы купили.

Ни доходности страны, ни λ, ни ограничителя. Наблюдаемая цена — это не смоделированная комбинация, и обрезать её значило бы заменить факт игровой константой. Страна при этом продолжает решать всё, что она действительно решает: налоги, резидентство, стоимость жизни. В ledger такая позиция даёт одну строку, а не две: строки «рынок страны» и «отраслевая поправка» называют две половины формулы, которой здесь нет.

Майнинг криптовалюты сюда не относится. Это компания в стране — с местным электричеством, местным регулированием и местным листингом, — и она считается по общей формуле без изменений, хотя читает тот же самый ряд цен.

04

Сбережения

Курс в игре — это количество национальной валюты за один доллар, поэтому ослабление валюты означает отрицательную доходность позиции в долларовом выражении.

наличные   конец = начало × (1 + r_валюты)
депозит    конец = начало × (1 + ставка) × (1 + r_валюты)

r_валюты = курс(прошлый год) / курс(этот год) − 1
ВеличинаТип числаЧто это и откуда
ставкаПРЯМЫЕ ИСТОРИЧЕСКИЕ ДАННЫЕСтавка по депозитам для страны и валюты. Основной источник — Всемирный банк; где его нет, берётся официальная альтернатива, а для нескольких стран — трёхмесячная межбанковская ставка, и это уже заменитель, помеченный низким доверием. Там, где не нашлось ни одного официального ряда, значение становится оценкой по сопоставимым странам — и помечается уже не как прямые данные, а как расчёт из исторических рядов.
r_валютыВЫВЕДЕНО ИЗ ИСТОРИЧЕСКИХ РЯДОВДоходность владения валютой в долларах, посчитанная из двух среднегодовых курсов. Это приближение «среднегодовой курс к среднегодовому»: направление и масштаб оно передаёт верно, но не совпадёт с покупкой 1 января и продажей 31 декабря.

В ledger депозит даёт две отдельные строки: проценты и валютное движение. Депозит в евро под 4% годовых при ослаблении евро на 9% даёт в долларах не −5%, а 1,04 × 0,91 − 1 = −5,36%, потому что курс действует и на начисленные проценты тоже. Этот перекрёстный эффект отнесён к валютной строке — это движение курса, а не проценты.

Доллар — базовая валюта учёта. Его доходность к самому себе равна ровно нулю: это определение, а не оценка. Наличные процентов не приносят вовсе, а если ставки по депозиту для пары «страна + валюта» в датасете нет, депозит просто недоступен — наличные в той же валюте при этом остаются.

05

Налоги

Мы не реализуем налоговые кодексы мира. Ставка в игре — это упрощённая эффективная ставка, выписанная вручную из законодательства нужного года: реальная система со ступенями, вычетами и исключениями сведена к одному числу. Поэтому она помечена как правовое правило, а не как исторический ряд. Считается, что в конце каждого года портфель ребалансируется, поэтому прибыль признаётся реализованной.

прибыль по бизнесу = Σ стоимость на конец − Σ стоимость на начало
база               = max(0, прибыль по бизнесу)
налог              = (база − порог) × ставка        если база > порога

процентная база    = Σ процентов по депозитам за год
ВеличинаТип числаЧто это и откуда
ставка и порогКУРИРУЕМОЕ ПРАВОВОЕ ПРАВИЛОУпрощённая эффективная ставка и годовой вычет, выписанные вручную из законодательства страны и года, с датой проверки.

В MVP применяются только два типа налога: Налог на прирост капитала, Налог на проценты. Остальные типы хранятся в данных, но не начисляются.

  • Убыток налогом не облагается и не возвращается.
  • Прибыль и убыток разных позиций внутри года суммируются: убыток по одной позиции уменьшает налогооблагаемую прибыль по другой.
  • Порог — это годовой вычет, а не порог отсечения: облагается только та часть базы, которая выше него.
  • Валютные движения по сбережениям не облагаются: ни один тип налога в нашей модели их не покрывает, а выдумывать новый мы не станем.
  • Перенос убытков на будущие годы в первой версии не реализован.
  • Налог считается по правилам страны вашего налогового резидентства. Если для страны и года правила нет, налог не начисляется, и это видно в отчёте о покрытии данных.
06

Стоимость жизни

Это не инфляция и не процент от капитала, а абсолютная сумма в долларах, которая списывается каждый год. Источник — конечное потребление домашних хозяйств на душу населения: среднее по всей экономике страны. Человек с инвестиционным капиталом почти наверняка живёт дороже этого среднего, поэтому цифру честно называть прокси, а не вашим бюджетом.

расходы за год = расходы на человека (USD)
               × размер домохозяйства
               × игровой множитель
ВеличинаТип числаЧто это и откуда
расходы на человекаВЫВЕДЕНО ИЗ ИСТОРИЧЕСКИХ РЯДОВКонечное потребление домашних хозяйств на душу населения, в постоянных долларах 2015 года. Среднее по экономике, а не ваш личный бюджет.
игровой множительИГРОВОЕ ДОПУЩЕНИЕНаш множитель к источнику. Любое значение, кроме единицы, было бы нашей выдумкой поверх данных.

Расходы списываются по стране, где вы живёте, а не где вы налоговый резидент: в игре это два разных решения. Показатель выражен в постоянных долларах 2015 года — он растёт только за счёт реального роста потребления, но не за счёт инфляции, тогда как ваш капитал номинальный.

07

Переезд и гражданство

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

стоимость переезда = курируемая стоимость × игровой множитель
ВеличинаТип числаЧто это и откуда
курируемая стоимостьКУРИРУЕМОЕ ПРАВОВОЕ ПРАВИЛОСтоимость смены налогового резидентства между конкретной парой стран в конкретном году, собранная вручную из официальных источников.
стоимость маршрутаКУРИРУЕМОЕ ПРАВОВОЕ ПРАВИЛОСтоимость маршрута получения гражданства и требуемый стаж резидентства — тоже курируемые правовые данные.
игровой множительИГРОВОЕ ДОПУЩЕНИЕНаш множитель к правовой стоимости переезда. Существует для того, чтобы настраивать трение миграции, не редактируя сами правовые данные.

Стоимость гражданства списывается в тот год, когда маршрут завершён, а не когда начат: начатый и брошенный маршрут не стоит ничего. Право на маршрут пересчитывается каждый год по накопленному стажу резидентства, и игра всегда говорит, чего именно не хватает.

08

События и ограничения

Историческое событие в первую очередь объясняет год. Повлиять на ваши деньги оно может только через явное проверенное правило и только в том, чего нет в рыночных и валютных рядах: взять реальную доходность рынка −37% и добавить сверху «модификатор кризиса» — это двойной счёт одного и того же события.

доля позиции в этом году  ≥  сила ограничения × её доля на конец прошлого года

Валютный контроль — это замок, а не убыток. Он не забирает деньги: он запрещает вывести долю позиции. Настоящая цена приходит через курс — вы заперты в слабеющей валюте, и это уже посчитано в валютном ряду. Замок держит юрисдикцию, а не название позиции: доля считается только по тому, что осталось в стране и валюте ограничения, поэтому сменить позиции страну — это и есть вывод средств, и он отклоняется.

09

Итог года и ledger

Ledger — не описание результата, а сам результат. Капитал на конец года не «примерно сходится» с построчным отчётом: он ему равен, и это равенство проверяется при каждом расчёте в бою, а не только в тестах. Если оно не сошлось, год не сохраняется вообще.

капитал на конец = капитал на начало + Σ изменений всех строк ledger

Если расходы года превысили весь капитал, год всё равно считается полностью — вы видите каждую строку и понимаете, что именно вас разорило. Затем непокрытый остаток списывается отдельной строкой, а капитал становится ровно нулём. Отрицательный капитал оставить нельзя: умножение отрицательной суммы на (1 + доходность) переворачивает знак, и игрок начал бы зарабатывать на обвалах рынка.

Внутри расчёта округления не происходит — все промежуточные значения точные, а округляется только то, что показано на экране. И мы не показываем ложной точности: вы увидите +12,8%, а не +12,8473921%.

10

Когда данных нет

Мы никогда не подставляем ноль вместо отсутствующего значения. Ноль — это утверждение «показатель не изменился», и почти всегда это неправда. Значение ищется по лестнице, сверху вниз:

прямой исторический ряд
   ↓
альтернативный официальный источник
   ↓
региональный прокси
   ↓
глобальный прокси
   ↓
значение недоступно → позиция для этой страны, отрасли или валюты в этом году недоступна

Любое значение, полученное не напрямую, помечено: уровень приближения, источник, методика и флаг «оценочное значение». Если обосновать приближение нельзя, игра откажет в позиции и скажет, почему. Это правильное поведение, а не сбой.

Отдельно про правовые данные. У налогового или иммиграционного правила уровень приближения всегда «прямой» — мы читаем закон, а не подбираем ему замену. Но правило почти всегда является упрощением, поэтому смотрите на пометку «курируемое правовое правило», а не на уровень приближения.

11

Игровые допущения

Всё перечисленное ниже — наши решения, а не исторические факты. Ни одно из этих чисел не взято из источника. Все они лежат в одном файле конфигурации, задокументированы и версионируются: изменение любого из них обязано менять версию методологии, иначе уже сыгранные партии изменились бы незаметно.

ИГРОВОЕ ДОПУЩЕНИЕ
ПараметрЗначениеОбоснование
sectorLambda0.70Доля отраслевого избыточного результата, которая переносится на бизнес игрока, для биржевых отраслевых прокси. Отраслевой фактор — это глобальный/американский прокси-цикл, а не доходность конкретной отрасли конкретной страны, поэтому он применяется частично.
sectorLambdaCommodity0.35То же для сырьевых отраслей. Значение ниже, потому что сырьевой фактор — это изменение цены товара, а не доходность акций: у добывающего или перерабатывающего бизнеса есть постоянные затраты, хеджирование, законтрактованные объёмы и запасы, поэтому его экономика движется слабее спотовой цены.
marketReturnFloor−95%Нижняя граница годовой доходности позиции. Защита от повреждённых значений источника. Любое срабатывание записывается в ledger.
marketReturnCap+500%Верхняя граница годовой доходности позиции. Защита от повреждённых значений источника. Любое срабатывание записывается в ledger.
marketReturnFloorCommodity−95%Нижняя граница годовой доходности позиции в сырьевой отрасли. Отдельная от биржевой, потому что цены на сырьё колеблются заметно сильнее.
marketReturnCapCommodity+800%Верхняя граница годовой доходности позиции в сырьевой отрасли. Шире биржевой, чтобы реальный сырьевой скачок не превращался молча в игровую константу.
livingCostMultiplier1.00Множитель к прокси стоимости жизни (household final consumption expenditure на человека). Значение 1.00 означает, что игровая стоимость жизни равна источнику без искусственной надбавки.
relocationRiskScale1.00Множитель к курируемой стоимости смены налогового резидентства. Позволяет настраивать трение переезда, не редактируя правовые справочные данные.
fallbackPenalty0Штраф к доходности, рассчитанной по глобальному прокси. В MVP равен нулю: искусственное занижение создало бы цифру, не подтверждённую ни одним источником.
maxBusinessPositions5Максимум одновременных бизнес-позиций в MVP UI.
maxSavingPositions5Максимум одновременных сберегательных позиций в MVP UI.
methodologyVersion3.1.0Версия расчётной методологии движка. Изменение любой формулы обязано менять эту версию, иначе исторические партии изменятся незаметно.

Значения в этой таблице прочитаны прямо из конфигурации движка — той же самой, по которой считается ваш год. Страница не может показать здесь одно число, а посчитать другим.

12

Чего в игре нет намеренно

Не потому что не успели, а потому что каждый из этих пунктов сделал бы цифру необъяснимой.

  • Бонуса за диверсификацию. Функция, считающая позицию, физически не видит, сколько у вас всего позиций.
  • Случайных модификаторов. Один и тот же ввод всегда даёт один и тот же результат.
  • Прибавки роста ВВП к доходности. Рост экономики уже отражён в котировках рынка; прибавить его ещё раз — двойной счёт.
  • Модификатора вида «кризис, минус 30%». Событие может повлиять на вас только через явное проверенное правило и только в том, чего нет в базовых рядах.
  • Валютного контроля как убытка. Контроль запрещает вывести долю позиции, но не забирает деньги: его реальная цена приходит через курс, и она уже есть в курсовом ряду.
  • Языковых моделей где-либо в игровом процессе. Отрасли распознаёт детерминированный алгоритм, описания событий собраны по шаблонам.
  • Обращений к внешним источникам во время партии. Весь датасет собран заранее, оффлайн.
  • Нуля вместо отсутствующего значения.

У каждой строки в отчёте о годе есть кнопка «Откуда эта цифра?»: она раскрывает исходное значение, формулу, методику и карточку источника с лицензией и сырыми наблюдениями.

Начать партию