{"id":37509441,"url":"https://github.com/seanmayer/algo-trading-broker-testing","last_synced_at":"2026-01-16T08:01:07.998Z","repository":{"id":319150713,"uuid":"1075282808","full_name":"seanmayer/algo-trading-broker-testing","owner":"seanmayer","description":"Multi-Broker Algorithmic Trading Platform - Proof of Concept","archived":false,"fork":false,"pushed_at":"2025-12-13T10:28:09.000Z","size":811,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-12-15T00:53:06.418Z","etag":null,"topics":["algorithmic-trading","automated-trading","backtesting","broker-integration","financial-data","forex-trading","high-frequency-trading","ibkr","interactive-brokers","market-data","oanda-api","portfolio-management","quantitative-finance","real-time-data","risk-management","streaming-data","technical-analysis","time-series","trading-api-financial-apis","trading-bot"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/seanmayer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-10-13T09:36:54.000Z","updated_at":"2025-12-13T10:28:12.000Z","dependencies_parsed_at":"2025-12-04T02:04:26.615Z","dependency_job_id":null,"html_url":"https://github.com/seanmayer/algo-trading-broker-testing","commit_stats":null,"previous_names":["seanmayer/oanda-algo-trading-basics"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/seanmayer/algo-trading-broker-testing","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seanmayer%2Falgo-trading-broker-testing","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seanmayer%2Falgo-trading-broker-testing/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seanmayer%2Falgo-trading-broker-testing/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seanmayer%2Falgo-trading-broker-testing/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/seanmayer","download_url":"https://codeload.github.com/seanmayer/algo-trading-broker-testing/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seanmayer%2Falgo-trading-broker-testing/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28478047,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T06:30:42.265Z","status":"ssl_error","status_checked_at":"2026-01-16T06:30:16.248Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["algorithmic-trading","automated-trading","backtesting","broker-integration","financial-data","forex-trading","high-frequency-trading","ibkr","interactive-brokers","market-data","oanda-api","portfolio-management","quantitative-finance","real-time-data","risk-management","streaming-data","technical-analysis","time-series","trading-api-financial-apis","trading-bot"],"created_at":"2026-01-16T08:00:31.263Z","updated_at":"2026-01-16T08:01:07.528Z","avatar_url":"https://github.com/seanmayer.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Algorithmic Trading Basics\n\nA proof-of-concept for algorithmic trading with OANDA and Interactive Brokers APIs.\n\n## Quick Start\n\n### Prerequisites\n- Python 3.8 or higher\n- OANDA account (for OANDA examples)\n- Interactive Brokers account with TWS/IB Gateway (for IBKR examples)\n\n### Installation\n\n1. **Clone or download this repository**\n\n2. **Install dependencies:**\n   ```bash\n   pip install -r requirements.txt\n   ```\n\n3. **Set up your trading credentials** (see Configuration section below)\n\n4. **Start trading!** Open the Jupyter notebooks and begin exploring.\n\n## 📁 Project Structure\n\n```\noanda-algo-trading-basics/\n├── brokers/\n│   ├── oanda/          # OANDA-specific implementations\n│   └── ibkr/           # Interactive Brokers implementations\n│       └── notebooks/  # Jupyter notebooks for IBKR\n├── requirements.txt    # Python dependencies\n└── README.md          # This file\n```\n\n## 📚 Available Notebooks\n\n### Interactive Brokers (IBKR)\n- **`HistoricalAccountValues.ipynb`** - Fetch and analyze historical market data\n- **`TradingChallenge.ipynb`** - Complete SMA crossover trading system with performance analysis\n\n## ⚙️ Configuration\n\n### OANDA Setup\n1. Create a `.env` file in the project root\n2. Add your OANDA credentials:\n   ```\n   OANDA_API_KEY=your_api_key_here\n   OANDA_ACCOUNT_ID=your_account_id_here\n   OANDA_ENVIRONMENT=practice  # or 'live' for real trading\n   ```\n\n### Interactive Brokers Setup\n1. Install and run TWS (Trader Workstation) or IB Gateway\n2. Enable API connections in TWS/Gateway settings:\n   - Go to Global Configuration → API → Settings\n   - Enable \"Enable ActiveX and Socket Clients\"\n   - Note the Socket Port (usually 7497 for TWS, 4001 for Gateway)\n3. The notebooks will connect to `localhost:7497` by default\n\n## 🛡️ Important Safety Notes\n\n⚠️ **ALWAYS USE PAPER TRADING FIRST!**\n\n- Start with demo/paper trading accounts\n- Test all strategies thoroughly before risking real money\n- The code includes educational examples - modify for your risk tolerance\n- Never commit API keys or credentials to version control\n\n## 💡 Getting Started Examples\n\n### 1. Historical Data Analysis\n```python\n# Run HistoricalAccountValues.ipynb\n# - Fetch EUR/USD historical data\n# - Analyze price movements\n# - Convert data to pandas DataFrames\n```\n\n### 2. Complete Trading System\n```python\n# Run TradingChallenge.ipynb\n# - Implement SMA crossover strategy\n# - Execute backtests on historical data\n# - Analyze performance metrics\n# - Optional: Run live signal monitoring\n```\n\n## 📊 Features\n\n- ✅ **Multiple Broker Support** - OANDA and Interactive Brokers\n- ✅ **Historical Data** - Fetch and analyze market data\n- ✅ **Trading Strategies** - SMA crossover and more\n- ✅ **Risk Management** - Stop-loss, take-profit, position sizing\n- ✅ **Performance Analysis** - Win rate, Sharpe ratio, drawdown analysis\n- ✅ **Visualization** - Charts and performance metrics\n- ✅ **Backtesting** - Test strategies on historical data\n\n## 🔧 Dependencies\n\nKey libraries used:\n- **ib_async** - Interactive Brokers API\n- **oandapyV20** - OANDA REST API\n- **pandas/numpy** - Data analysis\n- **matplotlib** - Visualization\n- **requests** - HTTP requests\n\n## 🤝 Contributing\n\nThis is a proof-of-concept project. Feel free to:\n- Add new trading strategies\n- Improve risk management\n- Add support for other brokers\n- Enhance visualizations\n\n## ⚠️ Disclaimer\n\nThis software is for educational purposes only. Trading involves significant risk of loss. The authors are not responsible for any financial losses incurred through the use of this software. Always do your own research and consider consulting with a financial advisor.\n\n## 📞 Support\n\nFor questions or issues:\n1. Check the notebook comments and documentation\n2. Review the broker API documentation\n3. Test with paper trading accounts first\n4. Ensure all dependencies are properly installed\n\n---\n\n**Happy Trading! 📈**","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fseanmayer%2Falgo-trading-broker-testing","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fseanmayer%2Falgo-trading-broker-testing","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fseanmayer%2Falgo-trading-broker-testing/lists"}