Prevailing quote at the time of a trade#
import onetick.py as otp
trd = otp.DataSource('US_COMP_SAMPLE', tick_type='TRD')
trd = trd[['PRICE', 'SIZE']]
qte = otp.DataSource('US_COMP_SAMPLE',
tick_type='NBBO',
back_to_first_tick=otp.Minute(10))
qte = qte[['ASK_PRICE', 'BID_PRICE']]
qte['quote_time'] = qte['Time']
enriched_trades = otp.join_by_time([trd, qte])
otp.run(enriched_trades,
symbols=['AAPL'],
start=otp.dt(2024, 2, 1, 9, 30),
end=otp.dt(2024, 2, 1, 9, 30, 1),
timezone='EST5EDT')
Time | PRICE | SIZE | ASK_PRICE | BID_PRICE | quote_time | |
---|---|---|---|---|---|---|
0 | 2024-02-01 09:30:00.000961260 | 184.010 | 302 | 184.14 | 184.00 | 2024-02-01 09:30:00.000860953 |
1 | 2024-02-01 09:30:00.000961491 | 184.000 | 100 | 184.14 | 184.00 | 2024-02-01 09:30:00.000860953 |
2 | 2024-02-01 09:30:00.000961701 | 184.000 | 1 | 184.14 | 184.00 | 2024-02-01 09:30:00.000860953 |
3 | 2024-02-01 09:30:00.000973163 | 184.000 | 1 | 184.14 | 183.90 | 2024-02-01 09:30:00.000969529 |
4 | 2024-02-01 09:30:00.000973355 | 184.000 | 5 | 184.14 | 183.90 | 2024-02-01 09:30:00.000969529 |
... | ... | ... | ... | ... | ... | ... |
574 | 2024-02-01 09:30:00.987184691 | 183.900 | 9 | 183.93 | 183.89 | 2024-02-01 09:30:00.973387417 |
575 | 2024-02-01 09:30:00.990378350 | 183.920 | 1 | 183.93 | 183.89 | 2024-02-01 09:30:00.987461418 |
576 | 2024-02-01 09:30:00.991941892 | 183.935 | 1 | 183.93 | 183.89 | 2024-02-01 09:30:00.987461418 |
577 | 2024-02-01 09:30:00.993785116 | 183.905 | 300 | 183.93 | 183.89 | 2024-02-01 09:30:00.987461418 |
578 | 2024-02-01 09:30:00.996512511 | 183.934 | 5 | 183.93 | 183.89 | 2024-02-01 09:30:00.987461418 |
579 rows × 6 columns