Skip to content

Using Transformer deep learning architecture to predict stock prices.

License

Notifications You must be signed in to change notification settings

hemangjoshi37a/TrendMaster

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

49 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

TrendMaster: Advanced Stock Price Prediction using Transformer Deep Learning

Python Version License GitHub Stars GitHub Forks GitHub Issues

TrendMaster is an advanced stock price prediction library that leverages Transformer deep learning architecture to deliver highly accurate predictions, empowering investors with data-driven insights.

Table of Contents

πŸš€ Features

  • Advanced Transformer-based prediction model
  • High accuracy with mean average error of just a few percentage points
  • Real-time data visualization
  • User-friendly interface
  • Customizable model parameters
  • Support for multiple stock symbols

πŸ“Š Why TrendMaster?

TrendMaster stands out as a top-tier tool for financial forecasting by:

  • Utilizing a wealth of historical stock data
  • Employing sophisticated deep learning algorithms
  • Identifying patterns and trends beyond human perception
  • Providing actionable insights for smarter investment strategies

πŸ› οΈ Installation

Get started with TrendMaster in just one command:

pip install TrendMaster

πŸ“ˆ Quick Start

Here's how to integrate TrendMaster into your Python projects:

# Example usage of merged_module.py

from trendmaster import (
    DataLoader,
    TransAm,
    Trainer,
    Inferencer,
    set_seed,
    plot_results,
    plot_predictions
)

import pyotp

# Set seed for reproducibility
set_seed(42)

user_id = 'YOUR_ZERODHA_USER_ID'
password = 'YOUR_ZERODHA_PASSWORD'  # Replace with your password
totp_key = 'YOUR_ZERODHA_2FA_KEY'   # Replace with your TOTP secret key

# Generate the TOTP code for two-factor authentication
totp = pyotp.TOTP(totp_key)
twofa = totp.now()

# Initialize DataLoader and authenticate
data_loader = DataLoader()
kite = data_loader.authenticate(user_id=user_id, password=password, twofa=twofa)

# Prepare data
train_data, test_data = data_loader.prepare_data(
    symbol='RELIANCE',
    from_date='2023-01-01',
    to_date='2023-02-27',
    input_window=30,
    output_window=10,
    train_test_split=0.8
)

import torch
# Initialize model, trainer, and train the model
device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
print(f'Training on {device} device.')
model = TransAm(num_layers=2, dropout=0.2).to(device)

trainer = Trainer(model, device, learning_rate=0.001)
train_losses, val_losses = trainer.train(train_data, test_data, epochs=2, batch_size=64)

# Save the trained model
trainer.save_model('transam_model.pth')

# Initialize inferencer and make predictions
inferencer = Inferencer(model, device, data_loader)
predictions = inferencer.predict(
    symbol='RELIANCE',
    from_date='2023-02-27',
    to_date='2023-12-31',
    input_window=30,
    future_steps=10
)

# Evaluate the model
test_loss = inferencer.evaluate(test_data, batch_size=32)

πŸ“ˆ Backtest Results

Evaluate the performance of TrendMaster using our comprehensive backtesting framework. Our Transformer-based model has been rigorously tested to ensure reliability and accuracy in diverse market conditions.

πŸ” View Backtest Results

Explore detailed backtest results on our hjAlgos Backtest Platform.

bokeh_plot (35)

Sample Backtest Performance Chart

πŸ“Š Sample Results

Our Transformer-based prediction model demonstrates impressive accuracy:

Transformer-Future200

πŸ–₯️ User Interface

TrendMaster comes with a sleek, user-friendly interface for easy data visualization and analysis:

TrendMaster UI

πŸ“˜ Documentation

For detailed documentation, including API reference and advanced usage, please visit our Wiki.

🀝 Contributing

We welcome contributions! Please see our Contributing Guidelines for more details.

πŸ“ License

This project is licensed under the MIT License - see the LICENSE file for details.

🌟 Show Your Support

If you find TrendMaster helpful, please consider giving it a star on GitHub. It helps others discover the project and motivates us to keep improving!

GitHub Star History

πŸ“« Contact

For questions, suggestions, or collaboration opportunities, please reach out:

πŸ”— More from HJ Labs

Check out our other exciting projects:

πŸ“« Try Our Algo Trading Platform hjAlgos

Ready to elevate your trading strategy?

Try Our AlgoTrading Platform


Created with ❀️ by Hemang Joshi