Skip to content

toni-oc/mfdfa-tfg

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Scripts MF-DFA (código)

Pipeline en Python para calcular y representar $F_q(s)$, $h(q)$, $\tau(q)$, el espectro $f(\alpha)$ y surrogates a partir de retornos de índices bursátiles.
Este repositorio contiene solo el código (sin datos).


Requisitos

  • Python 3.10+
  • Instalar dependencias:
    pip install -r requirements.txt

Estructura de carpetas

La variable BASE de los scripts debe apuntar a la raíz del proyecto.

Proyecto/
├─ data/
│  ├─ <etq>_Historical_Data.csv
│  ├─ <etq>_Historical_Data_Semi_Clean.csv
│  └─ <etq>_Historical_Data_Clean.csv
│
├─ results/
│  ├─ csvs/
│  └─ figures/          # (opcional si activas guardados de figuras)
│
├─ scripts/
│  ├─ 1_clean_data.py
│  ├─ 2_plot_prices.py
│  ├─ 3_compute_returns.py
│  ├─ 4_compute_Fq_scaling.py
│  ├─ 5_compute_tau.py
│  ├─ 6_compute_tau_sub_periods.py
│  ├─ 7_compute_singularity.py
│  └─ 8_compute_surrogate.py
│
├─ .gitignore
├─ requirements.txt
└─ README.md

Formato de los datos (CSV)

  • Separador: punto y coma ;
  • Fechas: YYYY-MM-DD
  • Precios (entrada): Date;Close
  • Retornos (salida del script 3): Date;Return con $r_t=\ln C_t-\ln C_{t-1}$

Ejecución rápida

  1. Edita BASE en los scripts para que apunte a la raíz del proyecto.
  2. (Opcional) Coloca los CSV originales en data/.
  3. Ejecuta desde la raíz en este orden:
   python scripts/1_clean_data.py
   python scripts/2_plot_prices.py
   python scripts/3_compute_returns.py
   python scripts/4_compute_Fq_scaling.py
   python scripts/5_compute_tau.py
   python scripts/6_compute_tau_sub_periods.py
   python scripts/7_compute_singularity.py
   python scripts/8_compute_surrogate.py

Qué hace cada script (resumen)

  • 1_clean_data.py – Limpia *_Historical_Data.csv → *_Historical_Data_Clean.csv.
  • 2_plot_prices.py – Gráfico de precios (validación visual).
  • 3_compute_returns.py – Retornos logarítmicos → results/csvs/_Returns.csv.
  • 4_compute_Fq_scaling.py – MF-DFA en malla de escalas, rango óptimo (Gulich & Zunino), 60 escalas y estimación de $h(q)$.
  • 5_compute_tau.py – $\tau(q)=q\cdot h(q)-1$ (Original y Shuffled, con barras de error) usando esas escalas.
  • 6_compute_tau_sub_periods.py – $\tau(q)$ por subperiodos con rangos óptimos propios.
  • 7_compute_singularity.py – Espectro $f(\alpha)$ (Original vs Shuffled), concavidad y métricas.
  • 8_compute_surrogate.py – $\Delta\alpha$ vs $M$ (surrogates truncadas y truncadas+barajadas).

Ficheros generados (nombres típicos)

  • results/csvs/_Returns.csv
  • results/csvs/_Optimal_S_Distribution_YYYYMMDD.csv
  • results/csvs/_Optimal_hq_YYYYMMDD.csv
  • results/csvs/_Tau(q)_YYYYMMDD.csv
  • results/csvs/_Tau(q)_Shuffled_YYYYMMDD.csv
  • (opcionales en 7 y 8) Spectrum.csv, Spectrum_Metrics.csv, DeltaAlpha_vs_M.csv

Parámetros frecuentes

  • BASE (ruta raíz del proyecto).
  • Flags de guardado de CSV/figuras dentro de cada script.
  • Subperiodos, semillas y listas de $q$ o $M$ definidos al inicio de los scripts.

Notas y problemas comunes

  • No encuentra archivos → BASE incorrecta o estructura distinta.
  • Espectro/colas extrañas → asegúrate de que $h(q)$, escalas y $\tau(q)$ provienen del mismo rango/periodo.
  • Separador: los CSV deben usar ;

About

Implementación MF-DFA para IBEX 35 (TFG)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages