Departed TradeStation and going the Ninja Trader path

I have worked with TradeStation for a few months earlier this year. During that time, I worked for a few hours every single day on developing automated strategies and day trading on it. I thought TS was very good for use as a day trading platform. Particularly now that I'm using ThinkOrSwim, I feel the TOS system is grossly inadequate when compared to TS. However, I personally didn't like using TS as an automated strategy development platform. EasyLanguage (TS's development language) is definitely easy to learn and use. I would imagine EL would meet the needs of many people and they'd be satisfied with it. On the other hand, if you want to develop more complex strategies, the coding can get complicated to the point of confusing, if it's even possible at all. Like I never figured out how to build a simple neural net on it. Besides the language, another limitation of TS is its inadequate API. For example, and if I remember correctly, I had a hard time in the programming trying to tie my portfolio value to the strategy. To accomplish something simple like automatic portfolio balancing. Often times, I wanted to do something but then found that I needed some 'work-arounds' instead. In essence, EasyLanguage is easy to get started, but it certainly doesn't provide the depth which I wanted. Granted, it was a great starting point for me in automated strategies development. I learned a lot from it. Don't get me wrong though, a good strategy does not mean a complicated strategy. One could have a profitable strategy with just a few lines of code (moving averages, anyone?). What I want is something that can serve as my creative sandbox. I wanted something that can satisfy my wildest ideas. Actually, I just don't have sufficient risk capital to let loose a strategy, so I have the luxury of not tasked to yield results and is free to play with what I want. Including my POMDP discussion in my previous post, and my other idea of using modern control theory (my study focus back in the days) to identify market inefficiencies. I couldn't have done those with EL without over-complicating matters (DLL's, add-ons, etc.). The biggest factor though, was the monthly subscription cost. I stopped my TS subscription eventually because I just can't afford it. So what next? After some digging, I came across Ninja Trader. They support C# programming in their strategies. What's more, it's free for development use! I will be using it with opentick for a free datafeed. Free platform, free data! What more could I ask for? Update: It seems that opentick is overloaded and haven't been taking on new users for a few months now. I'll just use the simulated data within NT for now. Update 2009: Opentick is now closed until further notice according to them. I have began going through the NT tutorials and trying to refresh my distant memories on some technical topics. After a few months of vacation, I am back to the drawing board again. We'll see how it goes. I will document my progress here under the automated trading category.

Stanford machine learning lectures and POMDP

Came across this gem accidentally today. Here are the [complete 20 lectures for CS 229 Machine Learning from Stanford University][] for my own record. I have learned most of the material before, but have forgotten most of it already. In particular, the last lecture talks about POMDP. I have always thought it would be a great tool to be applied on a financial trading system. Long story short, POMDP is a distinctive machine learning algorithm because it inherently assumes the 'world' is partially-observable (MDP on its own takes care of the uncertainty part). A drawback with using artificial intelligence in trading is that A.I. are good for closed ended system but bad for open ended ones (i.e. trading). I believe POMDP can be worked on to become a valuable trading system. I haven't tried implementing it myself yet because of lack of a good platform and data. But since POMDP has been around for years now, I would assume somebody somewhere has tried this already. Unfortunately, I haven't been able to find any information on this problem. In any case, this post is merely a reminder for myself.

←   newer