Фьючерсы

Quantnet предоставляет данные по 39 глобальным деривативам. Базовым активом которых являются валюты, кросс-курсы валют, индексы, облигации, энергия и металлы с мировых фьючерсных бирж.

Список фьючерсов

Выгрузим информацию о доступных фьючерсах:

import qnt.data as qndata
future_list = qndata.load_futures_list()

Для каждого фьючерса предоставляется краткая информация:

fut_list[0]
{'id': 'ZN', 'name': '10-Year T-Note Futures'}

С полным списком вы можете ознакомится по ссылке

Данные базовых активов

Выгрузим данные за последние 5 лет. Для этого достаточно воспользоваться следующей функцией:

import qnt.data    as qndata
import datetime    as dt

futures_data = qndata.load_futures_data(tail = dt.timedelta(days = 5*365),
                        forward_order = True)

futures_open = futures_data.sel(field="open")
futures_close = futures_data.sel(field="close")
futures_high = futures_data.sel(field="high")
futures_low = futures_data.sel(field="low")
volume_day = futures_datasel(field="vol")
open_interest = futures_data.sel(field="oi")
contracts_roll_over = futures_data.sel(field="roll")
Наименование данных Описание
open Цена на момент открытия биржи.
close Цена закрытия.
high Наибольшая дневная цена.
low Наименьшая цена.
vol Дневной объем торговли. Количество выполненных за день сделок.
oi Количество фьючерсных контрактов в настоящее время находящихся в обращении на рынке.
roll Перенос фьючерсных контрактов.

Допустим, нас интересуют фьючерсы на британский фунт. Они позволяют трейдерам оценивать стоимость фунтов стерлигнов по отношению к доллару США, а также возможность снизить риск колебаний валютных курсов на других внешнеторговых рынках. Код фьючерса согласно CME Globex:6B.

Значит, интересующий нас массив с дневными данными о валютной паре на момент закрытия биржи выглядит следующим образом:

GBP_USD = fut_data.sel(asset = '6B').sel(field = 'close')

Визуализируем данные.

import plotly.graph_objs as go         # lib for charts
trend_fig = [
    go.Scatter(
        x = GBP_USD.to_pandas().index,
        y = GBP_USD,
        line = dict(width=1,color='black'))]

# draw chart
fig = go.Figure(data = trend_fig)
fig.update_yaxes(fixedrange=False) # unlock vertical scrolling
fig.show()

GBP_USD