Рейтинг
0.00
avatar

Технические аспекты трейдинга

Подробнее ↓

Ресамплинг котировок с помощью Python и Pandas. Как собрать из минутного таймфрейма любой другой.

Ninja Trader хранит и экспортирует котировки только в 1 минутном таймфрейме. Для экспорта других ТФ, можно воспользоваться специальным индикатором сторонних разработчиков., а можно делать ресамплниг (передискретизацию) самостоятельно.

Ниже приведен код скрипта ресамплинга 1 минутного ТФ в 5-ти минутный. Скрипт написан на Python с использованием библиотеки Pandas, которая прекрасно справляется с этой задачей.
 
#Импортируем Pandas
import pandas as pd

#Задаем путь к файлу с 1 минутными котировками, который экспортировали из NT
file_in = "D:\Data\ES 06-15.Last.txt"

#Задаем путь к файлу в который сохраним результат
file_out = "D:\Data\ES-5m-pandas.txt"

#Импортируем котировки из файла
quotes_1min = pd.read_csv(file, parse_dates=[0], header = None, index_col = 0, sep = ';')

#Даем колонкам название
quotes_1min.columns = ['Open', 'High', 'Low', 'Close', 'Volume']

#Запоминаем порядок колонок
order = quotes_1min.columns

#Задаем правила ресамплинга (берем время открытия первой минуты, максимальную цену пятиминутки,
#минимальную цену пятиминутки, время закрытия пятой минуты, суммарный объем за 5 мин.)
conversion = {'Open' : 'first', 'High' : 'max', 'Low' : 'min', 'Close' : 'last', 'Volume' : 'sum'}

#Делаем собственно ресамплинг с сохранением порядка колонок
quotes_5min = quotes_1min.resample('5Min', how=conversion, base=5)[order]

#Удаляем строки с пустыми (NaN) значениями
quotes_5min = quotes_5min.dropna()

#Сохраняем результат в файл
quotes_5min.to_csv(file_out, sep=';' , encoding='utf-8')

Новый формат (MDP 3.0) передачи данных CME. Сравниваем с привычным потоком.

Ниже — обещанное стравнение двух датафидов Rithmic и CQG в реальном времени по нескольим инструментам.

Прежде пару слов

Что мы можем предположить с достаточной достоверностью или уже знаем:
  1. Изменения коснутся только информации о трейдах, т.е. той информации, которую мы видим в ленте.
  2. Информация о лимитных ордерах (стакан) будет поступать в прежнем виде.
  3. Трейды с одним таймстемпом будут паковаться в один пакет.
  4. В реальном времени мы не увидим структуру лимитных ордеров, сведенных с крупным инициативным ордером.
  5. Пакет можно будет распаковать и посмотреть структуру, скорее всего это будут делать поставщики или терминалы. Распаковка потребует некоторого времени.
  6. CQG уже перешел на новый формат. Rithmic пока транслирует поток по-старому.
  7. К октябрю будут обязаны перейти все поставщики данных.

Подробней о планирующихся изменениях, можно прочитать в блоге у Светланы Орловской.

ES-mini


Видим агрегацию у CQG, у Rithmic все по-старому.

Читать дальше