Market side aggregation

## Usage

```
aggregate_demand(fit, model, parameters)
# S4 method for missing,market_model,ANY
aggregate_demand(model, parameters)
aggregate_supply(fit, model, parameters)
# S4 method for missing,market_model,ANY
aggregate_supply(model, parameters)
# S4 method for market_fit,missing,missing
aggregate_demand(fit)
# S4 method for market_fit,missing,missing
aggregate_supply(fit)
```

## Arguments

- fit
A fitted market model object.

- model
A model object.

- parameters
A vector of model's parameters.

## Details

Calculates the sample's aggregate demand or supply using the estimated coefficients of a fitted model. Alternatively, the function calculates aggregates using a model and a set of parameters passed separately. If the model's data have multiple distinct subjects at each date (e.g., panel data), aggregation is calculated over subjects per unique date. If the model has time series data, namely a single subject per time point, aggregation is calculated over all time points.

## Examples

```
# \donttest{
fit <- diseq_basic(
HS | RM | ID | TREND ~
RM + TREND + W + CSHS + L1RM + L2RM + MONTH |
RM + TREND + W + L1RM + MA6DSF + MA3DHF + MONTH,
fair_houses(),
correlated_shocks = FALSE
)
# get estimated aggregate demand
aggregate_demand(fit)
#> [1] 45526.5
# simulate the deterministic adjustment model
model <- simulate_model(
"diseq_deterministic_adjustment", list(
# observed entities, observed time points
nobs = 500, tobs = 3,
# demand coefficients
alpha_d = -0.6, beta_d0 = 9.8, beta_d = c(0.3, -0.2), eta_d = c(0.6, -0.1),
# supply coefficients
alpha_s = 0.2, beta_s0 = 4.1, beta_s = c(0.9), eta_s = c(-0.5, 0.2),
# price equation coefficients
gamma = 0.9
),
seed = 1356
)
# estimate the model object
fit <- estimate(model)
# get estimated aggregate demand
aggregate_demand(fit)
#> # A tibble: 2 × 2
#> date D_Q
#> <fct> <dbl>
#> 1 2 3380.
#> 2 3 3077.
# get estimated aggregate demand
aggregate_supply(fit)
#> # A tibble: 2 × 2
#> date S_Q
#> <fct> <dbl>
#> 1 2 2562.
#> 2 3 2645.
# }
```