Reference Retrieval#
This section contains 5 examples for Reference Retrieval using the onetick-py.
Each example is a self-contained script that can be run against the OneTick Cloud sample databases.
# 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__'
Full Stat Record#
Retrieve the Static Records from the LSE_SAMPLE database for VOD, across the specified time range.
import onetick.py as otp
data = otp.DataSource(db='LSE_SAMPLE', tick_type='STAT')
result = otp.run(data,
start=otp.dt(2024, 1, 3),
end=otp.dt(2024, 1, 4),
timezone='Europe/London',
symbols='VOD')
result
| Time | NAME | ISIN | SEDOL | EXCH_SYMBOL | TRADING_CODE | MIC | OPERATING_MIC | SEC_TYPE | MKT_SEGMENT | MKT_SECTOR | COUNTRY_REG | CURRENCY | LOT_SIZE | EXCH_MKT_SIZE | OMDSEQ | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 2024-01-03 04:00:00 | Vodafone Group plc | GB00BH4HKS39 | BH4HKS3 | VOD | 133215 | XLON | XLON | Equity | SET1 | FE10 | GB | GBX | 1.0 | 30000 | 24595 |
| 1 | 2024-01-03 04:00:00 | Vodafone Group plc | GB00BH4HKS39 | BH4HKS3 | VOD | 133215 | XLON | XLON | Equity | SET1 | FE10 | GB | GBX | 1.0 | 30000 | 50834 |
| 2 | 2024-01-03 04:00:00 | Vodafone Group plc | GB00BH4HKS39 | BH4HKS3 | VOD | 133215 | XLON | XLON | Equity | SET1 | FE10 | GB | GBX | 1.0 | 30000 | 77076 |
Futures Holiday Calendar#
Retrieve the Holiday Calendar from the OQD_MKTCAL database, for Futures product CL (Crude Oil).
import onetick.py as otp
data = otp.DataSource(db='OQD_MKTCAL', tick_type='MKTCAL')
data = data.where(data['ACTIVITY_NAME'].str.like('%HOLIDAY%'))
result = otp.run(data,
start=otp.dt(2023, 1, 3),
end=otp.dt(2024, 1, 4),
timezone='UTC',
symbols='TDI_F_CL')
result
| Time | CALENDAR_NAME | ACTIVITY_NAME | TIME_ZONE | START_DATE | END_DATE | START_TIME | END_TIME | WEEKDAYS | DELETED_TIME | TICK_STATUS | OMDSEQ | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 2023-01-16 | TDI_F_CL | NIGHT2_HOLIDAY | America/New_York | 2023-01-16 | 2023-01-16 | 00:00 | 24:00 | 2 | 1970-01-01 | 0 | 558 |
| 1 | 2023-02-20 | TDI_F_CL | NIGHT2_HOLIDAY | America/New_York | 2023-02-20 | 2023-02-20 | 00:00 | 24:00 | 2 | 1970-01-01 | 0 | 747 |
| 2 | 2023-04-07 | TDI_F_CL | ALL_HOLIDAY | America/New_York | 2023-04-07 | 2023-04-07 | 00:00 | 24:00 | 32 | 1970-01-01 | 0 | 2013 |
| 3 | 2023-05-29 | TDI_F_CL | NIGHT2_HOLIDAY | America/New_York | 2023-05-29 | 2023-05-29 | 00:00 | 24:00 | 2 | 1970-01-01 | 0 | 766 |
| 4 | 2023-06-19 | TDI_F_CL | NIGHT2_HOLIDAY | America/New_York | 2023-06-19 | 2023-06-19 | 00:00 | 24:00 | 2 | 1970-01-01 | 0 | 551 |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| 7 | 2023-11-23 | TDI_F_CL | NIGHT2_HOLIDAY | America/New_York | 2023-11-23 | 2023-11-23 | 00:00 | 24:00 | 16 | 1970-01-01 | 0 | 672 |
| 8 | 2023-11-24 | TDI_F_CL | DAY_HOLIDAY | America/New_York | 2023-11-24 | 2023-11-24 | 09:00 | 13:45 | 32 | 1970-01-01 | 0 | 726 |
| 9 | 2023-11-24 | TDI_F_CL | NIGHT2_HOLIDAY | America/New_York | 2023-11-24 | 2023-11-24 | 00:00 | 24:00 | 32 | 1970-01-01 | 0 | 727 |
| 10 | 2023-12-25 | TDI_F_CL | ALL_HOLIDAY | America/New_York | 2023-12-25 | 2023-12-25 | 00:00 | 24:00 | 2 | 1970-01-01 | 0 | 1945 |
| 11 | 2024-01-01 | TDI_F_CL | ALL_HOLIDAY | America/New_York | 2024-01-01 | 2024-01-01 | 00:00 | 24:00 | 2 | 1970-01-01 | 0 | 2338 |
12 rows × 12 columns
Futures Trading Hours#
Retrieve the Standard Trading Hours from the OQD_MKTCAL database, for Futures product CL (Crude Oil).
import onetick.py as otp
data = otp.DataSource(db='OQD_MKTCAL', tick_type='MKTCAL')
_, data = data[data['ACTIVITY_NAME'].str.like('%HOLIDAY%')]
result = otp.run(data,
start=otp.dt(1990, 1, 3),
end=otp.dt(2024, 1, 4),
timezone='UTC',
symbols='TDI_F_CL')
result
| Time | CALENDAR_NAME | ACTIVITY_NAME | TIME_ZONE | START_DATE | END_DATE | START_TIME | END_TIME | WEEKDAYS | DELETED_TIME | TICK_STATUS | OMDSEQ | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1993-01-06 | TDI_F_CL | DAY | America/New_York | 1993-01-06 | 1993-03-12 | 09:45 | 15:40 | 62 | 1970-01-01 | 0 | 2 |
| 1 | 1993-03-13 | TDI_F_CL | DAY | America/New_York | 1993-03-13 | 2001-09-10 | 09:45 | 15:15 | 62 | 1970-01-01 | 0 | 2 |
| 2 | 2001-09-17 | TDI_F_CL | DAY | America/New_York | 2001-09-17 | 2001-09-17 | 11:45 | 14:40 | 62 | 1970-01-01 | 0 | 20 |
| 3 | 2001-09-18 | TDI_F_CL | DAY | America/New_York | 2001-09-18 | 2001-09-19 | 09:45 | 13:45 | 62 | 1970-01-01 | 0 | 8 |
| 4 | 2001-09-20 | TDI_F_CL | DAY | America/New_York | 2001-09-20 | 2001-09-28 | 10:45 | 13:50 | 62 | 1970-01-01 | 0 | 67 |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| 13 | 2007-02-01 | TDI_F_CL | NIGHT1 | America/New_York | 2007-02-01 | 2008-09-14 | 18:00 | 09:00 | 62 | 1970-01-01 | 0 | 40 |
| 14 | 2007-02-01 | TDI_F_CL | NIGHT2 | America/New_York | 2007-02-01 | 2015-09-18 | 14:30 | 17:15 | 62 | 1970-01-01 | 0 | 41 |
| 15 | 2008-09-15 | TDI_F_CL | NIGHT1 | America/New_York | 2008-09-15 | 2008-09-15 | 10:00 | 09:00 | 2 | 1970-01-01 | 0 | 210 |
| 16 | 2008-09-16 | TDI_F_CL | NIGHT1 | America/New_York | 2008-09-16 | 2068-07-19 | 18:00 | 09:00 | 62 | 1970-01-01 | 0 | 30 |
| 17 | 2015-09-21 | TDI_F_CL | NIGHT2 | America/New_York | 2015-09-21 | 2068-07-19 | 14:30 | 17:00 | 62 | 1970-01-01 | 0 | 212 |
18 rows × 12 columns
Market Holiday Calendar#
Retrieve the Holiday Calendar from the OQD_MKTCAL database, for Database LSE.
import onetick.py as otp
data = otp.DataSource(db='OQD_MKTCAL', tick_type='MKTCAL')
data = data.where(data['ACTIVITY_NAME'].str.like('%HOLIDAY%'))
result = otp.run(data,
start=otp.dt(2023, 1, 3),
end=otp.dt(2024, 1, 4),
timezone='UTC',
symbols='CLOUD_DB_LSE')
result
| Time | CALENDAR_NAME | ACTIVITY_NAME | TIME_ZONE | START_DATE | END_DATE | START_TIME | END_TIME | WEEKDAYS | DELETED_TIME | TICK_STATUS | OMDSEQ | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 2023-04-07 | CLOUD_DB_LSE | ALL_HOLIDAY | Europe/London | 2023-04-07 | 2023-04-07 | 00:00 | 24:00 | 32 | 1970-01-01 | 0 | 725 |
| 1 | 2023-04-10 | CLOUD_DB_LSE | ALL_HOLIDAY | Europe/London | 2023-04-10 | 2023-04-10 | 00:00 | 24:00 | 2 | 1970-01-01 | 0 | 289 |
| 2 | 2023-05-01 | CLOUD_DB_LSE | ALL_HOLIDAY | Europe/London | 2023-05-01 | 2023-05-01 | 00:00 | 24:00 | 2 | 1970-01-01 | 0 | 470 |
| 3 | 2023-05-08 | CLOUD_DB_LSE | ALL_HOLIDAY | Europe/London | 2023-05-08 | 2023-05-08 | 00:00 | 24:00 | 2 | 1970-01-01 | 0 | 48 |
| 4 | 2023-05-29 | CLOUD_DB_LSE | ALL_HOLIDAY | Europe/London | 2023-05-29 | 2023-05-29 | 00:00 | 24:00 | 2 | 1970-01-01 | 0 | 301 |
| 5 | 2023-08-28 | CLOUD_DB_LSE | ALL_HOLIDAY | Europe/London | 2023-08-28 | 2023-08-28 | 00:00 | 24:00 | 2 | 1970-01-01 | 0 | 38 |
| 6 | 2023-12-22 | CLOUD_DB_LSE | DAY_HOLIDAY | Europe/London | 2023-12-22 | 2023-12-22 | 08:00 | 12:30 | 32 | 1970-01-01 | 0 | 60 |
| 7 | 2023-12-25 | CLOUD_DB_LSE | ALL_HOLIDAY | Europe/London | 2023-12-25 | 2023-12-25 | 00:00 | 24:00 | 2 | 1970-01-01 | 0 | 648 |
| 8 | 2023-12-26 | CLOUD_DB_LSE | ALL_HOLIDAY | Europe/London | 2023-12-26 | 2023-12-26 | 00:00 | 24:00 | 4 | 1970-01-01 | 0 | 362 |
| 9 | 2023-12-29 | CLOUD_DB_LSE | DAY_HOLIDAY | Europe/London | 2023-12-29 | 2023-12-29 | 08:00 | 12:30 | 32 | 1970-01-01 | 0 | 146 |
| 10 | 2024-01-01 | CLOUD_DB_LSE | ALL_HOLIDAY | Europe/London | 2024-01-01 | 2024-01-01 | 00:00 | 24:00 | 2 | 1970-01-01 | 0 | 804 |
Market Trading Hours#
Retrieve the Standard Trading Hours from the OQD_MKTCAL database, for Database LSE.
import onetick.py as otp
data = otp.DataSource(db='OQD_MKTCAL', tick_type='MKTCAL')
_, data = data[data['ACTIVITY_NAME'].str.like('%HOLIDAY%')]
result = otp.run(data,
start=otp.dt(1990, 1, 3),
end=otp.dt(2024, 1, 4),
timezone='UTC',
symbols='CLOUD_DB_LSE')
result
| Time | CALENDAR_NAME | ACTIVITY_NAME | TIME_ZONE | START_DATE | END_DATE | START_TIME | END_TIME | WEEKDAYS | DELETED_TIME | TICK_STATUS | OMDSEQ | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1993-01-01 | CLOUD_DB_LSE | MARKET | Europe/London | 1993-01-01 | 2068-07-19 | 08:00 | 16:30 | 62 | 1970-01-01 | 0 | 635 |
| 1 | 1993-01-01 | CLOUD_DB_LSE | POST_MARKET | Europe/London | 1993-01-01 | 2068-07-19 | 16:30 | 18:30 | 62 | 1970-01-01 | 0 | 636 |
| 2 | 1993-01-01 | CLOUD_DB_LSE | PRE_MARKET | Europe/London | 1993-01-01 | 2068-07-19 | 07:00 | 08:00 | 62 | 1970-01-01 | 0 | 637 |
| 3 | 1993-01-01 | CLOUD_DB_LSE | X_MARKET_MTF | Europe/London | 1993-01-01 | 2068-07-19 | 08:00 | 16:30 | 62 | 1970-01-01 | 0 | 638 |