liquidcarrot / carrot

🥕 Evolutionary Neural Networks in JavaScript
https://liquidcarrot.io/carrot/
MIT License
293 stars 34 forks source link

Create Trading Bot Environment #57

Open christianechevarria opened 5 years ago

christianechevarria commented 5 years ago

Building a trading bot with publicly available trading data like Coindesk's API is painful: https://api.coindesk.com/v1/bpi/historical/close.json?start=2010-07-17&end=2018-03-24

We should be able to simplify the process of training a bot by creating an environment that generate / simulates real training data in a normalized way.

D-Nice commented 5 years ago

I wouldn't know what would be involved in the generation or simulation of asset pricing, and presume any such data would likely not translate well in a real-world environment. My own solution around API pains was utilizing CCXT https://github.com/ccxt/ccxt, which is at least an improvement to providing a more standardized API.

luiscarbonell commented 5 years ago

@D-Nice CCXT is a gold mine!

@christianechevarria Would be cool to create "module-based" environment where you can associate more information with certain tickers and networks to the appropriate information. Like a multi-network mesh - blending latent market data with specific ticker data. If we can train a generalized "bot"/model in a simulated environment it should be able to quickly converge on great solutions in a real-world environment if we do not make a lot of assumptions going in (i.e. we avoid over-fitting by drowning networks in exposure to highly different environments)...thoughts?

christianechevarria commented 5 years ago

@D-Nice this looks really really excellent! Thanks for sending it over

@D-Nice CCXT is a gold mine!

@christianechevarria Would be cool to create "module-based" environment where you can associate more information with certain tickers and networks to the appropriate information. Like a multi-network mesh - blending latent market data with specific ticker data. If we can train a generalized "bot"/model in a simulated environment it should be able to quickly converge on great solutions in a real-world environment if we do not make a lot of assumptions going in (i.e. we avoid over-fitting by drowning networks in exposure to highly different environments)...thoughts?

I like this approach, if we design a nice way to drop in GANs we can really get some powerful stuff going. I think this would make for an amazing demo too, let's put together a feature list that we would need to reasonably pull this off. Off the top of my head we need RL, GANs, and this environment system to make it good...

christianechevarria commented 5 years ago

@D-Nice this looks really really excellent! Thanks for sending it over

@D-Nice CCXT is a gold mine! @christianechevarria Would be cool to create "module-based" environment where you can associate more information with certain tickers and networks to the appropriate information. Like a multi-network mesh - blending latent market data with specific ticker data. If we can train a generalized "bot"/model in a simulated environment it should be able to quickly converge on great solutions in a real-world environment if we do not make a lot of assumptions going in (i.e. we avoid over-fitting by drowning networks in exposure to highly different environments)...thoughts?

I like this approach, if we design a nice way to drop in GANs we can really get some powerful stuff going. I think this would make for an amazing demo too, let's put together a feature list that we would need to reasonably pull this off. Off the top of my head we need RL, GANs, and this environment system to make it good...

And by feature list I also mean something like a milestone