Monday, October 31, 2016

Cómo Limpiar Datos De Precios De Backtesting

Cómo limpiar Datos de Precios de Backtesting Limpieza de datos para backtesting no es fácil, pero es muy necesario para obtener resultados significativos. Divisiones de precios ajustados Mis pueden sesgar los datos de precios y engañar al backtester incautos haciéndoles creer ayúdales encontraron el santo grial cuando la estrategia simplemente pasa a tomar el lado bueno de una mala separación. Heres los pasos a excluir datos sucios y producen un conjunto de datos limpia: 1. Elige al menos 3 proveedores de datos de candidatos. 2. Formato de los datos para la comparación. 3. Escriba un programa para hacer una comparación inteligente y ejecutarlo en los conjuntos de datos 3 candidatos. 4. Analizar las mis-compara para ver qué conjunto es un error. si 2 de 3 sets de acuerdo, asumir que eso es el valor correcto y el valor atípico está mal. 5. Enviar comentarios a los proveedores de datos para que puedan corregir los errores. 6. Seleccione el conjunto de datos de precios históricos de usar para backtesting y bloqueo hacia abajo para evitar cambios durante el backtesting. 7. Alimentar a los datos de los precios de oro para el motor backtesting. Este proceso me llevó varias semanas de trabajo, pero valió la pena para obtener resultados precisos. Theres mucho sentido de ir a la obra de backtesting si los datos subyacentes está plagado de errores. Siga leyendo para conocer los detalles si usted va a intentar esto por su cuenta o si lo que desea es ver lo que los preparativos van en backtesting grave. Cuando el comercio directo y buscar personalmente en las cartas, su bastante fácil de detectar datos sucios. Las grandes lagunas en un gráfico de precios se están poniendo los ojos y usted puede ver las noticias en una carta reciente. Obviamente algunas diferencias de precios son reales pero algunos son errores - por lo general una división o dividendo especial no ajustadas correctamente. Una alerta y paciente humano puede resolver eso, caso por caso. Con backtesting computarizado que abarca más de una década, los datos sucia es mucho más frecuente, más difíciles de detectar, y más difícil de solucionar. Paso 1: Elija proveedores de datos de candidatos. Los datos que viene con los motores de backtesting es una primera opción natural y sí, hay que limpiar! Tengo acceso a TradeStation y Worden Telechart (aka Bloques, Backscanner, StockFinder). Eso es dos conjuntos de datos, pero yo quería una fuente independiente así que hice un estudio de la cadena alimenticia de datos histórica de los precios. En resumen, todos los datos se origina a partir de los intercambios y las compañías de datos capturar los datos según lo informado por los intercambios. Los datos capturados se ofrece para reventa (previo acuerdo con los intercambios). CSI Datos me impresionó porque proporcionan datos para los grandes sitios web como Yahoo, MSN, Google y creo que millones de ojos en los datos ayudarán a los errores de raíz a cabo. Además, CSI Datos ofreció datos retirado de la lista, lo que da una visión más precisa de backtesting. (CSI Datos ha fijado el precio ya que los datos excluidas de la cotización fuera del alcance de la mayoría de los particulares, una vez que se dieron cuenta de la cantidad de instituciones que pagar por ello. Me siento muy afortunado de haber conseguido 14 años de datos excluidas de la cotización para apenas cuatro cifras.) Paso 2: Volcado de los datos. Para obtener los datos de precios históricos listo para la comparación, debe volcar fuera de las herramientas de software. Telechart hace que sea más fácil con el Export to Text capacidad conforme a la opción de menú Banco de datos. CSI de datos es muy flexible en cuanto a la escritura de datos también. TradeStation no tiene facilidad para escribir datos. Tuve que crear un simple script Idioma fácil que escribe la Cerca, Alta, Baja, Open, y el volumen de cada día a un archivo de texto para cada símbolo. El símbolo es el nombre del archivo de texto y no aparece dentro de los archivos. Tenga cuidado para que coincida con el formato en los tres conjuntos de datos. Yo escribí el mío en este orden: Fecha, C, H, L, O, V. Es muy importante utilizar siempre los datos de división ajustada. Otra palabra al sabio: cada proveedor utiliza un diferentes unidades de medida de volumen es necesario ajustar en consecuencia. Paso 3: Escriba un programa para comparar los datos. Con programas como tkdiff disponibles de forma gratuita en la web, pensé que este paso sería fácil, pero pensé mal! En primer lugar, con cerca de 7.500 tickers, toma demasiado tiempo para cargar manualmente los archivos en tkdiff. Que necesitaba para automatizar la comparación. Una vez que me automaticos, me encontré con que las diferencias menores de un centavo o dos suceden casi semanalmente. (Esto puede ocurrir, por ejemplo, si un vendedor toma el primer como el último precio ejecutado y otro proveedor utiliza la mitad de la última diferencial entre oferta y demanda de precios como en Cerrar.) Muy rápidamente decidí que no quería saber sobre pequeñas diferencias en los datos entre los tres proveedores. Eso no va a tener un efecto material en los resultados de pruebas retrospectivas. Lo que sí importa, sin embargo, es las enormes brechas que surgieron de vez en cuando. Para identificar a los, escribí un programa diff difusa. Se comparan los datos de dos vendedores y banderas mal compara, clasificación en grandes errores (valores que son más de $ 0.04 off), errores menores (menos de $ 0.04) y no hay errores. Corrí el diff difusa dos veces: una comparación de CSI y TradeStation, y de nuevo la comparación de conjuntos de datos de CSI y Worden. Paso 4: Analizar los errores de compara. El paso anterior produjo una lista de puntos de datos de precios que aún no ha comparan entre los vendedores. Yo investigué minuciosamente cada uno de los principales errores, mirando a los dos gráficos de precios y la investigación de las noticias en la pizarra en la época del error. En la mayoría de los casos, estaba claro que era el conjunto de datos defectuoso. Paso 5: Evaluación de los proveedores de datos. Decidí ser un buen ciudadano y reportar la mayoría de los errores en los datos que había encontrado. CSI de datos tuvo menos errores, rápidamente respondió a mi reacción y, en general, defendió la veracidad de sus datos. TradeStation tiene un personal dedicado que rápidamente se verificó y corregir todos los errores informé. Worden tenía la mayoría de los errores y didnt responden en absoluto cuando yo les señalé. Ni que decir, soy muy cuidadoso de usar los datos Worden ahora. Paso 6: Seleccione los datos definitivos de precios históricos. Al final, se me ocurrió una lista final de tableros de cotizaciones. Unos tickers tenían evidentes errores de compara y ningún culpable obvio así que les borrado de mi lista. Designé el conjunto limpiado de los datos de CSI (más los datos delisted un-marcada) como mi conjunto de datos histórica de los precios de oro. Mantengo que encerró en un directorio independiente para evitar cambios accidentales. (. Los vendedores actualizar los datos al menos diariamente y pueden corregir los errores Incluso una solución es bienvenida una vez que comienza backtesting - cada estrategia tiene que llevar a cabo en exactamente los mismos datos para hacer comparaciones entre las estrategias.) Paso 7: Alimentar a los datos de los precios de oro para el motor backtesting. TradeStation, mi motor backtesting de elección, se ejecuta en sus propios datos por defecto. Para utilizar una base de datos externa, usted tiene que utilizar el símbolo Lookup - & gt; ficha tercera parte en apuntar a la también configurar los archivos de atributos y parámetros para los datos de los datos y de decirle TradeStation cómo leerlo. Ver los archivos de ayuda TradeStation bajo tercera Datos del partido para obtener instrucciones completas. Este arduo proceso le ayuda a obtener resultados precisos y de mayor calidad de backtesting. 2 Responses to Cómo limpiar Datos de Precios de Backtesting Pat Thorn | 2.4.10 Soy un programador nuevo en Forex y estaba más interesado en su evaluación del MACD como un indicador, he leído mucho sobre este indicador en la web. He encontrado si yo combino MACD con estocástico rápido es increíble mis resultados hasta ahora, sigue analizando, no he mordido la bala todavía. Voy a comenzar el próximo lunes. Es el datos backtesting la garrapata real o precio en el momento que ocurre frente a la Open, Close, alta y baja por período de tiempo? De wat he leído creo que es. Siendo un programador que sabe un poco acerca de la minería de datos que se puede apreciar la cantidad de tiempo y esfuerzo que han realizado. Felicito a su tenacidad. Si mi startegy como se describió anteriormente funciona, tengo que dar las gracias por ello. backtester | 2.4.10 Gracias por sus comentarios graciosos. Te deseo lo mejor con su comercio, sea cual sea la estrategia que elija. Mis datos de backtesting es todo final del día, sólo abierto, alto, bajo, en Cerrar. Parcialmente mis pruebas retrospectivas están entrando en el mercado en Open excepto detener las pérdidas por lo que es gruesa es cierto. Ive consiguió más información sobre el MACD (que se aplica a las reservas) en truthaboutmacd aún no han MACD aplicado a la divisa. Me alegra saber que usted está backtesting y la evaluación de la situación a fondo antes de arriesgar dinero en efectivo.


No comments:

Post a Comment