Compare options trading commissions17 comments
There are fields where dilettantism cannot cause any harm. Algorithmic trading is not one of these. Because if you are writing a program to automatically make you money, you can just as easily write on to automatically lose you money. Remember what happened to Knight Capital? It was a fairly obvious place for a beginner to start, and this approach is what I had seen some people throwing together on some crypto trading forums.
My implementation was crude, there were many variables I had to guess at. The algorithm works as follows:. So what you are doing is guessing that the market has some average price and you are smoothing out the temporary spikes and drops.
And, if there is a quick move that does not correct soon, you could get screwed, but overall you are providing liquidity to the exchange and absorbing a temporary excess in trades in either direction.
This is good if you are making money consistently, and if your working capital gets wiped out infrequently it does not matter. But if you are making money slowly, a big move will wipe out your profits for months. I wonder if the big market makers on the major exchanges buy call options in case of massive moves? This is actually what big market makers do on stock exchanges. There may not be a specific buyer, but a market maker with deep pockets will step in to make sure there is liquidity, in exchange for a penny or so of profit.
I next became interested in the idea making a trading bot that would execute momentum style trades based on a Moving Average Convergence Divergence strategy. The basic idea of MACD is pretty simple: The thesis behind this is as follows: Interestingly, the thesis behind momentum trading and the entire MACD strategy appears opposed to that of the idea of a mean reversion strategy.
On one hand you are saying a market gains momentum in each direction, while on the other hand you are saying that the market should revert to the mean. However, in practice you are looking at different time frames on the order of seconds vs on the order of hours or days. I tried this for a time as well but ultimately was too afraid to risk a large amount of capital.
This primarily was due to backtesting results. While running another website I had amassed a large database of historical pricing data which I could run back-tests against years worth of sub-minute quotes. I tried a fairly exhaustive set of variations in my backtests but with the 0. Perhaps my expectations of profit margin were too high, or perhaps the fee was too high, but I just could not find a good set of backtest parameters that worked for me with what I felt was an appropriate margin of safety.
I ended up making a Java library out of this one. In plain english this means that you try to find a path through a set of currencies where you end up with more money than what you started with. You can guess again what kills you here: Secondly, these arbitrage opportunities are usually ephemeral: I became very annoyed at having to deal with this, and the lag associated would kill the speed at which I could complete the trade cycles, even if I could control execution price a bit better.
Ultimately, with this algorithm I never even got the trading side working. I just wrote the code that would compute these negative cycles and realized it would not often to be profitable to make the trades. Trying these different strategies was intrinsically interesting, but also interesting as a software developer doing the implementation.
It is not often you get to write code that so directly can make or lose money, and doing it instills in you a special level of attention to detail and carefulness. There were so many variables to consider with algorithmic trading code, and performance and timing became important as never before. Let me know if you have any experience with it and suggestions for a beginner.
Algorithmic Trading Experiments With Cryptocurrency There are fields where dilettantism cannot cause any harm. The algorithm works as follows: Compute an average point from some previous time period. Set an amount above this where you sell, place the order on the books Set an amount below the average where you buy, place the order on the books Every few seconds cancel all orders and repeat steps Here is a diagram explaining trading on mean reversions from quantopian This is actually what big market makers do on stock exchanges.
A Moving Average Convergence Divergence bot I next became interested in the idea making a trading bot that would execute momentum style trades based on a Moving Average Convergence Divergence strategy. Here is one of the more clear images I could find demonstrating this: Bellman-Ford style currency arbitrage.
In the future Trying these different strategies was intrinsically interesting, but also interesting as a software developer doing the implementation.