After a month-long effort, my work on the end-to-end loading of data into NinjaTrader was finally completed. I hope the time spent on developing the solution will be worthwhile in the long run as I will no longer be required to manually collect, validate, convert and archive the data on a daily basis.
For as little as 5 bucks a month, I have my automation script hosted on Pythonanywhere.com. Although the CPU-time available for my account is barely enough (especially towards month-end due to more data to crunch), the Python host offers the most value for money as compared to other pricier hosts.
The automation script is scheduled to run everyday after market closes. It collects instrument data, validates the data against a secondary source, converts the data to NinjaTrader format, synchronises the converted data to Dropbox and finally archives the raw data into tarballs by month. The Dropbox client on my machine will then synchronise with the server and retrieve all the converted data. The final step of loading the data into NinjaTrader is still manual which I have to perform routinely.
The solution is not perfect yet. I have some ideas on how to improve it and will find time to implement them in the future.
Improvement Plans
For as little as 5 bucks a month, I have my automation script hosted on Pythonanywhere.com. Although the CPU-time available for my account is barely enough (especially towards month-end due to more data to crunch), the Python host offers the most value for money as compared to other pricier hosts.
The automation script is scheduled to run everyday after market closes. It collects instrument data, validates the data against a secondary source, converts the data to NinjaTrader format, synchronises the converted data to Dropbox and finally archives the raw data into tarballs by month. The Dropbox client on my machine will then synchronise with the server and retrieve all the converted data. The final step of loading the data into NinjaTrader is still manual which I have to perform routinely.
The solution is not perfect yet. I have some ideas on how to improve it and will find time to implement them in the future.
Improvement Plans
- Automate the loading of data into NinjaTrader (the final step).
- Automate the addition and removal of instrument definitions.
- Generate trade summary such as the most active instruments, total traded, etc.
- Send email alerts on exceptional events from the remote script.
- ...