.

1º) Aprende a usar git y úsalo.

2º) NO reinventes ni la rueda, ni el coche, ni nada. Hay librerías open source para casi todo. Si no las encuentras es que el proyecto te queda muy grande.

3º) Documenta en paralelo (o inténtalo).

Salu2 ;)
 
En ese caso, lo más prudente es detener temporalmente el desarrollo y dedicarte a escribir los requerimientos.

Necesitas haber pensado bien ANTES de escribir la primer línea de código fuente.

Si no sos capaz de explicarle a otro programador lo que debería hacer la aplicación, entonces tampoco lo sos de explicártelo a vos mismo.

Una vez que tengas los requerimientos bien detallados y que creas que podrías dárselos a alguien más para que los implemente sin hacerte muchas preguntas, entonces podes intentar continuar con el desarrollo.

Lo que uno suele hacer es separar esos requerimientos en partes más pequeñas e ir implementándolas de a una.
 
Lo de tener 40 no tiene que ver con nada, puedes programar perfectamente. El problema que yo veo es que has elegido algo tedioso y feo de narices para empezar. Para aprender es mejor python por ejemplo que tienes muchas librerías y es intuitivo, o bueno muuucho mejor que hacerlo en excel es hacer una app en Visual Basic desde Visual Studio.
 
Realmente es un simulador financiero sobre derivados, y no existe, o los que existen en mi opinion no son adecuados para lo que yo quiero hacer y testear. El primer paso fue simular la formula de Back & Sholes con el que se calculan los precios en el mercado real, que nada tiene que ver con la que se usa en los simuladores, por eso el precio real no se correlaciona con lo que "debería ser", una vez hecho esto, queda hacer el simulador en si mismo que "mame" de las tablas de valores ceradas por ingeniería inversa. y que pueda hacer un backtest con los datos del subyacente , con esto ya trabajaría en buscar algo que realemente funcione, metiéndole money management y etc.

No entiendo muy bien cuál es el problema que está tratando de resolver pero probablemente una aplicación ejecutada en Basic, que es un lenguaje interpretado, dentro de Excel sea demasiado lento para simulaciones de este tipo.

Los precios en los mercados de derivados, como en cualquier otro mercado, realmente lo dicta el mercado en cada momento. Es la oferta y la demanda que percibe el robot del 'especialista', lo que dicta el precio. El especialista o market maker se limita a vender liquidez. Compra constantemente a precio 99 y revende constantemente a precio 101, por ejemplo.

Los mercados de derivados, sobre todo para strikes remotos, tienen muy poca liquidez pero imaginemos por un momento que hay un flujo de ventas de de compras constante (Un supuesto poco realista porque en ese caso no haría falta el market maker)

El 'robot' tantea con un primer precio, pongamos 100, y establece una horquilla 'ancha', pongamos +- 10. Así que ofrece a la venta ese derivado a precio 110 (100 + 10) y se ofrece a comprar ese mismo derivado a precio 90 (100 - 10). Si ese primer precio ensayado es correcto, el volumen de compras y de ventas será cero, ya que un precio de venta de 110 es muy caro y al mismo tiempo un precio de venta de 90 es demasiado tacaño: ningún inversor compra al robot a 110 ni tampoco ningún inversor le vende a 90.

De modo que, al ser el volumen cero, el robot sabe ya que el precio de mercado, que es el único que importa, está en algún lugar entre 90 y 110

El robot comienza estrechar la horquilla. Primero a 109 - 91 y el volumen es cero, luego a 108 - 92 y el volumen también es cero. El cierto momento, pongamos en 98 - 102, surge un fuerte volumen de compras a 102 con un volumen de ventas cero a 98. Está claro que 102 ha tocado el precio de mercado pero 98 no. Esto significa que el precio del robot, el centro de la horquilla en 100, está subestimando el precio de mercado. Así que el robot mueve el precio de 100 a 101 y la horquilla desde 98 - 102 hasta 99 - 103.

El volumen cae a cero de nuevo porque el mercado piensa que 103 es demasiado caro para comprar y 99 demasiado barato para vender. El robot reduce la horquilla hasta que vuelve a surgir un volumen. Si el volumen de ventas es diferente al de compras, mueve el centro de la horquilla hasta igualar esos dos volúmenes. Si quiere aumentar el volumen estrecha la horquilla, si quiere aumentar el margen por operación amplia la horquilla y si quiere maximizar el beneficio selecciona la anchura de horquilla que hace máximo el producto volumen por margen.

En los mercados de poca liquidez, muchas veces aparecen horquillas muy anchas a precios estimados y volumen cero. Supongo que esto ocurre porque algún contrato les obliga a proporcionar liquidez a ciertos instrumentos y obligación lo hacen pero con una horquilla tan ancha que ningún inversor hace uso de esa liquidez. El precio de esas horquillas puede ser simplemente aproximado porque las horquillas son tan anchas que está garantizado un volumen cero incluso aunque el precio estimado no sea del todo correcto.

La fórmula Back & Sholes es en sí misma un resultado explícito de una simulación muy simplista.

Si nos olvidamos de las complicaciones como el pago de dividendos del subyacente o de los tipos de interés, la fórmula de Back & Sholes predice la evolución del precio del subyacente.

Back & Sholes asume que el precio del subyacente evoluciona al azar por medio de millones de empujoncitos hacia arriba o hacia abajo que se producen al azar. Esos empujoncitos son, en realidad, noticias, declaraciones y otros sucesos que vienen de fuera del mercado pero que estadísticamente se consideran como empujones al azar.

La probabilidad de que el precio de ese subyacente sea uno dato tras recibir millones de empujoncitos al azar es una 'distribución normal' o 'gaussiana'.

distribution2.jpg


La ley gaussiana, la fórmula que dibuja esta distribución es engañosamente abstrusa porque es una aproximación analítica, manejable matemáticamente, a la ley real, que es trivial. Aparece una gaussiana cuando no hay ninguna ley que rija la distribución y el fenómeno ocurre completamente a voleo.

La única medida de una gaussiana es su 'anchura', llamada varianza o en los mercados financieros 'volatilidad'

1200px-WrappedNormalPDF.png


Back & Sholes asume (si quitamos las complicaciones de los tipos y dividendos) que esa gaussiana está centrada en cero, o sea: que si el subyacente tiene un precio de 234 hoy, tendrá un precio de 234 dentro de un año. La evolución más probable es un cambio de precio cero. Los aumentos de precio y disminuciones de precio de igual magnitud tienen la misma probabilidad (hay la misma probabilidad de un aumento del 3% que de una pérdida del 3%) (La gaussiana es simétrica). Y los cambios pequeños de precio (hacia arriba o hacia abajo) son mucho más probables que los grandes. La medida en que decae un cambio de precio según sea más severo, la medida en que desciende la altura de la gaussiana según nos alejamos del centro, está dictada por esta distribución de Gauss, que es lo mismo que suponer que no hay ninguna ley que rija los cambios de precio y que esos cambios ocurren a voleo, como resultado de miles de pequeños cambios estadísticamente independientes.

La 'ingeniería inversa' de una tabla de precios de derivados calculada con Back & Sholes produce esta gaussiana.

Otros métodos más elaborados o más magufos de calcular estos precios, generan por 'ingeniería inversa' distribuciones de probabilidad parecidas a una gaussiana pero con variaciones. Por ejemplo: pueden ser curvas asimétricas que den mayor probabilidad a un fuerte colapso del precio, por que haya un chrash en el mercado, que a una subida equivalente: los desplomes muy intensos de precios tendrían una probabilidad mayor que la que predice una gaussiana.

También pueden variar la forma en que la altura de la montaña se concentra hacia el centro. Pueden ser distribuciones más gorditas, que se distribuyen por una banda de precios más amplia para cierta volatilidad, o distribuciones más delgadas: más concentradas en un precio central

Si se descubre una 'forma de colina' que funciona, lo que supongo es muy difícil y más una superstición que una ciencia, construir la tabla de precios a partir de una distribución de probabilidad 'dibujada' con una fórmula explícita, puede ser imposible en la práctica.

Sin fórmula explícita, se hace necesario 'rodar' una simulación. Se construye, digamos, un dado que tenga la distribución de probabilidad deseada. Una vez que se tiene ese 'dado' se hace evolucionar al azar, pero con el azar de ese dado, un subyacente 100.000 veces y se computan los resultados de los 100.000 experimentos (el precio del derivado que no produce ni ganancias ni pérdidas en cada caso)

En estos casos en los que hay que reiterar miles de veces un mismo cálculo al azar, es donde Basic puede no darle suficiente velocidad. En casos más abstrusos puede ser necesario rodar una 'simulación de simulaciones' por ejemplo ir ajustando un precio basándose en si a ese precio, en promedio, se producen beneficios o pérdidas. Puede ser necesario probar 256 precios diferentes y la prueba de cada uno de esos precios consistir en '10.000 tiradas con el dado'.
 
menudo ingeniero.

Ya en el documental de Michael Moore llevo la formula de unos derivados al departamento de matematicas de hardware y los supuestamente mejores doctores en matematicas le dijo que eso era un sindios de formula y vas tu a resolverlo con un exel...

No te lo crees ni tu.

(Lo he escrito con faltortografias para ponerme al nivel del opener y que me se entienda. capicci? )
 
Lógico que pienses eso. Si yo fuera tu tb lo pensaría.
Por otro aunque exel sea una herramienta antigua, con VBA tiene potencia de soba
y si le metes en un linux eso es un cohete de la potencia que tiene.
No si siempre tiene que haber un listo y un simple.
Prefiero quedar de fulastre y sentarme en la plaza a ver como lo intentas.

3031268
 
La gente si que hace herramientas del tipo la que he hecho yo y las vende
AnalyzerXL Pro | Excel Trading and Investing Models | ExcelTradingModels.com
Finance Add-in for Excel - Overview | Hoadley

Realmente , el proceso me ha gustado, ha sido laborioso, pero gracias a Excel y su interface que ya viene hecha, puedo ver muchos datos representarlos luego muy facilmente y me ha evitado muchos errores que en otros no me hubieses dado ni cuenta. En Python lo poco que se es que dependes de librerias de terceros que pueden estar bien o no, pero desde luego te limitan o tendrías que modificar cosas que estas no tienen pensado. Entiendo que los que os ganéis la vida con esto pues os quita mucho trabajo, pero el programe que he hecho es para uso personal, luego si no vale para lo que quiero, siempre lo puedo vender que es lo que hace todo el mundo.
Mira "especialista", más guapo que tú:

126798
 
Gracias por las respuestas.
Realmente es un simulador financiero sobre derivados, y no existe, o los que existen en mi opinion no son adecuados para lo que yo quiero hacer y testear. El primer paso fue simular la formula de Back & Sholes con el que se calculan los precios en el mercado real, que nada tiene que ver con la que se usa en los simuladores, por eso el precio real no se correlaciona con lo que "debería ser", una vez hecho esto, queda hacer el simulador en si mismo que "mame" de las tablas de valores ceradas por ingeniería inversa. y que pueda hacer un backtest con los datos del subyacente , con esto ya trabajaría en buscar algo que realemente funcione, metiéndole money management y etc.

Digamos que es por afición, llevo 10 años entendiendo el mundo de los derivados y al final, lo único que me queda hacer es un simulador , por que es la única manera de hacer estos cálculos, es como 100 veces mas difícil que con una simple acción.

Lo que mas me cuesta es encender el ordenador y ponerme al tema

Te quedan otros 30 años para entender el mundo de los derivados.

Los derivados son una derivada del juego y las apuestas que se utilizan para "derivar" y "apalancar" la rentabilidad.

Básicamente son instrumentos de fraude y deuda.

No puedes absorber "mercado real" porque no existe.
 
Los precios de pantalla no son precios reales.

Es todo mucho menos sofisticado. Hay creadores de mercado que funcionan con spreads. El que quiere comprar lo hará caro y el que quiera vender lo hará barato.

Los precios teóricos son los que te dan las ineficiencias.
 
Eso es una opinion tuya no? 30 años? por que no 20 o 40?
En caso de que no sea una opinion y sea la realidad me puedes decir los numeroes de la bonoloto

Por cierto sabes lo que es una posición sintetica con opciones? Estudiate un poco el tema majete, aqui el que no tiene idea eres tu, con las opciones puedes replicar una acción y también apalancarte a limites insospechados, si no sabes lo que haces con ellas son muy peligrosas

Hay unas cosas que se llaman "comisiones", vencimientos, liquidaciones ..... que hacen eso que pretendes irrealizable.

Lo de las opciones era a lo que se dedicaba Madoff.

El programa puede estar bien, pero te va a servir de poco
 
No puedo mas que reocmendarte que aprendas DevOps muy fuerte.

No solo la gente se pelea por contratar desarrolladores con Devops, si quieres montar tu propio tinglado por tu cuenta es imprescindible.

A mi kubernetes me cambio la vida <3
 
Y que más da conocer los precios reales, si el mercado dice otra cosa por mucho que tengas razón puedes perder un pastón.
Cuanto vale una onza de oro?
Adidas valía hace unos meses 200, ahora vale 280. A quién le importa el valor real?
 
Volver