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