Data Retrieval - Bars#
This section contains 3 examples for Data Retrieval - Bars 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__'
Daily Trade Bars#
Retrieve Daily OHLC Records from the US_COMP_SAMPLE_DAILY database, and DAY table.
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, 2, 1),
timezone='America/New_York',
symbols='CSCO')
result
| Time | EXCHANGE | OPEN | HIGH | LOW | CLOSE | VOLUME | VWAP | PRICE_OPENING_AUCTION | VOLUME_OPENING_AUCTION | PRICE_CLOSING_AUCTION | VOLUME_CLOSING_AUCTION | VOLUME_MAIN_SESSION | VOLUME_PRE_MARKET | VOLUME_POST_MARKET | VOLUME_ODD_LOT | VOLUME_ROUND_LOT | VOLUME_OFF_EXCHANGE | OMDSEQ | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 2024-01-02 20:15:00 | A | 50.460 | 50.830 | 50.27 | 50.550 | 62688 | 50.420217 | NaN | 0 | NaN | 0 | 61348 | 1340 | 0 | 4804 | 57884 | 0 | 30021 |
| 1 | 2024-01-02 20:15:00 | B | 50.420 | 50.830 | 50.29 | 50.530 | 40416 | 50.508402 | NaN | 0 | NaN | 0 | 40416 | 0 | 0 | 8160 | 32256 | 0 | 30022 |
| 2 | 2024-01-02 20:15:00 | C | 50.505 | 50.800 | 50.26 | 50.520 | 82490 | 50.477827 | NaN | 0 | NaN | 0 | 82486 | 4 | 0 | 17930 | 64560 | 0 | 30023 |
| 3 | 2024-01-02 20:15:00 | D | 50.470 | 50.860 | 50.25 | 50.530 | 7404940 | 50.551240 | NaN | 0 | NaN | 0 | 6164089 | 4769 | 1236082 | 478272 | 6926668 | 7404940 | 30024 |
| 4 | 2024-01-02 20:15:00 | H | 50.490 | 50.830 | 50.26 | 50.530 | 136771 | 50.464547 | NaN | 0 | NaN | 0 | 136771 | 0 | 0 | 23687 | 113084 | 0 | 30025 |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| 373 | 2024-01-31 20:15:00 | V | 51.865 | 51.905 | 50.12 | 50.175 | 1038760 | 50.556664 | NaN | 0 | NaN | 0 | 1038570 | 190 | 0 | 66001 | 972759 | 0 | 29789 |
| 374 | 2024-01-31 20:15:00 | X | 51.770 | 51.770 | 50.12 | 50.180 | 76701 | 50.567621 | NaN | 0 | NaN | 0 | 76701 | 0 | 0 | 5555 | 71146 | 0 | 29790 |
| 375 | 2024-01-31 20:15:00 | Y | 51.340 | 51.340 | 50.12 | 50.180 | 186667 | 50.425931 | NaN | 0 | NaN | 0 | 186667 | 0 | 0 | 28118 | 158549 | 0 | 29791 |
| 376 | 2024-01-31 20:15:00 | Z | 51.810 | 51.850 | 50.11 | 50.170 | 1519391 | 50.477362 | NaN | 0 | NaN | 0 | 1516783 | 2579 | 29 | 180563 | 1338828 | 0 | 29792 |
| 377 | 2024-01-31 20:15:00 | 51.850 | 51.940 | 50.07 | 50.180 | 29311787 | 50.479861 | NaN | 267748 | NaN | 5533800 | 21851859 | 51439 | 1606941 | 2071248 | 27240539 | 10210813 | 29793 |
378 rows × 19 columns
Minute Trade Bars#
Retrieve pre-calculated 1 minute Trade Bars from the US_COMP_SAMPLE_BARS database, and TRD_1M table.
Bars are calculated at the end of each minute, so setting time range from 09:31 to 16:01.
import onetick.py as otp
data = otp.DataSource(db='US_COMP_SAMPLE_BARS', tick_type='TRD_1M')
result = otp.run(data,
start=otp.dt(2024, 1, 3, 9, 31),
end=otp.dt(2024, 1, 3, 16, 1),
timezone='America/New_York',
symbols='CSCO')
result
| Time | FIRST_TIME | FIRST | FIRST_SIZE | HIGH_TIME | HIGH | HIGH_SIZE | LOW_TIME | LOW | LOW_SIZE | LAST_TIME | LAST | LAST_SIZE | VWAP | TWAP | VOLUME | TRADE_CURRENCY | TRADE_TICK_COUNT | CLOUD_DB | OMDSEQ | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 2024-01-03 09:31:00 | 2024-01-03 09:30:00.127459523 | 50.1700 | 100 | 2024-01-03 09:30:04.203519590 | 50.2200 | 100 | 2024-01-03 09:30:00.280877749 | 50.0020 | 200 | 2024-01-03 09:30:59.206785096 | 50.160 | 100 | 50.141276 | 50.147029 | 69657 | USD | 418 | NYSE_TAQ | 0 |
| 1 | 2024-01-03 09:32:00 | 2024-01-03 09:31:04.039361452 | 50.1501 | 210 | 2024-01-03 09:31:04.532601592 | 50.1750 | 100 | 2024-01-03 09:31:46.066142387 | 50.0800 | 100 | 2024-01-03 09:31:59.457678670 | 50.090 | 228 | 50.124406 | 50.114364 | 39792 | USD | 244 | NYSE_TAQ | 0 |
| 2 | 2024-01-03 09:33:00 | 2024-01-03 09:32:01.135031886 | 50.0900 | 100 | 2024-01-03 09:32:01.135031886 | 50.0900 | 100 | 2024-01-03 09:32:58.010510866 | 50.0301 | 267 | 2024-01-03 09:32:59.301339757 | 50.040 | 100 | 50.070231 | 50.066961 | 26904 | USD | 187 | NYSE_TAQ | 0 |
| 3 | 2024-01-03 09:34:00 | 2024-01-03 09:33:01.573754500 | 50.0400 | 100 | 2024-01-03 09:33:06.244990351 | 50.0600 | 100 | 2024-01-03 09:33:53.740006921 | 50.0000 | 200 | 2024-01-03 09:33:56.264120820 | 50.025 | 100 | 50.030940 | 50.031961 | 32673 | USD | 149 | NYSE_TAQ | 0 |
| 4 | 2024-01-03 09:35:00 | 2024-01-03 09:34:00.147786878 | 50.0200 | 100 | 2024-01-03 09:34:45.686497272 | 50.0400 | 100 | 2024-01-03 09:34:33.162152409 | 50.0000 | 100 | 2024-01-03 09:34:59.152722398 | 50.020 | 100 | 50.022197 | 50.022726 | 32783 | USD | 173 | NYSE_TAQ | 0 |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| 385 | 2024-01-03 15:56:00 | 2024-01-03 15:55:00.024403059 | 50.4800 | 100 | 2024-01-03 15:55:49.932002214 | 50.5199 | 100 | 2024-01-03 15:55:00.117020300 | 50.4700 | 100 | 2024-01-03 15:55:59.409859714 | 50.505 | 400 | 50.499198 | 50.500819 | 185335 | USD | 925 | NYSE_TAQ | 0 |
| 386 | 2024-01-03 15:57:00 | 2024-01-03 15:56:00.200203893 | 50.5100 | 100 | 2024-01-03 15:56:55.714073540 | 50.5300 | 290 | 2024-01-03 15:56:12.301937097 | 50.4850 | 300 | 2024-01-03 15:56:59.532887305 | 50.515 | 100 | 50.504659 | 50.502380 | 166268 | USD | 850 | NYSE_TAQ | 0 |
| 387 | 2024-01-03 15:58:00 | 2024-01-03 15:57:00.199711671 | 50.5150 | 200 | 2024-01-03 15:57:10.756235710 | 50.5450 | 200 | 2024-01-03 15:57:00.675307866 | 50.5100 | 100 | 2024-01-03 15:57:59.455946880 | 50.520 | 100 | 50.527872 | 50.530826 | 346983 | USD | 1277 | NYSE_TAQ | 0 |
| 388 | 2024-01-03 15:59:00 | 2024-01-03 15:58:00.000316902 | 50.5200 | 100 | 2024-01-03 15:58:34.858710440 | 50.5450 | 100 | 2024-01-03 15:58:09.987777690 | 50.5100 | 400 | 2024-01-03 15:58:59.649347440 | 50.530 | 200 | 50.531480 | 50.529147 | 166368 | USD | 669 | NYSE_TAQ | 0 |
| 389 | 2024-01-03 16:00:00 | 2024-01-03 15:59:00.000861861 | 50.5300 | 200 | 2024-01-03 15:59:34.102288914 | 50.5600 | 100 | 2024-01-03 15:59:10.994674253 | 50.5200 | 200 | 2024-01-03 15:59:59.990217289 | 50.520 | 4300 | 50.540520 | 50.538417 | 627351 | USD | 2058 | NYSE_TAQ | 0 |
390 rows × 20 columns
Minute Quote Bars#
Retrieve pre-calculated 1 minute Quote Bars from the US_COMP_SAMPLE_BARS database, and QTE_1M table.
Bars are calculated at the end of each minute, so setting time range from 09:31 to 16:01.
import onetick.py as otp
data = otp.DataSource(db='US_COMP_SAMPLE_BARS', tick_type='QTE_1M')
result = otp.run(data,
start=otp.dt(2024, 1, 3, 9, 31),
end=otp.dt(2024, 1, 3, 16, 1),
timezone='America/New_York',
symbols='CSCO')
result
| Time | FIRST_BID_TIME | FIRST_BID_PRICE | FIRST_BID_SIZE | FIRST_ASK_TIME | FIRST_ASK_PRICE | FIRST_ASK_SIZE | HIGH_BID_TIME | HIGH_BID | HIGH_BID_SIZE | ... | MID_LAST | SPREAD_MIN | SPREAD_MAX | SPREAD_TWAP | SPREAD_MEDIAN | SPREAD_LAST | QUOTE_CURRENCY | QUOTE_TICK_COUNT | CLOUD_DB | OMDSEQ | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 2024-01-03 09:31:00 | 2024-01-03 09:30:00.001830617 | 50.00 | 9 | 2024-01-03 09:30:00.001830617 | 50.18 | 2 | 2024-01-03 09:30:04.009983752 | 50.22 | 1 | ... | 50.160 | 0.0 | 0.18 | 0.018177 | 0.02 | 0.02 | USD | 10370 | NYSE_TAQ | 0 |
| 1 | 2024-01-03 09:32:00 | 2024-01-03 09:31:00.001237971 | 50.15 | 5 | 2024-01-03 09:31:00.001237971 | 50.17 | 7 | 2024-01-03 09:31:04.425141902 | 50.17 | 1 | ... | 50.090 | 0.0 | 0.02 | 0.014063 | 0.01 | 0.02 | USD | 6711 | NYSE_TAQ | 0 |
| 2 | 2024-01-03 09:33:00 | 2024-01-03 09:32:00.005627484 | 50.08 | 4 | 2024-01-03 09:32:00.005627484 | 50.10 | 5 | 2024-01-03 09:32:00.005627484 | 50.08 | 4 | ... | 50.040 | 0.0 | 0.02 | 0.014197 | 0.01 | 0.02 | USD | 4338 | NYSE_TAQ | 0 |
| 3 | 2024-01-03 09:34:00 | 2024-01-03 09:33:00.000548600 | 50.03 | 5 | 2024-01-03 09:33:00.000548600 | 50.05 | 7 | 2024-01-03 09:33:06.134568404 | 50.06 | 1 | ... | 50.025 | 0.0 | 0.02 | 0.012603 | 0.01 | 0.01 | USD | 2813 | NYSE_TAQ | 0 |
| 4 | 2024-01-03 09:35:00 | 2024-01-03 09:34:00.003041083 | 50.02 | 7 | 2024-01-03 09:34:00.003041083 | 50.03 | 1 | 2024-01-03 09:34:55.666761587 | 50.04 | 2 | ... | 50.015 | 0.0 | 0.02 | 0.012166 | 0.01 | 0.01 | USD | 3545 | NYSE_TAQ | 0 |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| 385 | 2024-01-03 15:56:00 | 2024-01-03 15:55:00.000474694 | 50.47 | 29 | 2024-01-03 15:55:00.000474694 | 50.48 | 24 | 2024-01-03 15:55:45.729449709 | 50.51 | 2 | ... | 50.505 | 0.0 | 0.02 | 0.009952 | 0.01 | 0.01 | USD | 13079 | NYSE_TAQ | 0 |
| 386 | 2024-01-03 15:57:00 | 2024-01-03 15:56:00.003980007 | 50.50 | 21 | 2024-01-03 15:56:00.003980007 | 50.51 | 72 | 2024-01-03 15:56:54.524957985 | 50.52 | 25 | ... | 50.515 | 0.0 | 0.02 | 0.010000 | 0.01 | 0.01 | USD | 9070 | NYSE_TAQ | 0 |
| 387 | 2024-01-03 15:58:00 | 2024-01-03 15:57:00.005213668 | 50.51 | 60 | 2024-01-03 15:57:00.005213668 | 50.52 | 66 | 2024-01-03 15:57:10.754109243 | 50.54 | 1 | ... | 50.525 | 0.0 | 0.02 | 0.009999 | 0.01 | 0.01 | USD | 11637 | NYSE_TAQ | 0 |
| 388 | 2024-01-03 15:59:00 | 2024-01-03 15:58:00.000316689 | 50.52 | 24 | 2024-01-03 15:58:00.000316689 | 50.53 | 108 | 2024-01-03 15:58:34.796592944 | 50.54 | 2 | ... | 50.535 | 0.0 | 0.02 | 0.010000 | 0.01 | 0.01 | USD | 6922 | NYSE_TAQ | 0 |
| 389 | 2024-01-03 16:00:00 | 2024-01-03 15:59:00.000862449 | 50.53 | 43 | 2024-01-03 15:59:00.000862449 | 50.54 | 184 | 2024-01-03 15:59:28.015286783 | 50.55 | 12 | ... | 50.525 | 0.0 | 0.02 | 0.009978 | 0.01 | 0.01 | USD | 13240 | NYSE_TAQ | 0 |
390 rows × 35 columns