¿Cómo es escribir código para un fondo de cobertura?

El nivel junior-medio significa que sus habilidades de programación pueden ser buenas, pero su comprensión de los mercados aún es superficial.

La codificación es un activo formidable. Si invertir es un proceso, entonces debería automatizarse. Dicho esto, mi consejo sería leer sobre los mercados al menos tanto, si no más, que el lenguaje de codificación. Los que tienen éxito amplían su experiencia en el dominio

4 tipos de tiendas en las que puede aterrizar: fundamental discrecional, quants clásicos, HFT y tendencia sistemática de CTA siguiendo el estilo

Si aterriza en una tienda fundamental o discrecional, se sentirá frustrado. El comercio sistemático está mal visto. Creen en la superioridad del hombre sobre la máquina. En el fondo, se sienten amenazados. Se niegan a admitir que si la inversión es un proceso como el argumento de comercialización, entonces la conclusión lógica sería automatizarlo. No subestimes este punto. Experimentarán contigo, porque reconocen que necesitan más procesos, pero probablemente no cruzarán el paso final de confiar en la máquina.
Probablemente se le pedirá que programe algunas estrategias. Estarán mal concebidos, porque se centran en la entrada en lugar de la salida y la gestión del dinero. Los inversores discrecionales se centran en la selección de valores.
Por lo tanto, las estrategias funcionarán hasta que no funcionen y luego volverán a los tableros de dibujo. Una de las grandes frustraciones es la incapacidad de comunicarse entre los programadores y la gente de la oficina principal. Quieren “algo que se vea bien o se vea así”. No pueden articular sus pensamientos de manera formal. Será un sin fin: Él “Esto no es lo que quiero”, Tú: “pero esto es lo que me dijiste”, Él: “esto no es lo que quiero, hazlo de nuevo”
Asegúrese de codificar en los módulos, ya que habrá mucha edición

Quants clásicos: Matlab y multifactor. Esta es la academia y los mercados: complejidad, rendimientos decepcionantes pero constantes. No significa que esos fondos no se hagan grandes. Algunos lo hacen.
La misma historia, funciona hasta que no funciona, luego de vuelta al tablero de dibujo y agreguemos otro factor a los 64 preexistentes.
Una advertencia: pregunte si siguen una estrategia de reversión a la media. Si lo hacen, pregunte si se duplican cuando algo sale mal y si tienen un stop loss. Si se duplican o no tienen pérdida de Sytop, entonces el siguiente. Siguen el tamaño de una apuesta martingala. Martingale tiene una propiedad probabilística interesante llamada “certeza de ruina”, LTCM 1997 y los fondos Vol en 2008
Con todo, es bueno si desea explorar conceptos abstractos, escribir libros blancos.

HFT Este es el paraíso de los programadores. Este es, con mucho, el dominio más sofisticado cuando se trata de programación en finanzas. Aquí es donde van los mejores y los más brillantes. Altamente competitivo. Sin embargo, aprenderá sobre la mecánica, la caída de los mercados, no los mercados en sí. También aprenderá sobre la teoría de juegos, ya que la última generación de algos está diseñada no necesariamente para comerciar sino para inducir o bloquear otros algos, cosas fascinantes. El inconveniente es que es una carrera armamentista. O estás frente a la cola, o pagas el almuerzo de otra persona

Comercio sistemático, estilo CTA. Eso es lo que hago, pero en frecuencias más bajas que las CTA clásicas. La premisa básica es que si la inversión es un proceso, entonces debería automatizarse. A diferencia de los inversores discrecionales, los CTA han hecho su tarea, entienden que el comercio se trata de probabilidades. Aceptan que se retirarán mucho, pero a veces ganan en grande. En términos de habilidades de programación, no es exigente. Es posible que no se sienta lo suficientemente desafiado después de un tiempo.
En mi opinión, este es el menos abstracto de los 4. Aprenderá sobre los mercados. No hay creencias subjetivas como en el mundo discrecional. Todo se prueba hasta la saciedad. No hay factor de aislamiento y oscura mezcla mágica como en quants. No hay redireccionamiento de pedidos, falsificación.
También es menos exigente en términos de horas. Deje que la máquina funcione hasta que tenga una idea, pruébela y, si funciona, implemente. Puede encontrar que no es lo suficientemente desafiante.

Por último, pero no menos importante, a medida que desarrolles tu oficio, pregunta sobre IP. A principios de este año, rechacé una oferta para unirme a un HF: querían un período de prueba generalmente largo (algo que se extendería más allá de la codificación, las pruebas y el comercio real), pero, por supuesto, mantener la IP …

¡Es increíble si estás trabajando en el comercio automatizado! Aprende mucho sobre cómo hacer sistemas robustos, escalables y confiables. Y es realmente divertido ver entrar datos en vivo y su sistema tomar decisiones sobre qué hacer en los mercados.

Algunas reflexiones más de mi respuesta a ¿Cuáles son las horas de trabajo típicas para un desarrollador de software en fondos de cobertura / empresas comerciales (por ejemplo, desarrollo de plataformas comerciales)?

Si está creando una aplicación para que la utilice un comerciante, está de guardia todo el tiempo. Ese tipo de trabajo apesta.

Si forma parte de un equipo que está creando una plataforma de alta frecuencia, es posible que tenga los mismos tipos de horas que un empleado de Google.

Si está construyendo un sistema desde cero por su cuenta, tiene mucha flexibilidad pero, en última instancia, necesitará dedicar muchas horas para que esto suceda.

Trabajo para un fondo de cobertura que hace software interno. Estoy más fresco, así que mi respuesta está en esa perspectiva.

Tienen un sistema altamente complejo y sofisticado que requiere mucho tiempo para comprender. Muchas cosas son de base automática, lo que hace que sea difícil de entender. Además, requiere una gran cantidad de conocimiento empresarial para comprender qué código está haciendo lógicamente.

Esta es la parte desafiante pero igual es la parte divertida también. Todo es lógico y tiene sentido una vez que te lo propones. Como beneficio adicional, puedo aprender algo sobre finanzas todos los días porque eso es esencial para que pueda entender mi trabajo.

Vale la pena mencionar que contratan personas extremadamente talentosas por lo que me encanta ir a trabajar todos los días. Todos tienen algo que puedo aprender. Tengo conversaciones increíbles sobre el trabajo y las cosas fuera del trabajo. Además, la cultura laboral es extremadamente genial.

Parece sorprendente, pero en realidad te distrae mucho.

No codifiqué para un fondo de cobertura, aunque trabajé en uno sino para mí, pero no cumplió con mis expectativas.

Mi programa solía dar una alerta cada vez que se observa un patrón.
En general, en el comercio hay 6 a 7 parámetros que indican si la señal es fuerte o débil, por ejemplo: el mercado se mantiene sobre el MA, se acerca a un nivel de Fibonacci, se forma una ‘M’ o una ‘W’ y dice la acción del precio ha aumentado significativamente

Todos estos factores son difíciles de detectar y codificar, especialmente en tiempo real, su código debe ser lo más eficiente posible.

More Interesting

¿Qué es mejor invertir tiempo en: programación competitiva (programación algorítmica en sitios web como CodeChef o TopCoder) vs. desarrollo de software (desarrollo de aplicaciones, desarrollo web, etc.)? ¿Por qué?

¿Qué tiene de malo ser desarrollador y propietario del producto en el mismo proyecto?

¿Hay algún creador de software de arrastrar y soltar como Scratch?

¿Es Ruby on Rails una mejor opción que Java (por ejemplo, JSF) para desarrollar aplicaciones web? ¿Por qué?

¿Debería reconsiderar la especialización en Ciencias de la Computación si estoy teniendo dificultades en el Cálculo 1?

¿Cuenta la experiencia en administración de sistemas al solicitar el trabajo de desarrollador de software?

¿La ingeniería de software es una disciplina de ingeniería o no?

¿Cuáles son los patrones de diseño más utilizados en el código de producción sobre los que los recién graduados no tienen idea?

¿La "forma de Google" de hacer las cosas suele ser la mejor manera?

¿Por qué las estimaciones de tareas de desarrollo de software se desactivan regularmente en un factor de 2-3?

Estoy igualmente interesado en 'ingeniería mecánica' e 'ingeniería de software' ¿qué campo debo elegir?

Ingeniería de software: ¿Cuántas soluciones hay para este rompecabezas?

¿Cómo crearías software para el desarrollo de juegos?

Desde la perspectiva de un desarrollador web, ¿cuáles son algunas de las mejores técnicas de desarrollo que podemos aprender de Quora?

Cómo reparar el error de conexión SSL en mi computadora portátil