You're going to want to create some system of hysteresis for profit switching that takes a number of factors into account. For instance, HashCows offen jumps to coins which are *slightly* more profitable than the current coin, only to jump back a minute later with no gains to show for the switch, when it would be more profitable to simply stay on the current coin. Properly filtering this will need to bias the coin choices based on past history. Some other things to consider include:
- Price at multiple exchanges
- Time of exchange confirms (cryptsy can take hours, and end up trading the coins at a much lower rate)
- Average reject rate for users (for instance, FastCoin = high reject rate on my rig)
- Average profitability of the coin over time
- Coin parameters (finishing blocks vs switching now, etc)
Likely scenario would be to score all of these factors as a low-pass filtered average over several time windows, then assign weights to them for each time window and finally weight them against each other. Rather than determining the weight manually, you should consider a system that evaluates different weightings and finds the ideal one.
For instance, imagine we construct min/average/max profitability for each coin for various time windows (say, 20 minutes, hourly, 6 hour, days, etc, based purely on exchange value). Assuming we're using cryptsy, we can look at the average time between transfer and trade to determine a possible variance on price over that time (based on our min value during a time period matching the average trade time for cryptsy). This gives us a reasonable projection of price and variance by the time we get to the exchange. Factor in the historical reject rate for the coin (averaged by users), and perhaps the slope of the coin over a long time window (for instance, doge has been going down for days), and you get a pretty decent score for your coin. More importantly, it's unlikely that a small spike in the data (single bogus trade, etc) is going to cause the system to thrash over to the wrong coin.
Anyway, you get the idea..
brb talking to my finance buddy. but seriously very insightful. I imagined developing some sort of algorithm thats better than the most profitable at the moment but this is something else.