MicroDCA

Methodology

This page explains how MicroDCA models portfolios, how results are calculated, and what assumptions and limitations apply. The goal is transparency: you should be able to understand what the tool is doing and reproduce outputs with the same inputs.

Scope: Backtests + projections Focus: Inputs, calculations, assumptions Note: Educational use

Overview

MicroDCA models a portfolio as a set of assets with target allocations. Over a chosen time range, the tool applies contributions, purchases (DCA), optional rebalancing, and optional income handling (reinvest or withdraw). Results are computed using the available price and distribution history for each asset.

Backtest: Uses historical prices and distributions over a past period.
Projection: Extends forward using user-defined assumptions (if enabled) and current holdings.
Transparency: Every output is a direct function of the visible inputs and known data.

Outputs are estimates based on inputs and available datasets. If an asset’s data is incomplete, the tool may shorten the usable date range or show gaps.

Key definitions

Portfolio value

Portfolio value is the sum of each asset’s units held multiplied by its price on a given date, plus any modeled cash balance if applicable.

Contributions

A contribution is new capital added on a schedule (daily, weekly, monthly, etc.). Contributions can be allocated by percentage targets or by fixed dollar amounts depending on the tool configuration.

Income

“Income” refers to dividends (equities) or distributions (funds). MicroDCA can treat income as reinvested (buy more units) or withdrawn (tracked separately), depending on settings.

Inputs and configuration

Outputs are driven by inputs you can see and adjust. Typical inputs include:

  • Date range (start/end) and contribution frequency
  • Initial holdings (starting balance, units, or dollar value)
  • Asset list and allocation method (percent targets or fixed amounts)
  • Rebalancing rule (none, periodic, or threshold-based if available)
  • Income handling (reinvest vs withdraw)
  • Optional assumptions for projections (when enabled)

If a value is not explicitly provided, MicroDCA aims to either (a) derive it from other visible inputs or (b) default to a conservative neutral value and disclose it.

Price series and return math

Price basis

Price series are used to value holdings through time. Depending on availability, MicroDCA may use close prices, adjusted close prices, or a provider’s equivalent series. When “adjusted” prices are used, they typically incorporate corporate actions such as splits (and sometimes cash distributions), which can change how returns are represented.

Portfolio valuation

On each modeled date, value is computed as:

portfolio_value(t) = Σ_i [ units_i(t) * price_i(t) ] + cash(t)

Performance reporting

Depending on the tool, MicroDCA may report cumulative return, annualized return (CAGR), drawdowns, and income totals. If income is reinvested, total-return style metrics will differ versus “price-only” metrics.

Contributions and purchases

On each contribution event, MicroDCA allocates the contribution across assets based on the chosen allocation rule. Purchases are then converted into units using the price for that date.

Allocation by target percentages

If you select percentage targets, MicroDCA allocates each contribution in proportion to the targets (and may optionally consider drift, depending on the tool).

buy_amount_i(t) = contribution(t) * target_weight_i

Allocation by fixed dollar amounts

If you select fixed amounts per asset, MicroDCA applies those amounts on each scheduled event (subject to available contribution/cash constraints, if applicable).

Unit conversion

units_added_i(t) = buy_amount_i(t) / price_i(t)

Rebalancing

Rebalancing (if enabled) is the process of adjusting holdings to move closer to a target allocation. MicroDCA models rebalancing as trades executed on rebalancing dates using that date’s prices.

Typical approaches

  • Periodic: rebalance on a fixed schedule (e.g., monthly, quarterly).
  • Threshold: rebalance only if allocation drift exceeds a defined band (if available).

Rebalancing assumptions (fees, taxes, and slippage) materially impact results. If those parameters are not modeled in a given tool, MicroDCA will typically treat rebalancing as frictionless to keep calculations transparent and comparable.

Dividends and distributions

When distribution history is available, MicroDCA can model income events by multiplying units held by the per-unit distribution amount.

Income calculation

income_i(t) = units_i(t) * distribution_per_unit_i(t)

Reinvest vs withdraw

  • Reinvest: income is added to cash and used to purchase additional units on the next eligible date (or the same date if configured).
  • Withdraw: income is tracked as cash outflow/income received and does not increase units held.

Distribution classifications (ordinary income vs qualified dividends vs return of capital) can affect after-tax results. If tax classification data is not available, MicroDCA may not attempt to estimate it.

Fees, slippage, and taxes

Some tools allow explicit modeling of trading frictions; others may intentionally omit them to keep outputs simple and auditable. If you are comparing strategies, confirm whether the scenario includes:

  • Trading fees/commissions (often assumed to be $0 for modern retail brokerages)
  • Slippage (difference between modeled price and achievable execution price)
  • Taxes (withholding, short/long-term gains, dividend taxation)

When tax modeling is enabled, it is typically implemented as a simplified estimate rather than a full tax engine. Real-world tax outcomes can differ due to jurisdiction, holding period, income classification, wash sales, and fund issuer adjustments.

Data sources and handling

Market prices

Historical and current price data may be sourced from public market data providers, financial data APIs, and publicly accessible datasets. Price history may be adjusted or unadjusted depending on the dataset and tool configuration.

Dividends and distributions

Dividend and distribution data is sourced from third-party providers and public records. Amounts, pay dates, and classifications may be updated over time and may not reflect issuer corrections immediately.

Bitcoin and crypto data

Bitcoin and cryptocurrency-related data may be sourced from exchanges, index providers, and blockchain/market data services. Data availability can vary by venue and may differ from consolidated “reference” pricing.

Missing data and alignment

If an asset lacks data for part of the selected date range, MicroDCA may:

  • Shorten the effective backtest window to the intersection of available series
  • Skip dates where pricing is unavailable for an asset
  • Show warnings when data gaps affect comparability

Limitations

MicroDCA is designed to be transparent and educational, not to predict market outcomes. Key limitations include:

  • Provider differences: pricing, corporate actions, and distributions can vary by data vendor.
  • Execution reality: modeled prices may not match real fills (especially in illiquid markets).
  • Taxes and fees: simplified assumptions can materially differ from real after-tax results.
  • Fund mechanics: options overlays, covered call distributions, ROC, and NAV dynamics may not be fully represented without issuer-level detail.

If you are making financial decisions, validate results independently and consider professional advice appropriate to your situation.

Versioning and reproducibility

MicroDCA aims to keep results reproducible. When tools are updated, small differences can occur due to: dataset updates, bug fixes, rounding changes, and methodology refinements.

  • Methodology updates: improvements are documented on this page (or in release notes if you add them).
  • Data updates: historical series can be revised by providers without notice.
  • Rounding: unit precision and currency rounding can change totals slightly over long horizons.

If you need strict reproducibility for analysis, export CSV outputs and record your inputs (asset list, weights, dates, and settings) alongside the output.