Opciones - página 5

 

Ha esbozado un indicador para calcular el precio teórico de una opción.

No estoy seguro de que todas las fórmulas sean correctas. Quien sepa de matemáticas, que lo compruebe, por favor.

 
Sergey Chalyshev:

Por supuesto, hay que tener en cuenta el diferencial.

También se podría probar a un precio teórico, pero eso sería muy burdo. De todos modos, la oferta y la demanda pueden no existir en el mercado real.

Por lo tanto, para que las pruebas sean precisas y se acerquen a las reales, necesitamos todo el historial de cotizaciones con todos los golpes y agujeros.

La volatilidad histórica también puede convertirse en una sonrisa, hay que pensarlo.

Si puedes retorcerlo de forma realista, házmelo saber, creo que será útil para todos).

Las fórmulas:

  // private:
        private static double Erf(double x)
        {
            // constants
            double a1 = 0.254829592;
            double a2 = -0.284496736;
            double a3 = 1.421413741;
            double a4 = -1.453152027;
            double a5 = 1.061405429;
            double p = 0.3275911;

            // Save the sign of x
            int sign = 1;
            if (x < 0)
                sign = -1;
            x = Math.Abs(x);

            // A&S formula 7.1.26
            double t = 1.0 / (1.0 + p * x);
            double y = 1.0 - (((((a5 * t + a4) * t) + a3) * t + a2) * t + a1) * t * Math.Exp(-x * x);

            return (sign * y);
        }

        public static double d1(InitalOptionData data)
        {
            return (Math.Log(data.S / data.K) + (data.r - data.q + Math.Pow(data.IV, 2) / 2) * data.T) / (data.IV * Math.Sqrt(data.T));
        }
        public static double d2(InitalOptionData data)
        {
            return d1(data) - data.IV * Math.Sqrt(data.T);
        }
        public static double N(double d)
        {
            return Erf((Math.Sqrt(2) * d) / 2) / 2 + 0.5;
        }
        public static double p(double d)
        {
            return 1 / Math.Sqrt(2 * Math.PI) * Math.Exp(-Math.Pow(d, 2) / 2);
        }
        private double Call(InitalOptionData data)
        {
            return data.S * Math.Exp(-data.q * data.T) * N(d1(data)) - data.K * Math.Exp(-data.r * data.T) * N(d2(data));
        }
        private double Put(InitalOptionData data)
        {
            return data.K * Math.Exp(-data.r * data.T) * N(-d2(data)) - data.S * Math.Exp(-data.q * data.T) * N(-d1(data));
        }

Está en sharpe en todo caso.

 

¡Pregunta!

¿Puede ganar dinero un "seto delta"?

Ya me he formado mi propia opinión al respecto, ya lo he probado.

Pero me gustaría escuchar opiniones al respecto, quizás me equivoque.

 

Gráfico de opciones en MT5 RealTime


 
Sergey Chalyshev:

Gráfico de opciones en MT5 RealTime

¿Cómo lo has conseguido?

 
Aleksey Vyazmikin:

¿Cómo lo has conseguido?

Me uno a la pregunta

 
Por cierto los gráficos de opciones no son necesarios para operar - ¿descargaste las cotizaciones para las pruebas?
 
Aleksey Vyazmikin:

¿Cómo lo has conseguido?

Es evidente.

Cotizaciones de Quickquotes, MT5 tiene un símbolo personalizado que descarga estas cotizaciones.

 
prostotrader:

Esto es obvio.

Cotizaciones de Quickquotes, MT5 tiene un símbolo personalizado que descarga estas cotizaciones.

Así que esa es la cuestión, ¿cómo hacer un puente así, que se cargue automáticamente en tiempo real?

 
prostotrader:

Esto es obvio.

Cotizaciones de Quickquotes, MT5 tiene un símbolo personalizado que descarga estas cotizaciones.

Una muleta inútil...

Después de eso, todavía tienes que escribir un montón de clases para las matemáticas de opción