Trabajando con las estadisticas de las opciones sobre el VIX (Parte I)

Trabajando con las estadisticas de las opciones sobre el VIX (Parte I)

Este Lab, podriamos considerarlo como el Lab0, de iniciacion. No trataremos mucha informacion de golpe, pero poco a poco iremos avanzado, hacia diferentes aplicaciones de los mismos datos, para demostrar la versatilidad de Python tiene para este tipo de tareas.

En en siguiente enlace tenemos el repositorio, con los notebooks y el dataset utilizados.

Recuerda unirte a nuestro canal en Telegram de Python Para Trading

LAB1 - Trabajando con las estadisticas de las opciones sobre el VIX

Hablaremos largo y tendido sobre opciones, no tengais la menor duda, pero para empezar, con un articulo, que nos incie en el uso de pandas, el uso de series temporales, y algunas pinceladas sobre finanzas, me parece un buen aperitivo, que marcara la linea que se pretende conseguir en el blog.

¿Que es una opcion? Es un contrato, donde el comprador adquiere un DERECHO a cambio de PAGAR un precio , y el vendedor adquiere una OBLIGACION a cambio de PERCIBIR un precio.
¿Que tipo de opciones existen? Existen las put y las call, cada una de ellas, para su ejecucion, necesita un comprador y un vendedor. Y es donde entran en juego los market makers, y la negociacion OTC, cosas que dejaremos para mas adelante.
¿Que formatos de opciones existen? Para mi, solo unas, las americanas, pero en realidad, hay muchisimos tipos, desde las Europeas, Bermuda, las Power, las Barreda, y luego tenemos aberraciones como los warrants o las binarias( donde en este articulo , EnricECP habla sobre la esperanza matematica negativa de las opciones binarias)
¿Que es el VIX? : Es el indice que mide la volatilidad de las opciones PUT del S&P 500.
¿Que es una opcion CALL? : Es un derivado financiero, el cuall el comprador de la opcion, sale beneficiado con las subidas, y el vendedor de la opcion, sale beneficiado con las caidas.
¿Que es una opcion PUT? : Es un derivado financiero, el cuall el comprador de la opcion, sale beneficiado con las caidas, y el vendedor de la opcion, sale beneficiado con las subidas, o los escenarios laterales (tema que trataremos en otro estudio)

options-buyers-sellers-want.png

Cargamos todas las librerias necesarias

In [1]:
import pandas as pd # esperemos que pronto sea import MODIN as pd.
import numpy as np 
import seaborn as sns
import scipy 
import datetime 
import matplotlib.pyplot as plt
plt.rcParams['figure.figsize'] = [16,9]
plt.style.use('ggplot')
/home/pylab/pythonlabs_01/pythonlabs/lib/python3.5/importlib/_bootstrap.py:222: RuntimeWarning: numpy.dtype size changed, may indicate binary incompatibility. Expected 96, got 88
  return f(*args, **kwds)

Cargamos nuestro archivo pickle, con los datos previamente cargados

In [2]:
data = pd.read_pickle('/home/pylab/pythonlabs_01/pythonlabs/datasets/pickle/VIX_Stats.pickle')

Realizamos un analisis exploratorio de los datos

In [3]:
data.index ## Indice Datatime
Out[3]:
DatetimeIndex(['2018-01-02', '2018-05-16', '2018-01-19', '2018-04-10',
               '2019-01-30', '2018-05-10', '2018-10-10', '2018-02-01',
               '2018-11-21', '2018-06-04',
               ...
               '2018-10-08', '2018-01-04', '2019-03-14', '2019-01-07',
               '2019-01-29', '2018-10-18', '2018-11-14', '2018-08-06',
               '2018-05-02', '2018-11-29'],
              dtype='datetime64[ns]', name='quotedate', length=304, freq=None)
In [4]:
data.shape ## ( Filas x columnas )
Out[4]:
(304, 8)
In [5]:
data.columns ## Nombre de las columnas
Out[5]:
Index(['symbol', 'calliv', 'calloi', 'callvol', 'putiv', 'putoi', 'putvol',
       'meaniv'],
      dtype='object')
In [6]:
data.head(5) # comprobamos integridad de los datos
Out[6]:
symbolcallivcalloicallvolputivputoiputvolmeaniv
quotedate
2018-01-02VIX1.79907911657.0474007.00.17651973447.0134049.00.9878
2018-05-16VIX1.21466510396.0351323.00.47932390787.0100156.00.8470
2018-01-19VIX1.48488290013.0320794.00.54891816758.0225070.01.0168
2018-04-10VIX0.79675599924.0501640.01.21912522041.0141925.01.0079
2019-01-30VIX1.10355792940.0158592.00.72161643864.0175943.00.9125

El indice no es correcto, pues las fechas no estan ordenadas.

In [7]:
data = data.sort_index() ## Comprobamos siempre la intregridad de los datos, en este caso, al ser extraido de una base mayor, no estaba ordenado)
In [8]:
data.head(5)
Out[8]:
symbolcallivcalloicallvolputivputoiputvolmeaniv
quotedate
2018-01-02VIX1.7997911657.0474007.00.17651973447.0134049.00.9878
2018-01-03VIX0.00032282656.01775860.00.00008011824.01175408.00.0000
2018-01-04VIX0.00032778204.01935276.00.00008362104.01577264.00.0000
2018-01-05VIX0.00034095000.02288688.00.00009026580.0908536.00.0000
2018-01-08VIX0.00035199628.04845204.00.00009507436.0445232.00.0000

¿Que es la IV? : La una prediccion realizada por consenso de mercado sobre el grado que el activo subyacente fluctuara en el futuro. Se estima en tiempo real, y la mas certera suele ser la que te proporciona el propio broker que operas
¿Que es el OI? Interes en abrir contratos, se utiliza para intuir las posiciones de los participantes, y dependiendo de la cola, deberiamos poder predecir, direccion del activo.
¿Que es el VOL? Cuando una order se ejecuta , forma parte del volumen. Es como la medida de los contratos negociados por unidad de tiempo.

En el proximo ariticulo, añadiremos la serie mas impoortante a nuestro data frame, y seguiremos adaptando el data frame a nuestras necesidades.

In [ ]:
 
Share:

Leave a Comment

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *