Advertisement

Responsive Advertisement

Trading algoritmico
  

El trading algorítmico, es el proceso de intermediar entre la oferta y demanda de determinados bienes basado en reglas , a estas reglas se les llama algoritmos. Estas reglas pueden estar automatizadas en diferentes grados y deben generar al menos señales de venta o de compra de activos financieros.

¿ por qué invertir en sistemas de trading ?

La mejor fórmula de inversión financiera es aquella que maximiza rendimientos y minimiza riesgos. Cualquier sistema de trading algoritmico debe al menos perservar la inflación para así proteger el patrimonio de los inversores.

Un buen sistema de trading nos va a permitir obtener un mejor rendimiento que comprar un indice y mantener. Este es nuestro primer sistema de trading. Podemos ver que la regla es muy sencilla y lo mejor de todo es que podemos testar dicho sistema.

Vamos a proceder a validar este sistema en el SP500. Primero lo que hacemos es cargar las librerías necesarias, en este caso pandas, numpy y matplotlib.

import pandas as pd
import numpy as np
from matplotlib import pyplot as plt
plt.style.use('seaborn-whitegrid')
view raw paso1.py hosted with ❤ by GitHub

ETL de un sistema de trading

 Es necesario la carga de los datos que alimentan nuestro sistema. Para ello utilizamos librerías como yfinance. Para ello descargamos los datos diarios del SP500.

# Descargamos los datos desde yahoo finance
import yfinance as yf
# en sector tickers declaramos el código a descargar
sector_tickers=['^GSPC']
start='2000-01-01'
for tickers in sector_tickers:
print ('Descargando los datos desde Yahoo para %s '%(sector_tickers))
#spy = DataReader(tickers, 'yahoo', '2001-01-01')
spy = yf.download([tickers], start)
#print spy.tail()
for item in ['Open', 'High', 'Low']:
spy[item] = spy[item] * spy['Adj Close'] / spy['Close']
spy.rename(columns={'Open': 'open', 'High': 'high', 'Low': 'low','Adj Close': 'close', 'Volume': 'volume'}, inplace=True)
spy.drop(['Close'],axis=1, inplace=True)
print ('Extracción de datos finanlizada')
#spy.index=spy.index.tz_localize('UTC')
view raw paso2.py hosted with ❤ by GitHub

    El siguiente paso es realizar los cáculos para  nuestros indicadores. En este caso no realizamos ninguno

# Lista de indicadores
df.ta.indicators()
view raw paso3.py hosted with ❤ by GitHub

Reglas de un sistema de trading

Solamente tenemos una regla que es comprar al principio de la serie y mantener

Validar un sistema de trading

Como tenemos 21 años de historia en el sp500, podemos hacer dos tramos, uno de test ( 2000-2018) y otro de validación (2019-2021)

Validar el sistema de trading implica que podamos mantener las reglas en el tramo test frente al validación.

Dentro de la validación debemos tener en cuenta el perfomance del sistema, para ello utilizamos la librería quantstats.

Si creemos que nuestro sistema tiene  poder predictivo entonces validamos el sistema y lo pasaremos a producción.


Publicar un comentario

0 Comentarios