# Symbol Selection

This section contains 9 examples for Symbol Selection using the `onetick-py`.<br />
\\\\
Each example is a self-contained script that can be run against the OneTick Cloud sample databases.

```default
# onetick-py WebAPI configuration for OneTick Cloud
import os
os.environ['OTP_WEBAPI'] = '1'
os.environ['OTP_HTTP_ADDRESS'] = 'https://rest.cloud.onetick.com'
os.environ['OTP_ACCESS_TOKEN_URL'] = 'https://cloud-auth.parent.onetick.com/realms/OMD/protocol/openid-connect/token'
os.environ['OTP_CLIENT_ID'] = '__FILL_IN__'
os.environ['OTP_CLIENT_SECRET'] = '__FILL_IN__'
```

## Data Retrieval with Single Symbol

Retrieve Data for a single symbol, by passing a single symbol string into [`otp.run`](https://docs.pip.distribution.sol.onetick.com/api/run.html.md#onetick.py.run).

```ipython3
import onetick.py as otp

data = otp.DataSource(db='US_COMP_SAMPLE', tick_type='TRD')
# Return first 100 Rows
data = data.limit(100)
result = otp.run(data,
                 start=otp.dt(2024, 1, 3, 9, 30),
                 end=otp.dt(2024, 1, 3, 9, 40),
                 timezone='America/New_York',
                 symbols='CSCO')
result
```

```myst-ansi
                            Time EXCHANGE  COND STOP_STOCK SOURCE TRF TTE  \
0  2024-01-03 09:30:00.065443591        Z  @  I                 N       0   
1  2024-01-03 09:30:00.111130049        Z  @  I                 N       0   
2  2024-01-03 09:30:00.127459523        V  @                    N       0   
3  2024-01-03 09:30:00.128498068        Z  @F I                 N       1   
4  2024-01-03 09:30:00.135190071        Q  @FTI                 N       1   
..                           ...      ...   ...        ...    ...  ..  ..   
95 2024-01-03 09:30:00.897416820        Q  @F I                 N       1   
96 2024-01-03 09:30:00.897444128        Q  @F I                 N       1   
97 2024-01-03 09:30:00.897474806        Q  @F I                 N       1   
98 2024-01-03 09:30:00.897476583        Q  @F I                 N       1   
99 2024-01-03 09:30:00.897670983        D  @                    N   Q   0   

   TICKER    PRICE        DELETED_TIME  TICK_STATUS  SIZE  CORR  SEQ_NUM  \
0    CSCO  50.0200 1969-12-31 19:00:00            0     2     0   169103   
1    CSCO  50.1600 1969-12-31 19:00:00            0     3     0   169148   
2    CSCO  50.1700 1969-12-31 19:00:00            0   100     0   169181   
3    CSCO  50.1700 1969-12-31 19:00:00            0     5     0   169182   
4    CSCO  50.1300 1969-12-31 19:00:00            0    46     0   169193   
..    ...      ...                 ...          ...   ...   ...      ...   
95   CSCO  50.0800 1969-12-31 19:00:00            0    51     0   171857   
96   CSCO  50.0800 1969-12-31 19:00:00            0    29     0   171858   
97   CSCO  50.0800 1969-12-31 19:00:00            0    12     0   171859   
98   CSCO  50.0800 1969-12-31 19:00:00            0     2     0   171860   
99   CSCO  50.0797 1969-12-31 19:00:00            0   100     0   171862   

   TRADE_ID              PARTICIPANT_TIME                      TRF_TIME  \
0        42 2024-01-03 09:30:00.065250000 1969-12-31 19:00:00.000000000   
1        43 2024-01-03 09:30:00.110938000 1969-12-31 19:00:00.000000000   
2        13 2024-01-03 09:30:00.065044730 1969-12-31 19:00:00.000000000   
3        44 2024-01-03 09:30:00.128306000 1969-12-31 19:00:00.000000000   
4       349 2024-01-03 09:30:00.135173836 1969-12-31 19:00:00.000000000   
..      ...                           ...                           ...   
95      365 2024-01-03 09:30:00.897398456 1969-12-31 19:00:00.000000000   
96      366 2024-01-03 09:30:00.897428791 1969-12-31 19:00:00.000000000   
97      367 2024-01-03 09:30:00.897456284 1969-12-31 19:00:00.000000000   
98      368 2024-01-03 09:30:00.897456284 1969-12-31 19:00:00.000000000   
99      100 2024-01-03 09:30:00.896374950 2024-01-03 09:30:00.897637536   

    OMDSEQ  
0        0  
1        0  
2        0  
3        0  
4        0  
..     ...  
95       3  
96       4  
97       5  
98       6  
99       7  

[100 rows x 18 columns]
```

## Data Retrieval with List of Symbols

Retrieve Data for a set of symbols, by passing a List of Symbols in [`otp.run`](https://docs.pip.distribution.sol.onetick.com/api/run.html.md#onetick.py.run).

```ipython3
import onetick.py as otp

# Define the DataSource
data = otp.DataSource(db='US_COMP_SAMPLE', tick_type='TRD')

# Limit to 1000 rows
data = data.limit(1000)

# Specify the Symbol List and Time Range
result = otp.run(data,
                 start=otp.dt(2024, 1, 3, 9, 30),
                 end=otp.dt(2024, 1, 3, 9, 40),
                 timezone='America/New_York',
                 symbols=['CSCO', 'MSFT'])
result
```

```myst-ansi
{'CSCO':                              Time EXCHANGE  COND STOP_STOCK SOURCE TRF TTE  \
 0   2024-01-03 09:30:00.065443591        Z  @  I                 N       0   
 1   2024-01-03 09:30:00.111130049        Z  @  I                 N       0   
 2   2024-01-03 09:30:00.127459523        V  @                    N       0   
 3   2024-01-03 09:30:00.128498068        Z  @F I                 N       1   
 4   2024-01-03 09:30:00.135190071        Q  @FTI                 N       1   
 ..                            ...      ...   ...        ...    ...  ..  ..   
 995 2024-01-03 09:30:07.378682043        Q  @  I                 N       0   
 996 2024-01-03 09:30:07.378683771        Q  @  I                 N       0   
 997 2024-01-03 09:30:07.379088757        Z  @F                   N       1   
 998 2024-01-03 09:30:07.390014965        P  @                    N       0   
 999 2024-01-03 09:30:07.396341167        D  @4 I                 N   Q   1   
 
     TICKER  PRICE        DELETED_TIME  TICK_STATUS  SIZE  CORR  SEQ_NUM  \
 0     CSCO  50.02 1969-12-31 19:00:00            0     2     0   169103   
 1     CSCO  50.16 1969-12-31 19:00:00            0     3     0   169148   
 2     CSCO  50.17 1969-12-31 19:00:00            0   100     0   169181   
 3     CSCO  50.17 1969-12-31 19:00:00            0     5     0   169182   
 4     CSCO  50.13 1969-12-31 19:00:00            0    46     0   169193   
 ..     ...    ...                 ...          ...   ...   ...      ...   
 995   CSCO  50.12 1969-12-31 19:00:00            0     2     0   192393   
 996   CSCO  50.12 1969-12-31 19:00:00            0    50     0   192394   
 997   CSCO  50.12 1969-12-31 19:00:00            0   100     0   192396   
 998   CSCO  50.12 1969-12-31 19:00:00            0   100     0   192406   
 999   CSCO  50.09 1969-12-31 19:00:00            0     1     0   192414   
 
     TRADE_ID              PARTICIPANT_TIME                      TRF_TIME  \
 0         42 2024-01-03 09:30:00.065250000 1969-12-31 19:00:00.000000000   
 1         43 2024-01-03 09:30:00.110938000 1969-12-31 19:00:00.000000000   
 2         13 2024-01-03 09:30:00.065044730 1969-12-31 19:00:00.000000000   
 3         44 2024-01-03 09:30:00.128306000 1969-12-31 19:00:00.000000000   
 4        349 2024-01-03 09:30:00.135173836 1969-12-31 19:00:00.000000000   
 ..       ...                           ...                           ...   
 995      636 2024-01-03 09:30:07.378665797 1969-12-31 19:00:00.000000000   
 996      637 2024-01-03 09:30:07.378665797 1969-12-31 19:00:00.000000000   
 997      138 2024-01-03 09:30:07.378898000 1969-12-31 19:00:00.000000000   
 998      337 2024-01-03 09:30:07.389672607 1969-12-31 19:00:00.000000000   
 999      453 2024-01-03 09:30:02.589000000 2024-01-03 09:30:07.396318790   
 
      OMDSEQ  
 0         0  
 1         0  
 2         0  
 3         0  
 4         0  
 ..      ...  
 995       2  
 996       3  
 997       0  
 998       0  
 999       0  
 
 [1000 rows x 18 columns],
 'MSFT':                              Time EXCHANGE  COND STOP_STOCK SOURCE TRF TTE  \
 0   2024-01-03 09:30:00.001141139        Q  @FTI                 N       1   
 1   2024-01-03 09:30:00.001232095        Q  @FTI                 N       1   
 2   2024-01-03 09:30:00.001348140        Q  @ TI                 N       0   
 3   2024-01-03 09:30:00.001835253        Z  @  I                 N       0   
 4   2024-01-03 09:30:00.002218671        P  @ T                  N       0   
 ..                            ...      ...   ...        ...    ...  ..  ..   
 995 2024-01-03 09:30:01.980424744        Z  @F I                 N       1   
 996 2024-01-03 09:30:01.980430260        Z  @F I                 N       1   
 997 2024-01-03 09:30:01.980438693        Z  @F I                 N       1   
 998 2024-01-03 09:30:01.980454705        Z  @F I                 N       1   
 999 2024-01-03 09:30:01.980463011        Z  @F I                 N       1   
 
     TICKER    PRICE        DELETED_TIME  TICK_STATUS  SIZE  CORR  SEQ_NUM  \
 0     MSFT  368.990 1969-12-31 19:00:00            0     9     0   251795   
 1     MSFT  369.000 1969-12-31 19:00:00            0    10     0   251798   
 2     MSFT  369.000 1969-12-31 19:00:00            0    90     0   251800   
 3     MSFT  368.995 1969-12-31 19:00:00            0     1     0   251803   
 4     MSFT  368.990 1969-12-31 19:00:00            0   100     0   251808   
 ..     ...      ...                 ...          ...   ...   ...      ...   
 995   MSFT  369.100 1969-12-31 19:00:00            0     1     0   262423   
 996   MSFT  369.100 1969-12-31 19:00:00            0     1     0   262424   
 997   MSFT  369.100 1969-12-31 19:00:00            0     1     0   262425   
 998   MSFT  369.100 1969-12-31 19:00:00            0     1     0   262426   
 999   MSFT  369.100 1969-12-31 19:00:00            0     1     0   262427   
 
     TRADE_ID              PARTICIPANT_TIME            TRF_TIME  OMDSEQ  
 0       2626 2024-01-03 09:30:00.001115161 1969-12-31 19:00:00       0  
 1       2627 2024-01-03 09:30:00.001215210 1969-12-31 19:00:00       1  
 2       2628 2024-01-03 09:30:00.001330517 1969-12-31 19:00:00       2  
 3        340 2024-01-03 09:30:00.001612000 1969-12-31 19:00:00       3  
 4       3095 2024-01-03 09:30:00.001875282 1969-12-31 19:00:00       0  
 ..       ...                           ...                 ...     ...  
 995      501 2024-01-03 09:30:01.980246000 1969-12-31 19:00:00      36  
 996      502 2024-01-03 09:30:01.980252000 1969-12-31 19:00:00      37  
 997      503 2024-01-03 09:30:01.980258000 1969-12-31 19:00:00      38  
 998      504 2024-01-03 09:30:01.980269000 1969-12-31 19:00:00      39  
 999      505 2024-01-03 09:30:01.980279000 1969-12-31 19:00:00      40  
 
 [1000 rows x 18 columns]}
```

## Data Retrieval with Symbol Mask

Retrieve Data for symbols matched by pattern.

```ipython3
import onetick.py as otp

# Define your symbol mask, e.g., all symbols starting with 'AA'
symbol_mask = 'AA%'

# Get all symbols matching the mask
symbols = otp.Symbols(db='US_COMP_SAMPLE_DAILY', pattern=symbol_mask)

# Define Data Source, in this case for DAY records
data = otp.DataSource(db='US_COMP_SAMPLE_DAILY', tick_type='DAY')

# Merge data into a single result across symbols
merged_data = otp.merge(data, symbols=symbols, identify_input_ts=True)

# Run query, with defined time range and time zone
result = otp.run(merged_data,
                 start=otp.dt(2024, 1, 2),
                 end=otp.dt(2024, 1, 3),
                 timezone='America/New_York')
result
```

```myst-ansi
                   Time   CLOSE EXCHANGE   HIGH      LOW  OMDSEQ    OPEN  \
0   2024-01-02 20:15:00  33.280        A  33.89  33.0800      18  33.890   
1   2024-01-02 20:15:00  33.290        B  33.94  33.0500      19  33.420   
2   2024-01-02 20:15:00  33.300        C  33.94  33.0500      20  33.455   
3   2024-01-02 20:15:00  33.285        D  33.97  33.0428      21  33.435   
4   2024-01-02 20:15:00  33.310        H  33.95  33.0600      22  33.620   
..                  ...     ...      ...    ...      ...     ...     ...   
362 2024-01-02 20:15:00  65.470        V  65.75  65.3300     380  65.610   
363 2024-01-02 20:15:00  65.435        X  65.62  65.3600     381  65.620   
364 2024-01-02 20:15:00  65.465        Y  65.73  65.3200     382  65.615   
365 2024-01-02 20:15:00  65.440        Z  65.73  65.3100     383  65.620   
366 2024-01-02 20:15:00  65.440           65.76  65.3050     384  65.470   

     PRICE_CLOSING_AUCTION  PRICE_OPENING_AUCTION   VOLUME  ...  \
0                      NaN                    NaN     3744  ...   
1                      NaN                    NaN    16712  ...   
2                      NaN                    NaN    12495  ...   
3                      NaN                    NaN  1503127  ...   
4                      NaN                    NaN    49660  ...   
..                     ...                    ...      ...  ...   
362                    NaN                    NaN    14151  ...   
363                    NaN                    NaN    12857  ...   
364                    NaN                    NaN    15640  ...   
365                    NaN                    NaN    48594  ...   
366                    NaN                    NaN   641995  ...   

     VOLUME_MAIN_SESSION  VOLUME_ODD_LOT  VOLUME_OFF_EXCHANGE  \
0                   3744             920                    0   
1                  16712            5119                    0   
2                  12495            5195                    0   
3                1361152          123934              1503127   
4                  49660           11096                    0   
..                   ...             ...                  ...   
362                14151            1021                    0   
363                12857             172                    0   
364                15640             610                    0   
365                48594            4091                    0   
366               622992           36082               159440   

     VOLUME_OPENING_AUCTION  VOLUME_POST_MARKET  VOLUME_PRE_MARKET  \
0                         0                   0                  0   
1                         0                   0                  0   
2                         0                   0                  0   
3                         0              138988               2987   
4                         0                   0                  0   
..                      ...                 ...                ...   
362                       0                   0                  0   
363                       0                   0                  0   
364                       0                   0                  0   
365                       0                   0                  0   
366                    2733                   0                 40   

     VOLUME_ROUND_LOT       VWAP  SYMBOL_NAME TICK_TYPE  
0                2824  33.226834           AA       DAY  
1               11593  33.411275           AA       DAY  
2                7300  33.217808           AA       DAY  
3             1379193  33.474980           AA       DAY  
4               38564  33.526722           AA       DAY  
..                ...        ...          ...       ...  
362             13130  65.445476         AAXJ       DAY  
363             12685  65.493074         AAXJ       DAY  
364             15030  65.519747         AAXJ       DAY  
365             44503  65.490934         AAXJ       DAY  
366            605913  65.487922         AAXJ       DAY  

[367 rows x 21 columns]
```

## Data Retrieval Across Databases

Retrieve Trades for Symbols across Databases for the specified time range.<br />
\\\\
The initial [`otp.DataSource`](https://docs.pip.distribution.sol.onetick.com/api/sources/data_source.html.md#onetick.py.DataSource) is defined without specifying the Database or symbol.<br />
\\\\
The schema of the Data Source is specified manually.<br />
\\\\
Symbols are specified including the Database name, with format `[Database]::[Symbol]` e.g. `LSE::VOD`.

```ipython3
import onetick.py as otp

# Define the Symbol List
sym_list = ['LSE::VOD', 'EURONEXT::AF', 'XETRA::DBK', 'LSE::TSCO',
            'LSE::SHEL', 'EURONEXT::AF', 'LSE::VOD', 'XETRA::DBK']

# Define Data Source, in this case without specifying the Database or symbol name.
# As the schema is not yet known, set the schema policy to manual
trd = otp.DataSource(tick_type='TRD', schema_policy='manual')
# Define the output schema
trd.schema.set(
    PRICE=float,
    SIZE=int,
    TRADE_VENUE=str,
    BOOK_TYPE=str,
    TRADE_PERIOD=str
)
# Specify Output Fields
trd = trd[['PRICE', 'SIZE', 'TRADE_VENUE', 'BOOK_TYPE', 'TRADE_PERIOD']]

# Filter on Lit Order Book
trd = trd.where(trd['BOOK_TYPE'] == '0')

# Filter on Continuous Trading
trd = trd.where(trd['TRADE_PERIOD'] == '-')

# Create a single output, merging all the inputs into a single resultset.
merged = otp.merge([trd], symbols=sym_list, identify_input_ts=True, separate_db_name=True)

# Return first 1000 Rows
merged = merged.limit(1000)

# Run the query returning the data in the selected timezone
result = otp.run(merged,
                 start=otp.datetime(2024, 1, 3, 8),
                 end=otp.datetime(2024, 1, 4, 16),
                 timezone='Europe/London')
result
```

```myst-ansi
                       Time     PRICE   SIZE TRADE_VENUE BOOK_TYPE  \
0   2024-01-03 08:00:03.055  2574.500    147        XLON         0   
1   2024-01-03 08:00:03.056  2574.500     46        XLON         0   
2   2024-01-03 08:00:03.056  2574.500     44        XLON         0   
3   2024-01-03 08:00:04.494  2574.500    207        XLON         0   
4   2024-01-03 08:00:05.880  2575.000     24        XLON         0   
..                      ...       ...    ...         ...       ...   
995 2024-01-03 08:06:57.076    13.302     23        XPAR         0   
996 2024-01-03 08:06:57.151   295.200   2200        XLON         0   
997 2024-01-03 08:06:57.151   295.200  22742        XLON         0   
998 2024-01-03 08:06:57.151   295.200    760        XLON         0   
999 2024-01-03 08:06:57.151   295.300    992        XLON         0   

    TRADE_PERIOD SYMBOL_NAME   DB_NAME TICK_TYPE  
0              -        SHEL       LSE       TRD  
1              -        SHEL       LSE       TRD  
2              -        SHEL       LSE       TRD  
3              -        SHEL       LSE       TRD  
4              -        SHEL       LSE       TRD  
..           ...         ...       ...       ...  
995            -          AF  EURONEXT       TRD  
996            -        TSCO       LSE       TRD  
997            -        TSCO       LSE       TRD  
998            -        TSCO       LSE       TRD  
999            -        TSCO       LSE       TRD  

[1000 rows x 9 columns]
```

## Data Retrieval across Symbol Changes

Ceridian HCM Holding rebranded as Dayforce, Inc on 1st Feb 2024, changing its symbol from `CDAY` to `DAY`.

Full History can be retrieved by querying for both symbols.

```ipython3
import onetick.py as otp

data = otp.DataSource(db='US_COMP_SAMPLE_DAILY', tick_type='DAY')
data = data[['EXCHANGE', 'OPEN', 'HIGH', 'LOW', 'CLOSE']]
result = otp.run(data,
                 start=otp.dt(2024, 1, 1),
                 end=otp.dt(2024, 4, 1),
                 timezone='America/New_York',
                 symbols=['CDAY', 'DAY'])
result
```

```myst-ansi
{'CDAY':                    Time EXCHANGE   OPEN   HIGH    LOW  CLOSE
 0   2024-01-02 20:15:00        A  65.80  66.16  65.74  66.04
 1   2024-01-02 20:15:00        B  65.74  66.13  65.74  66.12
 2   2024-01-02 20:15:00        C  66.18  66.18  65.63  66.12
 3   2024-01-02 20:15:00        D  66.10  66.80  65.25  66.02
 4   2024-01-02 20:15:00        H  66.69  66.69  65.71  66.08
 ..                  ...      ...    ...    ...    ...    ...
 373 2024-01-31 20:15:00        V  69.17  70.57  69.13  69.51
 374 2024-01-31 20:15:00        X  69.34  70.58  69.19  69.53
 375 2024-01-31 20:15:00        Y  69.44  70.10  69.13  69.51
 376 2024-01-31 20:15:00        Z  69.10  70.54  69.10  69.54
 377 2024-01-31 20:15:00           69.10  70.67  69.10  69.52
 
 [378 rows x 6 columns],
 'DAY':                    Time EXCHANGE    OPEN    HIGH     LOW   CLOSE
 0   2024-02-01 20:15:00        A  70.990  70.990  68.840  69.960
 1   2024-02-01 20:15:00        B  69.400  70.575  69.400  69.930
 2   2024-02-01 20:15:00        C  69.720  70.310  68.750  69.910
 3   2024-02-01 20:15:00        D  68.755  71.760  68.065  69.990
 4   2024-02-01 20:15:00        H  68.940  70.235  68.280  70.235
 ..                  ...      ...     ...     ...     ...     ...
 710 2024-03-28 20:15:00        V  66.150  66.375  65.695  66.235
 711 2024-03-28 20:15:00        X  66.070  66.165  65.710  66.165
 712 2024-03-28 20:15:00        Y  66.100  66.330  66.010  66.330
 713 2024-03-28 20:15:00        Z  66.310  66.375  65.690  66.360
 714 2024-03-28 20:15:00           66.450  66.450  65.650  66.210
 
 [715 rows x 6 columns]}
```

## Data Retrieval with New Symbol

Ceridian HCM Holding rerbanded as Dayforce, Inc on 1st Feb 2024, changing its symbol from `CDAY` to `DAY`.<br />
\\\\
Full History can be retrieved by specifying a single symbol and selecting the `SYMBOL_DATE` to when it is active.<br />
\\\\
For example `DAY` after Feb 2024.

```ipython3
import onetick.py as otp

data = otp.DataSource(db='US_COMP_SAMPLE_DAILY', tick_type='DAY')
result = otp.run(data,
                 start=otp.dt(2024, 1, 1),
                 end=otp.dt(2024, 4, 1),
                 timezone='America/New_York',
                 symbols='DAY',
                 symbol_date=otp.dt(2024, 4, 1))
result
```

```myst-ansi
                    Time EXCHANGE   OPEN    HIGH     LOW   CLOSE   VOLUME  \
0    2024-01-02 20:15:00        A  65.80  66.160  65.740  66.040     1963   
1    2024-01-02 20:15:00        B  65.74  66.130  65.740  66.120     3272   
2    2024-01-02 20:15:00        C  66.18  66.180  65.630  66.120     3161   
3    2024-01-02 20:15:00        D  66.10  66.800  65.250  66.020   366173   
4    2024-01-02 20:15:00        H  66.69  66.690  65.710  66.080     4597   
...                  ...      ...    ...     ...     ...     ...      ...   
1088 2024-03-28 20:15:00        V  66.15  66.375  65.695  66.235    78488   
1089 2024-03-28 20:15:00        X  66.07  66.165  65.710  66.165      992   
1090 2024-03-28 20:15:00        Y  66.10  66.330  66.010  66.330     2127   
1091 2024-03-28 20:15:00        Z  66.31  66.375  65.690  66.360    42920   
1092 2024-03-28 20:15:00           66.45  66.450  65.650  66.210  1617713   

           VWAP  PRICE_OPENING_AUCTION  VOLUME_OPENING_AUCTION  \
0     65.988380                    NaN                       0   
1     66.040385                    NaN                       0   
2     65.969379                    NaN                       0   
3     65.943110                    NaN                       0   
4     66.119785                    NaN                       0   
...         ...                    ...                     ...   
1088  66.125359                    NaN                       0   
1089  65.991250                    NaN                       0   
1090  66.174067                    NaN                       0   
1091  66.149626                    NaN                       0   
1092  66.163421                    NaN                    6550   

      PRICE_CLOSING_AUCTION  VOLUME_CLOSING_AUCTION  VOLUME_MAIN_SESSION  \
0                       NaN                       0                 1963   
1                       NaN                       0                 3272   
2                       NaN                       0                 3160   
3                       NaN                       0               313057   
4                       NaN                       0                 4597   
...                     ...                     ...                  ...   
1088                    NaN                       0                78488   
1089                    NaN                       0                  992   
1090                    NaN                       0                 2127   
1091                    NaN                       0                42920   
1092                    NaN                  491722              1028853   

      VOLUME_PRE_MARKET  VOLUME_POST_MARKET  VOLUME_ODD_LOT  VOLUME_ROUND_LOT  \
0                     0                   0             827              1136   
1                     0                   0            2440               832   
2                     0                   1            1695              1466   
3                    97               53019          119016            247157   
4                     0                   0            3156              1441   
...                 ...                 ...             ...               ...   
1088                  0                   0           11964             66524   
1089                  0                   0             592               400   
1090                  0                   0             701              1426   
1091                  0                   0           20470             22450   
1092                107               90481          222184           1395529   

      VOLUME_OFF_EXCHANGE  OMDSEQ  
0                       0   22931  
1                       0   22932  
2                       0   22933  
3                  366173   22934  
4                       0   22935  
...                   ...     ...  
1088                    0   32708  
1089                    0   32709  
1090                    0   32710  
1091                    0   32711  
1092               570844   32712  

[1093 rows x 19 columns]
```

## Data Retrieval with Old Symbol

Ceridian HCM Holding rebanded as Dayforce, Inc on 1st Feb 2024, changing its symbol from `CDAY` to `DAY`.<br />
\\\\
Full History can be retrieved by specifying a single symbol and selecting the `SYMBOL_DATE` to when it is active.<br />
\\\\
For example `CDAY` before Feb 2024.

```ipython3
import onetick.py as otp

data = otp.DataSource(db='US_COMP_SAMPLE_DAILY', tick_type='DAY')
result = otp.run(data,
                 start=otp.dt(2024, 1, 1),
                 end=otp.dt(2024, 4, 1),
                 timezone='America/New_York',
                 symbols='CDAY',
                 symbol_date=otp.dt(2024, 1, 1))
result
```

```myst-ansi
                    Time EXCHANGE   OPEN    HIGH     LOW   CLOSE   VOLUME  \
0    2024-01-02 20:15:00        A  65.80  66.160  65.740  66.040     1963   
1    2024-01-02 20:15:00        B  65.74  66.130  65.740  66.120     3272   
2    2024-01-02 20:15:00        C  66.18  66.180  65.630  66.120     3161   
3    2024-01-02 20:15:00        D  66.10  66.800  65.250  66.020   366173   
4    2024-01-02 20:15:00        H  66.69  66.690  65.710  66.080     4597   
...                  ...      ...    ...     ...     ...     ...      ...   
1088 2024-03-28 20:15:00        V  66.15  66.375  65.695  66.235    78488   
1089 2024-03-28 20:15:00        X  66.07  66.165  65.710  66.165      992   
1090 2024-03-28 20:15:00        Y  66.10  66.330  66.010  66.330     2127   
1091 2024-03-28 20:15:00        Z  66.31  66.375  65.690  66.360    42920   
1092 2024-03-28 20:15:00           66.45  66.450  65.650  66.210  1617713   

           VWAP  PRICE_OPENING_AUCTION  VOLUME_OPENING_AUCTION  \
0     65.988380                    NaN                       0   
1     66.040385                    NaN                       0   
2     65.969379                    NaN                       0   
3     65.943110                    NaN                       0   
4     66.119785                    NaN                       0   
...         ...                    ...                     ...   
1088  66.125359                    NaN                       0   
1089  65.991250                    NaN                       0   
1090  66.174067                    NaN                       0   
1091  66.149626                    NaN                       0   
1092  66.163421                    NaN                    6550   

      PRICE_CLOSING_AUCTION  VOLUME_CLOSING_AUCTION  VOLUME_MAIN_SESSION  \
0                       NaN                       0                 1963   
1                       NaN                       0                 3272   
2                       NaN                       0                 3160   
3                       NaN                       0               313057   
4                       NaN                       0                 4597   
...                     ...                     ...                  ...   
1088                    NaN                       0                78488   
1089                    NaN                       0                  992   
1090                    NaN                       0                 2127   
1091                    NaN                       0                42920   
1092                    NaN                  491722              1028853   

      VOLUME_PRE_MARKET  VOLUME_POST_MARKET  VOLUME_ODD_LOT  VOLUME_ROUND_LOT  \
0                     0                   0             827              1136   
1                     0                   0            2440               832   
2                     0                   1            1695              1466   
3                    97               53019          119016            247157   
4                     0                   0            3156              1441   
...                 ...                 ...             ...               ...   
1088                  0                   0           11964             66524   
1089                  0                   0             592               400   
1090                  0                   0             701              1426   
1091                  0                   0           20470             22450   
1092                107               90481          222184           1395529   

      VOLUME_OFF_EXCHANGE  OMDSEQ  
0                       0   22931  
1                       0   22932  
2                       0   22933  
3                  366173   22934  
4                       0   22935  
...                   ...     ...  
1088                    0   32708  
1089                    0   32709  
1090                    0   32710  
1091                    0   32711  
1092               570844   32712  

[1093 rows x 19 columns]
```
