 Hello and welcome to the Amplify Trading YouTube channel. My name is Millen and I'm a technology analyst here at Amplify Trading. So before we get into this video, if you're interested in more tech in finance or anything to do with markets in general from the rest of the Amplify Trading team, please do like and subscribe this video down below and hit that bell icon to stay notified when we post our latest content. Without further ado, let's get straight into it. Creating an algorithmic trading bot is not all about the bot itself. I think it's huge misconception. In the industry and in general about the knowledge that's required to create a bot. It's not all about the strategy. It's about creating a platform, a package that's able to backtest live trade and anything else you really want to do with the bot in the future. It's about creating this unique environment for you to work in and be able to successfully develop and create any further algorithmic trading strategies you want to in the future and easily maintain and understand what is going on with your bot. So the first thing I believe you should focus on is the idea of creating a platform for receiving data from an exchange or data source of your choice, and then using this data and storing it in a way that would allow you to backtest in the future. So this can be done in one of two ways. You can either use an existing API and create your own platform around it, and then link to this API of virtual data. And this is when you can connect to different sources such as CQG, Binance, for example, for Bitcoin and other relating crypto currencies. And you also have interactive brokers as well if you're interested in trading stocks. Those are just three to name, but there are plenty hundreds of thousands of API that are actually available online. The second option is actually to use a pre-existing connection format. So this is when there's already platforms out there that are designed to do backtesting and connect to exchanges and generally create an environment for you to create the strategies a lot easier. And this is stuff like Backtrader and Zipline for Python. And these platforms I do think are great. They're definitely easy ways to get started into trading. The problem I've always found when using these platforms is it's not yours. If there's a feature that you want to add, you might struggle adding this feature in the future, since the platform is obviously already created for you and works in a way that the original developer is designed. So I always create my platforms from scratch whenever I am designing an algorithmic trading bot. So the second step is once you have this environment set up for backtesting and fetching data for you and soaring it in a safe place for you to use in the future, you need to focus on researching and understanding the strategy that you want to implement. So when it comes to researching a strategy that works for you, this is the hard part, I guess, you're on your own here. Any strategy that you find online, I generally find it doesn't work. You know, when a strategy is released to the public, it becomes ineffective. And a lot of algorithm traders may copy this. And as a result, it's less viable in the market that we might be currently experiencing. And likewise, as the market develops and changes over time, the strategy just stays the same. So it might not be designed for the current market conditions. And it would just be a waste of time I found using other people's strategies to do focus on creating your own one here. One of the key things here will be to create your own edge and outperform others who are algorithmic trading. Creating your own edge is a lot harder than it sounds. You know, you need to find something that works for you and gives you that advantage maybe over other traders. So this could be in the form of specific timeframes or multi time frame comparisons for trades, machine learning to understand the best positions to get in and scale your position size dependent on the trade and parameters being fulfilled. You also have the option for artificial intelligence. So maybe you can make a bot that relies on AI to scan tweets and news feeds to make a social score, for example. And from this social score, you determine how likely are you to get longer or short on this position. And these are just some ideas I think you need to start thinking about is what is your edge in markets and what will get your algorithm out performing others. So the third step here is a simple sounding one, but it's far from it. It's converting your strategy into pseudocode. And the reason we change our strategy to pseudocode is to understand is our strategy viable for the platform we've created. And what pseudocode is is essentially a way of writing instructions, you know, like a recipe or cooking book that you might have. So you can lay out if something happens, do this. When x occurs, do this. It's just a way of writing in English, the instructions that your algorithm needs to think through. It's kind of like writing your thought process down of why am I doing this? How do I get there? What do I want to do? How do I react? Et cetera, et cetera. So that's what pseudocode is. And I think that this is the key step here. You need to be able to convert this strategy that you've developed and believe in into a way that the computer can understand. One thing to know when you're writing pseudocode is don't believe that nothing is impossible. Anything that you can do manually or a task that you can complete can be automated eventually. And this is where you need that right skill set and the people potentially on your team to understand what is it that you want to take from reality into code or pseudocode in this example. You have that understanding of technology to know is what I'm asking for out of my scope or am I going to need to reduce what I'm asking for? Do I need to make, is it achievable? That's the question we're trying to answer here. Is this feature that I'm implementing achievable? For me personally, adding an AI robot that scans tweets and determines the social score is currently unachievable. I think that's beyond my skill set. And that's definitely something that I think a few traders or anyone who's new to algorithm trading might agree with. It's something that would be a nice feature to add in the future. But for now, I'm going to focus on other things. So yeah, I'm not saying this is the easy part of the process. You're essentially taking human reactions, thoughts, and the processes that we think in our head naturally and maybe on the fly and writing them down in a way that a computer could potentially understand. You're basically mapping the intentions you have in your mind to the paper. And that's why pseudocode writing I think is very important. Know what you want before you start coding is always making life a lot easier for me anyways. So step number four, once you have this platform and this idea, you now need to bring it all together. You need to bring that pseudocode back together with your platform to create the strategy and implement it. This implementation and testing process I guess is the one that takes ages. This is why algorithm trading might take a few years or you know, however long to actually develop a fully working system. It's not as easy as it may seem. And after these steps, you can finally now start making strategies and testing them out. This loop I guess of implementing strategies, developing new strategies, etc, etc is the one I think a lot of traders get stuck in some get out and some never do unfortunately get out of this loop. And when you get to this stage, you need to be able to understand how do you benchmark what you're doing. You need to be able to take these results or outcomes that you achieve and evaluate them in a sense that you can actually see is this algorithm trading strategy have created viable for me? Is it going to provide a future or whatever is you're trying to achieve? Once we release it on the live markets or a paper trading account, for example, you need to compare this strategy to different models. And these models can be some things such as buying and holding the assets that you're looking at all the way to comparing the assets against the S&P or any other benchmark industry that you would potentially invest the same amount of cash in. And if you're outperforming the S&P or generally buying and holding the stock or assets that you're trading, then you're clearly doing a good job in this algorithm. So the last thing you want to do is create an algorithm that has the potential for way more risk, I guess, a lot of more work is needed in the maintenance and looking after the algorithm compared to just buying and holding some assets. And you don't really want it to be underperforming the ability, I guess, of just buying and holding these assets. What's the point of returning, say, 5% from the algorithm when buying and holding something can return 7? It's kind of a waste of time and energy. It's a lot easier just to buy the asset itself. Finally, after all of this, you have step number five, which is connecting your algorithmic trading bots or platform to a paper trading or live account. And if you've created this platform in a way where steps are taken, and then finally there's a result either goes into a position or not, you're going to have the ability to then simply replace this temporary area where it tells you that it's gone into a position with a live trading account. You use the APIs that I mentioned earlier to essentially place the orders for you onto the exchange. And that's all. Those are the five steps, I think, that briefly cover how to create algorithm trading bot. The process sounds so short and simple when I lay it out like this, but it's actually a process that could span over two or three years I've seen with some algorithmic traders. If your strategy performs perfectly fine on a paper trading account, for example, you might then move it onto a live trading account. And this is when there are even more issues that occur. You have to then take into consideration slippage, commissions, and order execution times. A strategy that works on paper trading when you don't have to take into consideration all these things might actually fail on the live market because the live market obviously behaves a lot differently. You have to worry about getting filled and not filled. And these are some things that I guess you have to also consider during this whole process. But let's just say all of that works. You've now finally created an algorithmic trading robot, and it does everything that you've initially wanted it to do. This is when you can start thinking of those other improvements I was talking about. Machine learning, for example, to increase and decrease the scale, the sizes of your positions, I want to enter a position here using 10 contracts. And then the machine learning could potentially learn over time that actually a trade like this is actually very successful. I want to actually enter with 20 positions. And doing this simple machine learning process, I guess, commit to other machine learning processes is that you can actually increase your profits without actually changing much of your strategy. Likewise, you can implement a AI that I already mentioned about the social score potentially, an index indicator, or whatever it is that looks at the, you know, tweets or news feeds to determine on the scale how likely is sentiment towards the to the long side of a bullish or bearish. And that's what we can potentially develop here with this algorithmic training bot. There are countless opportunities and ideas that haven't even been thought of yet for how to improve your algorithmic training bot. And that's the great thing about this is once you create this platform and you're able to implement all of these strategies on a basic level, you can then begin expanding over time with these additional features that can help increase your success rate and likewise increase the profits that you're turning over. So thank you everyone for watching this video all about algorithm trading and a quick overview of how the algorithm trading process might work for someone who doesn't understand, is it as simple as just writing up a strategy and releasing a straight on the market. If you're interested in algorithm trading and learns more and understanding more about the process from us here at Amplify, we do offer an algorithmic trading simulation. This algorithmic training simulation takes place over a day. It's a session where in the morning you'll learn the basics of Python. You'll be able to code some Python and get used to the idea of debugging and things like this. And then in the afternoon, we'll take you on a run through our simulation platform. And in this platform, you essentially will be given some instructions, some steps. You'll go from importing data like we discussed today in step one, all the way to the point of benchmarking against the S&P or against your assets that you've buy and holding the strategy. So if you're interested in this idea of algorithm trading and getting to know more about it, I'm potentially taking part in the simulation where you are going through the steps one to five that we discussed today. Please do reach out to us at info at AmplifyTrading.com or message me directly on LinkedIn. And I'll pass you forward to some of my colleagues who'll be able to help you out in getting involved in this simulation. So that's all there is for today. Thank you very much for watching this video. I hope I taught you something about algorithm trading and please do like and subscribe if you haven't already. If you want to stay up to date with more tech and finance or markets related videos. As always, everyone, stay safe and hope you have a great summer.