thcsa
I find that very interesting. Could you provide a link?
Lie. I'm writing this comment on a Vivo Nex and I have been using this for months.
This has not been proven and I don't think this is the case. Here is a great post that highlights the faulty methodology of most studies that came to this conclusion.
Considering the trading system itself, I think what makes my system pretty neat is that I can backtest on Level 2 data. Level 2 data basically means information about the order book (and not just the top bid/ask). I collected L2 data for specific instruments for months. So if someone posted a limit buy order on instrument X with amount Y 0.54% below the top bid on October 15th, 21:01:13.746Z and canceled it 4287 milliseconds later - I have that information. Now the cool thing is that I can 'replay' everything, which basically allows me to know how the structure of the whole order book was at any time. This allows you to do pretty accurate backtesting, since you know the exact execution price of your market orders (market orders = orders that take liquidity from the book). Coding that was probably the hardest challenge, since performance matters for backtesting (for trading, it depends on the instrument and the strategy - for me, it doesn't matter a lot). You need to have a good design. Gladly, Kotlin makes concurrency a breeze with coroutines, so I basically have one routine for each instrument (which has to process order book messages sequentially for obvious reasons).
I am currently working on a machine learning approach to detect buy and sell pressure based on changes in the order book structure. Order placement (depending on the instrument) involves a lot of 'playing games', so people bait, people spoof, people try to push the orderbook down or up etc. I naively threw some pre-engineered features on a couple of LSTM layers, but results were not outstanding. But I think that this approach has some potential if executed properly.
EDIT: Obviously this is not my first coding project. My first 'project' was about autocompleting words. I used a trie structure for that, every node (letter) had a treemap of its child nodes, sorted by the occurences. So in the end I was reading a huge data set into my program, which had millions of hashmaps and other objects floating around, eating up 9 gigs of RAM :D. This was on desktop for obvious reasons, I never had plans to code a app. Fun times.
Tips to start: The most important part is to just start coding as quickly as possible and learn as you go. A personal project can really help to maximize motivation and actual hours spent coding. As for the language, I don't think it matters what you pick and everybody suggests something different. I didn't like coding in python at all. Personally, I prefer languages with static typing, especially when you start out (so the IDE can help you). For me, that perfect beginner language was Java, since it's simple, structured and you can completely forget about memory management.
Just don't spend too much time thinking whether you should start or not. I wasted years with that mindset. Just do it.
EDIT: Sorry I didn't really answer your questions, I just don't know enough about web development to help you in that regard. Consider this a motivational comment that gets you started.