Filtering#
This section contains 8 examples for Filtering 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__'
Adding Multiple Filters#
Applying multiple filters to the dataset as two separate operations.
import onetick.py as otp
data = otp.DataSource(db='US_COMP_SAMPLE', tick_type='TRD')
data = data[['PRICE', 'SIZE', 'EXCHANGE']]
data['TRADED_VALUE'] = data['PRICE'] * data['SIZE']
data = data.where(data['EXCHANGE'] == 'N')
data = data.where(data['SIZE'] > 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
| Time | PRICE | SIZE | EXCHANGE | TRADED_VALUE | |
|---|---|---|---|---|---|
| 0 | 2024-01-03 09:30:02.371760827 | 50.13 | 127 | N | 6366.51 |
| 1 | 2024-01-03 09:30:19.325065423 | 50.13 | 337 | N | 16893.81 |
| 2 | 2024-01-03 09:30:19.701084742 | 50.15 | 400 | N | 20060.00 |
| 3 | 2024-01-03 09:30:20.787037891 | 50.14 | 107 | N | 5364.98 |
| 4 | 2024-01-03 09:30:23.436860708 | 50.14 | 600 | N | 30084.00 |
| ... | ... | ... | ... | ... | ... |
| 54 | 2024-01-03 09:38:28.029695573 | 50.08 | 200 | N | 10016.00 |
| 55 | 2024-01-03 09:39:01.147191601 | 50.09 | 312 | N | 15628.08 |
| 56 | 2024-01-03 09:39:04.654739241 | 50.08 | 200 | N | 10016.00 |
| 57 | 2024-01-03 09:39:17.427491120 | 50.08 | 211 | N | 10566.88 |
| 58 | 2024-01-03 09:39:22.549900523 | 50.10 | 200 | N | 10020.00 |
59 rows × 5 columns
Filtering on a Single Trade Condition#
Filtering that a trade condition is present in the COND field of the US_COMP_SAMPLE database.
import onetick.py as otp
data = otp.DataSource(db='US_COMP_SAMPLE', tick_type='TRD')
data, _= data[data['COND'].str.contains('I')]
data = data[:100]
result = otp.run(data,
start=otp.dt(2024, 1, 3),
end=otp.dt(2024, 1, 4),
timezone='America/New_York',
symbols='CSCO')
result
| Time | COND | CORR | DELETED_TIME | EXCHANGE | OMDSEQ | PARTICIPANT_TIME | PRICE | SEQ_NUM | SIZE | SOURCE | STOP_STOCK | TICKER | TICK_STATUS | TRADE_ID | TRF | TRF_TIME | TTE | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 2024-01-03 04:00:00.019128245 | @ TI | 0 | 1969-12-31 19:00:00 | K | 0 | 2024-01-03 04:00:00.000052000 | 50.46 | 1496 | 1 | N | CSCO | 0 | 1 | 1969-12-31 19:00:00 | 0 | ||
| 1 | 2024-01-03 04:00:00.905488831 | @ TI | 0 | 1969-12-31 19:00:00 | P | 0 | 2024-01-03 04:00:00.905146127 | 50.05 | 1531 | 5 | N | CSCO | 0 | 1 | 1969-12-31 19:00:00 | 0 | ||
| 2 | 2024-01-03 04:00:01.278537460 | @FTI | 0 | 1969-12-31 19:00:00 | Q | 0 | 2024-01-03 04:00:01.278518875 | 50.29 | 1540 | 13 | N | CSCO | 0 | 1 | 1969-12-31 19:00:00 | 1 | ||
| 3 | 2024-01-03 04:00:01.278746794 | @FTI | 0 | 1969-12-31 19:00:00 | P | 1 | 2024-01-03 04:00:01.278404559 | 50.29 | 1541 | 13 | N | CSCO | 0 | 2 | 1969-12-31 19:00:00 | 1 | ||
| 4 | 2024-01-03 04:00:03.090763650 | @FTI | 0 | 1969-12-31 19:00:00 | Q | 0 | 2024-01-03 04:00:03.090746743 | 50.29 | 1565 | 1 | N | CSCO | 0 | 2 | 1969-12-31 19:00:00 | 1 | ||
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| 95 | 2024-01-03 06:42:37.790073044 | @FTI | 0 | 1969-12-31 19:00:00 | P | 0 | 2024-01-03 06:42:37.789729308 | 50.12 | 43556 | 1 | N | CSCO | 0 | 39 | 1969-12-31 19:00:00 | 1 | ||
| 96 | 2024-01-03 06:42:37.804968776 | @FTI | 0 | 1969-12-31 19:00:00 | Q | 0 | 2024-01-03 06:42:37.804953171 | 50.17 | 43557 | 10 | N | CSCO | 0 | 54 | 1969-12-31 19:00:00 | 1 | ||
| 97 | 2024-01-03 06:42:37.805831496 | @FTI | 0 | 1969-12-31 19:00:00 | Q | 0 | 2024-01-03 06:42:37.805816609 | 50.17 | 43558 | 5 | N | CSCO | 0 | 55 | 1969-12-31 19:00:00 | 1 | ||
| 98 | 2024-01-03 06:42:37.816687662 | @FTI | 0 | 1969-12-31 19:00:00 | Q | 0 | 2024-01-03 06:42:37.816672176 | 50.17 | 43559 | 5 | N | CSCO | 0 | 56 | 1969-12-31 19:00:00 | 1 | ||
| 99 | 2024-01-03 06:42:38.014732702 | @FTI | 0 | 1969-12-31 19:00:00 | Q | 0 | 2024-01-03 06:42:38.014717674 | 50.19 | 43562 | 5 | N | CSCO | 0 | 57 | 1969-12-31 19:00:00 | 1 |
100 rows × 18 columns
Filtering on Multiple Trade Conditions#
Filtering that any of the specified trade conditions are present
in the COND field of the US_COMP database, by using character_present().
import onetick.py as otp
data = otp.DataSource(db='US_COMP_SAMPLE', tick_type='TRD')
data = data.character_present(data['COND'], 'O6TUHILNRWZ47QMBCGPV')
data = data[:100]
result = otp.run(data,
start=otp.dt(2024, 1, 3),
end=otp.dt(2024, 1, 4),
timezone='America/New_York',
symbols='CSCO')
result
| Time | COND | CORR | DELETED_TIME | EXCHANGE | OMDSEQ | PARTICIPANT_TIME | PRICE | SEQ_NUM | SIZE | SOURCE | STOP_STOCK | TICKER | TICK_STATUS | TRADE_ID | TRF | TRF_TIME | TTE | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 2024-01-03 04:00:00.019128245 | @ TI | 0 | 1969-12-31 19:00:00 | K | 0 | 2024-01-03 04:00:00.000052000 | 50.46 | 1496 | 1 | N | CSCO | 0 | 1 | 1969-12-31 19:00:00 | 0 | ||
| 1 | 2024-01-03 04:00:00.905488831 | @ TI | 0 | 1969-12-31 19:00:00 | P | 0 | 2024-01-03 04:00:00.905146127 | 50.05 | 1531 | 5 | N | CSCO | 0 | 1 | 1969-12-31 19:00:00 | 0 | ||
| 2 | 2024-01-03 04:00:01.278537460 | @FTI | 0 | 1969-12-31 19:00:00 | Q | 0 | 2024-01-03 04:00:01.278518875 | 50.29 | 1540 | 13 | N | CSCO | 0 | 1 | 1969-12-31 19:00:00 | 1 | ||
| 3 | 2024-01-03 04:00:01.278746794 | @FTI | 0 | 1969-12-31 19:00:00 | P | 1 | 2024-01-03 04:00:01.278404559 | 50.29 | 1541 | 13 | N | CSCO | 0 | 2 | 1969-12-31 19:00:00 | 1 | ||
| 4 | 2024-01-03 04:00:03.090763650 | @FTI | 0 | 1969-12-31 19:00:00 | Q | 0 | 2024-01-03 04:00:03.090746743 | 50.29 | 1565 | 1 | N | CSCO | 0 | 2 | 1969-12-31 19:00:00 | 1 | ||
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| 95 | 2024-01-03 06:10:45.228483994 | @ T | 0 | 1969-12-31 19:00:00 | P | 3 | 2024-01-03 06:10:45.228132116 | 50.20 | 36285 | 788 | N | CSCO | 0 | 35 | 1969-12-31 19:00:00 | 0 | ||
| 96 | 2024-01-03 06:10:52.079452806 | @ T | 0 | 1969-12-31 19:00:00 | P | 0 | 2024-01-03 06:10:52.079105701 | 50.20 | 36303 | 100 | N | CSCO | 0 | 36 | 1969-12-31 19:00:00 | 0 | ||
| 97 | 2024-01-03 06:10:52.079454393 | @ T | 0 | 1969-12-31 19:00:00 | P | 1 | 2024-01-03 06:10:52.079105701 | 50.20 | 36304 | 900 | N | CSCO | 0 | 37 | 1969-12-31 19:00:00 | 0 | ||
| 98 | 2024-01-03 06:31:08.521306739 | @FTI | 0 | 1969-12-31 19:00:00 | P | 0 | 2024-01-03 06:31:08.520961545 | 50.15 | 39749 | 1 | N | CSCO | 0 | 38 | 1969-12-31 19:00:00 | 1 | ||
| 99 | 2024-01-03 06:42:03.828154778 | @ TI | 0 | 1969-12-31 19:00:00 | K | 0 | 2024-01-03 06:42:03.827956000 | 50.17 | 43183 | 1 | N | CSCO | 0 | 10 | 1969-12-31 19:00:00 | 0 |
100 rows × 18 columns
Filtering on Excluding Multiple Trade Conditions#
Filtering that any of the specified trade conditions are not present
in the COND field of the US_COMP_SAMPLE database.
Using character_present() with parameter discard_on_match=True.
import onetick.py as otp
data = otp.DataSource(db='US_COMP_SAMPLE', tick_type='TRD')
data = data.character_present(data['COND'], 'O6TUHILNRWZ47QMBCGPV', discard_on_match=True)
data = data[:100]
result = otp.run(data,
start=otp.dt(2024, 1, 3),
end=otp.dt(2024, 1, 4),
timezone='America/New_York',
symbols='CSCO')
result
| Time | COND | CORR | DELETED_TIME | EXCHANGE | OMDSEQ | PARTICIPANT_TIME | PRICE | SEQ_NUM | SIZE | SOURCE | STOP_STOCK | TICKER | TICK_STATUS | TRADE_ID | TRF | TRF_TIME | TTE | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 2024-01-03 09:30:00.127459523 | @ | 0 | 1969-12-31 19:00:00 | V | 0 | 2024-01-03 09:30:00.065044730 | 50.170 | 169181 | 100 | N | CSCO | 0 | 13 | 1969-12-31 19:00:00.000000000 | 0 | ||
| 1 | 2024-01-03 09:30:00.280877749 | @ | 0 | 1969-12-31 19:00:00 | D | 0 | 2024-01-03 09:30:00.280542269 | 50.002 | 169295 | 200 | N | CSCO | 0 | 94 | Q | 2024-01-03 09:30:00.280841375 | 0 | |
| 2 | 2024-01-03 09:30:00.607073913 | @F | 0 | 1969-12-31 19:00:00 | Z | 4 | 2024-01-03 09:30:00.606878000 | 50.090 | 170006 | 124 | N | CSCO | 0 | 63 | 1969-12-31 19:00:00.000000000 | 1 | ||
| 3 | 2024-01-03 09:30:00.888302226 | @ | 0 | 1969-12-31 19:00:00 | Q | 4 | 2024-01-03 09:30:00.888283518 | 50.090 | 171782 | 109 | N | CSCO | 0 | 360 | 1969-12-31 19:00:00.000000000 | 0 | ||
| 4 | 2024-01-03 09:30:00.889018624 | @F | 0 | 1969-12-31 19:00:00 | U | 0 | 2024-01-03 09:30:00.888812693 | 50.090 | 171787 | 100 | N | CSCO | 0 | 17 | 1969-12-31 19:00:00.000000000 | 1 | ||
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| 95 | 2024-01-03 09:30:04.203519590 | @F | 0 | 1969-12-31 19:00:00 | Q | 0 | 2024-01-03 09:30:04.203504691 | 50.220 | 185111 | 100 | N | CSCO | 0 | 537 | 1969-12-31 19:00:00.000000000 | 1 | ||
| 96 | 2024-01-03 09:30:04.203522132 | @F | 0 | 1969-12-31 19:00:00 | Q | 1 | 2024-01-03 09:30:04.203504691 | 50.220 | 185112 | 138 | N | CSCO | 0 | 538 | 1969-12-31 19:00:00.000000000 | 1 | ||
| 97 | 2024-01-03 09:30:04.203653496 | @ | 0 | 1969-12-31 19:00:00 | Q | 2 | 2024-01-03 09:30:04.203638794 | 50.220 | 185114 | 100 | N | CSCO | 0 | 539 | 1969-12-31 19:00:00.000000000 | 0 | ||
| 98 | 2024-01-03 09:30:04.203816597 | @F | 0 | 1969-12-31 19:00:00 | Z | 4 | 2024-01-03 09:30:04.203620000 | 50.220 | 185121 | 296 | N | CSCO | 0 | 109 | 1969-12-31 19:00:00.000000000 | 1 | ||
| 99 | 2024-01-03 09:30:04.203826441 | @ | 0 | 1969-12-31 19:00:00 | Q | 5 | 2024-01-03 09:30:04.203810447 | 50.220 | 185122 | 100 | N | CSCO | 0 | 540 | 1969-12-31 19:00:00.000000000 | 0 |
100 rows × 18 columns
Filtering on Specific Time Ranges#
Applying a filter on the Data Source based on specific time periods per day,
using time_filter().
import onetick.py as otp
data = otp.DataSource(db='US_COMP_SAMPLE', tick_type='TRD')
data = data.time_filter(start_time='09:33:00', end_time='09:35:00')
data = data[:1000]
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
| Time | COND | CORR | DELETED_TIME | EXCHANGE | OMDSEQ | PARTICIPANT_TIME | PRICE | SEQ_NUM | SIZE | SOURCE | STOP_STOCK | TICKER | TICK_STATUS | TRADE_ID | TRF | TRF_TIME | TTE | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 2024-01-03 09:33:00.084705868 | @ I | 0 | 1969-12-31 19:00:00 | Z | 0 | 2024-01-03 09:33:00.084511000 | 50.05 | 262862 | 1 | N | CSCO | 0 | 305 | 1969-12-31 19:00:00.000000000 | 0 | ||
| 1 | 2024-01-03 09:33:00.230210508 | @ I | 0 | 1969-12-31 19:00:00 | Z | 0 | 2024-01-03 09:33:00.230021000 | 50.05 | 262931 | 2 | N | CSCO | 0 | 306 | 1969-12-31 19:00:00.000000000 | 0 | ||
| 2 | 2024-01-03 09:33:00.320146067 | @ I | 0 | 1969-12-31 19:00:00 | Z | 0 | 2024-01-03 09:33:00.319957000 | 50.05 | 262947 | 1 | N | CSCO | 0 | 307 | 1969-12-31 19:00:00.000000000 | 0 | ||
| 3 | 2024-01-03 09:33:00.441710628 | @ I | 0 | 1969-12-31 19:00:00 | Z | 0 | 2024-01-03 09:33:00.441521000 | 50.05 | 262984 | 1 | N | CSCO | 0 | 308 | 1969-12-31 19:00:00.000000000 | 0 | ||
| 4 | 2024-01-03 09:33:00.444156451 | @F I | 0 | 1969-12-31 19:00:00 | Q | 0 | 2024-01-03 09:33:00.444135893 | 50.05 | 262986 | 2 | N | CSCO | 0 | 1142 | 1969-12-31 19:00:00.000000000 | 1 | ||
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| 780 | 2024-01-03 09:34:59.152722398 | @F | 0 | 1969-12-31 19:00:00 | P | 4 | 2024-01-03 09:34:59.152378746 | 50.02 | 300893 | 100 | N | CSCO | 0 | 512 | 1969-12-31 19:00:00.000000000 | 1 | ||
| 781 | 2024-01-03 09:34:59.263442478 | @ I | 0 | 1969-12-31 19:00:00 | D | 0 | 2024-01-03 09:34:59.263054575 | 50.01 | 300948 | 21 | N | CSCO | 0 | 1372 | Q | 2024-01-03 09:34:59.263418818 | 0 | |
| 782 | 2024-01-03 09:34:59.263934938 | @F I | 0 | 1969-12-31 19:00:00 | K | 1 | 2024-01-03 09:34:59.263744000 | 50.01 | 300949 | 1 | N | CSCO | 0 | 367 | 1969-12-31 19:00:00.000000000 | 1 | ||
| 783 | 2024-01-03 09:34:59.263938903 | @F I | 0 | 1969-12-31 19:00:00 | K | 2 | 2024-01-03 09:34:59.263744000 | 50.01 | 300950 | 99 | N | CSCO | 0 | 368 | 1969-12-31 19:00:00.000000000 | 1 | ||
| 784 | 2024-01-03 09:34:59.547741776 | @ I | 0 | 1969-12-31 19:00:00 | D | 0 | 2024-01-03 09:34:59.524000000 | 50.02 | 300986 | 1 | N | CSCO | 0 | 1373 | Q | 2024-01-03 09:34:59.547719733 | 0 |
785 rows × 18 columns
Filtering on Excluding Specific Time Ranges#
Applying a filter on the Data Source based on excluding specific time periods per day.
Using time_filter() with parameter discard_on_match=True.
import onetick.py as otp
data = otp.DataSource(db='US_COMP_SAMPLE', tick_type='TRD')
data = data.time_filter(start_time='09:30:00', end_time='09:33:00', discard_on_match=True)
data = data[:1000]
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
| Time | COND | CORR | DELETED_TIME | EXCHANGE | OMDSEQ | PARTICIPANT_TIME | PRICE | SEQ_NUM | SIZE | SOURCE | STOP_STOCK | TICKER | TICK_STATUS | TRADE_ID | TRF | TRF_TIME | TTE | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 2024-01-03 09:33:00.084705868 | @ I | 0 | 1969-12-31 19:00:00 | Z | 0 | 2024-01-03 09:33:00.084511000 | 50.05 | 262862 | 1 | N | CSCO | 0 | 305 | 1969-12-31 19:00:00 | 0 | ||
| 1 | 2024-01-03 09:33:00.230210508 | @ I | 0 | 1969-12-31 19:00:00 | Z | 0 | 2024-01-03 09:33:00.230021000 | 50.05 | 262931 | 2 | N | CSCO | 0 | 306 | 1969-12-31 19:00:00 | 0 | ||
| 2 | 2024-01-03 09:33:00.320146067 | @ I | 0 | 1969-12-31 19:00:00 | Z | 0 | 2024-01-03 09:33:00.319957000 | 50.05 | 262947 | 1 | N | CSCO | 0 | 307 | 1969-12-31 19:00:00 | 0 | ||
| 3 | 2024-01-03 09:33:00.441710628 | @ I | 0 | 1969-12-31 19:00:00 | Z | 0 | 2024-01-03 09:33:00.441521000 | 50.05 | 262984 | 1 | N | CSCO | 0 | 308 | 1969-12-31 19:00:00 | 0 | ||
| 4 | 2024-01-03 09:33:00.444156451 | @F I | 0 | 1969-12-31 19:00:00 | Q | 0 | 2024-01-03 09:33:00.444135893 | 50.05 | 262986 | 2 | N | CSCO | 0 | 1142 | 1969-12-31 19:00:00 | 1 | ||
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| 995 | 2024-01-03 09:35:19.333430053 | @F I | 0 | 1969-12-31 19:00:00 | K | 57 | 2024-01-03 09:35:19.333225000 | 50.00 | 309118 | 50 | N | CSCO | 0 | 378 | 1969-12-31 19:00:00 | 1 | ||
| 996 | 2024-01-03 09:35:19.333435686 | @F I | 0 | 1969-12-31 19:00:00 | K | 58 | 2024-01-03 09:35:19.333225000 | 50.00 | 309119 | 25 | N | CSCO | 0 | 379 | 1969-12-31 19:00:00 | 1 | ||
| 997 | 2024-01-03 09:35:19.333440538 | @ I | 0 | 1969-12-31 19:00:00 | Z | 59 | 2024-01-03 09:35:19.333213000 | 50.00 | 309120 | 16 | N | CSCO | 0 | 427 | 1969-12-31 19:00:00 | 0 | ||
| 998 | 2024-01-03 09:35:19.333444799 | @ I | 0 | 1969-12-31 19:00:00 | Z | 60 | 2024-01-03 09:35:19.333250000 | 50.00 | 309121 | 9 | N | CSCO | 0 | 428 | 1969-12-31 19:00:00 | 0 | ||
| 999 | 2024-01-03 09:35:19.333448520 | @ | 0 | 1969-12-31 19:00:00 | U | 61 | 2024-01-03 09:35:19.333227544 | 50.00 | 309122 | 398 | N | CSCO | 0 | 319 | 1969-12-31 19:00:00 | 0 |
1000 rows × 18 columns
Relative Time Filtering on the last 5 minutes Trades#
Retrieving Trades for the last 5 minutes, using relative syntax for start and end in otp.run.
import onetick.py as otp
data = otp.DataSource(db='US_COMP', tick_type='TRD')
data = data[['PRICE', 'SIZE', 'COND']]
data = data.limit(1000)
result = otp.run(data,
start=otp.now() - otp.Minute(5),
end=otp.now(),
timezone='America/New_York',
symbols='CSCO')
result
Time |
PRICE |
SIZE |
COND |
|
|---|---|---|---|---|
0 |
2026-08-04 09:38:09.337531279 |
120.1068 |
1 |
@ I |
1 |
2026-08-04 09:38:09.509870550 |
120.1200 |
14 |
@ I |
2 |
2026-08-04 09:38:09.572110788 |
120.1500 |
10 |
@ I |
3 |
2026-08-04 09:38:09.572151798 |
120.1500 |
398 |
@F |
4 |
2026-08-04 09:38:09.572172621 |
120.1500 |
1 |
@ I |
… |
… |
… |
… |
… |
995 |
2026-08-04 09:39:06.025000447 |
120.3100 |
20 |
@F I |
996 |
2026-08-04 09:39:06.281626529 |
120.2871 |
1 |
@ I |
997 |
2026-08-04 09:39:06.311070704 |
120.3138 |
1 |
@ I |
998 |
2026-08-04 09:39:06.475337961 |
120.3050 |
100 |
@ |
999 |
2026-08-04 09:39:06.475912328 |
120.3050 |
17 |
@ I |
1000 rows x 4 columns
Relative Time Filtering on Trades from Today#
Retrieving Trades from Today until Now, using relative syntax for start and end in otp.run.
import onetick.py as otp
data = otp.DataSource(db='US_COMP', tick_type='TRD')
data = data[['PRICE', 'SIZE', 'COND']]
data = data.limit(1000)
result = otp.run(data,
# get the current date == start of day
start=otp.now().dt.date(),
end=otp.now(),
timezone='America/New_York',
symbols='CSCO')
result
Time |
PRICE |
SIZE |
COND |
|
|---|---|---|---|---|
0 |
2026-08-04 04:00:00.062628594 |
115.8700 |
10 |
@ TI |
1 |
2026-08-04 04:00:00.517801239 |
115.8700 |
28 |
@ TI |
2 |
2026-08-04 04:00:01.572798398 |
116.2988 |
1 |
@ TI |
3 |
2026-08-04 04:00:01.961360151 |
115.4412 |
1 |
@ TI |
4 |
2026-08-04 04:00:02.804289238 |
115.8300 |
5 |
@ TI |
… |
… |
… |
… |
… |
995 |
2026-08-04 07:34:13.936435065 |
117.7400 |
18 |
@FTI |
996 |
2026-08-04 07:34:13.936615045 |
117.7400 |
2 |
@FTI |
997 |
2026-08-04 07:34:13.941759948 |
117.8000 |
37 |
@FTI |
998 |
2026-08-04 07:34:13.941765195 |
117.8000 |
31 |
@FTI |
999 |
2026-08-04 07:34:13.952417322 |
117.7800 |
34 |
@ TI |
1000 rows x 4 columns