Pipeline en Python para calcular y representar
Este repositorio contiene solo el código (sin datos).
- Python 3.10+
- Instalar dependencias:
pip install -r requirements.txt
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
- 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}$
- Edita BASE en los scripts para que apunte a la raíz del proyecto.
- (Opcional) Coloca los CSV originales en data/.
- 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
- 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).
- 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
- 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.
- 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 ;