Personal Project · Work In Progress
Damus
A Work In Progress: From Forecasting Models To A Research Workbench.
Experience In Practice
Skills Applied
Technical Skills
Soft Skills
A Model Is Only Part Of An Experiment.
Extending household-energy forecasting research into financial time series introduced a broader engineering problem: preparing data, comparing models fairly and understanding each result without losing track of how it was produced.
Damus brings those tasks into one local application, from dataset selection and training windows to forecast overlays and historical simulation.
Connect The Research To A Usable Tool.
The project adapts recurrent and Transformer diffusion architectures from my thesis research to signed financial returns, alongside naive and ridge baselines. A shared model interface keeps preprocessing, evaluation and experiment records consistent across them.
The desktop workflow adds an interactive window designer, queued jobs, data-provider adapters and visual analysis. Context, horizon and stride can be inspected directly, making the relationship between a model's input and training target visible.
- Four built-in models, including two diffusion models that generate forecast trajectories.
- Chronological train, validation and test boundaries with training-only scaling.
- Dataset provenance, immutable experiment configurations and saved model manifests.
Respect Time, Data Quality And Compute Limits.
Financial experiments are sensitive to information becoming available at the wrong time. Forecast windows crossing split boundaries are excluded, scalers learn only from training data and historical entries occur after the forecast origin.
Bounded Parquet reads, batch construction and memory admission checks keep experiments within explicit resource limits. Download workers isolate provider failures, while requested dates, actual coverage and missing observations remain visible.
The Engineering Journey
Adapt The Models
Retain recurrent and attention-based conditioning while changing the target to standardized signed returns and updating the diffusion objective.
Make Comparisons Reproducible
Centralize chronological splits, feature scaling, configuration records and metrics so each model follows the same evaluation contract.
Expose The Experiment
Show context and target windows, align forecast origins and overlay observed values, model outputs and generated trajectories.
Check The Whole Workflow
Use synthetic data to verify training, multi-model analysis, exports, safe execution defaults and background-worker shutdown.
What This Experience Achieved
The result
A working local prototype with four built-in forecasting models, queued experiments and visual comparison. Saved synthetic smoke tests show all four models completing, with forecast overlays, chart exports and controlled shutdown.
A Closer Look
Technical decisions & tools
The Python application separates desktop-independent services, worker processes, model adapters and the PySide6 interface. SQLite stores metadata; compressed Parquet holds datasets. Provider capabilities and credential schemas are explicit, and data adapters are independent of execution adapters.
The diffusion implementations use recurrent or Transformer history encoders, projected conditioning, diffusion-time embeddings and matching denoisers. They are financial adaptations of the thesis architectures and do not load the original household-energy checkpoints.
Engine tests cover leakage-sensitive boundaries: held-out extremes cannot change training scalers, label windows cannot cross splits, rolling refits cannot use future labels and a signal cannot fill at its originating close. Overlapping windows are assembled only for the current batch.
The supplied smoke-test report records four completed models, four overlays, five analytical chart types, PNG/SVG exports and a disarmed execution default. It used synthetic data with zero market connections. Damus remains a research prototype; these results establish workflow behavior rather than profitability.

