Галочка данных
Данные галочки – это поток отдельных сделок, выполненных на бирже (обычно биржевой биржи) с каждым «клещевым», представляющим одну сделку.
Как правило, каждая галочка содержит временную метку, цену, объем и обмен торговля была выполнена. Например, ниже ряд клещей для Apple AAPL:
2021-02-01 04:00:02:533,133.65,1,ARCX 2021-02-01 04:00:02:533,133.7,4,ARCX 2021-02-01 04:00:03:713,133.71,50,XNGS 2021-02-01 04:00:03:713,134,50,XNGS 2021-02-01 04:00:03:713,133.7,50,ARCX 2021-02-01 04:00:03:932,134,200,XNGS
(Обратите внимание на меток времени включает миллисекунды)
Resampling Tick Data.
Данные галочки – это самого высокого разрешения формы рыночных данных и может дать много представления о микроструктуре рынка в течение очень коротких сроков. Тем не менее, это чрезвычайно большое по размеру, и чистый объем данных может сделать его громоздким для анализа для более длительного анализа сроки сроки (например, более 1 недели). Для анализа более длительных сроков времени внутридневных баров (или «свечи) являются предпочтительным форматом данных.
Бар, является одной точкой данных для таймфрейма, который включает в себя открытые, близкие, высокие и низкие цены. Например: ниже ряд 1-минутных баров для Apple AAPL:
2021-01-04 09:30:00,133.52,133.612,132.95,133.15,2328651 2021-01-04 09:31:00,133.13,133.45,133.08,133.335,486524 2021-01-04 09:32:00,133.345,133.36,132.99,133.11,471947 2021-01-04 09:33:00,133.11,133.15,132.71,132.746,477518
(Формат: Timestamp, Высокий, Низкий, Открытый, Закрыть, Объем)
Следовательно, общие требования состоит в том, чтобы отменить данные галочки в внутридневные батончики. К счастью, библиотека Pandas Python имеет несколько встроенных функций для выполнения этой задачи очень эффективно.
Работал пример
Начиная с галочки набора данных для AAPL, вы можете получить образец Tick DataSet для AAPL на Tickhistory Отказ
Если у вас уже нет Python и Pandas, простое решение для установки Анаконда А затем используйте Anaconda для установки Pandas.
Однажды в Python импортируйте пакет Pandas
import pandas as pd
Далее загрузите данные в DataFrame
aapl_df = pd.read_csv('AAPL_2020_10.txt', names=['timestamp', 'trade_price', 'volume', 'exchange'], index_col=0, parse_dates=True)
Это утверждение читает файл отформатированного CSV (обратите внимание, что он также может прочитать непосредственно из файла zip), имена столбцы, анализирует Timestamp в date_time и, наконец, устанавливает индекс в столбцу Timestamp.
Как только данные будут загружены, мы сможем быстро просмотреть файл dataframe, чтобы убедиться, что он правильно загружен с помощью Глава ()
Функция:
aapl_df.head()
Это должно выводить:
Timestamp trade_price volume exchange 2021-02-01 04:00:02:533 133.65 1 ARCX 2021-02-01 04:00:02:533 133.7 4 ARCX 2021-02-01 04:00:03:713 133.71 50 XNGS 2021-02-01 04:00:03:713 134 50 XNGS 2021-02-01 04:00:03:713 133.7 50 ARCX
Чтобы изменить данные, мы будем использовать Pandas Resample ()
функция. Это необходимо повторить для каждого из высоких, низких, открытых, близко, объемных данных данных в баре:
aapl_1hour_open_df = aapl_df.resample("1H").agg({'trade_price': 'first'}) aapl_1hour_high_df = aapl_df.resample("1H").agg({'trade_price': 'high'}) aapl_1hour_low_df = aapl_df.resample("1H").agg({'trade_price': 'low'}) aapl_1hour_close_df = aapl_df.resample("1H").agg({'trade_price': 'last'}) aapl_1hour_volume_df = aapl_df.resample("1H").agg({'volume': 'sum'})
Теперь у нас есть отдельный DataFrame для каждого из открытых, высоких, низких, близких, объемных источников данных. Теперь нам нужно объединить их в единое DataFrame, используя Pandas CONCAT ()
Функция:
aapl_1hour_df =pd.concat([aapl_1hour_open_df, aapl_1hour_high_df, aapl_1hour_low_df, aapl_1hour_close_df, aapl_1hour_volume_df], axis=1, keys=['open', 'high', 'low', 'close', 'volume'])
Наконец, нам нужно удалить нулевые бары громкости, поскольку функция Resample будет включать в себя полосу для каждого таймфрейма в течение 24 часов, а не только на торговые часы. Это можно сделать путем фильтрации для объемов выше 0.
aapl_1hour_df = aapl_1hour_df[aapl_1hour_df.volume > 0]
Перезапись от клещей до 1-часовых баров теперь завершена, и файл может быть создан с помощью Pandas to_csv ()
Функция:
aapl_1hour_df.to_csv('file_path')
Оригинал: “https://dev.to/ryantjo/resampling-market-tick-data-5020”