Trading Bot Fleet

Using technical indicators, our automated trading bots will predict the direction of several crypto currencies and forex pairs. Then will execute, monitor and close trades.
Skills
  • Pycharm/VS Code
  • Python
  • RandomSearchCV, GridSearchCV
  • Rest APIs
  • WebSockets
Tools
  • Data streaming and processing
  • Testing/refining strategies
  • Feature engineering and weighing.
  • Hyper-tuning parameters
  • Deployment via WebSocket Data/REST APIs
Project Overview
I wrote detailed, complex, production level Python code to predict the direction of a handful of different assets. Then to place and monitor trades autonomously.

What does this trading bot do?

Tested on historical data, this bot makes assumptions based on live data incoming to the bot. Then, it will get into positions based on its prediction. Once exit conditions are met, it will exit the trade for a profit (or loss). Below is the story of its creation.

Researching Strategies

By a chance encounter, I met a senior algorithmic trader. He taught me what algo trading was and what I could do to get started. I did homework on different strategies. I studied different combination of technical indicators that work well for cryptocurrencies.

Writing First Strategy

Based on the research I did, I picked a simple Relative Strength Indicator (RSI) combined with Moving Averages (MAs). This combination of technical indicators was my first (MVP) strategy. I choose this so the MAs could help to confirm RSI signals. I wrote in Python via Replit.

Testing First Strategy

I took the MVP strategy and began to backtest it. Pulled historical data from Yahoo Finance, this allowed for free and easy historical data collection. I then simulated the trading with my current balance, across different time ranges and at varying time intervals to get an idea of how the strategy would have performed had it been live.

From there, I streamed real-time (live) data from OANDA's and Kraken's WebSockets. Then internally paper-traded (simulating the real trading but with fake money) the strategy with it logging the results right to the console.

MVP Refinement

As I tested the simple MVP strategy on live data, I found the key parameters that needed to be changed/tweaked. Also discovered new combinations of indicators that increased accuracy. This helped me to better understand the relationship between the incoming data and the logic that executes the trades.

Forex Bot 1.0

After weeks of testing the MVP on live data internally (so on a real market but with fake money), we had found the best set of indicators and their parameter values/settings. I had the proof I needed to deploy the bot with real money. I had about $3,000 saved to deploy, this is where the rubber met the road.

Deploying Forex Bot 1.0

I deployed the bot on OANDA. Trading EUR/USD pair. We have a Task Scheduler (Windows) that kicks the code on every trading day at 4am EST. The code shuts off (exits all trades) at 1pm EST.

We also have Peak shut offs (when the bot profits <= $X it turns off) and Valley shut offs (when the bot loses <= -$X it turns off).  

Next Bots and Future Plans

I took what I learned while building the Forex bot, and built more. I designed, developed and deployed multiple crypto bots. There were slight technical differences. From both the data and the execution sides, but the overall process was the same as the Forex bot.

We're rolling the profits back into the bots to create larger order sizes. Our next step is to show the powerful results/returns we have created to potential investors. I am still doing research on this next move, but very excited for the future.

The Trash2Cash App
The NFL AI
Check out what I've learned