En este artículo sentaremos las bases para explorar la toma de decisiones de inversión aplicando mecanismos de la lógica difusa, el objetivo es comprender mejor qué es la lógica difusa.
Entenderlo nos sirve para:
- Buscar una mejor aproximación a la toma de decisiones, en particular decisiones financieras.
- Abstraer mecanismos de toma de decisiones más similares a la humana (que tengan en cuenta información difusa, veremos esto más adelante).
- Tomar decisiones en entornos cambiantes con reglas de decisión poco claras y que pueden cambiar en el tiempo.
- Determinar en qué, cuánto y cuándo invertir.
Primero debemos definir qué es la lógica difusa y qué ventajas aporta frente a la lógica matemática clásica. Para ello empezaremos viendo como trabaja la lógica clásica. Ésta define 2 valores de verdad (cierto Τ / falso ⊥) y establece un conjunto de operaciones (unión, intersección, diferencia, etc.) para operar con variables lógicas que pueden ciertas o falsas.
Veamos un ejemplo:
Sea H la altura de una persona en cm, podemos definir 2 conjuntos: H>175 y el conjunto H<175. Hemos definido una variable bivalente X: X→ H>175, entonces: ∀ persona, ∃ X → X ∈ (T ⋃ ⊥) , así dado un conjunto de persona tenemos el conjunto de X y podemos hablar de personas altas o no en función de si X es cierta o falsa. Sin embargo, no siempre queda claro cuando una persona es alta o no, depende de con qué población se la compare. Una persona de 180 cm será alta según el ejemplo anterior, pero si todas las otras personas midieran 200 cm entonces la consideraríamos baja.
La lógica difusa intenta reducir la diferencia entre el mecanismo natural de pensamiento del hombre (donde la persona es alta o baja según con qué se la compare) y la lógica clásica (donde la persona es alta si X es cierto, es decir la persona es alta si H > 175), para conseguir esto se basa en un mecanismo que se denomina fuzzification.
Teoría básica
La idea tras la lógica difusa no es determinar si la variable X es cierta o falsa, sino que se pretende determinar en qué grado ∈ [0,1] es cierta. A este grado de certeza le denominamos grado de pertenencia, aunque en algunos textos se le denomina posibilidad y en este caso se suele hacer especial hincapié en la diferencia entre probabilidad (medida empírica de la frecuencia con que se repite una observación en un conjunto de medidas) y posibilidad (grado de pertenencia de una observación a un conjunto difuso), también se habla de nivel de confianza ya que es el grado en el que confiamos que la observación pertenezca al conjunto definido. El grado de pertenencia se asigna mediante la función de pertenencia (f : X → R) , por ejemplo:

Dada la siguiente función de pertenencia al conjunto de personas altas y una persona con una altura de 180 cm, considerando que personas por encima de 200 cm tienen un grado de pertenencia de 1 (son altas sin duda) y por debajo de 120 cm el grado de pertenencia es 0 (no son altas sin duda), tenemos que a = 120 y b = 200 y con x ∈ (100,220), entonces:
Esa persona tendrá una posibilidad de pertenencia al conjunto de personas altas de 0.875.
El proceso de fuzzification consiste en determinar la posibilidad de pertenencia al conjunto difuso. Podemos definir entonces el conjunto difuso como el conjunto de observaciones sobre las que se aplica la misma función de pertenencia, este concepto también aparece en los textos como número difuso, y al igual que en la lógica clásica, el conjunto lleva asociada un álgebra que nos permite definir ciertas operaciones entre conjuntos difusos, estas operaciones son:
Classic | Fuzzy | |
---|---|---|
OR: | A ⋃ B | Max(A,B) |
AND: | A ⋂ B | Min(A,B) |
NOT: | ¬ A | 1-A |

Con esto ya tenemos las herramientas básicas para empezar a trabajar con lógica difusa, por un lado el proceso de fuzzification, asignación de un grado de pertenencia de una observación al conjunto difuso, y por otro lado las operaciones elementales con las que podremos formular enunciados lógicos más complejos.
Razonamiento difuso
El siguiente paso sería buscar procedimientos para combinar los grados de confianza de distintas variables observadas y tomar una decisión en base a esto de forma similar a lo que se conoce como razonamiento lógico. Un razonamiento lógico combina 2 premisas para obtener una conclusión, de la siguiente forma: A · B → C, de igual forma podemos combinar 2 números difusos para obtener una conclusión: Θ · Φ → Ψ.
Mientras que en el caso de la lógica clásica se combinaban los valores de verdad para obtener la conclusión, en la lógica difusa se combinan los grados de pertenencia para llegar a la conclusión que a su vez puede ser un conjunto difuso o un valor discreto. Este proceso se denomina sistema de inferencia.
Sin embargo si la conclusión es a su vez un conjunto difuso, el sistema de inferencia se vuelve más complejo que el razonamiento clásico. Planteemos el siguiente caso: ¿Cuánta propina dejar en un restaurante? la propina puede ser poco o muy generosa, según la generosidad, esta variable es un conjunto difuso. Por otro lado, nos basaremos en la calidad del servicio y de la comida para determinar cuánto dejaremos de propina, la calidad de ambos conceptos son también conjuntos difusos, puede ser mucha calidad o poca calidad, en definitiva tenemos las siguientes variables:

El razonamiento tendría la siguiente forma: servicio · comida → propina, así para un servicio y una comida dados podemos calcular sus grados de pertenencia a sus respectivos conjuntos, como vemos a continuación:
En este caso para combinar ambos grados de pertenencia escogeremos la operación OR (max(0.0,0.7)), es decir en este caso 0.7. Sin embargo, esto no resuelve el problema pues la variable de salida es a su vez un conjunto difuso y tenemos que decidir una cantidad concreta de propina a dejar.
Esto nos lleva a definir 2 etapas más en el razonamiento, la implicación y la defuzzification.

La etapa de implicación consiste en combinar las premisas y el conjunto de salida, en nuestro ejemplo, teníamos: servicio · comida → propina, tras la implicación: (servicio · comida ) · propina. Como vemos el resultado de las premisas se combina con el de la conclusión utilizando operaciones de la lógica difusa (OR, AND, NOT), dando lugar al siguiente conjunto difuso:
El siguiente paso es la deffuzification, consiste en tomar el valor más representativo del conjunto difuso de salida, existen varias formas de proceder, desde elegir el centroide (centro de masas del área del conjunto difuso), pasando por tomar el primer, el último o el punto intermedio máximo de la función de pertenencia de salida, etc. En definitiva consiste en tomar el valor que mayor posibilidad tiene o más representativo resulta del conjunto difuso obtenido tras la implicación.
El funcionamiento del razonamiento difuso recuerda al de una red neuronal en el sentido que el sistema recibe por entrada las observaciones de las premisas sobre sus conjuntos difusos y las combina para obtener una salida, por eso este sistema se denomina también ANFIS (Adaptative Neuro-Fuzzy Inference System) se suele hablar de adaptative porque en la práctica las funciones de pertenencia son revisadas a lo largo del tiempo y corregidas si es necesario, así como de neuro ya que el sistema combina funciones de entrada en una red como si de una red de neuronas se tratara.
En la práctica existen 2 versiones de ANFIS ampliamente extendidas, la versión de Mamdani y la de Sugeno. La descripción que hemos dado hasta del proceso de razonamiento se corresponde con la versión de Mamdani. La versión de Sugeno es similar, pero en este caso se prescinde la implicación y la deffuzification ya que la variables de salida no posee un conjunto difuso conocido. En este caso la salida es una combinación lineal de los grados de pertenencia de las premisas.
Aplicando uno de los dos procesos (bien la versión de Mamdani o la de Sugeno) podemos combinar un número indeterminado de variables difusas para tomar una decisión.
Aplicaciones prácticas
Una vez introducidos los mecanismos de la lógica difusa, estamos en posición de aplicarlos a la toma de decisiones financieras. El primer aspecto en que aplicaremos estos procesos es en la evaluación de indicadores técnicos para invertir en un activo concreto. En una primera aproximación lo aplicaremos sobre un par de medias móviles de distinto plazo de una serie, simulando un modelos técnico de cruces de medias.
Las reglas de operación del modelo son sencillas:
- Si la media movil corta > media móvil larga → invertimos 100%
- Si la media movil corta < media móvil larga → invertimos 0%
Como vemos el modelo se basa en la posición relativa de ambas medias para tomar una decisión. En esta primera aproximación tomaremos la distancia de ambas medias como un conjunto difuso, obteniendo las siguientes reglas difusas:
- Si distancia muy alta → invertimos mucho
- Si distancia alta o distancia baja → invertimos medio
- Si distancia muy baja → invertimos poco
En próximas entradas analizaremos con mayor detalle los resultados de este método así como otras aplicaciones posibles.