Documente Academic
Documente Profesional
Documente Cultură
XII/1
Curso de MetaStock 6.0 12.- System Tester.
XII/2
Curso de MetaStock 6.0 12.-System Tester.
2.-Opciones:
Cargando de nuevo el System Tester pulsaremos el botón de “Options”
XII/3
Curso de MetaStock 6.0 12.- System Tester.
TESTING:
A través de la ventana “Trade Price” se selecciona el campo del precio con el que
va a trabajar el test. Es decir, podremos hacerlo a través de los precios de apertura (open),
de cierre (close) o los máximos (high) y mínimos (low) de la sesión. La opción “delay” nos
permite retrasar la aparición de las señales de compra y de venta. Si se teclea “1” en
“delay”, el test empezará a operar un día después de que se genere la señal, (ejemplo: el
System Tester ha descubierto que un test ha generado una señal de compra el día 2 de
enero, si en la opción “delay” aparece 1, la señal aparecerá el día 3 de enero). Lo más
usual es realizar los test con los precios de cierre (close) y sin retraso (delay, 0), aunque
introduciendo un retraso de 1, tendremos un test mas real, puesto que si estemos usando
el precio de cierre para comparar los distintos sistemas, el sistema dará una señal
dependiendo del precio de cierre y nosotros operaríamos al día siguiente, no el mismo
día en el que se produce la señal.
MetaStock 6.0, permite hacer los test de los sistemas, teniendo en cuenta las
comisiones que se generan en la operativa bursátil. En “Commissions” introduciremos las
comisiones que cobra nuestro intermediario financiero. Estas comisiones nos pueden ser
cobradas tanto en porcenaje (Percent), % del nominal de la compra o venta, o en puntos
(Points $), cantidad fija por operar. Aunque aparezca el símbolo del dólar ($), esto no
tiene ninguna relevancia, ya que el programa trabaja según la unidad de cuenta que
aparezca en el gráfico (ptas, puntos, libras, dólares,…)
En el campo Positions introduciremos nuestra posición a la hora de operar en el
mercado:
-long: largos (alcista: compra y luego venta)
XII/4
Curso de MetaStock 6.0 12.-System Tester.
-shorts: cortos (bajistas: venta y luego compra)
-both: ambas (largos y cortos)
El recuadro Equity: Points Only Test debe seleccionarse cuando se opera con
futuros y materias primas. El Test sólo mostrará los puntos ganados o perdidos y
desactivará automáticamente el resto de opciones siguientes.
En el apartado Initial Equity Introduciremos la cantidad inicial de nuestra
hipotética inversión y en Margen Requirement % Introduciremos el porcentaje de l a
cantidad total a depositar, normalmente será 100, es decir desembolsaremos el total de
la inversión realizada, aunque en operaciones de cr_tido es posible desembolsar una
cantidad distinta
Annual Interest Rate es el tipo de interés que se obtiene cuando se está en liquidez
y se tendrá en cuenta en el balance final del test, es decir, cuando no estemos dentro del
mercado obtendríamos un interés por tener nuestro dinero depositado, por ejemplo en
una cuenta corriente.
REPORTING:
XII/5
Curso de MetaStock 6.0 12.- System Tester.
Buy o Sell, (Comprar o Vender). Señalando el recuadro Remove Existing Arrows se
borrarán automáticamente las anteriores flechas que estuvieran dispuestas en el gráfico.
La opción Plot Equity Line dibujará después de realizar el test, una pantalla con un
gráfico de la revalorización o devaluación de nuestra inversión inicial (Initial Equity).
Si deseamos que el programa nos avise de la finalización del test, debemos
señalar el recuadro Notify When Test Complete. El máximo número de datos que serán
guardados en el disco duro durante el test se especifica en Maximum Reports.
Después de terminar el test aparecerá la siguiente pantalla:
3.-Summary Report:
XII/6
Curso de MetaStock 6.0 12.-System Tester.
“Invalid” (se ha producido un error en la ejecución) y “Terminated” (no se ha
podido ejecutar el test por una falta de datos para procesar, base de datos muy
pequeña).
Net Profit: muestra la ganancia o pérdida neta de la operación.
Percent Gain or Loss: muestra el porcentaje ganado o perdido comparándolo
con la cantidad inicial introducida (initial equity).
Total Trades: el número total de operaciones que se hubieran realizado.
Winning Trades: operaciones en las que se ha obtenido un resultado positivo.
Losing Trades: operaciones en las que se ha obtenido un resultado negativo.
Average Win/Average Loss: calcula la media de los resultados positivos y
negativos respecto del total de los resultados positivos y negativos.
OPT: muestra el valor de las variables de optimización que se han utilizado en
el test.
Sort: este botón nos permite ordenar los test dependiendo de varios criterios, éstos
los elegiremos a través del menú desplegable “sort by” y podremos elegir que aparezcan
estos datos en orden ascendente, de menor a mayor, (“Ascending”) o descendente, de
mayor a menor, (“Descending”). Pulsando en el encabezado de cada columna, ordenará
los test usando como criterio de ordenación a esa columna y de mayor a menor o de
menor a mayor, según se especifique mediante “Sort”.
4.-System Report:
XII/7
Curso de MetaStock 6.0 12.- System Tester.
Arrows: este botón se utiliza para activar y desactivar las flechas que indican los
momentos de compra-venta y los stops, (flecha hacia arriba = compra; flecha hacia abajo
= venta).
Plot Equity: pulsando este botón aparecerá en el gráfico una pantalla
suplementaria a la de precios que no es más que un balance de las ganancias y perdidas
obtenidas con la utilización del sistema. En este gráfico aparecerá una línea que
comenzará en la cantidad inicial que hayamos introducido en “Initial Equity”. El gráfico
adquirirá esta forma cuando se pulsen los botones anteriores, (Arrows, Plot Equity).
Results
Pasamos a explicar el significado de cada una de las líneas que aparecen en el
apartado “Results”.
Total net profit: cantidad total ganada o pérdida.
Percent Gain/Loss: porcentaje de ganancia o pérdida acumulado.
Initial Investment: cantidad inicial invertida.
Open Position Value: valor de la última operación viva, si es que hay alguna.
Anual Percent Gain/Loss: porcentaje de ganancia o de pérdida anual.
Interest earned: interés ganado cuando el sistema está fuera de mercado (out).
Current Position: Posición actual dentro del mercado.
Date position entered: fecha de entrada de la última operación.
Buy/Hold Profit: ganancia realizada manteniendo la primera entrada al mercado,
(comprando y manteniendo), si la cantidad es negativa se refiere a posiciones “cortas”.
Buy/Hold Percent Gain/Loss: porcentaje ganado o perdido utilizando el método
operativo anterior.
Days in Test: total de días utilizados en el test.
Annual Buy/Hold Percent Gain/Loss: porcentaje de ganancia o pérdida anual
obtenido empleando el sistema de “comprar y mantener”.
XII/8
Curso de MetaStock 6.0 12.-System Tester.
Total Closed Trades: número total de operaciones realizadas.
Average Profit Per Trade: porcentaje ganado o perdido por operación.
Total Long Trades: número de posiciones largas (alcistas) completadas.
Winning Long Trades: número de posiciones largas con ganancias.
Commissions Paid: total de comisiones pagadas durante todo el período del test.
Average Win/Average Loss Ratio: Porcentaje de operaciones ganadas con respecto
al total y viceversa con las operaciones perdidas.
Total Short Trades: número de posiciones cortas (bajistas) completadas.
Winning Short Trades: número de posiciones cortas con ganancias.
Total Winnig Trades: número total de operaciones cerradas con ganancias.
Amount of Winning Trades: cantidad total ganada, sin incluir la última posición
abierta.
Average Win: media sobre el total de las posiciones ganadoras.
Largest Win: operación con mayor rendimiento.
Average Length of Win: media de los días que han estado en posiciones ganadoras.
Longest Winning Trade: número máximo de días que se ha permanecido en una
posición ganadora.
Most Consecutive Wins: mayor número de operaciones consecutivas realizadas con
ganancias.
Total Losing Trades: número de operaciones negativas, (con pérdidas).
Amount of Losing Trades: cantidad total perdida, sin incluir la última posición
abierta.
Average Loss: media sobre el total de las posiciones perdedoras.
Largest Loss: operación con mayor perdida.
Average Length of Loss: media de los días que han estado en posiciones
perdedoras.
Longest Losing Trade: número máximo de días que se ha permanecido en una
posición perdedora.
Most Consecutive Losses: mayor número de operaciones consecutivas realizadas
con perdidas.
Totals Bars Out: número total de días (o semanas, o meses, dependiendo de la
compresión del gráfico), en el que el sistema ha estado fuera del mercado, (sin operar).
Longest Out Periods: período máximo de días sin operar.
Average Length Out: media de los períodos sin operar.
System Close Drawdown: distancia máxima a la que ha estado el sistema cuando
está fuera del mercado (out) por debajo de la cantidad inicial aportada, (Initial Equity).
System Open Drawdown: distancia máxima a la que ha estado el sistema
permaneciendo dentro del mercado, por debajo de la cantidad inicial aportada, (Initial
Equity). Máxima perdida soportada.
Max Open Trade Drawdown: Máxima perdida soportada con una posición abierta.
Profit/Loss Index: compara la cantidad de operaciones ganadoras con las
operaciones perdedoras. Este índice oscila de +100 a -100. 100 significa que todas las
XII/9
Curso de MetaStock 6.0 12.- System Tester.
operaciones son ganadoras, -100 que son perdedoras y 0 que son iguales las operaciones
ganadoras y las perdedoras.
Reward/Risk Index: este índice compara el “System Open Drawdown”, (perdida
máxima soportada con una operación abierta), con “Total Net Profits”, (cantidad total
ganada o perdida), es decir, compara el riesgo máximo soportado con la rentabilidad
obtenida del sistema. Como el anterior, este índice oscila entre +100 y -100. Valores de
100, implican un rendimiento alto y ningún tipo de riesgo. “0” es igual a ninguna
ganancia y ningún riesgo, y el valor -100 implica un gran riesgo y un beneficio muy
pequeño.
Buy/Hold Index: este índice compara la rentabilidad total obtenida con la que se
hubiera obtenido con la estrategia de “comprar y mantener”. Un valor de -50, significa
que el sistema ha obtenido el 50% de revalorización menos que si se hubiera operado
“comprando y manteniendo”. Un valor de 50, significa que el sistema ha obtenido un 50%
más de revalorización que empleando la anterior estrategia. Un valor de 0, significa que
la rentabilidad obtenida es igual utilizando el sistema que utilizando la anterior
estrategia.
Como pueden observar, el programa proporciona mucha información, pudiendo
simular perfectamente nuestra posición y reacciones si seguimos un determinado sistema
a la hora de operar, particularmente útiles son las líneas que nos indican cual es l a
pérdida máxima que estaríamos soportando estando dentro del mercado, o el máximo
número de días que permaneceríamos perdiendo respecto a nuestra posición inicial, para
ver si hubiéramos sido capaces de permanecer en estas situaciones sin ponernos
nerviosos y, consecuentemente, liquidando nuestra posición sin esperar a que el sistema
nos lo indicara.
Trades Report.
XII/10
Curso de MetaStock 6.0 12.-System Tester.
Trade number: asigna a cada operación un número en orden cronológico,
exceptuando las posiciones “out”, (fuera del mercado) que no se contabilizan.
Trade Type: Esta columna muestra el tipo de operación realizada. Éstas podrán ser:
Out: es el período en el que el sistema está sin operar, (fuera del mercado).
Long: posiciones alcistas, se abre la posición comprando.
Short: posiciones bajistas, se abre la posición vendiendo.
Nsfl: (“Not Sufficient Funds for Long trade”), esta situación aparece cuando ya no
queda dinero suficiente para iniciar una nueva posición alcista. (La operación
anterior nos ha “limpiado” todo, y no tenemos el suficiente dinero ni para correr
con las comisiones del intermediario).
Nsfs: (“Not Sufficient Funds for Short trade”), esta situación aparece cuando ya
no queda dinero suficiente para iniciar una nueva posición bajista, (por e l
motivo descrito anteriormente).
Open: posiciones actuales abiertas que por lo tanto no se han cerrado todavía,
tras completar el test.
Entry date: fecha en la que se abrió la posición.
Close date: fecha en la que se cerro la posición.
Profit/Loss: muestra la cantidad ganada o perdida en la operación.
MAE: “The Maximum Adverse Excursion”: es el peor precio al que se ha llegado en
el intradía en contra de nuestra posición.
Reason for Close: explica el motivo por el que el sistema ha cerrado la operación
abierta.
Equity Report:
XII/11
Curso de MetaStock 6.0 12.- System Tester.
Esta ventana, al igual que la anterior, muestra un resumen de las operaciones
realizadas por el sistema, pero con la diferencia de que aquí están dispuestas las
operaciones día a día.
Bar: este es el número de cada barra de precios.
Date: fecha a la que corresponde cada barra.
Ending Position: muestra la posición en la que se está ese día, (largo, corto, y fuera
de mercado).
Close: muestra el cierre de ese día. Si en “opciones” se ha elegido para el calculo
del sistema otro precio, en esta columna aparecerá el respectivo, (máximo, mínimo o
apertura).
Current Equity: muestra la revalorización o la devaluación que se obtendría ese día.
Change in Equity: variación que ha sufrido nuestra inversión con respecto al día
anterior.
XII/12
Curso de MetaStock 6.0 12.-System Tester.
System
Comparación de Sistemas:
En la pantalla principal del “System Tester”, aparece en la parte inferior derecha un
XII/13
Curso de MetaStock 6.0 12.- System Tester.
ganancia; entonces encontramos la rentabilidad máxima que se puede conseguir, es
decir MetaStock 6.0 juega a ser Dios.
Para averiguar cual sería esta ganancia máxima el programa ha creado un sistema
propio que calcula esto, este sistema es el: “MAXIMUM PROFIT SYSTEM” el cual
aparece en la primera ventana que aparece al cargar el “System Tester”. Para ver los
resultados de este sistema, se actúa de la misma forma que con el resto de sistemas,
pinchando en el botón de “reports”, una vez que se ha finalizado el test las ganancias
obtenidas van a ser espectaculares.
A partir de aquí se intentará encontrar el sistema que más se acerque al “MAXIMUM
PROFIT SYSTEM”, aunque todos ellos se quedarán bastante lejos. Operaremos con
aquel sistema que más se aproxime al “MAXIMUM PROFIT SYSTEM” de los sistemas
analizados. Esta aproximación es muy relativa y será muy difícil, por no decir imposible,
encontrar un sistema semejante al óptimo, además, el sistema que encontremos será el
mejor con los datos disponibles hasta la fecha en la que realizamos, lo cual no implica
que continúe siendo el mejor a partir de entonces.
(Si usted que está leyendo estas líneas encuentra algún sistema que realmente se
asemeje al óptimo, no dude en comunicar con INDESFI, llegaremos a hacernos grandes
amigos).
XII/14
Curso de MetaStock 6.0 12.-System Tester.
XII/15
Curso de MetaStock 6.0 12.- System Tester.
Después de introducir todas estas fórmulas correctamente pulsaremos el botón de
OK, y el sistema quedará configurado. Si se ha introducido alguna fórmula con algún
error el programa nos lo indicará y deberemos reemplazarla, siguiendo los pasos
anteriores.
Ahora sólo queda probar el sistema y ver los resultados, seleccionando el sistema
llamado “Indesfi” y pulsar el botón de TEST. Este sistema lo hemos creado con una
media móvil simple de 50 sesiones. Estos parámetros se pueden modificar seleccionando
el sistema “Indesfi” y pulsando el botón de “Edit”. Podemos hacer test sobre cualquier idea
que tengamos. MetaStock 6.0 permite emplear en nuestros sistemas todas las fórmulas de
las que dispone. Estas las podremos elegir pulsando el botón de “Functions”.
Optimización de variables:
La optimización supone modificar las variables introducidas por otras denominadas
“OPT”. De este modo, nuestro anterior sistema empleaba medias móviles prefijadas. Lo
que se trata es de que el programa optimice estas medias y encuentre la que mejores
resultados da con determinado valor; es decir, encontrará las variables más eficientes.
Seleccionamos el sistema “Indesfi” y pulsamos el botón de “Edit”. En “Enter Long”
donde habíamos introducido “50” deberemos modificarlo por OPT1, (optimizará l a
XII/16
Curso de MetaStock 6.0 12.-System Tester.
Dentro de esta pantalla pulsaremos el botón Edit. Aparecerá otra pantalla en la que
se pedirá una descripción sobre la variable que estamos optimizando: “Períodos de las
medias móviles”. Esta frase la incluiremos dentro de la ventana de “Description”. En
“Minimum” se pide la media móvil de más corto plazo que se quiere optimizar. En nuestro
caso pondremos “25”. En “maximum” será la media de más largo plazo que se quiera
optimizar: “75”. Y en “Step” introduciremos los saltos que habrá entre cada media móvil
optimizada. Por ejemplo, si incluimos 10, nos optmizará la media de 25 sesiones, 35,
45,… hasta 75 sesiones. En nuestro ejemplo incluiremos “5”, para optimizarlas con
incrementos de 5 períodos, (25, 30, 35,…75).
Una vez realizados estos pasos se pulsa el botón de OK, y de este modo ya queda
configurada la variable de optimización 1, que será la que generará las señales
compradoras. En la siguiente pantalla que es la que muestra los datos introducidos
deberemos observar en la parte inferior izquierda “total test”, que las medias móviles a
analizar son 11, y que todos los datos han sido introducidos correctamente. Una vez
comprobando esto, pulsaremos el botón “Close”.
XII/17
Curso de MetaStock 6.0 12.- System Tester.
Seguiremos los mismos pasos para el resto de señales: “Close Long”, “Enter Short” y
“Close Short”, (introduciremos en casa una de ellas OPT1, en vez de 50). Una vez
introducidas ya podemos pasar a comprobar los resultados del test siguiendo los pasos
explicados en “1.- Haciendo test”. Al mostrar los resultados en “reports”, se indicará cual
es la variable optimizada que mejores resultados ha obtenido, esto se muestra en dentro
del cuadro de “Summary Report” en la columna OPT 1:.
Introducción de “Stops”
En los sistemas se pueden introducir órdenes de “stop loss”, es decir si las señales
generadas por el sistema han sido fallidas, podremos introducir la cantidad que estamos
dispuestos a perder para intentar reducir pérdidas. Cuando está cantidad prefijada es
superada, el sistema cerrará automáticamente nuestra posición.
XII/18
Curso de MetaStock 6.0 12.-System Tester.
1.- Breakeven:
Este “stop” cerrará nuestra posición si el valor cae por debajo de una cantidad
prefijada desde el momento en que se ha abierto la posición.
En “Positions” se selecciona el tipo de operaciones (alcistas = long, bajistas = short),
en las que se quiera que tenga efecto el stop. (Seleccionaremos en nuestro ejemplo
ambas).
En “Method” se selecciona el método por el cual saltará nuestra orden, por
porcentaje o por puntos. (Seleccionaremos Percent). Para nuestro ejemplo, de no indicar
lo contrario, seleccionaremos Long y shorts, y Percent.
En “Floor Level” se introduce la cantidad que hará que salte nuestro stop.
(Introduciremos 5).
Lo que se ha hecho es lo siguiente: si una posición abierta cae más de un 5%,
automáticamente se cerrará. Si se hubiese seleccionado “points” en lugar de “percent”,
habría bastado una bajada de 5 puntos, (5 pesetas), para que se hubiese ejecutado la
orden de stop.
XII/19
Curso de MetaStock 6.0 12.- System Tester.
2.-Inactivity:
Este “stop” cerrará una posición abierta cuando el valor analizado no se revalorice
en una cantidad y un período de tiempo determinados. Hace que nos salgamos del valor
si no tiene los movimientos esperados. El método de calculo es similar al anterior, salvo
que debemos introducir en “Minimum Change” la variación del precio que se desee 5,
por ejemplo y el periodo de tiempo que estamos dispuestos a aguantar introducimos, por
ejemplo, 50.
En este stop lo que se ha hecho es: si durante 50 días el valor no se ha revalorizado
un 5%, se ejecuta la orden stop.
XII/20
Curso de MetaStock 6.0 12.-System Tester.
3.-Maximum Loss:
4.-Profit Target:
XII/21
Curso de MetaStock 6.0 12.- System Tester.
dejar correr los beneficios, es decir, en vez de cerrar nuestras posiciones al ganar un
determinado valor, esperaremos a salirnos cuando el sistema nos lo indique.
5.-Trailing:
Este stop se activará cuando una cantidad especificada se pierda con respecto a
las ganancias de la posición abierta. Introduciremos 3%, es decir, si nuestras ganancias
en algún momento han llegado a ser de 100, si bajan a 97 se ejecutará el stop. A este
stop podremos añadirle un filtro temporal en “Periods”, que lo que hará es ignorar los
movimientos y las posibles salidas que se hayan generado en los últimos “x” periodos
introducidos, (esta opción la dejaremos en blanco para que tenga en cuenta todos los
periodos de tiempo a la hora de ejecutar el stop).
Hay que tener en cuenta que la utilización de varios stops a la vez, o stops muy
ceñidos al precio, pueden hacer que nuestras ganancias se vean muy reducidas, así que
sólo introduciremos stops si somos inversores demasiado conservadores, también hay que
notar que la mayoría de sistemas del MetaStock 6.0 no introducen stops para su calculo,
ya que se generan mayores beneficios en aquellos sistemas en los que no se utilizan estas
órdenes de protección.
XII/22