So let's start a discussion about the algorithms and develop the data model.
First, the development of this has been extremely interesting to follow. It's gone from the most basic market comparison tool, to an intricate multi-currency sniper.
As far as the algorithm and goals: Anything that spreads around trade liquidity is good for Bitcoin. It will also act to trim swings, neutralizing needless volatility. The OpenPay project also benefits from reduced volatility, as an added bonus.
I could see this platform running 24/7. Long term profit would be a close second to short term gains.
If the goal of this is "the market has some action today, better fire up ATP", as long as its use is clear, I'm ok with that too.
The current market can be traded with very basic techniques, with relatively good results. I think your current goals are in line with where the opportunities will be in the future - less obvious, short-lived, and smaller.
Thanks, I appreciate it.
There are a few end goals with this. Firstly, there are markets where the trading volume is 0, they are completely illiquid. This means someone can't get into or out of a position. That is a problem from the standpoint of OpenPay because for merchants to adopt OpenPay, they will need to be able to get into and out of a bitcoin position rapidly.
I'm a firm believer in not re-inventing the wheel. MtGox is good enough for the major currencies but I've noticed that there are other exchanges for some of the currencies that have no liqiudity at all on MtGox. If you run the numbers there are significant arbitrage opportunities in cross currency, cross exchange arbitrage. For instance, on BTC-e you can buy bitcoins for USD 12.29, you can sell those same bitcoins on MtGox for $12.54, that's a profit of 0.25 USD. If you were to trade 100 BTC this way you're talking about $25.00USD profit. However if you sold those same coins into GBP on MtGox you would make a $31.00 profit, the question then becomes how do I get out of a currency position that is not my preferred local currency. (the answer is to wait for the price to drop and take advantage of that differential to close your position out).
The VWAP algorithm is a sound one for making money on the peaks and valleys of the market. If you swap VWAP for VWAC in the equation and you apply a conversion factor to all trades to ensure you are always on the profitable side, the algorithm grows even stronger. I've also been asked to look substituting the stochastic oscillator algorithm, which is a possibility, but I don't think that would work on MtGox. Nevertheless if enough people want to donate to see it happen I'll be willing to add it as an option while I'm in here.
However all that aside, it's because of opportunities like the ones described above, that I am convinced that converting the application to a "meta market" trader would be a good idea from the standpoint of the OpenPay mission.
I have to go for a few hours, but when I come back I'm going to lay out the new algorithm as I see it and solicit your feedback. Assuming it's generally well liked, we can build a data model and some unit tests around it. Once we have the model I'll start working on a new more generalized API for dealing with the various exchanges. The goal being to support arbitrage across as many exchanges simultaneously as possible.