Bitcoin Forum
May 05, 2024, 08:48:47 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 »  All
  Print  
Author Topic: Bitcoin, EUR/USD, and AUD/USD short term predictions using machine learning  (Read 1421 times)
K128kevin2 (OP)
Sr. Member
****
Offline Offline

Activity: 322
Merit: 250


View Profile
January 12, 2016, 01:32:39 AM
 #1

I run a website (www.btcpredictions.com) which I posted about on here close to a year ago. I got helpful feedback from people, so I thought I would ask here again because I've just recently made some major changes.

This site uses artificial intelligence algorithms to try to predict future bitcoin prices over the next 24 hours and 5 days. The predictions are displayed on simple charts. The major changes that I've made in this newest version is that it now predicts aud/usd and eur/usd exchange rates in addition to bitcoin, and that it shows past performance (which won't start working until tomorrow). I'll be adding more currency pairs soon too.

Anyway I was hoping to see what people thought, and get some suggestions on what could improve. I know the ui is a bit crappy... I'm more of a back-end software kind of guy. There are some bugs in it too, but it seems to be functioning mostly for the moment.

Any constructive feedback would be much appreciated!
Make sure you back up your wallet regularly! Unlike a bank account, nobody can help you if you lose access to your BTC.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
talks_cheep
Legendary
*
Offline Offline

Activity: 1036
Merit: 1000


View Profile
January 12, 2016, 03:27:09 AM
 #2

Didn't you have a neural network or something like it? If I remember correctly, it didn't work very well. Have you made major strides since then?

NorrisK
Legendary
*
Offline Offline

Activity: 1946
Merit: 1007



View Profile
January 12, 2016, 07:31:54 AM
 #3

I was wondering why you need people to create an account? To be honest, I don't really want to make accounts for every small service out there. I allready have way too many accounts.

If it is just for showing the price predictions, I think you could do without the sign up part.
rebuilder
Legendary
*
Offline Offline

Activity: 1615
Merit: 1000



View Profile
January 12, 2016, 07:50:00 AM
 #4

The chart for past performance doesn't seem to load. Firefox on linux.

Selling out to advertisers shows you respect neither yourself nor the rest of us.
---------------------------------------------------------------
Too many low-quality posts? Mods not keeping things clean enough? Self-moderated threads let you keep signature spammers and trolls out!
WENGER
Sr. Member
****
Offline Offline

Activity: 274
Merit: 250


Negative rating was requested by me (SFR10)


View Profile WWW
January 12, 2016, 09:48:40 AM
 #5

The site doesn't look creepy but rather very simple interface and it seems it lacks functionality. I tried using IE,chrome and firefox but when I click charts, noting shows up, only next and past text. The website seems to only have some explanation as far as what I could see unless I have to sign up before some stuff show up. Aside from these the site loads fast.
K128kevin2 (OP)
Sr. Member
****
Offline Offline

Activity: 322
Merit: 250


View Profile
January 12, 2016, 11:12:46 AM
 #6

Didn't you have a neural network or something like it? If I remember correctly, it didn't work very well. Have you made major strides since then?

I'm not sure when you last saw the site, but I've made changes over time here and there. For a few months it was actually doing shockingly well, although the past week ish it's been not too great. I'm always working on improving it.

Quote
I was wondering why you need people to create an account? To be honest, I don't really want to make accounts for every small service out there. I allready have way too many accounts.

If it is just for showing the price predictions, I think you could do without the sign up part.

It won't send you any emails other than to sign up, and if you need to reset your password. There are a lot of reasons that it now requires sign up, one of which is so that I can get a better idea of site usage.

Quote
The chart for past performance doesn't seem to load. Firefox on linux.

The performance doesn't load because there is no past performance yet because the site has been up for less than 24 hours. Check again tomorrow night

Quote
The site doesn't look creepy but rather very simple interface and it seems it lacks functionality. I tried using IE,chrome and firefox but when I click charts, noting shows up, only next and past text. The website seems to only have some explanation as far as what I could see unless I have to sign up before some stuff show up. Aside from these the site loads fast.

Yes you need to sign up. It won't send you any emails other than to verify your account. The page to sign up is here: http://www.btcpredictions.com/signup
n2004al
Legendary
*
Offline Offline

Activity: 1134
Merit: 1000


View Profile
January 12, 2016, 04:33:53 PM
 #7

I run a website (www.btcpredictions.com) which I posted about on here close to a year ago. I got helpful feedback from people, so I thought I would ask here again because I've just recently made some major changes.

This site uses artificial intelligence algorithms to try to predict future bitcoin prices over the next 24 hours and 5 days. The predictions are displayed on simple charts. The major changes that I've made in this newest version is that it now predicts aud/usd and eur/usd exchange rates in addition to bitcoin, and that it shows past performance (which won't start working until tomorrow). I'll be adding more currency pairs soon too.

Anyway I was hoping to see what people thought, and get some suggestions on what could improve. I know the ui is a bit crappy... I'm more of a back-end software kind of guy. There are some bugs in it too, but it seems to be functioning mostly for the moment.

Any constructive feedback would be much appreciated!

So you have created the site which predict the price (value) of bitcoin compared to one or other currencies. Good invention. But I have a question. You tell that you have used "artificial intelligence algorithms" to predict future prices of bitcoin. My first question is: since this kind of algorithms are created by the mind of an human (yours in this case) and, as I know, this kind of existence (named human brain) is not yet able to realize such kind of "job" that your site do, how is possible that the product be more intelligent that the creator? The human brain cannot give to your site that what is not able to have. At least this is what tell my brain. Maybe I'm wrong. If so can you correct me?
rebuilder
Legendary
*
Offline Offline

Activity: 1615
Merit: 1000



View Profile
January 12, 2016, 05:01:40 PM
 #8

Could you draw the average error as upper and lower bounds to the predicted price? It might outline the nature of the predictions better.

Selling out to advertisers shows you respect neither yourself nor the rest of us.
---------------------------------------------------------------
Too many low-quality posts? Mods not keeping things clean enough? Self-moderated threads let you keep signature spammers and trolls out!
oda.krell
Legendary
*
Offline Offline

Activity: 1470
Merit: 1007



View Profile
January 12, 2016, 05:35:39 PM
 #9

Always interesting to see new methods (especially ML based) here. Thanks for the stimulus :)

A few remarks:

* While I'm guilty of 'black box' posting myself, it would of course be a lot more interesting to look a bit behind the veil of your algorithm. I gather it's an ANN-based predictor. Anything more you want to say about it?

What NN architecture specifically? And, maybe most importantly, a few words about the structure (and features) of your input, and what exactly you have been training here?

(EDIT: As in: Vector or scalar input? Price only, or other factors? Uniform time scale, or several? Any idea how to describe, qualitatively, what your input represents, and what the generalization is your network (ideally) learned?)

* The way it looks now, the network predicts a moderate rise over the next 5 days, to around $560/565. As it stands now, those predictions are a bit "isolated", so ideally, you would add the following:

(a) An additional output of your predictor that represent the certainty of your network wrt its prediction. Probably could be done as another error function you need to train (training aims to reduce the combined error then, of 'price deviation' and 'confidence deviation').

This suggestions is probably similar to rebuilder's request above, but possibly, to do what he asks, you'd first need to implement something like (a).

(b) Tracking how your method performed on the site. Even if (a) above is too much effort, it should be not too much effort to graph the history of prediction vs. actual price. Possibly, you were already planning to do so. There's probably more than one way to implement that one in detail, since I expect the output of your NN to get closer to the actual price as the prediction distance gets smaller.

Perhaps, even though it might be a bit of a hack, you could discretely color-code the prediction output vs. price for different distances, e.g. at time N, you plot the actual price of N, plus the price predicted by the NN at N-5 days (in red), plus the prediction of N-4 days (in orange), etc., up to maybe N-1 day.

(Apologies to the data scientists and statisticians :D ... as you can see, I have no damn clue how to properly plot error for a rolling window method)

Not sure which Bitcoin wallet you should use? Get Electrum!
Electrum is an open-source lightweight client: fast, user friendly, and 100% secure.
Download the source or executables for Windows/OSX/Linux/Android from, and only from, the official Electrum homepage.
teonoaro
Member
**
Offline Offline

Activity: 83
Merit: 10


View Profile
January 12, 2016, 05:50:14 PM
 #10

Well,
First of all, Congrats for the site.
Second of all, I don't like the site. You need to put sometime to design the website professionally, if you have friend with good designing knowledge have him to help you. This is mandatory.
Third of all, As the site is up in a while, you would have asked our feedback after few days.
Then,

About page and Contack information are enough for this site.

You need to put some Cautionary information stating this is an machine learning prediction thing.
americanpegasus
Hero Member
*****
Offline Offline

Activity: 770
Merit: 500



View Profile
January 12, 2016, 06:05:41 PM
 #11

Did your neural net predict that most people are not going to give you an e-mail address for a wonky price prediction? 
 
Because I'm not even going to give Wall Street Journal an e-mail to read articles; why would most people give you one? 
 
If you insist on this foolish scheme, show everyone the predictions from 48 hours ago and require an e-mail address to view up to the minute predictions.

Account is back under control of the real AmericanPegasus.
belmonty
Sr. Member
****
Offline Offline

Activity: 295
Merit: 250


View Profile
January 12, 2016, 06:41:08 PM
 #12



Quote
The site doesn't look creepy but rather very simple interface and it seems it lacks functionality. I tried using IE,chrome and firefox but when I click charts, noting shows up, only next and past text. The website seems to only have some explanation as far as what I could see unless I have to sign up before some stuff show up. Aside from these the site loads fast.

Yes you need to sign up. It won't send you any emails other than to verify your account. The page to sign up is here: http://www.btcpredictions.com/signup

What will you do with the email addresses you gather? Some sites sell them on to advertising companies. How do we know you are telling the truth if you say you will keep them private and only use them for sign up? Some companies make a living harvesting email addresses.
oda.krell
Legendary
*
Offline Offline

Activity: 1470
Merit: 1007



View Profile
January 12, 2016, 07:02:07 PM
 #13

^, ^^

Just sign up with your spam mail address. I'm pretty sure that's what everyone does in cases like this, right?

Really doesn't seem worth the effort to go into a fight about principles here - it's not like OP is asking for your CC info, or anything that's of actual importance.

Not sure which Bitcoin wallet you should use? Get Electrum!
Electrum is an open-source lightweight client: fast, user friendly, and 100% secure.
Download the source or executables for Windows/OSX/Linux/Android from, and only from, the official Electrum homepage.
americanpegasus
Hero Member
*****
Offline Offline

Activity: 770
Merit: 500



View Profile
January 12, 2016, 07:12:29 PM
 #14

^, ^^

Just sign up with your spam mail address. I'm pretty sure that's what everyone does in cases like this, right?

Really doesn't seem worth the effort to go into a fight about principles here - it's not like OP is asking for your CC info, or anything that's of actual importance.
 
 
It's like the homeless guy who comes into the local gas station and steals a cookie every day.  It's just a cookie right?  It's not really hurting anyone. 
 
But it begins the slow slide towards degeneracy.  Websites simply displaying information do not need an e-mail address. 
 
I *love* the idea of using neural networks to help predict asset prices.  This is awesome!  But I refuse to participate in nonsense.  How can I trust your models and methods if you are so clueless about visitor desires and behavior?  You are purporting to be able to predict human behavior with regards to price, but yet you show right out of the gate that you are clueless with regards to human behavior regarding how they want to view your information. 
 
This site needs to get rid of this, or provide a basic service and then an advanced service to registered members. 
 

Account is back under control of the real AmericanPegasus.
belmonty
Sr. Member
****
Offline Offline

Activity: 295
Merit: 250


View Profile
January 12, 2016, 07:21:33 PM
 #15

^, ^^

Just sign up with your spam mail address. I'm pretty sure that's what everyone does in cases like this, right?

Really doesn't seem worth the effort to go into a fight about principles here - it's not like OP is asking for your CC info, or anything that's of actual importance.
 
 
It's like the homeless guy who comes into the local gas station and steals a cookie every day.  It's just a cookie right?  It's not really hurting anyone. 
 
But it begins the slow slide towards degeneracy.  Websites simply displaying information do not need an e-mail address. 
 
I *love* the idea of using neural networks to help predict asset prices.  This is awesome!  But I refuse to participate in nonsense.  How can I trust your models and methods if you are so clueless about visitor desires and behavior?  You are purporting to be able to predict human behavior with regards to price, but yet you show right out of the gate that you are clueless with regards to human behavior regarding how they want to view your information. 
 
This site needs to get rid of this, or provide a basic service and then an advanced service to registered members. 
 


There have been countless scams here and they often requested email addresses to participate. People get scammed, and no doubt had their email addresses sold. Most bitcointalk members are aware of this, and the OP should be. Asking for email addresses without good reason raises warning flags, and the OP shouldn't be doing it if he wants us to trust his site.
oda.krell
Legendary
*
Offline Offline

Activity: 1470
Merit: 1007



View Profile
January 12, 2016, 08:02:39 PM
 #16

Really doesn't seem worth the effort to go into a fight about principles here - it's not like OP is asking for your CC info, or anything that's of actual importance.

I already said everything I believe needs to be said here. /OT

Not sure which Bitcoin wallet you should use? Get Electrum!
Electrum is an open-source lightweight client: fast, user friendly, and 100% secure.
Download the source or executables for Windows/OSX/Linux/Android from, and only from, the official Electrum homepage.
uki
Legendary
*
Offline Offline

Activity: 1358
Merit: 1000


cryptojunk bag holder


View Profile
January 12, 2016, 09:36:16 PM
 #17

^, ^^

Just sign up with your spam mail address. I'm pretty sure that's what everyone does in cases like this, right?

Really doesn't seem worth the effort to go into a fight about principles here - it's not like OP is asking for your CC info, or anything that's of actual importance.
 
  
It's like the homeless guy who comes into the local gas station and steals a cookie every day.  It's just a cookie right?  It's not really hurting anyone.  
  
But it begins the slow slide towards degeneracy.  Websites simply displaying information do not need an e-mail address.  
  
I *love* the idea of using neural networks to help predict asset prices.  This is awesome!  But I refuse to participate in nonsense.  How can I trust your models and methods if you are so clueless about visitor desires and behavior?  You are purporting to be able to predict human behavior with regards to price, but yet you show right out of the gate that you are clueless with regards to human behavior regarding how they want to view your information.  
  
This site needs to get rid of this, or provide a basic service and then an advanced service to registered members.  
I agree with that. I also wanted to have a look on the chart, and discuss it a bit, as this sounds as really an interesting approach. But, giving up my mail somehow puts me off. There is absolutely no need to ask for that. To the contrary, if I can see the charts and find them interesting I will be the first one to actually drop you a mail with questions. A pity, and sorry for yet another OT post.

this space is intentionally left blank
K128kevin2 (OP)
Sr. Member
****
Offline Offline

Activity: 322
Merit: 250


View Profile
January 12, 2016, 09:42:26 PM
 #18

So you have created the site which predict the price (value) of bitcoin compared to one or other currencies. Good invention. But I have a question. You tell that you have used "artificial intelligence algorithms" to predict future prices of bitcoin. My first question is: since this kind of algorithms are created by the mind of an human (yours in this case) and, as I know, this kind of existence (named human brain) is not yet able to realize such kind of "job" that your site do, how is possible that the product be more intelligent that the creator? The human brain cannot give to your site that what is not able to have. At least this is what tell my brain. Maybe I'm wrong. If so can you correct me?

That's a fun an interesting point of discussion in my opinion. Actually, computers and AI often outperform humans at many tasks. The most obvious example (not AI) is a calculator. A calculator is created by humans and it can far outperform us at performing mathematical computations.

Neural networks can also outperform humans at some tasks. One surprising example is that they are very good at recognizing hand written digits. The first neural network I ever created performed this task, and it was better at recognizing the poorly written digits than I was!

The reason that neural networks are not limited by what humans can do is because we, as humans, don't directly program them to perform tasks. We program a neural network to be able to LEARN how to do a certain task, and they can sometimes eventually learn the task better than a human.

A computer can be more intelligent than its "creator" because you don't teach it what you know - you teach it how to learn.
K128kevin2 (OP)
Sr. Member
****
Offline Offline

Activity: 322
Merit: 250


View Profile
January 12, 2016, 09:43:30 PM
 #19

Could you draw the average error as upper and lower bounds to the predicted price? It might outline the nature of the predictions better.

Thanks for the suggestion, others have suggested this too in the past. I may do this eventually. It's tough though because the price will not always be within the average error range. I think people may misread it, but I may try it anyway.
K128kevin2 (OP)
Sr. Member
****
Offline Offline

Activity: 322
Merit: 250


View Profile
January 12, 2016, 09:50:51 PM
 #20

Always interesting to see new methods (especially ML based) here. Thanks for the stimulus Smiley

A few remarks:

* While I'm guilty of 'black box' posting myself, it would of course be a lot more interesting to look a bit behind the veil of your algorithm. I gather it's an ANN-based predictor. Anything more you want to say about it?

What NN architecture specifically? And, maybe most importantly, a few words about the structure (and features) of your input, and what exactly you have been training here?

(EDIT: As in: Vector or scalar input? Price only, or other factors? Uniform time scale, or several? Any idea how to describe, qualitatively, what your input represents, and what the generalization is your network (ideally) learned?)

* The way it looks now, the network predicts a moderate rise over the next 5 days, to around $560/565. As it stands now, those predictions are a bit "isolated", so ideally, you would add the following:

(a) An additional output of your predictor that represent the certainty of your network wrt its prediction. Probably could be done as another error function you need to train (training aims to reduce the combined error then, of 'price deviation' and 'confidence deviation').

This suggestions is probably similar to rebuilder's request above, but possibly, to do what he asks, you'd first need to implement something like (a).

(b) Tracking how your method performed on the site. Even if (a) above is too much effort, it should be not too much effort to graph the history of prediction vs. actual price. Possibly, you were already planning to do so. There's probably more than one way to implement that one in detail, since I expect the output of your NN to get closer to the actual price as the prediction distance gets smaller.

Perhaps, even though it might be a bit of a hack, you could discretely color-code the prediction output vs. price for different distances, e.g. at time N, you plot the actual price of N, plus the price predicted by the NN at N-5 days (in red), plus the prediction of N-4 days (in orange), etc., up to maybe N-1 day.

(Apologies to the data scientists and statisticians Cheesy ... as you can see, I have no damn clue how to properly plot error for a rolling window method)

Thanks for the detailed feedback, I really appreciate you taking the time to write this stuff out!

So yeah I guess it is a bit of a black box post... sorry about that. I usually don't go into details in an initial post about something like this because the majority of people wouldn't really know what I'm talking about since you'd have to have a background in machine learning.

Anyway the predictions are created by feed forward neural networks with varying numbers of layers and sizes. Generally it's 4 or 5 layers, and sizes are mostly in the 100-200 node range, but they are all different. The inputs for bitcoin are change in both price and volume leading up to the point at which predictions are being made, and for currencies it is just price. Also I'm happy to go into more detail about stuff if you'd like to contact me directly at btcpredictions@gmail.com.

a. A confidence interval would be wonderful, and others have suggested that too. Unfortunately, the way the model works, that data isn't really available. I may experiment with more probabilistic models in the future because I do agree that a confidence interval would be extremely valuable and interesting to see.

b. This feature actually exists already. It hasn't shown up yet because there aren't 24 hours worth of predictions yet (at this point, the site went up about 21 hours ago. A little later tonight, you should start seeing those charts. I'm excited to see them actually because the euro/usd and aud/usd predictions have not been tested yet at all.

Thanks again for the feedback! Like I said, feel free to shoot me an email if you'd like to get into more detail about the actual neural network.
Pages: [1] 2 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!