- Joined
- 13 June 2007
- Posts
- 838
- Reactions
- 136
Hi guys,
The next step would be to use this arrays to generate signals and try create a backtesting model. Again I don't think it will be do difficult to generate signals. The back test model may be more difficult.
Hi JJ --
Replicating the capabilities of AmiBroker is a worthwhile project if the goal is refreshing programming skills. But not if the goal is to improve on AmiBroker. The python replica of AmiBroker will be less efficient than Tomasz' AmiBroker by an order of magnitude or worse. It will not have all of the AmiBroker features. And it will still only use the decision tree model.
Anecdotally -- Years ago, in the dark ages of the 1990s, I wrote a trading system development platform that was sold commercially. I was in the process of designing another one, to be better in many ways. A colleague asked me one day whether I wanted to spend my time and energy supporting development platforms -- or developing trading systems and trading. Each is a full time job in its own. He introduced me to AmiBroker. Which already included 95% of my list. After a few conversations with Tomasz, AmiBroker had everything I needed and 98% of what I wanted. I could focus on trading systems and leave the platform maintenance (and customer service) to someone else.
As you work in python, be sure to check out the pandas libraries. Pandas arrays ("Series" and "DataFrames") are based on numpy arrays. They handle many of the data access and data manipulation routines that are commonly used in trading systems -- reading data from a variety of sources, missing data, many time-related functions, moving window functions, etc. In my opinion, pandas DataFrames are essential to python-based trading system platforms. Pandas is standard in the Anaconda distribution of python (which is the distribution I recommend). A web search will locate many excellent tutorials, video presentations, and books. Any material by Wes McKinney or Jake VanderPlas is excellent.
If it would be of use to you -- everything you outline you are doing in python to replicate AmiBroker has been published in my QTA book, and is ready for download and use as a template for improvement.
After the AmiBroker-replica project, I highly recommend continuing trading system development using machine learning. One of the major advantages is the ability to use any of several dozen different models, including but not limited to decision tree. Also explained in QTA.
Best regards, Howard