Skip to content
/ TickML Public template

A modular machine learning framework for financial markets, focused on clean architecture, realistic evaluation, and research-grade workflows.

License

Notifications You must be signed in to change notification settings

krishdotn1/TickML

Repository files navigation

TickML

TickML is an open-source machine learning framework designed specifically for financial markets.

It provides a clean, modular, and extensible foundation for building, training, evaluating, and analyzing ML, Deep Learning, and Reinforcement Learning models on market data — without forcing rigid pipelines or assumptions.

The project focuses on architecture, realism, and research-grade workflows, rather than quick demos or toy examples.


🚧 Project Status

⚠️ Early Beta (Active Development)

  • APIs may change
  • Features are added incrementally
  • Feedback and suggestions are welcome
  • Stability will improve over time

This project is currently intended for:

  • researchers
  • practitioners
  • advanced learners
  • contributors interested in finance ML systems

🎯 Philosophy

TickML is built on a few core principles:

1. Separation of Concerns

Data processing, feature engineering, normalization, modeling, evaluation, and backtesting are separate modules.

Users decide how to combine them.

2. No Forced Pipelines

There is no single “correct” workflow. Different strategies, models, and markets require different setups.

3. Finance-First Design

The framework is designed around:

  • noisy data
  • non-stationarity
  • regime shifts
  • realistic evaluation
  • walk-forward thinking

4. Explicit Over Implicit

Nothing is hidden. No silent preprocessing. No automatic magic. Every step is visible and configurable.


🧠 What Exists Today

✔ Core Architecture

  • Unified BaseModel abstraction
  • Model registry for dynamic model loading
  • Clear separation between ML / DL / RL models

✔ Classical ML

  • XGBoost classifier
  • Hyperparameter optimization using Optuna
  • Feature importance
  • SHAP explainability
  • JSON / console model summaries

✔ Deep Learning

  • LSTM classifier (PyTorch)
  • GPU / CPU support
  • Optuna hyperparameter optimization
  • Full model reports
  • Confusion matrix, metrics, explainability hooks

✔ Evaluation Utilities

  • Confusion matrix (base-level, shared across models)
  • Classification metrics
  • Modular evaluation logic

🧩 What This Project Is NOT (By Design)

  • ❌ Not a one-click AutoML system
  • ❌ Not a black-box trading bot
  • ❌ Not a strategy marketplace
  • ❌ Not optimized for retail trading hype

This framework is meant to be:

  • transparent
  • inspectable
  • extendable
  • research-friendly

🔮 Roadmap (High-Level)

Near Term

  • More deep learning models (CNN-LSTM, Attention)
  • Unified reporting across all models
  • Improved evaluation utilities
  • Better examples & notebooks

Mid Term

  • Reinforcement learning environments
  • Walk-forward & regime-aware evaluation
  • Backtesting integration
  • Experiment tracking hooks

Long Term

  • Transformer-based models
  • Multi-asset workflows
  • Portfolio-level modeling
  • Research reproducibility tools

🤝 Contributing

Contributions are welcome, but architecture consistency matters.

If you plan to contribute:

  • Open an issue first
  • Explain the motivation clearly
  • Keep changes modular
  • Avoid adding hidden logic

This project values clean design over feature quantity.


📣 Feedback

At this stage, feedback is especially valuable on:

  • API design
  • architecture decisions
  • evaluation philosophy
  • missing core components

If something feels unclear or restrictive, that’s a signal — not a complaint.


📜 License

This project is released under an open-source license. Details will be added as the project stabilizes.


🧭 Final Note

TickML is not trying to replace existing libraries.

It exists to explore how finance ML systems should be structured when correctness, realism, and extensibility matter more than shortcuts.

If that resonates with you, you’re in the right place.

❤️ Support & Sponsorship

If you find this project useful, you can support it by:

  • sponsoring development
  • providing feedback
  • reporting issues
  • contributing code or documentation

Sponsorship helps keep the project maintained and evolving.

About

A modular machine learning framework for financial markets, focused on clean architecture, realistic evaluation, and research-grade workflows.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published