Creating Bars#

We create 1-minute bars (bucket_interval=60 seconds) below.

import onetick.py as otp

trd = otp.DataSource('US_COMP_SAMPLE', tick_type='TRD')

trd = trd.character_present(trd['COND'], 'O6TUHILNRWZ47QMBCGPV', discard_on_match=True)

bars = trd.agg({'VOLUME': otp.agg.sum('SIZE'),
                'HIGH': otp.agg.max('PRICE'),
                'LOW': otp.agg.min('PRICE'),
                'OPEN': otp.agg.first('PRICE'),
                'COUNT': otp.agg.count(),
                'CLOSE': otp.agg.last('PRICE')},
                bucket_interval=otp.Minute(1))

otp.run(
    bars,
    symbols=['AAPL'],
    start=otp.dt(2024, 2, 1, 9, 30),
    end=otp.dt(2024, 2, 1, 10),
    timezone='EST5EDT'
)
Time VOLUME HIGH LOW OPEN COUNT CLOSE
0 2024-02-01 09:31:00 405208 184.3600 183.8200 183.9850 2147 184.2850
1 2024-02-01 09:32:00 269872 184.4600 183.9600 184.2850 1395 184.2099
2 2024-02-01 09:33:00 259842 184.8712 184.0100 184.2000 1330 184.4900
3 2024-02-01 09:34:00 214295 185.0800 184.3900 184.4800 1061 184.9593
4 2024-02-01 09:35:00 241206 185.2100 184.7900 184.9685 1042 185.0212
5 2024-02-01 09:36:00 186926 185.2900 184.9300 185.0300 966 185.2200
6 2024-02-01 09:37:00 176105 185.2250 184.8200 185.2250 970 184.9450
7 2024-02-01 09:38:00 154281 185.2200 184.7500 184.9500 898 185.0600
8 2024-02-01 09:39:00 146778 185.2100 184.8800 185.0650 878 184.9400
9 2024-02-01 09:40:00 201106 185.3389 184.9400 184.9500 841 185.1550
10 2024-02-01 09:41:00 154387 185.3400 184.8709 185.1500 832 185.3300
11 2024-02-01 09:42:00 165414 185.3500 185.0700 185.3173 668 185.3300
12 2024-02-01 09:43:00 226133 185.6400 185.3200 185.3400 956 185.4900
13 2024-02-01 09:44:00 121385 185.6200 185.3500 185.5000 634 185.5700
14 2024-02-01 09:45:00 129403 185.6400 185.2100 185.5700 590 185.2200
15 2024-02-01 09:46:00 262331 185.2262 184.6500 185.2100 1166 184.8800
16 2024-02-01 09:47:00 95166 185.1600 184.8900 184.8900 587 185.0201
17 2024-02-01 09:48:00 116609 185.0900 184.7000 185.0350 688 184.9400
18 2024-02-01 09:49:00 104638 185.0000 184.7200 184.9650 605 184.7900
19 2024-02-01 09:50:00 86386 184.9200 184.7300 184.7800 456 184.7950
20 2024-02-01 09:51:00 126998 184.8880 184.6850 184.8100 728 184.7100
21 2024-02-01 09:52:00 87979 184.9288 184.6200 184.7100 525 184.9000
22 2024-02-01 09:53:00 82921 185.0500 184.7700 184.9100 435 184.9600
23 2024-02-01 09:54:00 94808 185.1450 184.9400 184.9700 490 185.0200
24 2024-02-01 09:55:00 90658 185.2000 184.9900 185.0300 514 185.0300
25 2024-02-01 09:56:00 91304 185.1500 184.9550 185.0340 515 185.0500
26 2024-02-01 09:57:00 109770 185.1450 184.9749 185.0200 566 185.0419
27 2024-02-01 09:58:00 87780 185.1550 184.9900 185.0550 500 185.0600
28 2024-02-01 09:59:00 88513 185.2500 185.0400 185.0650 348 185.2150
29 2024-02-01 10:00:00 136385 185.5000 185.2000 185.2150 647 185.5000
Note: OneTick Cloud has minute bars precomputed and available in *_BARS databases under the tick type TRD_1M.

Daily OHLCV data with the official closing prices is also available: see OHLCV.

Note the use of apply_times_daily to limit each day’s interval to 9:30-4:00pm (plus one minute is added as the minute bar for 9:30-9:31 has the timestamp of 9:31).

bars = otp.DataSource('US_COMP_BARS', tick_type='TRD_1M')
bars = bars[['FIRST', 'HIGH', 'LOW', 'LAST', 'VOLUME']]
otp.run(
    bars,
    symbols=['AAPL'],
    start=otp.dt(2024, 2, 1, 9, 31),
    end=otp.dt(2024, 2, 1, 16, 1),
    timezone='EST5EDT',
    apply_times_daily=True)
Time FIRST HIGH LOW LAST VOLUME
0 2024-02-01 09:31:00 183.9850 184.3600 183.82 184.2850 405208
1 2024-02-01 09:32:00 184.2850 184.4600 183.96 184.2099 269872
2 2024-02-01 09:33:00 184.2000 184.8712 184.01 184.4900 259842
3 2024-02-01 09:34:00 184.4800 185.0800 184.39 184.9593 214295
4 2024-02-01 09:35:00 184.9685 185.2100 184.79 185.0212 241206
... ... ... ... ... ... ...
385 2024-02-01 15:56:00 186.5900 186.6900 186.58 186.6800 277485
386 2024-02-01 15:57:00 186.6850 186.6850 186.54 186.6000 316508
387 2024-02-01 15:58:00 186.6050 186.7900 186.57 186.7800 317427
388 2024-02-01 15:59:00 186.7850 186.7850 186.65 186.7600 366951
389 2024-02-01 16:00:00 186.7550 186.9500 186.69 186.8900 830791

390 rows × 6 columns