IMO impossible, because how are you going to detect them when you have no knowledge about their actions they take? And don't forget: they are very fast, each of them can do at least 500 transactions in just 1 millisecond...
Basically you think because you are a good programmer, you can make 10 pct every year? So 1000 000 programmers in the world right now. One will probably make it, maybe you? But odds are not in your favor. What is your edge in financial markets that others don t have? Because programming without knowing what you need to modelize seems a bit challenging. CM
You might find my blog interesting, although it sounds as though you're leaning towards HFT where you think* your programming ability will give you more of an edge, and I'm more into much slower trading. qoppac.blogspot.com I think it's reasonable to find a simple strategy diversified over many markets with an expected sharpe ratio of 0.5. If you run that at half Kelly (25% annualised vol) you'd get 12.5% a year. Of course it won't be consistent - fine for growth not income. GAT * let me know if you'd like me to elaborate on why this might not be the case
Hello, Your blog inspired me to start this and look into IB, I never thought a single person that can program can make ANY money from algo trading. You are clearly not a single person as your experience is probably equal to 100s. I was wondering thought where you get your quotes from, you said you use IB I think but I read that IB limits your queries. For example using ActiveTick I could send 3000 requests in 1 second to get every volume security off the NASDAQ and get the last 10 1minute ticks at 9:30am. I like the toolset you made in python but I am not sure how to use it yet for backtesting as I don't know where to get reliable data. Can you explain this: expected sharpe ratio of 0.5. If you run that at half Kelly (25% annualised vol). Even investopia has trouble explaining a sharpe ratio to me. Arb trading would be security pairs, like COKE and PEPSI? That is definitely doable. You can detect them perhaps by using 3rd party reports or statements made by the company that shows perhaps their positions, in/out, volume, then try to find patterns?
Skip all of the programming and keep it simple by either: 1) buy and hold small cap value though a low expense ETF (VBR) https://docs.google.com/document/d/1kToqLWLISRk4n4YnSzv1hT5kBN54l5CvhwGgDwJKPJI/edit?usp=sharing or 2) run a simple moving average crossover strategy on the QQQ and EDV ( VUSTX ) https://docs.google.com/document/d/1XwZjcWy7KlSwA7xi0rax7nevIBCtW0Uu4UZFH-Hc1ns/edit?usp=sharing
IB limits downloads of historical data, not tick data*. I trade 40 futures markets and only sample prices hourly by snapshots of the tick stream. * There might be a limit to how many tick streams you can have at once, but I'm never sampling more than 30 or so at once so I don't know what it is. Perhaps others can comment. I download historical closing data daily for multiple contracts over each market, which would be throttled by IB if I just tried to do it all in one go, but I deliberately slow it down so this doesn't happen. The stuff I do is for daily data; quandl.com is a good place for this. Tick data others can comment - my code isn't for that at all. It sounds like you have quite a lot of reading to do before you're ready to trade. Sorry if that sounds patronising, but these are concepts you must understand before risking capital. GAT
Just a comparison / easier explanation is all i was asking, I hate when I get that answer, when you could of typed up a simple explanation for what it is, instead you type why I need to read more, sorry don't mean to sound rude. I spend all my time to read to code better, I cant spend time I don't have to learn every detail about the markets too, that is impossible for a human. We cant do it all. That is why I am asking here from financial experts. I am good at one thing, traders are good at another. Also the reason I think you cannot track every stock in real time is because python would break under such pressure. Python does really poor with async ops/threading, there is also no really good libraries for it as python was designed to be single threaded originally, there are some perhaps Gevent or QT, but everytime I used it I expressed great frustration and wondered why I am using python in the firstplace.