Debugging the trade
3 min readIn the beginning
1983, my dad bought an IBM PC. It was brand new, running MS-DOS 1.0. I was 12 years old by then. Other kids were playing video games with their Ataris, VIC20 or best of them all, C64. I was never hooked on video games, instead I wanted to create programs myself.
One year later, I got my hands on a book called, The C programming language. The book was way too advanced for me, but somehow I just didn´t give up and eventually C became my second language to Swedish.
C, I can see
C is what is defined as a low level language, it´s only a couple of abstraction layers away from the hardware itself. Almost all operating systems is written C, why? Because it´s simple, once you master it, but will shoot you in the foot if you don´t.
Now, there are tons of languages that are easier to write programs in, for example there´s Java, C#, Perl and Javascript to name a few. On top of that there´s a lot of tools and tool kits that can be used, such as web servers, communication packages, extremely good development environments, etc..
Of course, no one want´s to write a whole system in C nowadays, when all these fancy tools are available, but C still is very widely used, especially for optimizing certain blocks of code. OK, enough coding..
20 years down the road
20 years later, not all time spent with computers though, I´ve pick up some knowledge on some of the higher level languages as well. When you code in these languages, there´s not the same feel of control over the underlying machine or the operating system your running, but it gets the job done and often a great one too.
Low or high -level
Programmers that start learning a high level language as their first language, like Java or C#, might be extremely good at making beautiful software, efficient and secure too, nothing to say about that.
BUT, when it comes to debugging, looking for bugs and hard to spot errors, the old C guys (even better, the assembler guys), they rule. Why? because they simply know what is happening with the code that was written and it´s not that complicated once you´ve been down there. When you´ve never been exposed to the operating system, you simply can´t tell, how could you?
Please stop!!
But please, stop all this geek talk, please!! What the he.. has this got anything to do with trading?
The order book
How simple isn´t the order book?
You´ve got bids and you´ve got offers. You have people either want to hit them bids or offers or wants to be hit into. That´s it, end of story!
As C programming language, simple if you master it, but will shoot you in the foot if not.
Must be a bug
Hey, but some offers aren´t real and everybody doesn´t show their true intention, they have more bids than they show. Some hit big time in to someone elses fake offers just to lure others into believing market is strong, and seconds later flip their position and smack the bids, stop out the longs for them to put fuel on the temporary bear fire.
All this for making a few ticks.
Must be a bug in the system, let´s debug!
Why master the order book?
Why do you want to master the order book, why do you want to spend endless hours watching a stupid ladder and numbers just dancing around without any order to it? Sounds stupid, if you ask me.
Well, just like knowing those low level programming languages. Sometimes, you just have to know what´s going on down there.
You might not want to use it in your everyday trading, but I tell you, it´s a darn good feeling when you start to get the feel for what´s really happening, instead of just watching candlesticks, indicators and oscillators, believing they´ll tell you something.
Don´t get me wrong, candlesticks and indicators have their use, but without a lot of exposure to the truth (DOM), it´s going to be a painful ride, because just like the high level language guys, you simply won´t know what´s actually happens.
Debugging
Because, when it comes to debugging and spotting “errors”, there´s no one like the low level guy!!
/J