Daily OHLCV (with closing prices)#
import onetick.py as otp
You retrieve daily OHLCV data for specific tickers using various symbologies.
src = otp.oqd.sources.OHLCV(exch='USCOMP')
otp.run(src,
# symbols='BTKR::::GOOGL US',
# symbols='TKR::::ALSPW.FRXPAR',
symbols=['TDEQ::::AAPL'],
# symbols=otp.Symbols('NYSE_TAQ', symbology='OID'),
start=otp.dt(2022, 10, 1),
end=otp.dt(2022, 10, 7),
symbol_date=otp.dt(2022, 10, 1),
)
Time | OID | EXCH | CURRENCY | OPEN | HIGH | LOW | CLOSE | VOLUME | |
---|---|---|---|---|---|---|---|---|---|
0 | 2022-10-03 | 9706 | USCOMP | USD | 138.210 | 143.07 | 137.685 | 142.45 | 114311700.0 |
1 | 2022-10-04 | 9706 | USCOMP | USD | 145.030 | 146.22 | 144.260 | 146.10 | 87830060.0 |
2 | 2022-10-05 | 9706 | USCOMP | USD | 144.075 | 147.38 | 143.010 | 146.40 | 79470970.0 |
3 | 2022-10-06 | 9706 | USCOMP | USD | 145.810 | 147.54 | 145.220 | 145.43 | 68402170.0 |
4 | 2022-10-07 | 9706 | USCOMP | USD | 142.540 | 143.10 | 139.445 | 140.09 | 85925560.0 |
The most efficient way of retrieving data for a large number of symbols is via OneTick’s native OID symbology. You can create a map from the databases’s symbology to the OID using the code below or between any two symbologies using the method described in the Symbologies guide.
oid = otp.Symbols('NYSE_TAQ', symbology='OID', show_original_symbols=True)
oid, _ = oid[oid['SYMBOL_NAME']!='']
otp.run(oid, start=otp.dt(2022, 10, 1), end=otp.dt(2022, 10, 7))
Time | SYMBOL_NAME | ORIGINAL_SYMBOL_NAME | |
---|---|---|---|
0 | 2022-10-01 | 3751 | NYSE_TAQ::A |
1 | 2022-10-01 | 647321 | NYSE_TAQ::AA |
2 | 2022-10-01 | 695581 | NYSE_TAQ::AAA |
3 | 2022-10-01 | 673522 | NYSE_TAQ::AAAU |
4 | 2022-10-01 | 703090 | NYSE_TAQ::AAC |
... | ... | ... | ... |
12182 | 2022-10-01 | 273584 | NYSE_TAQ::ZWS |
12183 | 2022-10-01 | 704054 | NYSE_TAQ::ZY |
12184 | 2022-10-01 | 655470 | NYSE_TAQ::ZYME |
12185 | 2022-10-01 | 633589 | NYSE_TAQ::ZYNE |
12186 | 2022-10-01 | 208375 | NYSE_TAQ::ZYXI |
12187 rows × 3 columns
You can then query OHLCV using OIDs. The code below retrieves OHLCV for all US equities for 5 days.
ohlcv = otp.oqd.sources.OHLCV(exch='USCOMP')
ohlcv['ticker'] = ohlcv.Symbol.ORIGINAL_SYMBOL_NAME
ohlcv = otp.merge([ohlcv], symbols=oid)
otp.run(ohlcv, start=otp.dt(2022, 10, 1), end=otp.dt(2022, 10, 7))
Time | OID | EXCH | CURRENCY | OPEN | HIGH | LOW | CLOSE | VOLUME | ticker | |
---|---|---|---|---|---|---|---|---|---|---|
0 | 2022-10-03 | 3751 | USCOMP | USD | 122.730 | 127.300 | 121.6800 | 126.3800 | 1343211.0 | NYSE_TAQ::A |
1 | 2022-10-03 | 647321 | USCOMP | USD | 34.350 | 37.940 | 34.0000 | 37.3900 | 9731361.0 | NYSE_TAQ::AA |
2 | 2022-10-03 | 695581 | USCOMP | USD | 24.075 | 24.075 | 24.0750 | 24.0750 | 9.0 | NYSE_TAQ::AAA |
3 | 2022-10-03 | 673522 | USCOMP | USD | 16.560 | 16.890 | 16.5500 | 16.8750 | 585071.0 | NYSE_TAQ::AAAU |
4 | 2022-10-03 | 703090 | USCOMP | USD | 9.930 | 9.940 | 9.9300 | 9.9400 | 294860.0 | NYSE_TAQ::AAC |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
60752 | 2022-10-07 | 273584 | USCOMP | USD | 24.920 | 25.250 | 24.5000 | 24.5800 | 574758.0 | NYSE_TAQ::ZWS |
60753 | 2022-10-07 | 704054 | USCOMP | USD | 2.830 | 2.910 | 2.7500 | 2.7800 | 755683.0 | NYSE_TAQ::ZY |
60754 | 2022-10-07 | 655470 | USCOMP | USD | 6.060 | 6.170 | 5.7400 | 5.9000 | 1057437.0 | NYSE_TAQ::ZYME |
60755 | 2022-10-07 | 633589 | USCOMP | USD | 0.769 | 0.820 | 0.7411 | 0.7411 | 242326.0 | NYSE_TAQ::ZYNE |
60756 | 2022-10-07 | 208375 | USCOMP | USD | 9.270 | 9.400 | 8.7500 | 8.8000 | 141339.0 | NYSE_TAQ::ZYXI |
60757 rows × 10 columns