Skip to main content

A Python application with a Dash frontend, services to fetch market data, and an API server.

Project description

Machine Learning Models

Tradestream uses a variety of machine learning models to predict the future price of a stock. The models are trained on historical data and use a variety of features to make predictions. The models are trained on a daily basis and the predictions are made on a minute-by-minute basis.

Machine Learning Libraries

Tradestream researched the following machine learning libraries:

- [TensorFlow](https://www.tensorflow.org/)
- [LSTM](https://www.tensorflow.org/api_docs/python/tf/keras/layers/LSTM)
- [GRU](https://www.tensorflow.org/api_docs/python/tf/keras/layers/GRU)
- [Transformer](https://www.tensorflow.org/api_docs/python/tf/keras/layers/Transformer)
- [PyTorch](https://pytorch.org/)
- [LSTM](https://pytorch.org/docs/stable/generated/torch.nn.LSTM.html)
- [GRU](https://pytorch.org/docs/stable/generated/torch.nn.GRU.html)
- [Transformer](https://pytorch.org/docs/stable/generated/torch.nn.Transformer.html)
- [Scikit-learn](https://scikit-learn.org/)
- [Ridge](https://scikit-learn.org/stable/modules/linear_model.html#ridge-regression)
- [Lasso](https://scikit-learn.org/stable/modules/linear_model.html#lasso)
- [ElasticNet](https://scikit-learn.org/stable/modules/linear_model.html#elastic-net)
- [RandomForest](https://scikit-learn.org/stable/modules/ensemble.html#random-forests)
- [GradientBoosting](https://scikit-learn.org/stable/modules/ensemble.html#gradient-boosting)
- [AdaBoost](https://scikit-learn.org/stable/modules/ensemble.html#adaboost)
- [Stacking](https://scikit-learn.org/stable/modules/ensemble.html#stacking)
- [Voting](https://scikit-learn.org/stable/modules/ensemble.html#voting)
- [Bagging](https://scikit-learn.org/stable/modules/ensemble.html#bagging)
- [ExtraTrees](https://scikit-learn.org/stable/modules/ensemble.html#extra-trees)
- [IsolationForest](https://scikit-learn.org/stable/modules/ensemble.html#isolation-forest)
- [LocalOutlierFactor](https://scikit-learn.org/stable/modules/neighbors.html#local-outlier-factor)
- [XGBoost](https://xgboost.readthedocs.io/en/stable/)
- [XGBRegressor](https://xgboost.readthedocs.io/en/stable/python/python_api.html#xgboost.XGBRegressor)
- [XGBClassifier](https://xgboost.readthedocs.io/en/stable/python/python_api.html#xgboost.XGBClassifier)
- [LightGBM](https://lightgbm.readthedocs.io/en/latest/)
- [LGBMRegressor](https://lightgbm.readthedocs.io/en/latest/pythonapi/lightgbm.LGBMRegressor.html)
- [LGBMClassifier](https://lightgbm.readthedocs.io/en/latest/pythonapi/lightgbm.LGBMClassifier.html)
- [CatBoost](https://catboost.ai/)
- [CatBoostRegressor](https://catboost.ai/docs/concepts/python-reference_catboostregressor.html)
- [CatBoostClassifier](https://catboost.ai/docs/concepts/python-reference_catboostclassifier.html)
- [Prophet](https://facebook.github.io/prophet/)
- [ProphetRegressor](https://facebook.github.io/prophet/docs/python/python_api.html#prophet.ProphetRegressor)
- [ProphetClassifier](https://facebook.github.io/prophet/docs/python/python_api.html#prophet.ProphetClassifier)

Contributing to Tradestream

We welcome contributions to Tradestream! Please open an issue or submit a pull request with your changes. You can find the pull request template in the .github/pull_request_template.md file. If you have any questions, please open an issue and we will be happy to help. You can also find us on the Tradestream Discord if you have any questions. It is very important that you follow the Contributing Guidelines when contributing to Tradestream. We look forward to seeing your contributions!

Project Structure

Tradestream is a Python application that uses the Dash framework for the frontend and the Flask framework for the backend. The application is deployed to Heroku. The project is organized as follows:

tradestream/                 # Main directory for the application

├── dash_app/                # Directory for the Dash app (frontend)
   ├── __init__.py          # Initialize the Dash app, include authentication
   ├── layout.py            # Define the layout of the Dash app
   ├── callbacks.py         # Define callbacks for interactivity
   └── authentication.py    # Handle user authentication

├── services/                # Directory for services that fetch real-time market data
   ├── __init__.py          # Initialization for services
   ├── market_fetcher.py    # Code to fetch real-time data from the markets
   └── scheduler.py         # Schedule tasks to fetch data at intervals

├── api/                     # Directory for the API server
   ├── __init__.py          # Initialization for API server
   ├── routes.py            # Define API routes
   ├── models.py            # Define MongoDB models using ODM (like PyMongo or Motor)
   └── views.py             # API views (logic to handle requests)

├── config.py                # Configuration file (environment variables, DB settings, etc.)
├── Procfile                 # Define process types for Heroku (e.g., web, worker)
├── requirements.txt         # Python dependencies
└── wsgi.py                  # Entry point for the application (for Heroku to run the app)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tradestream-0.5.3.tar.gz (14.6 kB view details)

Uploaded Source

Built Distribution

tradestream-0.5.3-py3-none-any.whl (16.7 kB view details)

Uploaded Python 3

File details

Details for the file tradestream-0.5.3.tar.gz.

File metadata

  • Download URL: tradestream-0.5.3.tar.gz
  • Upload date:
  • Size: 14.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.3 Darwin/23.4.0

File hashes

Hashes for tradestream-0.5.3.tar.gz
Algorithm Hash digest
SHA256 6bffc9875a6f19a7120884df52d0aad235032e68582a6d587dc75e22d6f50aae
MD5 c4eef2db7fe5b2d73ccb87b31202b589
BLAKE2b-256 a3d4004dc11c47f9bf9b57b0c4f22d77b38e3b53bfc657e60cd6fc8085342e89

See more details on using hashes here.

File details

Details for the file tradestream-0.5.3-py3-none-any.whl.

File metadata

  • Download URL: tradestream-0.5.3-py3-none-any.whl
  • Upload date:
  • Size: 16.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.3 Darwin/23.4.0

File hashes

Hashes for tradestream-0.5.3-py3-none-any.whl
Algorithm Hash digest
SHA256 5efd1c28946cd3910d234428e4062a0d55bf5c63e23d7707d7ea144870c6ca7e
MD5 27eb026648643ef62935f8b298d7ab79
BLAKE2b-256 94b617eb68df047570be64dca727fd7de26e4f9b6e73a060e2f811109f394aee

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page