Saltar al contenido

AmiBroker · AFL

AmiBroker y AFL para desarrollar y validar sistemas de trading

AmiBroker es la plataforma con la que en SMQuantum diseñamos, programamos, probamos y validamos sistemas de trading: datos, lenguaje AFL, backtesting, optimización y automatización dentro de un mismo proceso cuantitativo. Esta página explica el papel de cada pieza y cómo se aprende a trabajar con ellas.

  • AFL
  • Datos
  • Backtesting
  • Optimización
  • Validación
  • Automatización
Screen · AmiBroker Captura real de un gráfico de velas en AmiBroker, entorno de trabajo cuantitativo

Qué es AmiBroker

Una plataforma para convertir ideas de mercado en reglas comprobables

AmiBroker es un software de análisis técnico y desarrollo de sistemas de trading. Reúne en un mismo entorno las bases de datos de cotizaciones, los gráficos, un lenguaje de programación propio (AFL) y las herramientas con las que se explora, se prueba y se optimiza una estrategia antes de operar con ella.

Su papel dentro de un proceso cuantitativo no es predecir el mercado, sino permitir que cada idea se exprese como una regla objetiva y se someta a datos. Es el mismo recorrido con el que trabajamos en SMQuantum: de la idea a la ejecución.

01

Idea

02

Datos

03

AFL

04

Diseño de sistemas

05

Backtesting

06

Validación

07

Gestión del riesgo

08

Automatización

AFL

Código AFL real Fragmento real de código AFL en el editor de AmiBroker

AFL: el lenguaje que convierte una idea en una regla

AFL (AmiBroker Formula Language) es el lenguaje propio de AmiBroker. Con él se programa todo lo que la plataforma calcula: desde un indicador simple hasta un sistema completo de trading.

AFL trabaja con arrays, es decir, con series completas de precios y valores, sobre las que se aplican operadores, condicionales, bucles y funciones. Con esos elementos se construyen indicadores gráficos, señales de compra y venta representadas sobre el gráfico y screeners que filtran un universo de valores mediante código.

Datos

Todo empieza en la base de datos

Antes de programar una regla hay que disponer de cotizaciones fiables. En AmiBroker eso significa crear una base de datos, importar el histórico y mantenerlo actualizado. Ese paso condiciona todo lo que viene después: un backtest solo puede ser tan fiable como los datos sobre los que se ejecuta.

Creación e importación

Crear una base de datos e importar el histórico de cotizaciones.

Herramientas de carga

AmiQuote, el Import Wizard y plugins de datos.

Actualización

Mantener la base de datos al día, también de forma automática.

Sesgos de los datos

Tener presente el sesgo de supervivencia al definir el universo de valores.

Backtesting

Backtesting: probar una regla sobre datos históricos

Un backtest aplica las reglas de un sistema al histórico y devuelve cada operación que habría generado. En AmiBroker el trabajo tiene tres partes: configurar la prueba, ejecutarla e interpretar sus resultados, operación a operación y en conjunto.

El informe por defecto puede ampliarse: AmiBroker permite modificar el report del backtest y, mediante el CustomBacktest (CBT), programar métricas y lógica propias. El análisis de Montecarlo permite estudiar la variabilidad de esos resultados.

Backtest · Sistema de ejemplo Listado real de operaciones (Result List) de un backtest de ejemplo en AmiBroker, con símbolo, fechas, precios y resultado de cada operación

Optimización y robustez

Optimización · Superficie 3D Gráfico 3D real de AmiBroker con el resultado de una optimización de ejemplo: porcentaje de operaciones ganadoras según los valores de entrada y salida de un RSI

Optimizar no es buscar el mejor resultado

La optimización recorre combinaciones de parámetros de un sistema y muestra cómo cambia el resultado con cada una. Su valor está en analizar ese conjunto, no en quedarse con el máximo: un resultado excelente que solo aparece con una combinación exacta de parámetros suele ser un síntoma de sobreoptimización.

Por eso la optimización va unida a la validación: reconocer los sesgos más frecuentes (sobreoptimización, supervivencia, mirada al futuro, comisiones), reservar periodos fuera de muestra y aplicar un análisis Walk-Forward antes de dar por válido un sistema.

Análisis de sistemas

Más allá de un único sistema

El mismo entorno permite trabajar con distintos tipos de estrategia, situarlas en su contexto de mercado y analizar cómo se comportan en conjunto.

Tipos de estrategia

Sistemas tendenciales, de reversión a la media y rotacionales, incluidos los que operan por puntuación y mediante rankings.

Contexto de mercado

Indicadores de amplitud de mercado, trabajo por sectores y fuerza relativa, y análisis en múltiples marcos temporales.

Gestión del riesgo

Diversificación, volatilidad, dimensionado de la posición y colocación del stop loss.

Carteras de sistemas

Métodos para combinar varios sistemas evaluando la correlación entre ellos.

Automatización y señales

Automatización: del análisis a la orden

AmiBroker permite automatizar tareas repetitivas del proceso, como la actualización de las bases de datos, las alertas por email o las tareas en modo Batch, y generar las señales que después se ejecutan en un bróker. Cómo se ejecutan depende de la plataforma con la que se conecte.

Interactive Brokers

Trading automático con IB

El Curso de AmiBroker desarrolla la automatización con Interactive Brokers a través de su controlador IBC: envío y seguimiento de órdenes e informe diario automático.

Ver el Curso de AmiBroker
MetaTrader 5

SMQ MT5 Bridge

La capa de ejecución y control entre AmiBroker y MetaTrader 5. Es un producto independiente del curso y su versión comercial está en desarrollo.

Conocer SMQ MT5 Bridge

AmiBroker y Python

Cuándo entra Python en el flujo

AmiBroker y AFL bastan para diseñar, probar y validar un sistema completo. Python se incorpora cuando el trabajo lo pide: tratamiento de datos, análisis estadístico y automatización de procesos.

En la formación

El Curso de AmiBroker se desarrolla íntegramente en AmiBroker y AFL y no requiere Python. El Curso de Pairs Trading combina ambas herramientas: Python para el análisis estadístico y el backtesting a nivel de cartera, AmiBroker para los datos de mercado, la visualización y el backtesting de un par individual.

En Research

Los informes de SMQuantum Research aplican esa combinación a casos concretos, como la integración de series económicas de FRED en el flujo de datos de AmiBroker.

Formación

Aprender AmiBroker paso a paso

Esta página explica qué es AmiBroker y qué papel tiene en el proceso. Si quieres aprender a utilizarlo, SMQuantum lo enseña en el Curso Avanzado de Trading Algorítmico con AmiBroker: un recorrido progresivo desde los fundamentos de la plataforma y el lenguaje AFL hasta el diseño, backtesting, validación y automatización de sistemas completos.

Curso Avanzado de Trading Algorítmico con AmiBroker

El temario completo y las condiciones del curso están en la página del curso.

Para quién es

Para quienes quieren construir ese conocimiento paso a paso, no solo para quienes ya operan con AmiBroker. El lenguaje AFL se aprende desde cero.

Qué se aprende

A diseñar, programar, testear, validar, gestionar el riesgo y automatizar sistemas de trading propios con AmiBroker y AFL.

Qué contenidos cubre

23 módulos agrupados en ocho bloques: fundamentos y datos, AFL y programación, diseño de sistemas, backtesting y optimización, validación, AmiBroker avanzado, gestión del riesgo y automatización.

Qué incluye

23 módulos, con ejemplos prácticos y códigos AFL. La licencia de AmiBroker no forma parte del curso.

Preguntas frecuentes

Preguntas frecuentes sobre AmiBroker

¿AmiBroker es un producto de SMQuantum?

No. AmiBroker es un software de terceros que se descarga y se registra directamente en amibroker.com, donde existe una versión de prueba previa a la licencia de pago. SMQuantum lo utiliza como herramienta de trabajo y enseña a utilizarlo.

¿Qué es AFL?

AFL (AmiBroker Formula Language) es el lenguaje de programación de AmiBroker. Con él se escriben indicadores, screeners y sistemas de trading completos.

¿Hace falta saber programar para empezar con AFL?

El Curso de AmiBroker parte de cero en AFL: arrays, operadores, condicionales y funciones, antes de avanzar hacia gráficos, indicadores y screeners propios.

¿Necesito Python para trabajar con AmiBroker?

No. El Curso de AmiBroker se desarrolla íntegramente en AmiBroker y AFL. Python es una herramienta complementaria, central únicamente en el Curso de Pairs Trading.

¿Se puede automatizar la operativa desde AmiBroker?

Sí, con matices. La automatización que enseña el curso está desarrollada específicamente para Interactive Brokers, a través de su controlador IBC. Para MetaTrader 5, SMQuantum prepara SMQ MT5 Bridge, un producto independiente que todavía no está disponible.

¿Esta página es el curso?

No. Esta página es una guía informativa sobre AmiBroker y AFL. El curso tiene su propia página, con el temario completo: Curso de AmiBroker.