www.machinelearningmastery.ru

Машинное обучение, нейронные сети, искусственный интеллект
Header decor

Home

Как начать работу с Python API TickVault

Дата публикации May 24, 2017

TickVault Python API

Большие данные: все говорят об этом, но мало кто знает, как использовать это для получения конкурентного преимущества. В TickSmith мы живем и дышим большими данными, и мы знаем, что легкий доступ к множеству данных, создаваемых каждый день, так же важен, как и обработка, выполняемая на нем. Вот почему мы создали Python API, чтобы дополнить нашу платформу обработки, анализа и хранения данных TickVault. Этот простой в использовании API предоставляет разработчикам детальный доступ к историческим рыночным данным, содержащимся в базе данных TickVault TickVault, в том числе к началу книги, производному контенту и статистике рынка. Мы также упростили аналитику этих данных с помощьюпандбиблиотека, высокопроизводительный пакет Python.

Эта статья покажет вам все, что вам нужно знать, чтобы начать использовать API-интерфейс TickVault Python для извлечения данных, которые вы ищете, и выполнять прогнозную аналитику, тестирование на истории, управление рисками или (почти) все, о чем вы можете мечтать. Порталы с доступными данными включаютNASDAQ-CXа такжеИстория тиков Thomson Reuters, Исходный код также доступен нанаш GitHub,

В этом примере мы сначала рассмотрим спред спроса / предложения для банка Торонто Доминион, поскольку он был продан на CXC 2 марта 2015 года. Затем мы рассмотрим внутридневной 2-минутный процент средневзвешенного спреда (TWAS) по двум разным акциям с данными Thomson Reuters.

Постановка на учет

Первым шагом является регистрация учетной записи на демонстрационном сайте, который мы будем использовать, который содержит данные из Nasdaq CX.

Перейдите кnasdaq-cx.ticksmith.comнажмите кнопку «Бесплатная пробная версия сейчас» и введите необходимую информацию.

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

Когда вы будете готовы продолжить это руководство, нам нужно будет сгенерировать ключ API, чтобы разблокировать доступ к API Python. Нажмите на свое имя в верхнем правом углу страницы и нажмите «Управление ключом API». На странице, на которую вы попали, нажмите «Создать новый ключ API». Вы будете использовать этот ключ везде, где видите в следующих примерах.

Установка

Пакет Python устанавливается из индекса пакета Python (PyPI). Python 3.x иMatplotlibнеобходимы для этого урока:

pip install tickvault-python-api

Вслед за ноутбуком Jupyter

В зависимости от вашего уровня комфорта с Python, вы можете запустить приведенные ниже примеры кода в своей собственной среде разработки (при необходимости устанавливая зависимости) или установить Jupyter Notebook и запустить там примеры. Для последнего пути загрузите и установитеанаконда, который обеспечивает большинство зависимостей, требуемых ниже, и введите в свой терминал:

jupyter notebook

Откроется окно браузера с запущенным Jupyter, где вы можете нажать «Загрузить» для импорта.наш блокнот Jupyter, После того, как вы заменили заполнители на свои собственные учетные данные, вы можете просто нажать кнопку «Воспроизвести», чтобы запустить каждый пример кода.

Доступ к TickVault | NASDAQ CX

После установки API вы можете получить доступ к данным в TickVault, используя электронную почту, с которой вы зарегистрировались, и ключ API, сгенерированный ранее.

from tickvaultpythonapi.nasdaqcxclient import NasdaqCxClientnasdaq = NasdaqCxClient(user_name="<USER_NAME>", secret_key="<API_KEY>")

Чтобы увидеть, к каким данным у вас есть доступ, вызовите метод «наборы данных»:

nasdaq.datasets()Out: ['cx_eod_stats', 'cx_hits', 'cx_rollup_1000', 'cx_rollup_60000']

Метод «описать» можно вызвать из набора данных выше, чтобы увидеть доступные столбцы:

nasdaq.describe('cx_hits')Out: {'ask_size': 'INT','askprice': 'DECIMAL','bid_size': 'INT','bidprice': 'DECIMAL','buyerid': 'STRING','crosstype': 'STRING','day': 'STRING','execution_venue': 'STRING','halted': 'STRING','lastprice': 'DECIMAL','line_type': 'STRING','linenumber': 'BIGINT','listing_market': 'STRING','sellerid': 'STRING','short_exempt': 'STRING','source': 'STRING','ticker': 'STRING','trade_attribute': 'STRING','trade_initiator_side': 'STRING','traderef': 'STRING','ts': 'BIGINT','volume': 'BIGINT','yyyymmdd': 'STRING'}

Чтобы получить доступ к заявке и цене предложения для котировок TD, когда размеры запросов и ставки были больше 10, мы запросим набор данных HiTS:

result = nasdaq.query_hits(source="CHIX", tickers="td",fields="ts,askprice,bidprice",start_time=20150302093000,end_time=20150302160000,predicates="ask_size > 10 and bid_size > 10 and line_type like Q",limit=1000000)

Давайте преобразуем результат в DataFrame для аналитики (pandas автоматически импортируется при импорте API):

df = nasdaq.as_dataframe(result)df.info()Out:<class 'pandas.core.frame.DataFrame'>DatetimeIndex: 126990 entries, 2015-03-02 09:30:00.004000 to 2015-03-02 15:59:59.940000Data columns (total 2 columns):askprice 126990 non-null float64bidprice 126990 non-null float64dtypes: float64(2)memory usage: 2.9 MBNone

Чтобы визуализировать результат:

df.plot()
TD Bid / Ask Spread на CXC

Доступ к TickVault | Thomson Reuters

Демо-сайт TickVault (в партнерстве с Thomson Reuters) предоставляет бесплатный доступ к данным за 3 месяца с 8 бирж по всему миру. Мы будем использовать это для сравнения внутридневного средневзвешенного средневзвешенного спреда (TWAS) в течение 2 дней для 2 различных акций, одного очень изменчивого (VRX) и одного менее (IBM), за период с января по февраль 2016 года.

Чтобы получить доступ к набору данных, выполните те же шаги регистрации и API, которые описаны выше вhttps://trdata.tickvault.comи запросите набор данных Time и Sales.

(Имейте в виду, что поля могут отличаться в разных наборах данных, поэтому метод description полезен при принятии решения, какие поля запрашивать)

from tickvaultpythonapi.trclient import TrClienttrdata = TrClient(user_name="<USER_NAME>", secret_key="<API_KEY>")result = trdata.query_tas(source="NYS", tickers="IBM.N,VRX.N",fields="tstamp,ric,price,volume,askprice,bidprice",start_time=20160101000000,end_time=20160228000000,limit=100000000)df = trdata.as_dataframe(result, index="tstamp")

Теперь, когда у вас есть результат запроса во фрейме данных, вы можете запустить любую аналитику, которую пожелает ваше маленькое сердце. Здесь мы покажем наш расчет 2-минутного среднего TWAS% (средневзвешенного по времени спреда, деленного на средневзвешенную по объему цену). Фактическая реализация оставлена ​​в качестве упражнения для читателя.

Полученный график показывает, что средний внутридневной спрэд значительно выше для более волатильного инструмента

Средневзвешенный по времени спред на NYSE

Это (относительно) просто!

Как вы можете видеть, API-интерфейс Python может использоваться со множеством приложений для обработки данных, а также с вышеупомянутыми приложениями для тестирования на истории алгоритмических торговых стратегий, управления рисками и удовлетворения требований соответствия, в том числе для анализа финансовых данных.

Чтобы узнать больше о нашей платформе TickVault,кликните сюда(или дайте намвызов)

Оригинальная статья

Footer decor

© www.machinelearningmastery.ru | Ссылки на оригиналы и авторов сохранены. | map