Algorithmic Trading

What books/sources do I have to read to program a breddy gud trading bot? I'm OK at python and maths. Is machine learning necessary?

Other urls found in this thread:

cryptotrader.org/
youtube.com/watch?v=RxjIOXstxCk
quantopian.com/
numpy.org/
pythonprogramming.net/
crsp.com/
youtube.com/watch?v=Pz-4co8IaI8&feature=youtu.be
twitter.com/AnonBabble

machine learning would be ideal for this, python goes well with machine learning. this would be a cool project. honestly more money to be made programming then day trading tho user

Idk man, I could never fully leave a script to trade for me. To find ideal entry points for me? Sure. But not carry out actual trades. Part of high frequency trading's success is repeating a method of trading many times. You can calculate the expected return from doing that (as when you make trades at that rate, statistics start to play a much larger role), and estimate how much you'll deviate from that expected return, through backtesting. But I don't see how just a simple bot can CONSISTENTLY do okay.

I'm sure it's possible though, and doesn't mean no one should try.

Python is slow.

don't waste your life

Learn R.
No, machine learning isn't necessary but it helps. You need to have a nice dataset to use machine learning algorithms, and I assume you don't have one. If you just want to use chart data then you don't need machine learning. All you need is a reliable indicator (or a combination of many indicators).

Two introductory books:

Algorithmic Trading with R, by Chris Conlan
Quantitative Trading with R, by Harry Georgakopoulos

My Python bot is up 22% today, the only things I've read were the exchange APIs. Feels good.

not if you know how to optimize

Reversion to mean strat?

The definition of slow depends on your application.

>Is machine learning necessary?

No, but if you have skills in machine learning you can do some interesting things in the way of predictive analytics. I've been running a swing trading system that uses a ml-based decision engine for quite a while. Most of it is written in python, although I use c++ to build models so that I can more easily use my gpu for the computation.

Negative, but I think you mentioned that in another thread as a good/simple bot. I hope OP is paying attention.

Wasn't me. VWAP reversion strategies are specifically what I've been interested in since crypto valuation is based so much on volume.

as I don't have much experience, do you think it'd be better to start with an arbitrage bot, get that up and running and then move onto a trading bot?

Honestly, try anything, the important thing is to learn to apply skills.

how doe sthis work?
Keep tracking VWAP, buy when price falls beneath it, then put sell up for price + profit% - fees?

>Part of high frequency trading's success is repeating a method of trading several times

Any form of pattern you see IRL is prime fodder for programmability. If you have a real concrete routine it can be programmed and made profitable.

What do you use? I wrote up a bot a few days ago, works great except my algorithms are shit so it loses money in testing.

I'm going to do this down the road when I have more time. Think it would be really fun.

I've only been at this for a month. The only useful advice I have is to start with a small amount, cash out periodically to avoid losing everything to an edge case and test with live data... ideally by actually jumping in there and making trades.

How are you planning to do arbitrage?
>it loses money in testing
How long have you been testing for? I know my stuff needed at least 2 days.

Any recommandation for machine learning related to trading? I know python and TA but how no clue where to start for MA. Thanks bois

why not download the trade history dataset so you can test the performance of the bot before you have it use real money?

>How are you planning to do arbitrage?
>an arbitrage bot
lol good luck with that

Does anybody know about some kind of bot that can simply scan and alert me about the markets; Like a script I could run to that returns major movements ?

a price alert? via mail or what? I can write that shit in 10mins

...

That's what library with C backend are for, no one use any language other than python anymore except those creating those modules.

Alright anons I'm floating this idea since it seems useful to you all. I'm drafting code for a site that lets you write up your own bot in javascript (nodejs) and run it in on the server. The primary concerns are security (how to write bot, interface with exchange APIs, make trades, etc. with total security that the site isn't peeking?), stability (scaling x many bots up and keeping them running smoothly), and ease of use (so some of the spuds in this thread e.g. can do what they want without worrying too deeply about technical details like software engineering, etc).

I'm imagining something where you get on to a dashboard, see your code, see some graphics that display how well it's working (e.g.: portfolio breakdowns, the indicators you're using, when and where on a chart you're making trades) if it's applicable; if not then obviously they won't be used, like the mail notification bot above.

Thoughts?

To be perfectly clear:
>server
meaning in the cloud.

What exchanges do you use?

What recommendations for a beginner python coder?

there's already a website that does exactly this only with coffescript. google it, can't be bothered.

I wouldnt waste my time on that if i were you. There used to be similar services which went bankrupt. dont remember the names but google does.

Read a python book or do an online training

Why did they go?

Whatever you think of, there's a hedge fund somewhere with better computers and faster connections already doing it

Nice thought user, but it has been done (doesn't mean you can't do it):

cryptotrader.org/

There is also Trader Daddy from rubycoin

Does it actually work? Won money with it?

it's subscription based. Why would it still be around if its bots lost money?

I'm also interested in that, here are some useful links.

youtube.com/watch?v=RxjIOXstxCk

quantopian.com/

numpy.org/

pythonprogramming.net/

crsp.com/

Stop using python you hacks. It is slow as fuck.
Learn to use an actual language that is used in a business context, not just for research (if you want to use machine learning have a look at DL4J)

oh and before you go "hurrdurr java slow", watch this youtube.com/watch?v=Pz-4co8IaI8&feature=youtu.be

Up to hours at a session. When I give it .5 btc to play with and it's getting down to say .14 in an hour, I know it has issues.

I'm not using real money. I'm testing it against real-time data like if it were live but emulating trades/balance checks behind the scenes.

I don't care for Javascript much. Wouldn't use it but sounds like a fun project.
Disagree, stop using python if the slowness is fucking with you or where efficiency is an absolute must (ex. OS, drivers). Otherwise Python has solid library support, good examples and is easy to test as it is interpreted. I'm using it and it's doing the job just fine.

how will people earn money if everyone is using a bot?
why would someone program a bot and sell it if he can keep it to himself and make more money with it if he is the only one using it?
are you people this stupid?
why would you give away or share a money printing machine for less than it could print?

that's the smart way to do it, yeah

I wrote my bot in PHP.

its currently up 20%, working btcusd spots without having margins active.

This bot if left alone will slowly but surely compound its gains to build up some massive money- but it may take several years to get anywhere.

I've made other bots that worked 5x and 20x futures. Its a lot more complicated trading futures because you have to call the direction correctly or you lose money, and to date I have not hit on a good algo that will reliably do so.


DO NOT USE MACHINE LEARNING!

Machine learning almost always tries to learn a 'pattern' to the market's movement. This will fuck you hard because the market doesn't follow a pattern, any time a pattern does appear to be forming it will deviate from it within 2-3 cycles to fuck everyone who tries to trade that pattern.

Machine learning tends to overspecialize into patterns that form, and then trade incorrectly when the pattern changes- losing all their earnings when they do.

Its a bot eat bot world out there. Someone could get rekt.

I dont know but i think they just coudnt pay their bills

so the next bot will just exploit the previous bots and everyone will just lose all their money in a cycle
great
man i really want a bot even more now

use your money to write wow gold farming bots and use that gold to buy bitcoins, you are welcome for this free great idea

i meant use your talent not money ;)

>how will people earn money if everyone is using a bot?
If you know you're mostly trading with bots it gets predictable and you can use that to your advantage

>why would you give away or share a money printing machine for less than it could print?
The person selling might not have the available to funds to make the bot worth his time. Remember, most trading bots do such small trades that without a big investment at the start your gains will be quite low.

>Machine learning almost always tries to learn a 'pattern' to the market's movement
I disagree, if you have sufficient data that you supply to a NN and prevent overfitting, should work out just fine assuming you can achieve upper 99% accuracy.

What algo do you use in your PHP bot?

>99% accuracy
>prevent overfitting

good luck with that.

Difficult but not impossible assuming you have solid data.

>predicting the future at 99% accuracy
even with all the insider information in the world you wouldn't be able to do this
the data you're studying doesn't measure a natural phenomenon, it measures the decisions of thousands if not millions of people
the only thing that matters in markets is your assumptions, everything else is efficient execution on your edge

>even with all the insider information in the world you wouldn't be able to do this
We aren't trying to pinpoint the exact price in the future to a tee, rather be in the ballpark.

Ive been working on a machine learning bot for a little bit. Working out what the training data should be now.

>ballpark
>99%
that's in the ballpark of efficient markets

machine learning is a fancy way to talk about data mining, which only useful for liquidity-based strategies

>Machine learning almost always tries to learn a 'pattern' to the market's movement.
there are so many other ways to utilize machine learning to aid trading other than pattern recognition