In [2]:
from moexalgo import Market, Ticker
In [3]:
# Акции SBER
sber = Ticker('SBER')

# Все акции
stocks = Market('stocks')

Candles

Классические свечи OHLCV. Гранулярность данных 1 мин (1m), 10 мин (10m), 1 час (60m), 1 день (1d)

In [4]:
# Свечи по акциям SBER за период
sber.candles(date='2023-10-10', till_date='2023-10-18', period='10m').head()
Out[4]:
open close high low value volume begin end
0 264.89 264.89 264.89 264.89 68129708.0 257200.0 2023-10-10 09:50:00 2023-10-10 09:59:59
1 264.90 264.25 265.18 263.80 573080891.3 2167670.0 2023-10-10 10:00:00 2023-10-10 10:09:59
2 264.26 264.22 264.95 263.90 441929827.4 1671130.0 2023-10-10 10:10:00 2023-10-10 10:19:59
3 264.22 264.23 264.45 264.05 187603360.0 710040.0 2023-10-10 10:20:00 2023-10-10 10:29:59
4 264.23 264.23 264.58 264.20 217393400.8 822500.0 2023-10-10 10:30:00 2023-10-10 10:39:59

Tradestats

Торговая статистика на основе сделок. Гранулярность данных 5 мин.

In [5]:
# Данные по акциям SBER за период
sber.tradestats(date='2023-10-10', till_date='2023-10-18').head()
Out[5]:
ticker tradedate tradetime pr_open pr_high pr_low pr_close pr_std vol val ... trades_b trades_s val_b val_s vol_b vol_s disb pr_vwap_b pr_vwap_s systime
0 SBER 2023-10-10 10:05:00 264.90 265.18 264.43 264.46 0.0001 89034 235729237.0 ... 1200 1166 127171136.0 108558102.0 48039 40995 0.0791 264.72 264.81 2023-10-10 10:05:45
1 SBER 2023-10-10 10:10:00 264.46 264.50 263.80 264.25 0.0001 127733 337351654.0 ... 1388 920 224382533.0 112969121.0 84962 42771 0.3303 264.10 264.13 2023-10-10 10:10:15
2 SBER 2023-10-10 10:15:00 264.26 264.95 264.12 264.94 0.0001 88051 232913970.0 ... 567 1059 44387884.0 188526086.0 16784 71267 -0.6188 264.47 264.53 2023-10-10 10:15:15
3 SBER 2023-10-10 10:20:00 264.91 264.94 263.90 264.22 0.0001 79062 209015857.0 ... 1085 610 160063513.0 48952344.0 60553 18509 0.5318 264.34 264.48 2023-10-10 10:20:15
4 SBER 2023-10-10 10:25:00 264.22 264.35 264.05 264.10 0.0000 31648 83606468.0 ... 549 574 38983453.0 44623014.0 14758 16890 -0.0674 264.15 264.20 2023-10-10 10:25:15

5 rows × 23 columns

In [6]:
# Данные по всем акциям за дату. Чтобы получить данные за период, нужно запустить цикл по датам
stocks.tradestats(date='2023-10-10').head()
Out[6]:
ticker tradedate tradetime pr_open pr_high pr_low pr_close pr_std vol val ... trades_b trades_s val_b val_s vol_b vol_s disb pr_vwap_b pr_vwap_s systime
0 ABIO 2023-10-10 10:05:00 119.520 119.800 114.000 117.380 0.0017 45904 53480659.0 ... 790 647 26739096.0 26741564.0 22972 22932 0.0009 116.400 116.610 2023-10-10 10:05:45
1 ABRD 2023-10-10 10:05:00 305.600 307.400 305.600 306.600 0.0007 480 1471600.0 ... 13 36 330580.0 1141020.0 108 372 -0.5500 306.100 306.700 2023-10-10 10:05:45
2 AFKS 2023-10-10 10:05:00 17.601 17.606 17.501 17.511 0.0003 10943 19184630.0 ... 152 206 13324856.0 5859774.0 7602 3341 0.3894 17.528 17.539 2023-10-10 10:05:45
3 AFLT 2023-10-10 10:05:00 40.560 40.590 40.470 40.550 0.0004 4517 1830401.0 ... 46 139 477847.0 1352554.0 1180 3337 -0.4775 40.500 40.530 2023-10-10 10:05:45
4 AGRO 2023-10-10 10:05:00 1200.000 1209.600 1200.000 1209.600 0.0004 5834 7036248.0 ... 60 265 1252224.0 5784024.0 1039 4795 -0.6438 1205.200 1206.300 2023-10-10 10:05:45

5 rows × 23 columns

Orderstats

Торговая статистика на основе заявок. Гранулярность данных 5 мин.

In [7]:
# Данные по акциям SBER за период
sber.orderstats(date='2023-10-10', till_date='2023-10-18').head()
Out[7]:
ticker tradedate tradetime put_orders_b put_orders_s put_val_b put_val_s put_vol_b put_vol_s put_vwap_b ... cancel_val_b cancel_val_s cancel_vol_b cancel_vol_s cancel_vwap_b cancel_vwap_s cancel_vol cancel_val cancel_orders systime
0 SBER 2023-10-10 10:00:00 5499 3695 1.139658e+09 1.561519e+09 439030 585474 259.59 ... 2.684236e+08 4.233117e+08 100219 163705 267.84 258.58 263924 6.917352e+08 586 2023-10-10 10:00:21
1 SBER 2023-10-10 10:05:00 12587 15586 4.008738e+09 5.575253e+09 1511545 2038427 265.21 ... 3.640648e+09 4.970981e+09 1375738 1862514 264.63 266.90 3238252 8.611629e+09 24903 2023-10-10 10:45:25
2 SBER 2023-10-10 10:10:00 5568 6803 1.940720e+09 2.659229e+09 714619 1002342 271.57 ... 1.463819e+09 2.290195e+09 545309 863399 268.44 265.25 1408708 3.754014e+09 9355 2023-10-10 10:45:57
3 SBER 2023-10-10 10:15:00 6289 5902 2.387144e+09 2.482852e+09 898471 934900 265.69 ... 2.092585e+09 2.292207e+09 781963 864446 267.61 265.16 1646409 4.384792e+09 10078 2023-10-10 10:46:26
4 SBER 2023-10-10 10:20:00 5046 5911 1.633824e+09 2.524491e+09 616055 955082 265.21 ... 1.478751e+09 2.284129e+09 559684 862257 264.21 264.90 1421941 3.762880e+09 9225 2023-10-10 10:46:54

5 rows × 26 columns

In [8]:
# Данные по всем акциям за дату. Чтобы получить данные за период, нужно запустить цикл по датам
stocks.orderstats(date='2023-10-10').head()
Out[8]:
ticker tradedate tradetime put_orders_b put_orders_s put_val_b put_val_s put_vol_b put_vol_s put_vwap_b ... cancel_val_b cancel_val_s cancel_vol_b cancel_vol_s cancel_vwap_b cancel_vwap_s cancel_vol cancel_val cancel_orders systime
0 ABIO 2023-10-10 10:00:00 384 421 12475618.0 26136863.0 10800 20900 115.510 ... 2540423.0 2224920.0 2157 1822 117.780 122.110 3979 4765342.0 42 2023-10-10 10:00:21
1 ABRD 2023-10-10 10:00:00 343 227 10453174.0 10150396.0 3567 3213 293.100 ... 50846.0 2984728.0 17 957 299.100 311.900 974 3035574.0 39 2023-10-10 10:00:21
2 AFKS 2023-10-10 10:00:00 1177 749 90676912.0 74590410.0 53107 41401 17.074 ... 11183377.0 6133875.0 6397 3459 17.482 17.733 9856 17317252.0 159 2023-10-10 10:00:21
3 AFLT 2023-10-10 10:00:00 1455 808 36591537.0 82398678.0 92884 199320 39.390 ... 467176.0 42608262.0 1165 104350 40.100 40.830 105515 43075438.0 87 2023-10-10 10:00:21
4 AGRO 2023-10-10 10:00:00 492 390 23522081.0 18425322.0 20206 14848 1164.100 ... 3279681.0 534936.0 2756 448 1190.000 1194.100 3204 3814617.0 76 2023-10-10 10:00:21

5 rows × 26 columns

OrderBookstats

Торговая статистика на основе стакана заявок. Гранулярность данных 5 мин.

In [9]:
# Данные по акциям SBER за период
sber.obstats(date='2023-10-10', till_date='2023-10-18').head()
Out[9]:
ticker tradedate tradetime spread_bbo spread_lv10 spread_1mio levels_b levels_s vol_b vol_s ... val_s imbalance_vol_bbo imbalance_val_bbo imbalance_vol imbalance_val vwap_b vwap_s vwap_b_1mio vwap_s_1mio systime
0 SBER 2023-10-10 10:00:00 0.4 21.2 6.1 1335 786 313119 396049 ... 1076143580 0.94 0.94 -0.12 -0.15 255.92 271.72 264.82 264.98 2023-10-10 11:30:00
1 SBER 2023-10-10 10:05:00 1.0 8.7 2.2 1387 856 3494236 4569636 ... 1241102353 -0.11 -0.11 -0.13 -0.16 256.25 271.59 264.80 264.86 2023-10-11 11:57:08
2 SBER 2023-10-10 10:10:00 0.8 8.1 1.6 1401 922 3939252 5096615 ... 1383499548 -0.04 -0.04 -0.13 -0.16 256.41 271.46 264.16 264.21 2023-10-11 11:57:12
3 SBER 2023-10-10 10:15:00 0.7 8.0 1.7 1450 939 4450639 5090687 ... 1381519454 -0.20 -0.20 -0.07 -0.09 257.09 271.38 264.45 264.49 2023-10-11 11:57:12
4 SBER 2023-10-10 10:20:00 0.7 7.9 1.5 1473 968 4542218 5169086 ... 1402256629 0.38 0.38 -0.06 -0.09 257.10 271.28 264.51 264.55 2023-10-11 11:57:13

5 rows × 21 columns

In [10]:
# Данные по всем акциям за дату. Чтобы получить данные за период, нужно запустить цикл по датам
stocks.obstats(date='2023-10-10').head()
Out[10]:
ticker tradedate tradetime spread_bbo spread_lv10 spread_1mio levels_b levels_s vol_b vol_s ... val_s imbalance_vol_bbo imbalance_val_bbo imbalance_vol imbalance_val vwap_b vwap_s vwap_b_1mio vwap_s_1mio systime
0 ABIO 2023-10-10 10:00:00 15.1 146.9 92.6 155 160 8103 18959 ... 23779942 0.62 0.61 -0.40 -0.44 114.500 125.43 118.790 119.890 2023-10-10 11:30:00
1 ABRD 2023-10-10 10:00:00 19.6 211.6 140.1 97 79 3523 2239 ... 7116490 -0.56 -0.56 0.22 0.18 292.800 317.80 303.000 307.300 2023-10-10 11:30:00
2 AFKS 2023-10-10 10:00:00 4.0 61.1 25.6 406 321 45392 36711 ... 66301774 -0.44 -0.44 0.11 0.08 16.992 18.06 17.564 17.609 2023-10-10 11:30:00
3 AFLT 2023-10-10 10:00:00 12.3 111.5 37.1 273 246 90852 96503 ... 40436571 -0.99 -0.99 -0.03 -0.06 39.350 41.90 40.460 40.610 2023-10-10 11:30:00
4 AGRO 2023-10-10 10:00:00 10.0 90.3 70.2 190 170 17194 14194 ... 17643759 0.12 0.12 0.10 0.06 1159.100 1243.00 1196.000 1204.400 2023-10-10 11:30:00

5 rows × 21 columns

In [ ]: