Tuesday, November 22, 2016

Cómo Backtest Su Sistema Comercial

Backtesting Backtesting Backtesting es el proceso de probar una estrategia comercial sobre datos históricos relevantes para asegurar su viabilidad antes de que el comerciante arriesgue cualquier capital real. Un comerciante puede simular el comercio de una estrategia durante un período de tiempo adecuado y analizar los resultados para los niveles de rentabilidad y riesgo. Si los resultados cumplen los criterios necesarios que son aceptables para el comerciante, la estrategia se puede implementar con cierto grado de confianza de que dará lugar a beneficios. Si los resultados son menos favorables, la estrategia puede ser modificada, ajustada y optimizada para lograr los resultados deseados, o puede ser completamente desechada. Una cantidad significativa del volumen negociado en el mercado financiero de hoy es hecho por los comerciantes que utilizan algún tipo de automatización de la computadora. Esto es especialmente cierto para las estrategias comerciales basadas en el análisis técnico. Backtesting es una parte integral del desarrollo de un sistema de comercio automatizado. Cuando se hace correctamente, backtesting puede ser una herramienta invaluable para tomar decisiones sobre si utilizar una estrategia comercial. El período de tiempo de muestra en el que se realiza un backtest es crítico. La duración del período de tiempo de muestreo debe ser lo suficientemente larga como para incluir períodos de condiciones de mercado variables, incluyendo tendencias de alza, tendencia a la baja y negociación de rango limitado. Realizar una prueba en un solo tipo de condición de mercado puede producir resultados únicos que pueden no funcionar bien en otras condiciones del mercado, lo que puede conducir a conclusiones falsas. El tamaño de la muestra en el número de oficios en los resultados de la prueba también es crucial. Si el número de muestras de oficios es demasiado pequeño, la prueba puede no ser estadísticamente significativa. Una muestra con demasiadas operaciones durante un período demasiado largo puede producir resultados optimizados en los que un número abrumador de operaciones ganadoras se unen en torno a una condición o tendencia de mercado específica que es favorable para la estrategia. Esto también puede causar un comerciante para sacar conclusiones engañosas. Mantenerlo real Un backtest debe reflejar la realidad en la medida de lo posible. Los costes de negociación que de otro modo podrían considerarse insignificantes para los comerciantes cuando se analizan individualmente pueden tener un impacto significativo cuando el coste agregado se calcula durante todo el período de prueba posterior. Estos costos incluyen las comisiones, los spreads y el deslizamiento, y podrían determinar la diferencia entre si una estrategia comercial es rentable o no. La mayoría de los paquetes de software de backtesting incluyen métodos para tener en cuenta estos costos. Quizás la métrica más importante asociada con el backtesting es el nivel de robustez de la estrategia. Esto se logra comparando los resultados de una prueba posterior optimizada en un período de tiempo de muestra específico (denominado en la muestra) con los resultados de un backtest con la misma estrategia y ajustes en un período de tiempo de muestra diferente (denominado out - De la muestra). Si los resultados son igualmente rentables, entonces la estrategia puede ser considerada válida y robusta, y está lista para ser implementada en mercados en tiempo real. Si la estrategia fracasa en las comparaciones fuera de la muestra, entonces la estrategia necesita un mayor desarrollo, o debe ser abandonado por completo. Prueba de sus ideas comerciales Una de las cosas más útiles que puede hacer en la ventana de análisis es a la espalda - Probar su estrategia comercial en datos históricos. Esto le puede dar una visión valiosa de las fortalezas y los puntos débiles de su sistema antes de invertir dinero real. Esta característica única de AmiBroker puede ahorrar mucho dinero para usted. Escribir sus reglas comerciales Primero necesita tener reglas objetivas (o mecánicas) para entrar y salir del mercado. Este paso es la base de su estrategia y necesita pensarlo usted mismo ya que el sistema debe coincidir con su tolerancia al riesgo, tamaño de la cartera, técnicas de administración de dinero y muchos otros factores individuales. Una vez que usted tiene sus propias reglas para el comercio que debe escribir como comprar y vender reglas en AmiBroker Formula Lanugage (más corto y cubrir si desea probar también corto comercio). En este capítulo vamos a considerar el sistema de cruce de la media móvil muy básico. El sistema compraría acciones / contratos cuando el precio cercano suba por encima de la media móvil exponencial de 45 días y venderá acciones / contratos cuando el precio cercano caiga por debajo de la media móvil exponencial de 45 días. La media móvil exponencial se puede calcular en AFL usando su función incorporada EMA. Todo lo que necesita hacer es especificar la matriz de entrada y el período de promedio, por lo que la media móvil exponencial de 45 días de los precios de cierre puede obtenerse mediante la siguiente declaración: El identificador de cierre se refiere a la matriz incorporada que mantiene los precios de cierre del símbolo analizado en la actualidad . Para probar si el precio de cierre cruza por encima del promedio móvil exponencial utilizaremos la función cruzada incorporada: buy cross (close, ema (close, 45)) La declaración anterior define una regla comercial de compra. Da quot1quot o quottruequot cuando el precio cercano cruza encima de ema (cierre, 45). A continuación, podemos escribir la regla de venta que daría quot1quot cuando ocurra la situación opuesta - cerrar el precio cruza por debajo de ema (cerrar, 45): vender cross (ema (cerrar, 45), cerrar) Tenga en cuenta que estamos utilizando la misma función cruzada, El orden opuesto de los argumentos. Así que la fórmula completa para las operaciones largas se verá así: buy cross (close, ema (close, 45)) sell cross (ema (close, 45), close) NOTA: Para crear una nueva fórmula abra Editor de fórmulas usando Analysis-gtFormula Editor , Escriba la fórmula y elija Herramientas-gtSend al menú Análisis en el editor de fórmulas Para volver a probar su sistema, haga clic en el botón Volver a probar en la ventana Análisis automático. Asegúrese de que ha escrito en la fórmula que contiene al menos comprar y vender reglas comerciales (como se muestra arriba). Cuando la fórmula es correcta AmiBroker comienza a analizar sus símbolos de acuerdo a sus reglas comerciales y genera una lista de operaciones simuladas. Todo el proceso es muy rápido - puede volver a probar miles de símbolos en cuestión de minutos. La ventana de progreso le mostrará el tiempo estimado de finalización. Si desea detener el proceso, simplemente haga clic en el botón Cancelar en la ventana de progreso. Cuando el proceso está terminado, la lista de transacciones simuladas se muestra en la parte inferior de la ventana de análisis automático. (El panel Resultados). Puede examinar cuándo se produjeron las señales de compra y venta haciendo doble clic en el comercio en el panel Resultados. Esto le dará señales crudas o no filtradas para cada barra cuando se cumplan las condiciones de compra y venta. Si desea ver solo las flechas de comercio único (apertura y cierre del comercio actualmente seleccionado) debe hacer doble clic en la línea mientras mantiene pulsada la tecla MAYÚS. Alternativamente, puede elegir el tipo de visualización seleccionando el elemento apropiado en el menú contextual que aparece al hacer clic en el panel de resultados con el botón derecho del ratón. Además de la lista de resultados, puede obtener estadísticas muy detalladas sobre el rendimiento de su sistema haciendo clic en el botón Informe. Para obtener más información sobre las estadísticas de los informes, consulte la descripción de la ventana del informe. Cambio de la configuración de las pruebas de regreso El motor de prueba en AmiBroker utiliza algunos valores predefinidos para realizar su tarea, incluyendo el tamaño de la cartera, la periodicidad (diaria / semanal / mensual), el monto de la comisión, la tasa de interés, Los campos de precios y así sucesivamente. Todos estos ajustes podrían ser cambiados por el usuario usando la ventana de configuración. Después de cambiar la configuración, recuerde volver a realizar la prueba de nuevo si desea que los resultados estén sincronizados con los ajustes. Por ejemplo, para probar de nuevo en barras semanales en lugar de todos los días, haga clic en el botón Configuración, seleccione Semanal de Periodicidad cuadro combinado y haga clic en Aceptar. A continuación, ejecute su análisis haciendo clic en Volver prueba. Nombres de variables reservadas La siguiente tabla muestra los nombres de las variables reservadas utilizadas por Automatic Analyzer. El significado y ejemplos de su uso se dan más adelante en este capítulo. Permite la cantidad en dólares de control o el porcentaje de la cartera que se invierte en el comercio (ver explicaciones a continuación) Análisis Automático (nuevo en 3.9) Hasta ahora hemos discutido el uso bastante simple del probador de espalda. AmiBroker, sin embargo, apoya métodos y conceptos mucho más sofisticados que serán discutidos más adelante en este capítulo. Tenga en cuenta que el usuario principiante debe jugar primero un poco con los temas más sencillos descritos anteriormente antes de continuar. Por lo tanto, cuando esté listo, eche un vistazo a las siguientes características recientemente introducidas del back-tester: a) AFL scripting host para los escritores de fórmulas avanzadas b) el apoyo mejorado para operaciones cortas c) la forma de controlar el precio de ejecución de órdenes de la Script d) varios tipos de paradas en el probador de espalda e) el tamaño de la posición f) el tamaño del lote redondo y el tamaño de la señal g) la cuenta de margen h) backtesting futuros AFL scripting host es un tema avanzado que se cubre en un documento separado disponible aquí y no voy a discutir En este documento. Las características restantes son mucho más fáciles de entender. En las versiones anteriores de AmiBroker, si quería volver a probar el sistema utilizando operaciones largas y cortas, sólo se podía simular la estrategia de stop-and-reverse. Cuando la posición larga fue cerrada una nueva posición corta se abrió inmediatamente. Fue porque las variables reservadas de compra y venta se utilizaron para ambos tipos de operaciones. Ahora (con la versión 3.59 o superior) hay variables reservadas separadas para abrir y cerrar operaciones largas y cortas: buy - quottruequot o 1 value abre trading largo - quottruequot o 1 value cierra trade short - quottruequot - quottruequot o 1 valor cierra comercio corto Som con el fin de back-test de operaciones cortas que necesita para asignar corto y cubrir las variables. Si utiliza el sistema de stop-and-reverse (siempre en el mercado) simplemente asignar vender a corto y comprar para cubrir la venta corta comprar la cubierta Esto simula la forma de pre-3.59 versiones trabajadas. Pero ahora AmiBroker le permite tener reglas de negociación separadas para ir largo y para ir corto, como se muestra en este ejemplo simple: // comercio de largo entradas y las reglas de salida: comprar cross (cci (), 100) vender cross (100, cci () ) // reglas de entrada y salida de operaciones cortas: cross corto (-100, cci ()) cover cross (cci (), -100) Observe que en este ejemplo si CCI está entre -100 y 100 usted está fuera del mercado. Control de los precios de comercio AmiBroker ahora ofrece 4 nuevas variables reservadas para especificar el precio al que se ejecutan las órdenes de compra, venta, corto y de cobertura. Estos arrays tienen los nombres siguientes: buyprice, sellprice, shortprice y coverprice. La principal aplicación de estas variables es el control del precio del comercio: BuyPrice IIF (dayofweek () 1, HIGH, CLOSE) // el lunes comprar en alta, de lo contrario comprar en cerrar Así que usted puede escribir lo siguiente para simular real stop-orders: BuyStop. La fórmula para comprar el nivel de parada SellStop. La fórmula para el nivel de la venta de la parada // si en cualquier momento durante el día los precios se levantan sobre el nivel de buystop (highgtbuystop) // la orden de compra ocurre (en el buystop o bajo lo que sea más alto) Buy Cross (High, BuyStop) // si en cualquier momento durante el Los precios de los días caen por debajo del nivel de sellprice (bajo sellstop) // la orden de venta tiene lugar (en sellstop o alta lo que sea menor) Sell Cross (SellPrice, SellStop) BuyPrice max (BuyStop, baja) Por favor, tenga en cuenta que AmiBroker preestablece los precios de compra, sellprice, shortprice y coverprice variables de matriz con los valores definidos en la ventana de configuración de prueba del sistema (que se muestra a continuación), por lo que puede pero No necesita definirlos en su fórmula. Si no los definen AmiBroker funciona como en las versiones antiguas. Durante el back-testing, AmiBroker verificará si los valores asignados a buyprice, sellprice, shortprice, coverprice encajan en el rango alto-bajo de la barra dada. Si no es así, AmiBroker lo ajustará a un precio alto (si el precio de la matriz de precios es más alto que alto) o al precio bajo (si el valor de la matriz de precio es más bajo que bajo) Como se puede ver en la imagen anterior, Las paradas objetivo de ganancia están disponibles en la ventana de configuración de prueba del sistema. Las paradas de objetivo de beneficio se ejecutan cuando el precio alto de un día dado excede el nivel de parada que se puede dar como un porcentaje o un aumento de punto del precio de compra. De forma predeterminada, las paradas se ejecutan a precio que se define como matriz de precio de venta (para operaciones largas) o matriz de precio de cobertura (para operaciones cortas). Este comportamiento se puede cambiar utilizando la función quotExit en stopquot. QuotExit at stopquot feature Si marca quotExit en stopquot box en la configuración, las paradas se ejecutarán a nivel de stop exacto, es decir, si define el objetivo de beneficio stop en 10 su stop y el precio de compra fue 50 stop order se ejecutará a 55 incluso si Su matriz de precios de venta contiene diferentes valores (por ejemplo, precio de cierre de 56). Pérdida máxima deja de funcionar de una manera similar - se ejecutan cuando el precio bajo para un día dado cae por debajo del nivel de parada que se puede dar como un porcentaje o punto de aumento del precio de compra Este tipo de parada se utiliza para proteger los beneficios como lo Rastrea su comercio así que cada vez que un valor de la posición alcanza una nueva alta, la parada que se arrastra se coloca en un nivel más alto. Cuando el beneficio cae por debajo del nivel de parada final, la posición se cierra. Este mecanismo se ilustra en la imagen de abajo (se muestra un 10 stop de arrastre): / una muestra de implementación de bajo nivel de Profit-target stop en AFL: / Buy Cross (MACD (), Signal ()) para BarCount I) priceatbuy BuyPrice i if (priceatbuy gt 0 SellPrice i gt 1.1 priceatbuy) Sell i 1 SellPrice i 1.1 precioatbuy priceatbuy 0 else Sell i 0 Esta es una nueva característica en la versión 3.9. Ahora se puede controlar la cantidad en dólares o el porcentaje de la cartera que se invierte en el número positivo del comercio que define (dólar) la cantidad que se invierte en el comercio por ejemplo: PositionSize 1000 / / Invertir 1000 en todos los números negativos del comercio -100 ..- 1 definir el porcentaje: -100 da 100 del tamaño actual de la cartera, -33 da 33 de los recursos disponibles por ejemplo: PositionSize -50 / siempre invertir sólo la mitad de la equidad / dinámica actual (RSI) varía de 0 a 100, esto resultará en posición dependiendo de los valores de RSI - gt los valores bajos de RSI darán lugar a un mayor porcentaje invertido Si se invierte menos de 100 de efectivo disponible, entonces el resto Cantidad gana tasa de interés como se define en la configuración. También hay una nueva casilla de verificación en la ventana de ajustes de AA: quotAllow size size de posición shrinkingquot - esto controla cómo backtester maneja la situación cuando el tamaño de posición solicitado (vía variable PositionSize) excede efectivo disponible: cuando esta bandera está marcada la posición se introduce con tamaño shinked a Efectivo disponible si está desmarcado no se ingresa la posición. Para ver los tamaños de posición reales, utilice un nuevo modo de informe en la ventana de configuración AA: quotLista de comercio con precios y pos. Sizequot Para el final, aquí hay un ejemplo de la técnica de dimensionamiento de posición basada en Tharps ATR codificada en AFL: Buy ltyour buy formula heregt Vender 0 // vender sólo por stop TrailStopAmount 2 ATR (20) Capital 100000 / IMPORTANTE: Establecer también en el La técnica se puede resumir de la siguiente manera: El patrimonio total por símbolo es de 100.000, establecimos el nivel de riesgo en 1 del total equidad. El nivel de riesgo se define de la siguiente manera: si una parada de arrastre en una acción de 50 es, por ejemplo, 45 (el valor de dos ATR contra la posición), la pérdida 5 se divide en el riesgo de 1000 para dar 200 acciones para comprar. Así pues, el riesgo de la pérdida es 1000 pero el riesgo de la asignación es 200 partes x 50 / parte o 10.000. Por lo tanto, estamos asignando 10 de la equidad a la compra, pero sólo arriesgando 1000. (Extracto editado de la lista de correo de AmiBroker) Tamaño de lote redondo y talla de talla Varios instrumentos se negocian con varias unidades quottradingquot o quotblocksquot. Por ejemplo, puede comprar un número fraccionario de unidades de fondos mutuos, pero no puede comprar un número fraccionario de acciones. A veces usted tiene que comprar en lotes 10s o 100s. AmiBroker ahora le permite especificar el tamaño de bloque en nivel global y por símbolo. Puede definir el tamaño del lote redondo por símbolo en la página Información de símbolos (página 3). El valor de cero significa que el símbolo no tiene un tamaño de lote redondo especial y utilizará el tamaño de lote redondo predeterminado (configuración global) en la página Configuración de análisis automático (figura 1). Si el tamaño predeterminado también se establece en cero, significa que se permite el número fraccionario de acciones / contratos. También puede controlar el tamaño del lote redondo directamente desde su fórmula AFL usando la variable reservada RoundLotSize, por ejemplo: Esta configuración controla el movimiento del precio mínimo del símbolo dado. Se puede definir a nivel global y por símbolo. Al igual que con el tamaño del lote, puede definir el tamaño de tanteo por símbolo en la página Symbol-gtInformation (figura 3). El valor de cero indica a AmiBroker que use quotdefault tick sizequot definido en la página Settings (página 1) de la ventana Automatic Analysis. Si el tamaño predeterminado de la señal también se establece en cero, significa que no hay movimiento de precio mínimo. Por ejemplo, puede establecer y recuperar el tamaño de marca de la fórmula AFL utilizando la variable reservada TickSize. Tenga en cuenta que la configuración del tamaño de la marca afecta sólo a las operaciones salidas por paradas incorporadas y / o ApplyStop (). El backtester supone que los datos de precio siguen los requisitos de talla y no cambia los arrays de precios suministrados por el usuario. Por lo tanto, especificar el tamaño de la escala sólo tiene sentido si utiliza paradas incorporadas para que los puntos de salida se generen en niveles de precio quotallowedquot en lugar de los calculados. Por ejemplo, en Japón - no puede tener partes fraccionarias de yen por lo que debe definir ticksize global a 1, por lo que incorporado deja de comercios de salida en niveles enteros. El ajuste de margen de cuenta define el requisito de margen porcentual para toda la cuenta. El valor por defecto del margen de la cuenta es 100. Esto significa que usted tiene que proporcionar 100 fondos para entrar en el comercio, y esta es la forma en que backtestter trabajado en versiones anteriores. Pero ahora puede simular una cuenta de margen. Cuando usted compra en el margen usted está pidiendo simplemente el dinero de su corredor para comprar la acción. Con las regulaciones actuales puede poner hasta 50 del precio de compra de la acción que desea comprar y pedir prestada la otra mitad de su corredor. Para simular esto simplemente ingrese 50 en el campo Margen de cuenta (ver imagen 1). Si su equidad intial se fija a 10000 su poder de compra será entonces 20000 y usted podrá entrar en posiciones más grandes. Tenga en cuenta que esta configuración establece el margen para toda la cuenta y no está relacionado con el comercio de futuros en absoluto. En otras palabras, puede negociar acciones en cuenta de margen. QuotLa entrada inversa obliga a salir a la casilla de verificación Backtester. Cuando está activado (el valor predeterminado) - backtester funciona como en versiones anteriores y cierra la posición ya abierta si se encuentra una nueva señal de entrada en dirección inversa. Si este interruptor está apagado - incluso si la señal inversa ocurre el backtester mantiene el comercio actualmente abierto y no cierra la posición hasta que la señal regular de la salida (venta o cubierta) se genera. En otras palabras, cuando este interruptor está desactivado, el backtester ignora las señales cortas durante las operaciones largas e ignora las señales de Buy durante las transacciones cortas. QuotAyuda la misma barra de salida (barra única de comercio) opción quot a la configuración Cuando está activado (la configuración predeterminada) - entrada y salida en la misma barra está permitido (como en versiones anteriores) si está apagado - salida puede suceder a partir de Siguiente barra (esto se aplica a las señales regulares, hay un ajuste separado para las salidas generadas por ApplyStop). Cambiarlo a OFF permite reproducir el comportamiento de MS backtester que no es capaz de manejar salidas el mismo día. QuotActivate stopsquot Este ajuste resuelve el problema de los sistemas de prueba que entran en los oficios en el mercado abierto. En las versiones anteriores al 4.09 backtester se suponía que se estaban entrando en los comercios en el mercado cerca de modo incorporado paradas se activaron a partir del día siguiente. El problema era cuando usted de hecho definió el precio abierto como el precio de entrada del comercio - entonces las fluctuaciones del mismo día del precio no accionaron las paradas. Hubo algunas soluciones alternativas basadas en el código AFL pero ahora no es necesario usarlas. Simplemente si usted negocia en abierto debe marcar quotActivate para inmediatamentequot (imagen 1). Usted puede preguntarse por qué no simplemente comprobar el buyprice o shortprice matriz si es igual al precio abierto. Desafortunadamente esto no funcionará. Por qué simplemente porque hay días doji cuando el precio abierto es igual a cero y luego backtester nunca sabrá si el comercio se introdujo en el mercado abierto o cerrar. Así que realmente necesitamos un ajuste por separado. QuotUse QuickAFLquotQuickAFL (tm) es una característica que permite un cálculo AFL más rápido bajo ciertas condiciones. Inicialmente (desde 2003) estaba disponible sólo para indicadores, a partir de la versión 5.14 también está disponible en Análisis Automático. Inicialmente, la idea era permitir un redibujo más rápido del gráfico mediante el cálculo de la fórmula AFL sólo para esa parte que es visible en el gráfico. De manera similar, la ventana de análisis automático puede usar un subconjunto de citas disponibles para calcular AFL, si el parámetro 8220range8221 seleccionado es menor que 8220 Todas las citas. Se proporciona una explicación detallada sobre cómo funciona QuickAFL y cómo controlarlo, en este artículo de Knowledge Base: www. amibroker / kb / 2008/07/03 / quickafl / Tenga en cuenta que esta opción funciona no sólo en el backtest, sino también en optimizaciones, Exploraciones y exploraciones. Prueba de fondo: Interpretación del pasado El retroproyecto es un componente clave del desarrollo efectivo del sistema comercial. Se logra reconstruyendo, con datos históricos, los oficios que hubieran ocurrido en el pasado usando reglas definidas por una estrategia dada. El resultado ofrece estadísticas que pueden usarse para medir la efectividad de la estrategia. Usando estos datos, los comerciantes pueden optimizar y mejorar sus estrategias, encontrar cualquier defecto técnico o teórico, y ganar confianza en su estrategia antes de aplicarla a los mercados reales. La teoría subyacente es que cualquier estrategia que funcionó bien en el pasado es probable que funcione bien en el futuro, y por el contrario, cualquier estrategia que tuvo un desempeño pobre en el pasado es probable que tenga un desempeño pobre en el futuro. Este artículo echa un vistazo a las aplicaciones que se utilizan para backtest, qué tipo de datos se obtienen, y cómo ponerlo a utilizar Los datos y las herramientas Backtesting puede proporcionar un montón de valiosa información estadística sobre un determinado sistema. Algunas estadísticas de backtesting universales incluyen: Ganancia o pérdida neta - Ganancia o pérdida neta del porcentaje. Plazo - Fechas anteriores en las que se realizó la prueba. Universo - Acciones que se incluyeron en el backtest. Medidas de volatilidad - Porcentaje máximo de alza y desventaja. Promedios - Porcentaje de ganancia media y pérdida promedio, promedio de barras retenidas. Exposición - Porcentaje de capital invertido (o expuesto al mercado). Ratios - Relación ganancias-pérdidas. Rentabilidad anualizada - Rendimiento porcentual sobre un año. Rendimiento ajustado por riesgo - Rendimiento porcentual en función del riesgo. Normalmente, el software de backtesting tendrá dos pantallas que son importantes. La primera permite al comerciante personalizar la configuración de backtesting. Estas personalizaciones incluyen todo, desde períodos de tiempo hasta costos de comisión. Aquí hay un ejemplo de tal pantalla en AmiBroker: La segunda pantalla es el informe de resultados de backtesting real. Aquí es donde puede encontrar todas las estadísticas mencionadas anteriormente. De nuevo, aquí hay un ejemplo de esta pantalla en AmiBroker: En general, la mayoría de los programas comerciales contienen elementos similares. Algunos programas de software de gama alta también incluyen funcionalidad adicional para realizar el dimensionamiento automático de posición, optimización y otras funciones más avanzadas. Los 10 mandamientos Hay muchos factores que los comerciantes prestan atención cuando son backtesting estrategias comerciales. Aquí hay una lista de las 10 cosas más importantes que debe recordar mientras realiza el backtesting: Tenga en cuenta las tendencias generales del mercado en el marco de tiempo en el que se probó una estrategia dada. Por ejemplo, si una estrategia sólo se backtested desde 1999-2000, puede no estar bien en un mercado bajista. A menudo es una buena idea backtest en un marco de tiempo largo que abarca varios tipos diferentes de condiciones de mercado. Tenga en cuenta el universo en el que se realizó el backtesting. Por ejemplo, si se ensaya un amplio sistema de mercado con un universo formado por acciones tecnológicas, puede fallar en los distintos sectores. Como regla general, si una estrategia está dirigida hacia un género específico de stock, limite el universo a ese género pero, en todos los demás casos, mantenga un gran universo con fines de prueba. Las medidas de volatilidad son extremadamente importantes a considerar en el desarrollo de un sistema comercial. Esto es especialmente cierto para las cuentas apalancadas, que están sujetas a llamadas de margen si su patrimonio cae por debajo de cierto punto. Los comerciantes deben tratar de mantener la volatilidad baja con el fin de reducir el riesgo y permitir una transición más fácil dentro y fuera de un stock determinado. El número promedio de barras que se celebran también es muy importante observar al desarrollar un sistema de comercio. Aunque la mayoría del software de backtesting incluye costos de comisión en los cálculos finales, eso no significa que usted deba ignorar esta estadística. Si es posible, aumentar el número promedio de barras retenidas puede reducir los costos de comisión y mejorar su rendimiento general. La exposición es una espada de doble filo. El aumento de la exposición puede conducir a mayores beneficios oa mayores pérdidas, mientras que la disminución de la exposición significa menores ganancias o menores pérdidas. Sin embargo, en general, es una buena idea mantener la exposición por debajo de 70 con el fin de reducir el riesgo y permitir una transición más fácil dentro y fuera de un stock determinado. La estadística de ganancia / pérdida media, combinada con la relación ganancias-pérdidas, puede ser útil para determinar el dimensionamiento óptimo de la posición y la administración del dinero usando técnicas como el Criterio de Kelly. (Vea Money Management usando el Criterio de Kelly.) Los operadores pueden tomar posiciones más grandes y reducir los costos de comisión al aumentar sus ganancias promedio y aumentar su relación ganancias-pérdidas. La rentabilidad anualizada es importante porque se utiliza como una herramienta para comparar los rendimientos de los sistemas con otros lugares de inversión. Es importante no sólo analizar el rendimiento general anualizado, sino también tener en cuenta el aumento o la disminución del riesgo. Esto se puede hacer mirando el rendimiento ajustado por riesgo, que explica varios factores de riesgo. Antes de adoptar un sistema de negociación, debe superar a todos los demás lugares de inversión con un riesgo igual o menor. Backtesting personalización es muy importante. Muchas aplicaciones de backtesting tienen entradas para cantidades de comisiones, tamaños de lotes redondos (o fraccionales), tamaños de ticks, requisitos de margen, tasas de interés, suposiciones de deslizamiento, reglas de tamaño de posición, reglas de salida de barra misma, configuración de parada y mucho más. Para obtener los resultados de prueba de backtest más precisos, es importante afinar estos ajustes para imitar al agente que se utilizará cuando el sistema entre en funcionamiento. Backtesting a veces puede conducir a algo conocido como sobre-optimización. Esta es una condición en la que los resultados de rendimiento están tan ajustados al pasado que ya no son tan precisos en el futuro. En general, es una buena idea implementar reglas que se apliquen a todas las existencias o un conjunto selecto de valores objetivo y no se optimicen en la medida en que las reglas ya no sean comprensibles por el creador. Backtesting no siempre es la forma más precisa de medir la efectividad de un sistema de comercio dado. A veces las estrategias que se desempeñaron bien en el pasado no funcionan bien en el presente. Los resultados anteriores no son indicativos de resultados futuros. Asegúrese de que el comercio de papel de un sistema que ha sido con éxito backtested antes de entrar en directo para asegurarse de que la estrategia sigue siendo aplicable en la práctica. Conclusión Backtesting es uno de los aspectos más importantes del desarrollo de un sistema comercial. Si se crea e interpreta correctamente, puede ayudar a los operadores a optimizar y mejorar sus estrategias, a encontrar cualquier defecto técnico o teórico, así como a ganar confianza en su estrategia antes de aplicarla a los mercados del mundo real. Recursos Tradecision (www. tradecision) - Desarrollo de sistemas de trading de gama alta AmiBroker (www. amibroker) - Desarrollo de sistemas de trading de presupuesto. Una persona que negocia derivados, materias primas, bonos, acciones o divisas con un riesgo superior al promedio a cambio de. QuotHINTquot es un acrónimo que representa para el ingreso quothigh no taxes. quot Se aplica a los altos ingresos que evitan el pago de ingresos federales. Un creador de mercado que compra y vende bonos corporativos de muy corto plazo denominados papel comercial. Un distribuidor de papel es normalmente. Una orden colocada con una correduría para comprar o vender un número determinado de acciones a un precio determinado o mejor. La compra y venta sin restricciones de bienes y servicios entre países sin la imposición de restricciones como. En el mundo de los negocios, un unicornio es una empresa, por lo general una start-up que no tiene un registro de rendimiento establecido. Backtear estrategia backtesting es una herramienta esencial para ver si su estrategia funciona o no. Backtesting software simula su estrategia en datos históricos y proporciona un informe de backtesting, que le permite llevar a cabo un análisis adecuado del sistema de comercio. La versión de 64 bits le permite cargar la mayor cantidad de datos que necesite para los backtesting más exigentes. Para obtener información técnica sobre esta característica, consulte la página Wiki relacionada. La precisión es clave MultiCharts es una solución creada específicamente para el desarrollo de estrategias y backtesting. Nuestra filosofía es que el backtesting de estrategia debe ser tan realista como lo permite la tecnología moderna - es por eso que usamos multi-threading y tecnología de 64 bits. Supuestos mínimos crean pruebas más realistas Aunque ninguna aproximación puede ser 100 perfecta, hemos hecho todo para recrear con precisión las condiciones del mercado pasado y la ejecución de órdenes para el comercio de estrategias. Los típicos motores de backtesting tienen un montón de supuestos y atajos, lo que resulta en pruebas poco realistas y resultados poco fiables. MultiCharts es una plataforma de negociación a nivel institucional que minimiza las suposiciones y considera muchos factores. Las tecnologías modernas para computadoras de gran alcance Estrategia backtesting a menudo necesita una gran cantidad de datos, y software que es capaz de procesarlo. Casi todas las computadoras ahora cuentan con configuraciones multi-core con mucha memoria, por lo que necesita aprovechar eso. Multi-threading significa que MultiCharts se extiende muchas tareas en diferentes núcleos, por lo que se completan mucho más rápido. La versión de 64 bits de MultiCharts le permite cargar tantos datos como se adapte a su memoria para su análisis, incluso años y años de datos de tick para movimientos detallados de precios. Simulación tick-by-tick Llamamos a esta función la barra Magnifier. Es esencial para aumentar la precisión durante el backtesting. MultiCharts puede construir barras más grandes a partir de componentes más pequeños barras de segundos y minutos de las garrapatas, barras de hora y día en minutos. Puede recrear los movimientos de precios exactos dentro de cada barra usando la lupa de barra, que construirá barras más grandes de componentes más pequeños. Por ejemplo, las barras de una hora tienen cuatro puntos visuales abiertos, altos, bajos y cerrados. La lupa de barra puede cargar invisiblemente minutos que componen la hora, y la estrategia será backtested minuto a minuto. Pregunte, puja, y los precios de comercio Backtesting tiene en cuenta que la compra real ocurre a precios de pedir, la venta real a precios de oferta. Esto hace que nuestra simulación backtesting sea lo más realista posible.9. Back Testing El arte de negociar las pruebas Como he mencionado anteriormente, una de las cosas que realmente me gusta de la negociación es que, a diferencia de cualquier otro negocio, puede probar completamente su modelo de negocio (plan de comercio) sin arriesgar dinero real. En el comercio, este proceso de evaluación se llama volver a probar. Prueba de la bolsa es el área ahora más descuidado por los comerciantes.


No comments:

Post a Comment