Pages:
Author

Topic: Predicting future Bitcoin Price - page 2. (Read 10662 times)

legendary
Activity: 2338
Merit: 2106
September 21, 2013, 03:33:48 AM
#23

Here is a video of one scenario for the next 1000 days (starting yesterday) of bitcoin that uses autocorrelation:
http://tinypic.com/r/a32ntz/5

The x-axis of the left 4 panels is time, they show the last 100 days of predictions for each parameter (today is "index" 1155). The topleft is the price, while it has a lower panel showing the all time price data. The heatmaps show the relationship between rate of price chage (acceleration)/distance to loess fit and the next days % price change. The density plots show the probability of choosing a given % price change for the next timepoint.

It definitely behaves like the bitcoin we all know and love. Up to 330 in about 120 days then crash to 55, then up to 2k and crash to 500, etc.



nice work! i enjoyed the part where it went way above 7 k $ most. if we all just stick to your prediction we are done.... Smiley
hero member
Activity: 728
Merit: 500
September 20, 2013, 06:09:42 PM
#22

Here is a video of one scenario for the next 1000 days (starting yesterday) of bitcoin that uses autocorrelation:
http://tinypic.com/r/a32ntz/5

The x-axis of the left 4 panels is time, they show the last 100 days of predictions for each parameter (today is "index" 1155). The topleft is the price, while it has a lower panel showing the all time price data. The heatmaps show the relationship between rate of price chage (acceleration)/distance to loess fit and the next days % price change. The density plots show the probability of choosing a given % price change for the next timepoint.

It definitely behaves like the bitcoin we all know and love. Up to 330 in about 120 days then crash to 55, then up to 2k and crash to 500, etc.


Batch Results:
hero member
Activity: 728
Merit: 500
September 20, 2013, 12:18:18 AM
#21

Did I mention I don't really know much about statistical methods? So I'll need to ask some dumb questions: that beta distribution is not motivated by anything bitcoin specific, right? You're assuming it is a good representation of peak/reversal likelihoods as a function of extreme price change, correct?. Also, I don't see how you get the actual multiplier that graph. What's the PDF that ranges from 0 to 2.5?

Another idea/question: your random walk approach worked quite okay with price change as input. What do you think are the chances that you can get some complimentary information (maybe estimating reversal likelihood) by applying it to a different domain, say, btc volume, dollar volume, OBV. Not at all sure if that could work, but I'm wondering if price (change) is the only useful input. Any intuition about this?

The beta distribution is just one I know with two modes that spans a fixed interval like that. I learned stats from the internet and playing around in R so I don't know that much either and may get stuff wrong, I mostly just do things until something looks like it makes sense and look up stuff along the way when I can't figure out how to do something... I do know that the stats I was taught (p values and null hypotheses, etc) are flawed to the point of uselessness for most purposes and what needs to be done instead is build models that predict things. Even if the model is wrong it can still be improved by later work or give someone an idea.

PDF= probability density function
http://stats.stackexchange.com/questions/4220/a-probability-distribution-value-exceeding-1-is-ok

All that is done is to multiply two densities together for each value or add them depending on what you want to do (divide each by the sum as well). This has the effect of values for % price change that are highly associated with the multiple predictors to be more likely.

In the future other stuff can be added, for example in addition to what you mentioned: forum activity, wikipedia page views, google trends. Each of these can be looked at historically to see what was going on when the price changed by a certain amount. Right now its easier to just use the info from price alone and kind of treat it like an event horizon (contains all the useful information). Currently I have the influences as acceleration of price increase, lag-1 autocorrelation, and distance from a loess curve that gets fit at every timepoint as it updates. Each of these can be given different weights and such in multiple combinations, plus I am supposed to be doing other things so I'm thinking to just use the price info and then all other information gets calculated in my brain as a more nebulous set of probabilities for the "sum of the other evidence". For example, just say the odds of the price rising in the next week are twice that of it falling. So multiply the densities of all the positive price changes by 2.

legendary
Activity: 1470
Merit: 1007
September 19, 2013, 11:08:27 AM
#20
I see it now. On the daily test I still can't really make out the difference between median and actual price, but I looked at the weekly result zoomed in and it's pretty clear there.

What is interesting is that weekly works quite well as a leading predictor even during volatile times, like the extreme run-up in before the April crash, but it completely fails when it comes to crashes -- the April 10th one, but even slightly less drastic ones, like the one on September 4th. (if I'm reading the chart correctly now)

Sorry if that's stating the obvious, but it's just that the gap is pretty noticeable. The method works well while a trend is continuing, but as it is now, it seems to have no chance to predict a sudden reversal.


Look at the beta (.5,.5) distribution here:


What I'm thinking is that when things get to the state we were at at the peak, noone really thinks it is going to level off. Either it will keep climbing or crash. So what you do at that point (in lieu of having a good peak indicator) is multiply the probabilities of choosing each price change by that distribution (transform min/max price changes to 0 and 1), thus using your judgement while forecasting to input large kurtosis risk.

Actually I think the beta distribution goes infinite as it approaches zero and one so just pad the limits with .1 or whatever...

Did I mention I don't really know much about statistical methods? So I'll need to ask some dumb questions: that beta distribution is not motivated by anything bitcoin specific, right? You're assuming it is a good representation of peak/reversal likelihoods as a function of extreme price change, correct?. Also, I don't see how you get the actual multiplier that graph. What's the PDF that ranges from 0 to 2.5?

Another idea/question: your random walk approach worked quite okay with price change as input. What do you think are the chances that you can get some complimentary information (maybe estimating reversal likelihood) by applying it to a different domain, say, btc volume, dollar volume, OBV. Not at all sure if that could work, but I'm wondering if price (change) is the only useful input. Any intuition about this?
sr. member
Activity: 392
Merit: 250
♫ A wave came crashing like a fist to the jaw ♫
September 18, 2013, 06:33:10 PM
#19
Naval Ravikant said its going to $1,000,000 per BTC, start around the 15:00 minute mark for context, but watch the whole thing, it's amazing.

http://techcrunch.com/2013/09/10/disrupt-sf-13-bitcoin-panel/
hero member
Activity: 728
Merit: 500
September 18, 2013, 06:15:31 PM
#18
I see it now. On the daily test I still can't really make out the difference between median and actual price, but I looked at the weekly result zoomed in and it's pretty clear there.

What is interesting is that weekly works quite well as a leading predictor even during volatile times, like the extreme run-up in before the April crash, but it completely fails when it comes to crashes -- the April 10th one, but even slightly less drastic ones, like the one on September 4th. (if I'm reading the chart correctly now)

Sorry if that's stating the obvious, but it's just that the gap is pretty noticeable. The method works well while a trend is continuing, but as it is now, it seems to have no chance to predict a sudden reversal.


Look at the beta (.5,.5) distribution here:


What I'm thinking is that when things get to the state we were at at the peak, noone really thinks it is going to level off. Either it will keep climbing or crash. So what you do at that point (in lieu of having a good peak indicator) is multiply the probabilities of choosing each price change by that distribution (transform min/max price changes to 0 and 1), thus using your judgement while forecasting to input large kurtosis risk.

Actually I think the beta distribution goes infinite as it approaches zero and one so just pad the limits with .1 or whatever...
legendary
Activity: 1470
Merit: 1007
September 18, 2013, 05:38:59 PM
#17
I see it now. On the daily test I still can't really make out the difference between median and actual price, but I looked at the weekly result zoomed in and it's pretty clear there.

What is interesting is that weekly works quite well as a leading predictor even during volatile times, like the extreme run-up in before the April crash, but it completely fails when it comes to crashes -- the April 10th one, but even slightly less drastic ones, like the one on September 4th. (if I'm reading the chart correctly now)

Sorry if that's stating the obvious, but it's just that the gap is pretty noticeable. The method works well while a trend is continuing, but as it is now, it seems to have no chance to predict a sudden reversal.
hero member
Activity: 728
Merit: 500
September 18, 2013, 01:34:54 PM
#16
Blue line is really dark due to image compression, so call it the thick black line that looks like the price history, the chart is getting busy so it may be kind of hard to see... It pretty much goes down the middle of the estimates. It is most obvious in the monthly chart The various colors in the background are the results of a random sampling of the simulation results. The thick grey line is the median estimate, the dotted lines towards the outside are the 67% and 95% HDIs in grey and black respectively. Sometimes they are hard to see now.

The reason there are not 365 histograms is because thats alot of histograms. Instead I chose six at equally spaced intervals, the timepoints that got chose are marked by the triangles at the bottom. You can see the start and end points of the backtesting in the monthly and weekly charts because the estimates are very tight early on then get less certain farther from the start point. The daily graph is high resolution enough that you cant really see this effect.
legendary
Activity: 1470
Merit: 1007
September 18, 2013, 01:19:47 PM
#15
Those are the results of four different backtests:
1)210 days straight
2) Backtest for 30 days then update the distribution of price changes
3) Backtest for 7 days and do like in #2
4) Backtest one day at a time

Each of them also forecasts for the same time period into the future. I simply appended the results of each backtest on to the last one to create the topleft panels. The actual price data (daily VWAP) is shown by the blue line. The arrows at the bottom of this chart indicate the timepoints at which I plotted the distribution of estimates in the histograms below (just six evenly spaced intervals). The actual prices are indicated on the histograms by the point and blue text if it fell within the 95% HDI, but in red text if it did not for that timepoint.

You can see from the 3rd set of charts (weekly), that it did not perform very well during the large rise and fall. I've since added a further influence on the choice of price change: fit a lowess curve and determine the distance of each price from the curve in the historical data. Then use this correlation to pick a similar price change as occurred historically. Its running in the background now so...

Still don't get it. I can't see a blue line (for actual price) in the topleft chart. And for test 4), if you backtested one day at a time starting about a year ago, shouldn't there be 365 of the lower histograms, each with a 1 day prediction period?
hero member
Activity: 728
Merit: 500
September 18, 2013, 12:45:56 PM
#14
It looks like a laggy trend follower to me, not particularly useful.

The black lines in the middle should be the median and the dotted lines the standard deviations.

Yes, this is to be expected since it is based entirely on historical data. All it can do is give a range of scenarios similar to what has occurred in the past. However, once the basic model is determined, we can add in the influence of a prior distribution on the price change choice (ie make it more likely to choose positive changes if we feel bullish, or negative for bearish), which should improve the forecasting given that the prior used is actually valid. Another thing is to increase the tail risk if for example the price has been "stable too long" or there are lots of black swans sensed.

Basically it will be a way to combine the "this is like 2011/2012/whatever" concept with the subjective impression due to current info on the fundamentals.
hero member
Activity: 728
Merit: 500
September 18, 2013, 12:37:31 PM
#13
Those are the results of four different backtests:
1)210 days straight
2) Backtest for 30 days then update the distribution of price changes
3) Backtest for 7 days and do like in #2
4) Backtest one day at a time

Each of them also forecasts for the same time period into the future. I simply appended the results of each backtest on to the last one to create the topleft panels. The actual price data (daily VWAP) is shown by the blue line. The arrows at the bottom of this chart indicate the timepoints at which I plotted the distribution of estimates in the histograms below (just six evenly spaced intervals). The actual prices are indicated on the histograms by the point and blue text if it fell within the 95% HDI, but in red text if it did not for that timepoint.

You can see from the 3rd set of charts (weekly), that it did not perform very well during the large rise and fall. I've since added a further influence on the choice of price change: fit a lowess curve and determine the distance of each price from the curve in the historical data. Then use this correlation to pick a similar price change as occurred historically. Its running in the background now so...
legendary
Activity: 1666
Merit: 1057
Marketing manager - GO MP
September 18, 2013, 12:33:11 PM
#12
It looks like a laggy trend follower to me, not particularly useful.

The black lines in the middle should be the median and the dotted lines the standard deviations.
legendary
Activity: 1470
Merit: 1007
September 18, 2013, 10:57:09 AM
#11
OK here are sliding backtest results.

I admit defeat. How do I read those latest results? Are the "sliding" test results only visible in the upper log chart? If so, how can I compare test result with actual price?
hero member
Activity: 728
Merit: 500
September 17, 2013, 03:19:21 PM
#10
OK here are sliding backtest results.

210 days:

Monthly (30 days):

Weekly (7 days):

Daily:
hero member
Activity: 728
Merit: 500
September 17, 2013, 08:50:05 AM
#9
And here is 1 year back-testing. The median is not so accurate now but still I think this model is stronger (if it wasnt for the arbitrary standard deviation when assigning the percent change weights). Also the heatmaps in the last post should have had their axes multiplied by 100 to be percents.


hero member
Activity: 728
Merit: 500
September 17, 2013, 07:08:05 AM
#8
With regards to putting more constraints/dependancies, there is a nice linear relationship between the "acceleration of price change" (x axis) and percent chance in price one day later (y-axis):


In the figures above I sampled a change in price putting uniform weights on all, instead we can make some more likely to be chosen (shown by the heatmaps above for the points shown in black). In that case here is a repeat of the first figure:



Now the distribution shown in the heatmap just a normal distribution with standard deviation (.3) which is arbitrary. This appears to be a good skeleton for a model though.


Really interesting. Thanks for sharing this. By the way, I can see the images fine.

Some notes/observations:

the 95% interval is, hm, sort of useless for our purposes, isn't it? The range is huge (as you would expect), so not much information can be gained from that. Except maybe to tell the uber-bulls that a 100k $/btc price next year is exceedingly unlikely Tongue

at a glance, the median appears to be more accurate than the mean. What is really puzzling is that in your backtest looking 1 year ahead, a) mean and median diverge a lot (350 vs 149), and b) the meanmedian is actually remarkably accurate. Just a lucky guess, or not, I don't know. But that's a pretty remarkable result for a relatively simple model, no?

Would be interesting to see how the model works in a "sliding" backtest, say: 1 week prediction, starting 1 year ago, moving forward 1 week each iteration. Looking at the result of your backtest, the median might turn out to be a pretty good predictor of the price one week later, which for trading purposes would be already very useful, but it would be *really* interesting to see how the model performs a week before April 10 2013, or a week before one of the other wild price swings in May.

EDIT: wrote 'mean', meant 'median'

This would be kind of a pain to assess the results of, you think just compare the median with the actual price for the statistic?

I tried going to that site and it wanted to install something as far as i could tell. This site is just the first one that comes up with a search( "postimg.org"). Not sure why it would not display for you.
Sorry to hear that. This is what I see: http://i.imgur.com/dus4hIc.jpg

I can't see the picture in your post: http://s12.postimg.org/8obt1tyij/Gox_Predict001.png, the new url is http://s12.postimg.org/omkirysqj/Gox_Predict001.png for me. It must be an error on your part or some silly protection scheme from postimg.

Here are the results if I had done this 1 year ago and predicted a year into the future (ie it does not include the price changes after 365 days ago).
The actual prices are noted by the red text:

Can you use a logarithmic scale? It's hard to understand what goes on from a flat line and an exponential J curve.
Yes I could do that. There was an annoying technical reason it is not already like that.
legendary
Activity: 1414
Merit: 1000
September 16, 2013, 10:59:50 AM
#7

Sorry to hear that. This is what I see: http://i.imgur.com/dus4hIc.jpg



I can see the images fine.
legendary
Activity: 1442
Merit: 1005
September 16, 2013, 10:56:55 AM
#6
I tried going to that site and it wanted to install something as far as i could tell. This site is just the first one that comes up with a search( "postimg.org"). Not sure why it would not display for you.
Sorry to hear that. This is what I see: http://i.imgur.com/dus4hIc.jpg

I can't see the picture in your post: http://s12.postimg.org/8obt1tyij/Gox_Predict001.png, the new url is http://s12.postimg.org/omkirysqj/Gox_Predict001.png for me. It must be an error on your part or some silly protection scheme from postimg.

Here are the results if I had done this 1 year ago and predicted a year into the future (ie it does not include the price changes after 365 days ago).
The actual prices are noted by the red text:

Can you use a logarithmic scale? It's hard to understand what goes on from a flat line and an exponential J curve.
legendary
Activity: 1470
Merit: 1007
September 16, 2013, 10:50:45 AM
#5
Really interesting. Thanks for sharing this. By the way, I can see the images fine.

Some notes/observations:

the 95% interval is, hm, sort of useless for our purposes, isn't it? The range is huge (as you would expect), so not much information can be gained from that. Except maybe to tell the uber-bulls that a 100k $/btc price next year is exceedingly unlikely :P

at a glance, the median appears to be more accurate than the mean. What is really puzzling is that in your backtest looking 1 year ahead, a) mean and median diverge a lot (350 vs 149), and b) the meanmedian is actually remarkably accurate. Just a lucky guess, or not, I don't know. But that's a pretty remarkable result for a relatively simple model, no?

Would be interesting to see how the model works in a "sliding" backtest, say: 1 week prediction, starting 1 year ago, moving forward 1 week each iteration. Looking at the result of your backtest, the median might turn out to be a pretty good predictor of the price one week later, which for trading purposes would be already very useful, but it would be *really* interesting to see how the model performs a week before April 10 2013, or a week before one of the other wild price swings in May.

EDIT: wrote 'mean', meant 'median'
hero member
Activity: 728
Merit: 500
September 16, 2013, 10:07:38 AM
#4
Here are the results if I had done this 1 year ago and predicted a year into the future (ie it does not include the price changes after 365 days ago).
The actual prices are noted by the red text:



Bro, do you even imgur.com? I can't see your pictures.
I tried going to that site and it wanted to install something as far as i could tell. This site is just the first one that comes up with a search( "postimg.org"). Not sure why it would not display for you.
Pages:
Jump to: