Skip to content

xtoor/gold-digger

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

16 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ† Gold-Digger

Header Banner

Python Version License Crypto Exchanges ML Ready

Status Exchanges Technical Indicators Data Format

๐ŸŽฏ What is Gold-Digger?

Gold-Digger is the ultimate cryptocurrency data mining bot that strikes digital gold for your ML applications! ๐Ÿ’Ž This Python powerhouse collects, processes, and stores crypto trading data with a focus on volume breakouts and technical patterns - perfect for training machine learning models to predict market movements.

๐Ÿš€ Key Features

  • โ›๏ธ Multi-Exchange Mining: Collects data from 6 major exchanges (Binance, Kraken, Crypto.com, OKX, Bitfinex, Coinbase)
  • ๐Ÿ’ฐ Volume Breakout Detection: Advanced algorithms to identify volume jackpots and trading opportunities
  • ๐Ÿง  ML-Ready Data: Pre-processed feature vectors and targets for supervised learning
  • ๐Ÿ”ง Technical Arsenal: 15+ technical indicators (RSI, MACD, Bollinger Bands, etc.)
  • ๐Ÿฆ Secure Data Vault: SQLite database optimized for ML training workflows
  • ๐ŸŽช Entertaining Logs: Funny mining-themed messages that make data collection enjoyable!

๐Ÿ“Š Volume Breakout Focus

Gold-Digger specializes in identifying volume breakouts - those golden moments when trading volume explodes, often preceding significant price movements:

  • 2x Volume Spikes: Early warning signals
  • 3x Volume Explosions: Strong breakout candidates
  • 5x Volume Jackpots: Rare mega-breakouts for premium opportunities
  • Follow-through Analysis: Price impact tracking for breakout validation

๐Ÿ› ๏ธ Installation

Prerequisites

Python 3.8+
pip package manager

Quick Setup

# Clone the golden repository
git clone https://github.com/xtoor/gold-digger.git
cd gold-digger

# Install dependencies
pip install pandas numpy sqlite3 requests ccxt ta schedule

# Configure your API keys (optional but recommended)
# Find this section in gold-digger.py and fill in the API info add or remove brokers by commenting out its block
# Edit the setup_mining_operations() function with your exchange API credentials
```code
            self.log_funny("๐Ÿ”ง Setting up mining equipment across multiple exchanges...")
            
            # Original exchanges
            self.exchanges['coinbase'] = ccxt.coinbase({
                'apiKey': '',
                'secret': '',
                'password': '',
                'sandbox': False,
                'rateLimit': 1000,
            })
            
            # New exchanges added per request
            self.exchanges['kraken'] = ccxt.kraken({
                'apiKey': '',
                'secret': '',
                'sandbox': False,
                'rateLimit': 1000,
            })
            
            self.exchanges['cryptocom'] = ccxt.cryptocom({
                'apiKey': '',
                'secret': '',
                'sandbox': False,
                'rateLimit': 1000,
            })
            
            # Note: CCXT doesn't have direct Uphold support, using OKX as alternative
            self.exchanges['okx'] = ccxt.okx({
                'apiKey': '',
                'secret': '',
                'password': '',
                'sandbox': False,
                'rateLimit': 1000,
            })
            
            # Using Bitfinex as another major exchange option
            self.exchanges['bitfinex'] = ccxt.bitfinex({
                'apiKey': '',
                'secret': '',
                'sandbox': False,
                'rateLimit': 1500,
            })```

# Start mining!
python gold_digger.py

Required Libraries

pandas>=1.3.0
numpy>=1.21.0
requests>=2.25.0
ccxt>=4.0.0
ta>=0.10.0
schedule>=1.1.0
sqlite3 (built-in)

๐ŸŽฎ Usage

Basic Mining Operation

from gold_digger import GoldDigger

# Initialize the mining rig
digger = GoldDigger()

# Launch full expedition (top 30 cryptos, 30 days history)
digger.launch_full_mining_expedition(top_n=30, days=30)

# Get ML training data
training_data = digger.get_ml_training_gold()
feature_vectors = digger.get_ml_features()

Scheduled Mining

import schedule

# Set up automated mining every 2 hours
schedule.every(2).hours.do(
    lambda: digger.launch_full_mining_expedition(top_n=20, days=1)
)

๐Ÿ“ Database Schema

Core Tables

Table Purpose Key Features
gold_nuggets Main trading data OHLCV + 20+ technical indicators
volume_jackpots Breakout events Volume multipliers, price impacts
utility_treasure_map Fundamental metrics GitHub activity, social buzz, dev metrics
ml_feature_vault ML-ready vectors JSON feature sets + targets

Sample Data Structure

SELECT symbol, timestamp, volume_breakout_score, rsi, macd 
FROM gold_nuggets 
WHERE volume_breakout_score > 70 
ORDER BY timestamp DESC;

๐Ÿ”ฅ Volume Breakout Algorithm

The heart of Gold-Digger's intelligence:

# Volume Jackpot Scoring (0-100)
if volume > 5 * volume_ma_20:
    score = 100  # MEGA JACKPOT! ๐ŸŽฐ
elif volume > 3 * volume_ma_20:
    score = 85   # BIG JACKPOT! ๐Ÿ’ฐ
elif volume > 2 * volume_ma_20:
    score = 70   # MINI JACKPOT! ๐ŸŽฏ
else:
    score = volume_ratio * 40  # Building momentum...

๐ŸŽฏ ML Training Integration

Feature Engineering

features = {
    'price_momentum_5': recent_price_changes,
    'volume_trend_10': volume_pattern_analysis,
    'rsi_current': momentum_indicator,
    'bb_position': volatility_position,
    'volume_breakout_score': breakout_probability
}

Prediction Targets

  • target_breakout_1h: Volume breakout in next hour
  • target_breakout_24h: Volume breakout in next 24h
  • target_price_change_1h: Price movement correlation
  • target_price_change_24h: Extended price impact

๐Ÿƒโ€โ™‚๏ธ Quick Start Examples

1. Basic Data Collection

# Mine Bitcoin data for the last 7 days
digger = GoldDigger()
digger.strike_gold_for_symbol('BTC/USDT', days=7)

2. Volume Breakout Hunting

# Find recent volume jackpots
jackpots = digger.detect_volume_jackpots(df, 'ETH/USDT')
for jackpot in jackpots:
    print(f"๐Ÿ’ฅ {jackpot['symbol']} - {jackpot['jackpot_type']}")

3. ML Model Training

# Get processed features for model training
features_df = digger.get_ml_features(days=30)
X = features_df.drop(['target_breakout_1h'], axis=1)
y = features_df['target_breakout_1h']

# Train your model
from sklearn.ensemble import RandomForestClassifier
model = RandomForestClassifier()
model.fit(X, y)

๐ŸŽช Sample Output

โ›๏ธ Digging for digital gold in the crypto mines...
๐Ÿš€ GOLD-DIGGER EXPEDITION #1 LAUNCHED!
๐ŸŽฏ Target: Top 30 crypto veins, 30 days deep!
โญ Found 30 golden symbols ready for mining!
๐Ÿ’ฅ BOOM! Volume just went nuclear! โ˜ข๏ธ
๐Ÿฆ Deposited 1440 golden nuggets! Vault total: 43200
๐Ÿ† EXPEDITION COMPLETE! Success rate: 96.7%
๐Ÿ’Ž Total nuggets in vault: 43200

๐Ÿค Contributing

We welcome fellow gold miners!

  1. Fork the repository
  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

๐Ÿ“ˆ Supported Exchanges

Exchange Status Volume Data Real-time
Binance โœ… โœ… โœ…
Kraken โœ… โœ… โœ…
Crypto.com โœ… โœ… โœ…
OKX โœ… โœ… โœ…
Bitfinex โœ… โœ… โœ…
Coinbase Pro โœ… โœ… โœ…

โš ๏ธ Disclaimer

This tool is for educational and research purposes. Always do your own research before making trading decisions. Cryptocurrency trading involves substantial risk of loss.

๐Ÿ“„ License

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

๐Ÿ™ Acknowledgments

  • CCXT for exchange connectivity
  • TA-Lib for technical analysis
  • The crypto community for inspiration

Made with ๐Ÿ’ฐ by crypto enthusiasts, for crypto enthusiasts
Strike digital gold with every data point! โ›๏ธ๐Ÿ’Ž

๐Ÿ“ž Support

Happy Mining! ๐Ÿš€๐Ÿ’ฐ

About

Historical data collection on crypto markets for trainning ML applications

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages