---
title: "Initialization"
description: "Learn how to set the notebook dates, add data subscriptions, and set the time zone in the research environment in QuantConnect."
canonical: https://www.quantconnect.com/docs/v2/research-environment/initialization
markdown: https://www.quantconnect.com/docs/v2/research-environment/initialization.md
language: python
source: https://github.com/QuantConnect/Documentation/tree/master/04%20Research%20Environment/02%20Initialization
modified: 2026-10-29
index: https://www.quantconnect.com/llms.txt
---

# Initialization

[Documentation](https://www.quantconnect.com/docs/v2.md) > [Research Environment](https://www.quantconnect.com/docs/v2/research-environment.md) > Initialization

> Code examples are shown in Python. Append `?lang=csharp` to this URL for the C# version of this page.

## Introduction

Before you request and manipulate historical data in the Research Environment, you should set the notebook dates, add data subscriptions, and set the time zone.

## Set Dates

The start date of your `QuantBook` determines the latest date of data you get from [history requests](https://www.quantconnect.com/docs/v2/research-environment/datasets/key-concepts.md). By default, the start date is the current day. To change the start date, call the `set_start_date` method.

```python
qb.set_start_date(2022, 1, 1)
```

The end date of your `QuantBook` should be greater than the start date. By default, the start date is the current day. To change the end date, call the `set_end_date` method.

```python
qb.set_end_date(2022, 8, 15)
```

## Add Data

You can subscribe to asset, fundamental, alternative, and custom data. The [Dataset Market](https://www.quantconnect.com/datasets) provides 400TB of data that you can easily import into your notebooks.

### Asset Data

To subscribe to asset data, call one of the asset subscription methods like `add_equity` or `add_forex`. Each asset class has its own method to create subscriptions. For more information about how to create subscriptions for each asset class, see the **Create Subscriptions** section of an asset class in the [Datasets](https://www.quantconnect.com/docs/v2/research-environment/datasets/key-concepts.md) chapter.

```python
qb.add_equity("AAPL")  # Add Apple 1 minute bars (minute by default)
qb.add_forex("EURUSD", Resolution.SECOND) # Add EURUSD 1 second bars
```

### Alternative Data

To add alternative datasets to your notebooks, call the `add_data` method. For a full example, see [Alternative Data](https://www.quantconnect.com/docs/v2/research-environment/datasets/alternative-data.md).

### Custom Data

To add custom data to your notebooks, call the `add_data` method. For more information about custom data, see [Custom Data](https://www.quantconnect.com/docs/v2/research-environment/datasets/custom-data.md).

### Limitations

There is no official limit to how much data you can add to your notebooks, but there are practical resource limitations. Each security subscription requires about 5MB of RAM, so larger machines let you request more data. For more information about our cloud nodes, see [Research Nodes](https://www.quantconnect.com/docs/v2/cloud-platform/organizations/resources.md#03-Research-Nodes).

## Set Time Zone

The notebook time zone determines which time zone the `datetime` objects are in when you make a [history request](https://www.quantconnect.com/docs/v2/research-environment/datasets/key-concepts.md) based on a defined period of time. When your history request returns a `DataFrame`, the timestamps in the `DataFrame` are based on the [exchange time zone](https://www.quantconnect.com/docs/v2/writing-algorithms/key-concepts/time-modeling/time-zones.md#03-Exchange-Time-Zone). When your history request returns a `TradeBars`, `QuoteBars`, `Ticks`, or `Slice` object, the `time` properties of these objects are based on the notebook time zone, but the `end_time` properties of the individual `TradeBar`, `QuoteBar`, and `Tick` objects are based on the exchange time zone.

The default time zone is Eastern Time (ET), which is UTC-4 in summer and UTC-5 in winter. To set a different time zone, call the `set_time_zone` method. This method accepts either a string following the [IANA Time Zone database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) convention or a [NodaTime](https://nodatime.org/).DateTimeZone object. If you pass a string, the method converts it to a `NodaTime.DateTimeZone` object. The `TimeZones` class provides the following helper attributes to create `NodaTime.DateTimeZone` objects:

*Members of `QuantConnect.TimeZones` (JSON): https://www.quantconnect.com/services/inspector?type=T:QuantConnect.TimeZones&language=python*

```python
qb.set_time_zone("Europe/London")
qb.set_time_zone(TimeZones.CHICAGO)
```
