Skip to content

Add Bitvavo broker support#1

Open
AJ-Smart-Solutions wants to merge 2 commits into
mainfrom
feature/bitvavo-broker-support
Open

Add Bitvavo broker support#1
AJ-Smart-Solutions wants to merge 2 commits into
mainfrom
feature/bitvavo-broker-support

Conversation

@AJ-Smart-Solutions

Copy link
Copy Markdown
Owner

Summary

  • Adds broker abstraction layer allowing multiple exchange integrations
  • Implements Bitvavo broker using official python-bitvavo-api SDK
  • Adds broker selection dropdown in GUI settings
  • Adds Bitvavo API setup wizard for easy credential configuration
  • Maintains full backwards compatibility with Robinhood

Features

  • Broker abstraction: New brokers/ module with BrokerAPI base class
  • Bitvavo support: EUR trading pairs (BTC-EUR, ETH-EUR, etc.)
  • GUI integration: Broker dropdown + Bitvavo API setup wizard in Settings
  • Dynamic symbol formatting: Automatic USD/EUR pair handling based on broker

Files Changed

  • brokers/base.py - Abstract broker interface
  • brokers/robinhood.py - Robinhood implementation (extracted from pt_trader.py)
  • brokers/bitvavo.py - Bitvavo implementation using official SDK
  • brokers/__init__.py - Factory function and exports
  • pt_trader.py - Updated to use broker abstraction
  • pt_hub.py - Added broker selection and Bitvavo API setup
  • requirements.txt - Added python-bitvavo-api

Test plan

  • Test Robinhood trading (backwards compatibility)
  • Test Bitvavo API connection
  • Test EUR pair trading on Bitvavo
  • Verify GUI broker selection saves correctly

apeer added 2 commits January 2, 2026 19:52
- Add broker abstraction layer (brokers/ module)
- Implement RobinhoodBroker and BitvavoBroker classes
- Add broker selection dropdown in GUI settings
- Add Bitvavo API setup wizard in settings dialog
- Update pt_trader.py to use broker interface
- Add python-bitvavo-api to requirements.txt

Supports EUR trading pairs for Bitvavo (BTC-EUR, ETH-EUR, etc.)
while maintaining full Robinhood compatibility (USD pairs).
- Add PaperBroker class for simulated trading without real money
- Uses real market prices but executes virtual trades
- Persists state to paper_trading_state.json (survives restarts)
- Add paper trading toggle and balance setting in GUI
- Track virtual balance, holdings, and trade history
- Calculate performance metrics (P&L, win rate)

Perfect for testing strategies before using real funds.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant