DCA FINANCE
Методика расчётов
Что считается, откуда берутся данные и где заканчиваются возможности модели.
Минимальная сумма покупки при лимите комиссии
Отдельный метод dca-fee-budget-cents-1 ищет первую подходящую сумму заказа в целых центах при заданных пользователем комиссиях и границах. Весь бюджет заказа включает фиксированную комиссию и процент от этого бюджета; процентная часть округляется до цента, половина цента — вверх. Доля комиссии не должна превышать выбранный предел, а остаток после комиссии должен быть положительным. Например, при фиксированной комиссии 1 USD, процентной 0,10% и пределе 0,50% первая подходящая сумма при минимуме 1 USD равна 250 USD: комиссия 1,25 USD, на покупку остаётся 248,75 USD. Округление может сделать следующую большую сумму снова неподходящей; монотонность не предполагается. Если математический порог больше доступного бюджета, он не выдаётся за доступный заказ. Это выбранная модель затрат, а не проверенный тариф или минимум биржи, рекомендация суммы инвестирования либо расчёт доходности. Комиссии сети, спред и цены активов не входят. Историческое сравнение комиссий сохраняет свой отдельный метод.
10 эталонных примеров доступны в JSON: исходные целые центы и базисные пункты, ожидаемые комиссия и остаток, случаи округления и отсутствия решения. Сервер повторяет примеры действующим методом и сверяет отпечаток редакции перед выдачей файла. Это учебные входы, не тарифы посредников. Открыть эталонные примеры JSON. SHA-256 рассчитывается по JSON без поля editionSha256; сохраните порядок полей при повторении проверки.
Комиссии ежедневных, недельных и месячных покупок
Метод dca-schedule-fees-cents-1 распределяет один бюджет в целых центах по датам 12 календарных месяцев. Начальная дата входит в период, годовщина не входит; для 29 февраля граница следующего года — 28 февраля. Ежедневно используются все 365 или 366 дат; каждые 7 дней от начальной даты — 53 заказа; ежемесячно — 12 дат с исходным числом, ограниченным последним днём короткого месяца. Для n заказов базовая сумма равна floor(B/n), первые B mod n заказов получают ещё один цент. Каждый заказ включает комиссию по dca-fee-budget-cents-1. Итог комиссии и остатка показывается только когда у каждого заказа положительная сумма на покупку; нулевые бюджеты и поглощённые комиссией заказы отмечаются отдельно. Например, бюджет 3000 USD с 1 января 2026 года, фиксированная комиссия 1 USD и процентная 0,10% дают модель затрат 368,65 USD для 365 ежедневных заказов, 56,18 USD для 53 недельных и 15 USD для 12 месячных. JSON и CSV содержат все даты и точные целые суммы. Это сравнение затрат: цены, доходность, денежная доступность на каждую дату и правила исполнения биржи в него не входят.
Бюджет с несколькими регулярными платежами
Метод cashflow-rules-monthly-2 ведёт отдельные месячные правила доходов, расходов и инвестиционных взносов. В прежнем дашборде режим открывается через «Несколько регулярных платежей» и предпросмотр перехода. Фактические операции и начальный остаток сохраняются; новая версия включается после подтверждения. День 29–31 переносится на последний существующий день короткого месяца. Связанная оплата уменьшает только соответствующий платёж: из 100 после оплаты 40 остаётся 60. Записанные деньги не подменяются планом, переплата не создаёт отрицательный остаток. Старые месячные отметки выполнения сохраняют прежнюю семантику всего типа платежа за месяц. Взнос в инвестиции — отток денег; рыночная стоимость активов и доходность в денежный план не входят.
Стресс, будущие факты и просроченные планы
Стресс меняет полную плановую цель, после чего из неё вычитаются уже записанные и известные будущие связанные суммы. Остаток равен max(0, округлённая цель − записано − известно на будущие даты); половина копейки округляется вверх. При расходе 100, оплате 40 и росте расходов на 100% цель равна 200, остаток — 160, а не 120. Фактические суммы не подвергаются стрессу. При снижении дохода на 100% плановый остаток равен нулю, но записанные поступления не отменяются. Сохранённые будущие операции входят в прогноз в свою дату и не увеличивают доступные сейчас деньги. Неисполненные прошлые планы показаны отдельно за последние 12 месяцев и не списываются с текущего остатка. При будущей дате начала учёта доступный сейчас остаток не показывается; прогноз привязан к началу учёта.
Личный денежный план для своего AI-чата
Метод private-recurring-cash-context-1 готовит выбранные сведения в браузере. Все варианты раскрытия изначально выключены; полный текст проверяется и подтверждается до копирования. История, заметки, внутренние ID, поля аккаунта и миграционные хеши исключены. Выбор денежных сведений включает остаток и записанные месячные итоги. Названия и даты включаются отдельно. Прогноз требует раскрытия этих денежных сведений и всегда рассчитывается по всему бюджету на 12 месяцев, даже если описаны только выбранные правила. Текст без дат не позволяет повторить полный календарный расчёт и не становится анонимным. Кнопки сервисов открывают пустые чаты, финансовые параметры в URL не передаются. Публичный MCP не читает личный бюджет v2; его публичные сценарии cashflow-monthly-1 сохраняют прежний метод.
Разовая выгрузка оставшихся платежей в календарь
Метод cashflow-rules-monthly-calendar-1 создаёт локальный ICS-файл оставшихся платежей исходного плана на следующие 12 месяцев. Интервал начинается с даты расчёта, правая граница не включается. Выполненные и пропущенные платежи исключены; частичные оплаты уменьшают остаток. По умолчанию события на весь день содержат общие названия и даты, без сумм, заметок и аккаунта. Свои названия включаются отдельно и могут раскрывать личные сведения. Файл не является подпиской: последующие записи и изменения на сайте не обновляют календарь. Уведомления, повторный импорт и возможные дубли зависят от календарного приложения.
Карточка сохранённого DCA-расчёта для статьи
Компактная вставка saved-dca-result-card-1 показывает только сохранённый результат с проверенным ID и повторяет метод dca-backtest-1 по его ценовому ряду. Она не запрашивает новые котировки и не открывает личный портфель. Актив, частота, взнос, число покупок, вложенная сумма, единицы, конечная оценка и простая доходность доступны в HTML без JavaScript. Граница расчёта и время использованной цены указаны отдельно: при пропусках ряд может использовать более раннюю цену. Комиссии, налоги и проскальзывание не включены. ID связывает параметры и цены, но не является подписью поставщика или гарантией точности рынка. Видимые ссылки ведут на полный результат, паспорт данных и методику. Код вставки появляется после сохранения расчёта, а предпросмотр загружается только при раскрытии.
Распределение нового взноса без продажи активов
Метод buy-only-user-targets-zero-fee-1 использует доли, которые задаёт сам пользователь; сайт не рекомендует состав портфеля. Сумма целей должна равняться 100%. Текущая стоимость каждого актива округляется до цента по точному остатку единиц и десятичному значению котировки. Новый взнос распределяется с точностью до цента: покупки неотрицательны, их сумма равна взносу, а сумма квадратов отклонений от целевой стоимости после взноса минимальна. При равенстве вариантов используется порядок Bitcoin, Ethereum, Solana, Litecoin, Dogecoin. Продажи запрещены, поэтому цели могут остаться недостижимыми. Комиссии, налоги, спред и торговые лоты не включены; количество приобретаемых единиц приблизительное. Условный пример: при стоимости Bitcoin 200 USD и Ethereum 300 USD, взносе 200 USD и целях 50/50 расчёт направит 150 USD в Bitcoin и 50 USD в Ethereum. Это сценарий, он не записывает сделки.
Общая оценка портфеля и время котировки
Сводка объединяет записанные сделки по пяти поддерживаемым активам. Для каждой открытой позиции нужна положительная котировка нужного актива, не старше 30 минут и с датой UTC не раньше даты последней записанной сделки. Время исполнения внутри дня не хранится; порядок котировки и сделки в пределах одной даты не проверяется. Время цены берётся у CoinGecko; время получения ответа хранится отдельно и не подменяет его. При отсутствии подходящей цены общая оценка, общий результат и доли не рассчитываются. Закрытая позиция котировки не требует. Обновление отправляет одинаковый запрос пяти публичных тикеров независимо от состава личного портфеля. Суммы, цели и записи пользователя в запрос не входят.
Отчёт по портфелю для своего ИИ-чата
Метод selected-asset-private-summary-1 готовит выбранные итоговые данные одного актива для передачи в ваш чат. Полный текст виден до копирования, которое доступно после подтверждения. Заметки, ID, история операций и сведения аккаунта исключены; план и даты операций добавляются отдельным выбором. Ссылки открывают пустой чат без финансовых параметров. Это экспорт текста, а не встроенный советник или доступ ИИ к портфелю. Проверить XIRR по одним итогам нельзя: датированные денежные потоки не передаются.
Проверка расчёта по каждой сделке
Метод weighted-average-cost-ledger-1 раскрывает тот же расчёт, который используется в итогах портфеля: остаток единиц, себестоимость, списанные затраты и прибыль каждой продажи. Полный CSV выбранного актива не зависит от фильтров журнала. Доли затрат сохраняются до округления: сумма показанных прибылей отдельных продаж может отличаться от нарастающего итога из-за округления. Время исполнения не хранится; в пределах одной даты покупки учитываются перед продажами, а внутри одного типа сохраняется порядок записей. Это аналитический учёт пользовательских данных, не налоговая отчётность.
Условная продажа остатка и возврат взносов
Метод portfolio-full-exit-scenarios-1 оценивает полную продажу оставшихся единиц при заданных изменениях показанной цены и комиссии выхода. Общий результат равен будущей условной выручке после комиссии плюс чистые поступления прошлых продаж минус все расходы на покупки. Ориентир возврата взносов учитывает уже полученные деньги и отличается от средней себестоимости остатка. Денежные суммы и комиссии округляются до центов. Налоги и проскальзывание не включены. Это сценарий, не прогноз, историческая просадка или гарантированная цена исполнения.
Экспорт плановых дат в календарь
Метод upcoming-dca-plan-calendar-1 выгружает плановые даты выбранного актива на следующие 12 календарных месяцев в локальный ICS-файл. События на весь день сохраняют исходный день месяца с переносом на последний день короткого месяца. В файле нет сумм, заметок, данных аккаунта или подтверждений исполнения. Импорт пользователь выполняет в своём календаре; автоматической синхронизации и заданных уведомлений нет. Повторный импорт может создать дубли и не удаляет старые события изменённого плана.
Учёт себестоимости DCA-портфеля
Портфель использует средневзвешенную себестоимость отдельно для каждого актива. Полная сумма покупки вместе с комиссией добавляется к пулу затрат, фактически полученные единицы — к остатку актива. При продаже из пула убирается доля затрат, соответствующая проданным единицам. Реализованный результат равен чистой выручке продажи за вычетом этой доли. Нереализованный результат — оценка оставшихся единиц по показанной котировке минус оставшийся пул затрат. Это учётная модель, а не FIFO или налоговый отчёт. Сделки сортируются по датам; в пределах одной даты все покупки учитываются перед продажами, без восстановления порядка исполнения внутри дня. Единицы поддерживаются до восьми знаков, денежные суммы и комиссии — до двух.
Проверка на числах: покупка, комиссия и частичная продажа
Условный пример без рыночных данных: первая покупка — 2 единицы за 202 USD с комиссией внутри этой суммы, вторая — 1 единица за 121 USD. Итого 3 единицы и 323 USD затрат. Продажа 1 единицы за 150 USD до комиссии 2 USD даёт 148 USD чистой выручки. На проданную единицу приходится 323 / 3 = 107,6667 USD затрат; реализованный результат — 40,33 USD. У оставшихся 2 единиц себестоимость 215,33 USD. При условной котировке 120 USD их стоимость — 240 USD, нереализованный результат — 24,67 USD. Общий результат: 148 + 240 − 323 = 65 USD. Промежуточные доли в расчёте не округляются до центов; округляется отображение.
XIRR: доходность с учётом дат денежных потоков
Метод dated-cashflows-365-1 решает сумму Cᵢ / (1 + r)^((dᵢ − d₀) / 365) = 0. Покупка — отрицательный поток с комиссией, продажа — положительная чистая выручка, остаток актива — положительная оценка на дату котировки UTC. Потоки одной даты объединяются. Поддерживается одна смена знака от отрицательных потоков к положительным; при нескольких возможных решениях произвольная ставка не выбирается. Нужны разные даты. Закрытая позиция не требует текущей цены; открытая требует котировки подходящего актива и даты не раньше последней сделки. За короткий период годовой процент может быть очень большим. XIRR не является прогнозом или доходностью, очищенной от времени внесения денег.
Журнал и денежный план
Фактический остаток — начальные деньги плюс поступления, минус расходы и инвестиции. Суммы складываются до копейки. Плановые события не становятся фактами автоматически. Внутри одного дня прогноз учитывает итог всех движений без предположений об их порядке. Показатель доступного взноса находит максимальную ежемесячную сумму инвестиций, при которой расчётный остаток на горизонте 12 месяцев не уходит в минус.
Сценарии доходности
Годовая ставка, взносы, инфляция и расходы — параметры пользователя. Модель не предсказывает доходность. У каждого калькулятора указаны формула, единицы и исключённые затраты.
История, просадки и котировки
Источник рыночных данных — CoinGecko (в бесплатной публичной конфигурации доступны наблюдения за последние 365 дней UTC). Резервные или сохранённые данные отмечаются отдельно; при отсутствии истории результат не подменяется выдуманными ценами. В историческом бэктесте просадка цены актива, просадка пополняемого портфеля, просадка общего капитала с остатком кэша и просадка доходности относительно вложенной суммы рассчитываются раздельно.
Версии методов и воспроизводимость
Каждому проверяемому расчёту присваивается идентификатор метода: cashflow-monthly-1 (помесячный план и стресс-тест на 12 месяцев), monthly-contributions-1 (прогноз регулярных взносов по эффективной месячной ставке), dca-backtest-1 (исторический DCA по ценам на момент или до покупки без комиссий в эталонном снимке) и price-series-audit-1 (паспорт покрытия, пропусков UTC-дней и SHA-256 нормализованного ценового ряда). Изменение правил расчёта требует новой версии метода, чтобы сохранённые ссылки воспроизводили прежние числа.
Сохранение прогресса
Без входа план хранится в браузере. Бесплатный аккаунт добавляет хранение на Cloudflare D1 и синхронизацию. При конфликте версий выбирается одна из копий; данные не объединяются и не перезаписываются молча.