Skip to content

vedantagarwal-web/diamond-handz-tracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1 Commit
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

DiamondHandz Finance Tracker πŸ’ŽπŸ™Œ

The ultimate meme-stock finance tracker that would make r/wallstreetbets proud. Track your stonks, crypto, and tendies with style!

DiamondHandz Logo

Overview πŸ”

DiamondHandz Finance Tracker is a satirical finance application designed for tracking meme stocks and cryptocurrencies with a humorous twist. It's inspired by the culture and terminology of r/wallstreetbets and the meme stock phenomenon that emerged in 2021.

This project combines serious financial tracking capabilities with meme culture, creating a fun way to monitor your investments while embracing the diamond hands mentality.

Features πŸš€

  • Portfolio Tracking: Monitor your meme stocks (GME, AMC, TSLA) and crypto (DOGE, BTC, ETH) in real-time
  • Diamond Hands Index: Measure how long you've held assets through volatility
  • Paper Hands Detector: Calculate potential gains had you not sold early
  • Expense Categorization: Track spending as "essential lambos" vs "paper hands purchases"
  • Price Alerts: Get "to the moon" notifications when stocks hit target prices
  • Meme Generator: Create custom memes based on your portfolio performance
  • Inverse Cramer Indicator: Track Jim Cramer's recommendations and do the opposite
  • WSB Sentiment Analysis: Monitor r/wallstreetbets sentiment for your stocks
  • Multi-platform Notifications: Receive alerts via Discord, Telegram, or Email
  • Web Dashboard: Access all features through a user-friendly web interface with authentication

Screenshots πŸ“Έ

Dashboard

Dashboard

Portfolio View

Portfolio

Meme Generator

Meme Generator

Installation πŸ› οΈ

Prerequisites

  • Python 3.8+
  • pip
  • Git
  • Docker (optional, for containerized deployment)

Using Docker (recommended for smooth-brained apes)

# Clone the repo
git clone https://github.com/yourusername/diamond-handz-tracker.git
cd diamond-handz-tracker

# Build and run with Docker
docker-compose up -d

Manual Installation (for wrinkle-brained apes)

# Clone the repo
git clone https://github.com/yourusername/diamond-handz-tracker.git
cd diamond-handz-tracker

# Create and activate virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt

# Set up environment variables
cp .env.example .env
# Edit .env with your API keys and preferences

# Initialize the database
python -c "from diamond_handz.web import create_app; app = create_app(); app.app_context().push(); from diamond_handz.web.models import db; db.create_all()"

# Run the app
python app.py web

Configuration πŸ”§

Edit the .env file to configure:

# API Keys
YAHOO_FINANCE_API_KEY=your_yahoo_finance_api_key
ALPHA_VANTAGE_API_KEY=your_alpha_vantage_api_key

# Notification Settings
DISCORD_WEBHOOK_URL=your_discord_webhook_url
TELEGRAM_BOT_TOKEN=your_telegram_bot_token
TELEGRAM_CHAT_ID=your_telegram_chat_id
SENDGRID_API_KEY=your_sendgrid_api_key
NOTIFICATION_EMAIL=your_email@example.com

# Database Settings
DATABASE_URL=sqlite:///diamond_handz.db

# Reddit API (for WSB sentiment analysis)
REDDIT_CLIENT_ID=your_reddit_client_id
REDDIT_CLIENT_SECRET=your_reddit_client_secret
REDDIT_USER_AGENT=DiamondHandzTracker/1.0

# Application Settings
SECRET_KEY=your_secret_key_for_flask
DEBUG=False
ROCKET_COUNT=5

Usage πŸ“ˆ

Command Line Interface

# Check your portfolio status
python app.py portfolio

# Show detailed portfolio information
python app.py portfolio --detailed

# Set price alerts
python app.py alert --ticker GME --target 420.69 --message "TO THE MOON!"

# Generate meme-worthy charts
python app.py chart --ticker TSLA --timeframe 1m --meme-level 9000

# Add a new position
python app.py add --ticker GME --shares 10 --price 150.50 --date 2023-01-15

# Record a sale (paper hands moment)
python app.py sell --ticker AMC --shares 5 --price 45.25

# Track expenses
python app.py expense --amount 69.42 --category lambo --description "Essential rocket fuel"

# Get a YOLO suggestion
python app.py yolo

# Check the Inverse Cramer indicator
python app.py inverse_cramer

Web Interface

After starting the app with python app.py web, visit http://localhost:8080 in your browser.

The web interface provides access to all features:

  1. Dashboard: Overview of your portfolio performance
  2. Portfolio: Detailed view of your positions
  3. Expenses: Track your spending habits
  4. Inverse Cramer: See what Jim Cramer recommends and do the opposite
  5. Meme Generator: Create custom memes based on your gains/losses
  6. Settings: Customize your DiamondHandz experience

Project Structure πŸ“

diamond-handz-tracker/
β”œβ”€β”€ app.py                  # Main application entry point
β”œβ”€β”€ requirements.txt        # Python dependencies
β”œβ”€β”€ README.md               # This file
β”œβ”€β”€ Dockerfile              # Docker configuration
β”œβ”€β”€ docker-compose.yml      # Docker Compose configuration
β”œβ”€β”€ .env.example            # Example environment variables
β”œβ”€β”€ .env                    # Your environment variables (not committed)
β”œβ”€β”€ diamond_handz/          # Main package
β”‚   β”œβ”€β”€ __init__.py
β”‚   β”œβ”€β”€ database.py         # Database operations
β”‚   β”œβ”€β”€ market_data.py      # Stock/crypto data retrieval
β”‚   β”œβ”€β”€ notifications.py    # Multi-platform notifications
β”‚   β”œβ”€β”€ portfolio.py        # Portfolio management
β”‚   β”œβ”€β”€ visualization.py    # Chart generation
β”‚   └── web/                # Web dashboard
β”‚       β”œβ”€β”€ __init__.py     # Flask app factory
β”‚       β”œβ”€β”€ models.py       # Database models
β”‚       β”œβ”€β”€ views/          # Route handlers
β”‚       └── templates/      # HTML templates
β”œβ”€β”€ data/                   # Data storage
β”œβ”€β”€ charts/                 # Generated charts
└── meme_templates/         # Templates for meme generation

Troubleshooting πŸ”

Common Issues

  1. API Rate Limits: If you see "Too Many Requests" errors, you may have hit rate limits for Yahoo Finance or Alpha Vantage. Solutions:

    • Upgrade to a paid API plan
    • Implement caching to reduce API calls
    • Use alternative data sources
  2. Database Errors: If you encounter database issues:

    • Ensure SQLite is installed
    • Check file permissions for the database file
    • Try deleting the database file and reinitializing it
  3. Authentication Issues: If login/registration doesn't work:

    • Make sure the database is properly initialized
    • Check that Flask-Login is properly configured
    • Verify that the SECRET_KEY is set in your .env file
  4. Missing Dependencies: If you get import errors:

    • Ensure you've activated your virtual environment
    • Run pip install -r requirements.txt again
    • Check for any platform-specific dependencies

Getting Help

If you encounter issues not covered here, please:

  1. Check the existing GitHub issues
  2. Create a new issue with detailed information about your problem
  3. Include error messages and steps to reproduce

Disclaimer ⚠️

This is not financial advice. The creators of DiamondHandz Finance Tracker are not responsible for:

  • YOLO trades gone wrong
  • Margin calls from your broker
  • Relationship problems when your significant other discovers your losses
  • Addiction to watching ticker symbols all day
  • Excessive use of rocket emojis in normal conversation

Past performance does not guarantee future results, but diamond hands might!

Contributing 🀝

We welcome contributions from fellow apes! Here's how to contribute:

  1. Fork the repo
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Please make sure your code follows our style guidelines and includes appropriate tests.

Development πŸ’»

To set up a development environment:

# Clone the repo
git clone https://github.com/yourusername/diamond-handz-tracker.git
cd diamond-handz-tracker

# Create and activate virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install dependencies including development tools
pip install -r requirements.txt

# Run tests
pytest

# Format code
black diamond_handz
isort diamond_handz

# Check code quality
flake8 diamond_handz

License πŸ“

Distributed under the MIT License. See LICENSE for more information.

Acknowledgements πŸ™

  • r/wallstreetbets for the inspiration and terminology
  • DFV for showing us the way of diamond hands
  • Yahoo Finance and Alpha Vantage for financial data APIs
  • Flask and SQLAlchemy for web framework and ORM
  • Matplotlib and Pillow for visualization and meme generation
  • Your wife's boyfriend for his patience while you code this project

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors