Predicción de mercado basada en indicadores macroeconómicos - página 12

 
avtomat:


sólo es cierto para la clase limitada de modelos que le han enseñado "sus universidades".


No lo he estudiado en las universidades. Soy autodidacta. Pienso con mi propio cerebro. Cuestiono y compruebo todo. La necesidad de la estacionariedad se me ocurrió después de múltiples intentos infructuosos de obtener un modelo sobre datos no estacionarios. Puedo probar en detalles, pero lo siento por el tiempo ya que todo el mundo se apegará a sus opiniones.

Mi interés en este tema comenzó después de ver las noticias del mercado, donde el profesor Steve Keen se jactó de cómo su modelo económico predijo el crash de 2008, pero el modelo DSGE utilizado por la Fed fue incapaz de predecir nada. Así que estudié el modelo DSGE y el modelo de Keen. Para aquellos que quieran seguir mi camino, sugiero empezar con este artículo de Matlab sobre el modelo DSGE. Tiene todos los códigos necesarios, incluido el código para intercambiar datos económicos de la base de datos FRED fedreserve:

http://www.mathworks.com/help/econ/examples/modeling-the-united-states-economy.html

El modelo de la Fed utiliza los siguientes predictores:

% FRED Descripción de la serie% ---------------------------------------------------------------------------% COE Remuneración pagada a los empleados en miles de millones de dólares% CPIAUCSL Índice de precios al consumo% FEDFUNDS Tipo efectivo de los fondos federales% GCE Gasto e inversión del Gobierno en miles de millones de dólares% PIB Producto interior bruto en miles de millones de dólares% GDPDEF Deflactor de precios del producto interior bruto% GPDI Inversión interior privada bruta en miles de millones de dólares% GS10 Rendimiento de los bonos del Tesoro a diez años % HORendimiento de los bonos del Tesoro a un año% HOANBS Índice de horas trabajadas del sector empresarial no agrícola% M1SL Oferta monetaria M1 (dinero estrecho)% M2SL Oferta monetaria M2 (dinero amplio)% PCEC Gastos de consumo personal en miles de millones de dólares% TB3MS Rendimiento de los bonos del Tesoro a tres meses% UNRATE Tasa de desempleo


Entonces vea las conferencias de Steve Keen en YouTube:

https://www.youtube.com/watch?v=aJIE5QTSSYA

https://www.youtube.com/watch?v=DDk4c4WIiCA

https://www.youtube.com/watch?v=wb7Tmk2OABo

Y leer sus artículos.

Modeling the United States Economy - MATLAB & Simulink Example
  • www.mathworks.com
The Smets-Wouters model (2002, 2004, 2007) is a nonlinear system of equations in the form of a Dynamic Stochastic General Equilibrium (DSGE) model that seeks to characterize an economy derived from economic first principles. The basic model works with 7 time series: output, prices, wages, hours worked, interest rates, consumption, and...
 
Se adjunta el programaminsky (simulador económico) , y el sitio de donde se extrae, el sitio tiene un montón de videos que explican cómo funciona, y muchas otras cosas.

/go?link=http://www.ideaeconomics.org/minsky/

Archivos adjuntos:
 
ProfSteveKeen
ProfSteveKeen
  • www.youtube.com
Rethinking Economics at the London School of Economics I was invited by the Rethinking Economics student association at the London School of Economics to give a talk about Greece, Austerity, Post Keynesian Economics and anticipating the crisis. There...
 
Y para los subdesarrollados, en lenguaje legible
 
Vinin:
Y para los subdesarrollados en un lenguaje fácil de leer

Para los alemanes :)

https://translate.google.com.ua/translate?sl=en&tl=ru&js=y&prev=_t&hl=ru&ie=UTF-8&u=http%3A%2F%2Fen.wikipedia.org%2Fwiki%2FSteve_Keen&edit-text=

 
gpwr:

Así pues, la tarea consiste en predecir el índice S&P 500 a partir de los indicadores económicos disponibles.

Paso 1: Encontrar los indicadores. Los indicadores están disponibles públicamente aquí: http://research.stlouisfed.org/fred2/ Hay 240.000 de ellos. El más importante es el crecimiento del PIB. Este indicador se calcula cada trimestre. De ahí que nuestro paso sea de 3 meses. Todos los indicadores de plazos más cortos se recalculan a 3 meses, el resto (anuales) se descartan. También descartamos los indicadores de todos los países, excepto los de EE.UU., y los que no tienen un historial profundo (al menos 15 años). Así que seleccionamos laboriosamente un montón de indicadores y obtenemos unos 10.000 indicadores. Formulemos una tarea más específica para predecir el índice S&P 500 para uno o dos trimestres por delante, teniendo 10 mil indicadores económicos con un periodo trimestral. Lo hago todo en Matlab, aunque también es posible hacerlo en R.

Paso 2: Convertir todos los datos a una forma estacionaria diferenciando y normalizando. Hay muchos métodos. Lo principal es que los datos transformados puedan recuperarse a partir de los datos originales. Ningún modelo funcionará sin estacionalidad. A continuación se muestra la serie del S&P 500 antes y después de la transformación.

Paso 3: Elegir un modelo. Podrías tener una red neuronal. Puede ser unaregresión lineal multivariable. Puede ser una regresión polinómica multivariable. Después de probar con modelos lineales y no lineales, llegamos a la conclusión de que los datos tienen tanto ruido que no tiene sentido ajustar un modelo no lineal, ya que el gráfico y(x) donde y = S&P 500 y x = uno de los 10 mil indicadores es casi una nube redonda. Así pues, nuestra tarea se formula de forma aún más clara: predecir el índice S&P 500 para uno o dos trimestres adelante, teniendo 10 mil indicadores económicos con un periodo trimestral, utilizando una regresión lineal multivariable.

Paso 4: Seleccionar los indicadores económicos más importantes de entre 10 mil (reducir la dimensión del problema). Este es el paso más importante y difícil. Supongamos que tomamos la historia del S&P 500, que tiene 30 años (120 trimestres). Para representar el S&P 500 como una combinación lineal de varios indicadores económicos, basta con tener 120 indicadores para describir con precisión el S&P 500 durante estos 30 años. Además, los indicadores pueden ser absolutamente de cualquier tipo, para crear un modelo tan preciso de 120 indicadores y 120 valores de S&P 500. Así, reduciremos el número de entradas por debajo del número de valores de la función descrita. Por ejemplo, buscamos los 10-20 indicadores/insumos más importantes. Estas tareas de descripción de datos mediante un pequeño número de entradas seleccionadas entre un gran número de bases candidatas (diccionario) se denominan codificación dispersa.

Hay muchos métodos para seleccionar las entradas del predictor. Los he probado todos. Aquí están los dos principales:

  1. Clasificamos todos los datos de 10k por su capacidad de predicción del S&P 500. La capacidad de predicción puede medirse mediante el coeficiente de correlación o la información mutua.
  2. Veamos los 10 mil indicadores uno por uno y seleccionemos el que ha dado el modelo lineal y_mod = a + b*x1 que describe el S&P 500 con el mínimo error. A continuación, volvemos a seleccionar la segunda entrada probando los 10 mil indicadores -1 restantes para que describa el residuo y - y_mod = c + d*x2 con el mínimo error. Y así sucesivamente. Este método se denomina regresión por pasos o búsqueda de coincidencias.

Aquí están los 10 primeros indicadores con el máximo coeficiente de correlación con el S&P 500:

Identificación de la serie Lag Corr Información mutua
'PPICRM 2 0.315 0.102
"CWUR0000SEHE 2 0.283 0.122
"CES1021000001 1 0.263 0.095
"B115RC1Q027SBEA 2 0.262 0.102
"CES1000000034 1 0.261 0.105
'A371RD3Q086SBEA' 2 0.260 0.085
"B115RC1Q027SBEA 1 0.256 0.102
"CUUR0000SAF111 1 0.252 0.117
'CUUR0000SEHE'. 2 0.251 0.098
"USMINE 1 0.250 0.102

Aquí están los 10 indicadores con máxima información mutua con el S&P 500:

Identificación de la serie Lag Corr Información mutua
CPILEGSL 3 0.061 0.136
'B701RC1Q027SBEA' 3 0.038 0.136
"CUSR0000SAS 3 0.043 0.134
"GDPPOT 3 0.003 0.134
"NGDPPOT 5 0.102 0.134
"OTHSEC 4 0.168 0.133
3 "LNU01300060 3 0.046 0.132
'LRAC25TTUSM156N' 3 0.046 0.132
'LRAC25TTUSQ156N' 3 0.046 0.131
"CUSR0000SAS 1 0.130 0.131

Lag es el desfase de la serie de entrada con respecto a la serie simulada de S&P 500. Como se puede ver en estas tablas, los diferentes métodos para elegir los insumos más importantes dan como resultado diferentes conjuntos de insumos. Como mi objetivo final es minimizar el error del modelo, elegí el segundo método de selección de entradas, es decir, enumerar todas las entradas y seleccionar la que diera el menor error.

Paso 5: Elegir un método para calcular el error y los coeficientes del modelo. El método más sencillo es el método RMS, por lo que la regresión lineal con este método es tan popular. El problema del método RMS es que es sensible a los valores atípicos, es decir, estos valores atípicos tienen un efecto significativo en los coeficientes del modelo. Para reducir esta sensibilidad, se puede utilizar la suma de los valores absolutos de los errores en lugar de la suma de los cuadrados de los errores, lo que da lugar a un método de módulo mínimo (LMM) o de regresión robusta. Este método no tiene una solución analítica para los coeficientes del modelo, a diferencia de la regresión lineal. Normalmente los módulos se sustituyen por funciones de aproximación suaves/diferenciables y la solución es numérica y larga. He probado ambos métodos (regresión lineal y LNM) y no he notado ninguna ventaja particular de LNM. En lugar de la DOM, he dado un rodeo. En el segundo paso de la obtención de datos estacionarios mediante su diferenciación, añadí una operación de normalización no lineal. Es decir, la serie original x[1], x[2], ... x[i-1], x[i] ... se convierte primero en una serie de diferencias x[2]-x[1] ... x[i]-x[i-1] ... y luego se normaliza cada diferencia sustituyéndola por sign(x[i]-x[i-1])*abs(x[i]-x[i-1])^u, donde 0 < u < 1. Cuando u=1, obtenemos el método RMS clásico con su sensibilidad a los valores atípicos. En u=0, todos los valores de las series de entrada se sustituyen por valores binarios +/-1 sin apenas valores atípicos. Con u=0,5, obtenemos algo parecido a RMS. El valor óptimo de u está entre 0,5 y 1.

Obsérvese que uno de los métodos populares para convertir los datos a una forma estacionaria es sustituir los valores de la serie por la diferencia de logaritmos de estos valores, es decir, log(x[i]) - log(x[i-1]) o log(x[i]/x[i-1]). La elección de esta transformación es peligrosa en mi caso ya que hay muchas filas con valores cero y negativos en el diccionario de 10k entradas. El logaritmo también tiene la ventaja de reducir la sensibilidad del método RMS a los valores atípicos. Esencialmente, mi función de transformación sign(x)*|x|^u tiene el mismo propósito que log(x) pero sin los problemas asociados a los valores cero y negativos.

Paso 6: Calculamos la predicción del modelo ajustando los nuevos datos de entrada y calculando la salida del modelo utilizando los mismos coeficientes del modelo que se encontraron mediante la regresión lineal en la sección de historia anterior. Es importante recordar que los indicadores económicos trimestrales y los valores del S&P 500 se producen casi simultáneamente (en un plazo de 3 meses). Por lo tanto, para predecir el S&P 500 para el siguiente trimestre, el modelo debe construirse entre el valor trimestral actual del S&P 500 y las entradas retrasadas al menos 1 trimestre (Lag>=1). Para predecir el S&P 500 con un trimestre de antelación, el modelo debe trazarse entre el valor trimestral actual del S&P 500 y las entradas retrasadas al menos 2 trimestres (Lag>=2). Y así sucesivamente. La precisión de las predicciones disminuye significativamente con retrasos superiores a 2.

Paso 7: Comprobar la exactitud de las predicciones en el historial anterior. El primer método descrito anteriormente (escribir cada entrada en el historial anterior, elegir la entrada con el RMS más bajo y utilizar el último valor de esa entrada para generar una predicción) dio incluso peores resultados que las predicciones aleatorias o nulas. Me pregunté lo siguiente: ¿por qué una entrada que se ajusta bien al pasado debería tener una buena capacidad de predicción del futuro? Tiene sentido seleccionar las entradas del modelo en función de su error de predicción previo, en lugar de basarse en el menor error de regresión sobre datos conocidos.

Al fin y al cabo, mi modelo puede describirse paso a paso así:

  1. Descargamos los datos económicos de stlouisfed (unos 10k indicadores).
  2. Transformar los datos a una forma estacionaria y normalizarlos.
  3. Seleccione un modelo lineal del índice S&P 500, resuelto analíticamente por el método RMS (regresión lineal).
  4. Seleccionamos la longitud de la historia (1960 - Q2 2015) y la dividimos en un período de entrenamiento (1960 - Q4 1999) y un período de prueba (Q1 2000 - Q2 2015).
  5. Comenzamos las predicciones con 1960 + N + 1 años, donde N*4 es el número inicial de valores trimestrales conocidos del S&P 500.
  6. A partir de los primeros N datos se construye un modelo lineal y_mod = a + b*x para cada indicador económico, donde y_mod es el modelo S&P 500 y x es uno de los indicadores económicos.
  7. Predecimos N + 1 barras con cada modelo.
  8. Calcular los errores de predicción de N + 1 barras por cada modelo. Recuerda esos errores.
  9. Aumentamos el número de valores conocidos del S&P 500 en 1, es decir, N + 1, y repetimos los pasos 6-9 hasta llegar al final del periodo de entrenamiento (cuarto trimestre de 1999). En este paso, hemos memorizado los errores de predicción desde 1960 + N +1 años hasta el cuarto trimestre de 1999 para cada indicador económico.
  10. Comenzamos a probar el modelo en el segundo intervalo de la historia (Q1 2000 - Q2 2015).
  11. Para cada una de las 10 mil entradas, calculamos el error cuadrático medio de las predicciones para el periodo 1960 - cuarto trimestre de 1999.
  12. De entre 10 mil entradas, elija la que tenga el menor error de predicción RMS entre 1960 y el cuarto trimestre de 1999.
  13. Construimos un modelo lineal y_mod = a + b*x para cada indicador económico para 1960 - cuarto trimestre de 1999.
  14. Predecimos el primer trimestre de 2000 con cada modelo.
  15. Seleccionamos la predicción de la entrada seleccionada con el RMS más bajo de las predicciones del período anterior (1960 - cuarto trimestre de 1999) como nuestra predicción principal del primer trimestre de 2000.
  16. Calcule los errores de predicción de todas las entradas en el primer trimestre de 2000 y súmelos a los RMS de las mismas entradas en el intervalo de tiempo anterior (1960 - cuarto trimestre de 1999).
  17. Pasamos al segundo trimestre de 2000 y repetimos los pasos 12-17 hasta llegar al final de la sección de prueba (segundo trimestre de 2015) con un valor desconocido del S&P 500, cuya predicción es nuestro objetivo principal.
  18. Acumulamos los errores de predicción para el primer trimestre de 2000 - cuarto trimestre de 2014 realizados por las entradas con el RMS más bajo de las predicciones en los segmentos anteriores. Este error (err2) es nuestro modelo de error de predicción fuera de la muestra.

En resumen, la elección del predictor depende de su RMS de predicciones de los valores anteriores del S&P 500. No hay que mirar al futuro. El predictor puede cambiar con el tiempo, pero al final del segmento de prueba básicamente deja de cambiar. Mi modelo ha elegido PPICRM con un desfase de 2 trimestres como primera entrada para predecir el segundo trimestre de 2015. A continuación se muestra la regresión lineal del S&P 500 por la entrada seleccionada de PPICRM(2) para 1960 - cuarto trimestre de 2014. Los círculos negros son la regresión lineal. Los círculos multicolores son los datos históricos de 1960 al cuarto trimestre de 2014. El color del círculo indica la hora.


Predicciones del S&P 500 en forma estacionaria (línea roja):

Predicciones del S&P 500 en bruto (línea roja):

El gráfico muestra que el modelo predice una subida del S&P 500 en el segundo trimestre de 2015. Añadir una segunda entrada aumenta el error de predicción:

1 err1=0,900298 err2=0,938355 PPICRM (2)

2 err1=0,881910 err2=0,978233 PERMIT1 (4)

Donde err1 es el error de regresión. Obviamente, disminuye al añadir una segunda entrada. err2 es el error de predicción al cuadrado medio dividido por el error de predicción aleatorio. Así, err2>=1 significa que la predicción de mi modelo no es mejor que las predicciones aleatorias. err2<1 significa que la predicción de mi modelo es mejor que las predicciones aleatorias.

PPICRM = Índice de precios de producción: materias primas para su posterior transformación

PERMIT1 = Nuevas unidades de vivienda privada autorizadas por permisos de construcción - En estructuras con 1 unidad

El modelo descrito anteriormente puede reformularse así. Reunimos a 10.000 economistas y les pedimos que predigan el mercado para el próximo trimestre. Cada economista cumple con su predicción. Pero en lugar de elegir alguna predicción basada en el número de libros de texto que han escrito o en los premios Nobel que han recibido en el pasado, esperamos unos años, recogiendo sus predicciones. Después de un número significativo de predicciones, vemos qué economista es más preciso, y empezamos a creer en sus predicciones hasta que algún otro economista le supera en precisión.

La respuesta es sencilla: operar en plazos anuales....
 
IvanIvanov:
La respuesta es sencilla: operar en plazos anuales....
¿Es una broma?
 
gpwr:
¿Es una broma?

:-) no sé.... si el análisis es en años..... no sé qué comerciar... En el m5 es poco probable que tenga algún efecto práctico...

Como opción, intenta aplicar tu análisis a H4...

 

gpwr:

...Después de un número significativo de predicciones, vemos qué economista es más preciso y empezamos a creer en sus predicciones hasta que algún otro economista le supera en precisión...


Mmmm, eso contradice un poco a Taleb con su cisne negro. ¿Cómo pueden los economistas que predicen bien en un entorno predecir el colapso?

No me refiero a cómo, sino a por qué va a ocurrir... porque están bastante seguros de que tienen razón, por qué iban a revisar ese derecho, así que tenemos lemmings que se precipitan con entusiasmo al abismo.

 

Aquí está el artículo de Keane sobre su modelo:

http://keenomics.s3.amazonaws.com/debtdeflation_media/papers/PaperPrePublicationProof.pdf

Aunque de entrada diré que no me gusta su modelo. Su objetivo es explicar los ciclos y colapsos económicos, no predecir con exactitud el mercado o los resultados económicos como el PIB. Por ejemplo, su modelo predijo que el aumento de la deuda de los hogares llevaría al colapso de la economía. Pero ¿cuándo exactamente su modelo predijo. Tampoco es capaz de predecir lo que sucederá después del colapso. Todas sus curvas teóricas van al infinito y se quedan ahí indefinidamente, aunque el mercado y la economía de EEUU se recuperaron en 2009. Debe ser por eso que sigue siendo muy negativo sobre esta recuperación, no creyendo en ella y afirmando que se avecina una gran depresión peor que la de Japón de dos décadas. Creo que éste es el problema de todos los modelos económicos dinámicos: son difíciles de estabilizar y si se vuelven inestables se bloquean y ya no pueden predecir el futuro. Aunque un famoso fondo de cobertura ha contratado a Kean como asesor económico.