simulador de trading algorítmico / datos de referencia


Estoy interesado en jugar con estrategias de trading algorítmicas. ¿Alguien sabe si existe un simulador o datos de referencia con los que podría jugar sin conexión (sin hacer ninguna inversión)?

Author: Mike Pennington, 2011-04-25

6 answers

Esta pregunta es bastante amplia; como es, no se menciona qué instrumentos le interesan. Por ejemplo:

Por el momento, asumiré que estás interesado en las acciones... si es así, echa un vistazo a Ninja Trader , que ofrece estas características de forma gratuita . Usted puede conseguir libre datos de stock al final del día de Yahoo Finance , que es suficiente para los plazos de negociación a largo plazo; tenga en cuenta que cuanto más corto sea el ciclo de negociación, más estricta debe ser su resolución de datos.

Si está dispuesto a poner varios miles en una cuenta de operaciones, cualquier número de corredores estarán encantados de enviarle feeds de mercado intradiario del mercado en vivo; pero no necesita dinero en una cuenta para operar en papel (al menos con mi corredor). Creo que el corredor que es más flexible para programadores es Interactive Brokers . Puede obtener datos de sub-segundos de ellos a través de una API , solo comprenda que no le darán granularidad a nivel de garrapata; resumen sus feeds, los detalles específicos varían, por lo que es mejor hablar con ellos si tiene requisitos de granularidad ajustados. En cuanto a la simulación fuera de línea, puede hacerlo con Ninja Trader, Interactive Brokers y muchos otros corredores en línea (consulte Lo que ofrecen los corredores en línea ¿APIs?).

MATERIAL ADICIONAL

Ya que estás ofreciendo +200, voy a compartir un poco más que usted podría ser capaz de utilizar... Guárdalo o tíralo a la basura por el valor que traiga.

Plazo de negociación

Como regla general, cuanto más corto es el plazo, más difíciles son las operaciones, y más difícil es consistentemente hacer dinero. Si no está seguro de por dónde comenzar con las líneas de tiempo, mire los ciclos de negociación de días o semanas a la vez; luego, si también ve muchas oportunidades que pasan por, refinar su sistema a una línea de tiempo más pequeña. La otra cosa a considerar es la frecuencia con la que desea tocar este código y ajustar los algoritmos. La regla general es que, a medida que los ciclos comerciales se acortan, realiza más calibración y mantenimiento en sus algoritmos. No es tan inusual encontrar un comerciante algorítmico que escribió una buena plataforma de Swing-Trading que ha funcionado como está durante la última década. Por otro lado, Los algoritmos de Trading diurno tienden a requieren más cuidados y alimentación en función de los cambios en las condiciones del mercado.

Estilo de trading

Sus tácticas comerciales están estrechamente relacionadas con las líneas de tiempo. Eres:

Gestión comercial / Mentalidad

Comercio la gestión es un tema bastante grande, y uno que encontrará abordado en profundidad si acecha alrededor de tableros de operadores como Elite Trader. Si bien puede sonar fuera de lugar discutir algo de esto en el mismo hilo sobre las plataformas de negociación automatizadas, estoy seguro de que estaría de acuerdo en que sus suposiciones y actitud tienen formas insidiosas de infiltrarse en su código. Voy a compartir algunas cosas de la parte superior de mi cabeza:

  1. El éxito se trata principalmente de evitar la pérdida de operaciones. Buenos oficios cuidar de ellos mismos.
  2. Siempre opere con un stop-loss. La sabiduría convencional es, "Tu primera pérdida es tu pérdida más pequeña". Si las cosas empiezan a ir al sur, encontrar una manera de salir consistentemente mientras se mantiene la mayoría de sus ganancias anteriores; la celebración de los perdedores es el camino rápido para convertirse en una rana hervida.
  3. No hay tal cosa como "Demasiado Alto" o "Demasiado bajo". El mercado se mueve en la mentalidad de rebaño y no le importa lo que usted piensa que debería estar haciendo.
  4. Estrechamente relacionado con el punto "3": El comercio con tendencia a largo plazo. Luchar contra la tendencia (cariñosamente conocido como" contra-tendencia") puede sonar atractivo para los contrarios naturales, pero hay que ser muy bueno para hacerlo bien. El comercio es suficiente trabajo sin tratar de contrarrestar la tendencia.
  5. Operar dentro de la hora después de un anuncio del mercado de la Reserva Federal es muy difícil; creo que es mejor estar fuera del mercado. Las ganancias rápidas pueden parecer seductoras, pero aquí es donde a los profesionales les encanta comer a los comerciantes aficionados; brutal las reversiones pueden desarrollarse en un par de minutos.
  6. Evite operar con margen a menos que tenga una técnica probada que haya probado con al menos un par de años de datos.
  7. Los primeros tres minutos y la última hora de trading regular pueden ver cambios rápidos en la volatilidad.
  8. Con respecto a la toma de ganancias,"Los toros son alimentados, los cerdos son sacrificados"
  9. Si encuentra que no está obteniendo ganancias, considere evaluar su frecuencia de negociación; reducir sus operaciones a un mínimo es clave para el éxito, de lo contrario, deslizamiento, comisiones y honorarios en las operaciones basura se comerán sus ganancias.
  10. Debido a los retrasos computacionales / tiempo de procesamiento y los rellenos parciales de órdenes, las órdenes de límite son bastante difíciles de administrar y bastante cercanas a las minucias; los traders algorítmicos tienen peces mucho más grandes que freír.

Codificación

  1. Registre cada punto de datos y decisión que tome en su código; tres niveles de registro funcionan para mí. El comercio es una tarea inexacta, y pequeños cambios puede hacer estallar su algoritmo previamente rentable. Si algo explota, necesitas una forma de comparar con lo que estaba funcionando.
  2. Prototipo en un lenguaje de scripting; si algo es lento, siempre se puede descargar a un compilador más tarde. Creo que Python es fantástico para las finanzas cuantitativas... mature unit-testing, integración C / C++, numpy, pyplot y pandas son los ganadores para mí.
  3. Más pandas enchufes... (pandas video ), también ver: Calcular a serie de retorno compuesto en Python
  4. Empecé con plain-ole csv, pero estoy en proceso de migrar a HDF5 para archivos de datos tick
  5. La simulación de operaciones es engañosa: las operaciones simuladas no tienen problemas de llenado debido a la baja-liquidez o la alta demanda del instrumento; dependiendo de las condiciones del mercado, mis operaciones reales pueden ver dos o tres segundos de retraso desde el momento en que envío la orden hasta el momento en que obtengo un llenado. Las operaciones simuladas tampoco obtienen datos apagones; asegúrese de incluir la pérdida repentina de datos (y cómo recuperarse) en sus planes. Los corredores de bajo costo tienden a sufrir más blips y apagones, pero si su plazo es más largo, puede ser algo que puede ignorar.

Legal

La información aquí expuesta ha sido obtenida o derivada de fuentes consideradas confiables por el autor. Sin embargo, el autor no hace ninguna representación o garantía, expresa o implícita, en cuanto a la exactitud o integridad de la información, el autor tampoco recomienda que la información adjunta sirva de base para cualquier decisión de inversión. Estos datos se le han proporcionado únicamente con fines informativos y no constituyen una oferta o solicitud de una oferta, ni ningún consejo o recomendación para comprar valores u otros instrumentos financieros, y no pueden interpretarse como tales. Al utilizar cualquiera de esta información, usted acepta expresamente que todos los riesgos asociados con el rendimiento y la calidad de la información son asumida únicamente por usted. El autor no será responsable de ningún daño directo, indirecto, incidental, especial o consecuente que surja del uso o la incapacidad de usar la información, incluso si el autor ha sido informado de la posibilidad de tales daños. La información es puesta a disposición por el autor "tal cual "y"con todos los defectos".

 70
Author: Mike Pennington,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 12:17:50

¿Es este el tipo de datos que estás buscando? Departamento de Finanzas de Ohio, Buscador de Datos Financieros

Esta página también podría ser de ayuda: Yahoo Finance Descargar, parámetros de interfaz HTTP

Y éste: mathfinance.cn: recursos financieros Libres

No fuera de línea, pero sigue siendo un buen enlace para dar a otros lectores: API de Google Finance

Espero haber entendido la pregunta correctamente.

 4
Author: Mike Pennington,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-05-05 03:51:43

Utilizo AmiBroker. Se utiliza principalmente para backtesting estrategias de negociación algorítmica. Es muy rápido y puede descargar y obtener datos de una variedad de fuentes gratuitas.

 4
Author: tyronegcarter,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-05-05 04:43:33

Pruebe con Motores de backtesting basados en la nube como Quantconnect y Quantopian

Quantopian es un IDE basado en python donde puedes escribir estrategias y backtest online. Puede realizar operaciones de simulación, así como operaciones reales con Interactive Broker. Quanconnect es similar a Quantopian y usaron IDE basado en. Net y puede ejecutar operaciones de simulación y operador en vivo con el agente de descuento tradier.

 4
Author: Rajandran R,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-11-16 11:24:27

QuantGo le permite alquilar conjuntos de datos de alta frecuencia en lugar de comprarlos. Realmente me gusta porque es sólo un par de cientos por mes en lugar de miles.

Quandl tiene algunos buenos conjuntos de datos gratuitos si solo está interesado en operar a intervalos de tiempo más largos. Su API de datos de stock es bastante ingeniosa (link).

 1
Author: Reed Jessen,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-08-05 21:16:37

Una alternativa sería PyAlgoTrade ( http://gbeced.github.io/pyalgotrade / ). Es una biblioteca Python de código abierto para probar estrategias de trading.

 0
Author: Gabriel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-09-07 13:38:30