3 votos

Construir un personalizables motor comercial en python

Yo soy de construcción de la planificación totalmente personalizable backtesting motor comercial en python desde cero como un proyecto de código abierto, las principales características que estoy considerando es,

  • Debe ser completamente personalizable desde la parte superior a la parte inferior
  • La personalización es muy fácil y cualquiera puede personalizar con un conocimiento básico en python
  • Tiene un incorporado en el motor de plantillas para los informes que también es personalizable
  • Cualquier persona puede personalizar de acuerdo a su estilo de negociación

Entonces, ¿cuáles son las cosas básicas que debo tener en cuenta para la construcción de un motor comercial? Que son los módulos de python que es útil para este proyecto Así que cualquiera que sepa de cualquier material con respecto a este compartir un link te serán muy útiles....

10voto

Timothy Carter Puntos 7079

En primer lugar, usted probablemente va a ser dirigida a considerar Tirolesa. Vale la pena un vistazo, pero no creo que es un buen punto de partida, ya que:

  1. Quantopian es que los desarrolladores no tienen un historial financiero y se muestra a través de la Tirolesa código fuente.

  2. Zipline es terriblemente lenta si la comparamos con cualquier plataforma comercial con backtesting de la funcionalidad en una aplicación compilada, incluso los de gama baja de comercio minorista plataformas (por ejemplo, NinjaTrader, Sierra, TradeStation).

  3. Zipline no es muy conveniente para el comercio de varios productos. Creo que el producto más barato que tiene ese nivel de funcionalidad es Deltix.

Un procesador moderno debe ser capaz de hacer el backtest una estrategia de crossover promedio móvil a través de todo un día de la OPRA de alimentación (todos los productos) sin la programación de la noche a la mañana. Menos funcionalidad o más lento y tiene buenos desarrolladores. (Recuerdo Goldman había 12-14 servidores ocupan en tiempo real OPRA en 2007-2008 y 2 personas reescribió toda la cosa a partir de cero, destino de 128 bits de la arquitectura de un fin de semana. No hay razón por la que los años de desarrollo en Tirolesa no se adecua a 2 desarrolladores en un fin de semana antes del Intercambio de la Pila existido.)

Aquí están algunas de las principales consideraciones que hay que hacer antes de la construcción de su backtesting motor:

  1. ¿Cómo va a almacenar/serializar su mercado de datos en el disco y en la memoria?

    • Un pobre hombre del enfoque es que se envuelve alrededor de un pandas dataframe, pero esto viene en el costo de la abstracción y ralentizar el backtesting del motor. pandas es bueno para la exploración de datos, pero no para una tarea que se repita muchas veces.

    • ¿Cómo va a manejar un origen de datos cuyo tamaño excede la memoria disponible?

    • ¿Cómo va a lidiar con no estructurados de datos de mercado?

  2. ¿Cómo va a ser el almacenamiento de sus productos?

    • Obvio, ingenuo problema es que usted no desea reiniciar un backtest que tomó 1 noche a ejecutar si la aplicación se estrelló a mitad de camino. Otro ingenuo ejemplo es que usted debería ser capaz de acceder a los resultados anteriores de 6 meses sin repetir el backtest de bucle.
  3. ¿Cuál es tu relleno de la lógica?

  4. ¿Qué debe su API de exponer? (por ejemplo, órdenes de Mercado, órdenes de límite, instrumento de/precio/volumen de consultas, cambios para llenar la lógica)

0voto

Mikel Puntos 9

Hay algunos otros proyectos de software libre en github junto con tirolesa que usted puede comprobar para algunos aportes adicionales para sus pensamientos. Pyalgotrade es uno de esos proyectos donde uno puede hacer pruebas en sus estrategias de trading

http://gbeced.github.io/pyalgotrade/

Finanhelp.com

FinanHelp es una comunidad para personas con conocimientos de economía y finanzas, o quiere aprender. Puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X