Note, the following imports are assumed throughout the documentation:

```
>>> import numpy as np
>>> import numpy.ma as ma
>>> import datetime
>>> import scikits.timeseries as ts
```

There are three core objects central to the `scikits.timeseries` package.
They are `Date`, `DateArray`, and `TimeSeries`. The
sections that follow will go into detail on each of these classes. Understanding
how these classes work and interact with each other is key to understanding the
`scikits.timeseries` package as a whole.

The `TimeSeries` class is essentially just a subclass of
`MaskedArray` with a date/time dimension attached to it
(using a `DateArray`). Thus, it is helpful to have a solid understanding
of how MaskedArray’s behave before diving into the `scikits.timeseries`
package. Documentation for the `numpy.ma` module can be found at
http://docs.scipy.org/doc/numpy/reference/maskedarray.html

As an example, let us construct a series of 600 random elements, starting 600 business days ago, at a business day frequency:

```
>>> data = np.random.uniform(-100,100,600)
>>> today = ts.now('B')
>>> series = ts.time_series(data, dtype=np.float32, freq='B', start_date=today-600)
```

We can check that `series.dates` is a `DateArray` object and that
`series.series` is a `MaskedArray` object.

```
>>> isinstance(series.dates, ts.DateArray)
True
>>> isinstance(series.series, ma.MaskedArray)
True
```