What platform do you use to run multiple intraday strategies?

The attached package provides an overview of my current prototype. I am currently re-writing it in C#. The idea is that given a theory of the market, you can easily test it.

For example, in the attached example, I tested the theory that when ETFs have experienced significant selling over a given period of time, at some point a bounce is likely. My goal is to be able to help myself and others find profitable trading strategies. I will offer my technology as an SDK, GUI application and/or provide a consulting service where I will assist users build strategies for their specific platform based on their needs or ideas.

I hope to have the SDK and consulting services ready sometime in Q1 2018.

Concept reminds of a prototype I built a while back in excel. I found some "research" that listed over 100 trading indicators sorted by effectiveness. (It said the EMA5 was best, btw.) So I put some stock data, and several "top" indicators into the sheet. I then made a simple and small neural network (trained via excel's evolutionary algo) into the sheet.

The setup had the ability to assign weights to each indicator, parameters to each indicator, and set thresholds in the NN, all via the evolutionary algo.

It seemed to curve-fit and would have long drawdown periods as a result.

It would required a very creative and unconventional cost function to fix the problem, imo, but it didn't seem that it would be more effective (by a long shot) than what I was already using--even if I could fix the curve fitting problem...so I left the idea alone.

Good Luck and keep us posted!
 
Concept reminds of a prototype I built a while back in excel. I found some "research" that listed over 100 trading indicators sorted by effectiveness. (It said the EMA5 was best, btw.) So I put some stock data, and several "top" indicators into the sheet. I then made a simple and small neural network (trained via excel's evolutionary algo) into the sheet.

The setup had the ability to assign weights to each indicator, parameters to each indicator, and set thresholds in the NN, all via the evolutionary algo.

It seemed to curve-fit and would have long drawdown periods as a result.

It would required a very creative and unconventional cost function to fix the problem, imo, but it didn't seem that it would be more effective (by a long shot) than what I was already using--even if I could fix the curve fitting problem...so I left the idea alone.

Good Luck and keep us posted!

That sounds like some serious Excel craftiness going on. It amazes me what people are able to do in Excel!!

Will definitely keep you posted!!
 
That sounds like some serious Excel craftiness going on. It amazes me what people are able to do in Excel!!
Will definitely keep you posted!!

Your code seems like a good start to get experimentation going. I think I get the gist of what you're trying to accomplish given your reveal of API, although I'm not quite sure how it functions as backtester. Is your code generating buy/sell signals and simulating execution of that for each permutation of allowable possibilities / restrictions?
 
Your code seems like a good start to get experimentation going. I think I get the gist of what you're trying to accomplish given your reveal of API, although I'm not quite sure how it functions as backtester. Is your code generating buy/sell signals and simulating execution of that for each permutation of allowable possibilities / restrictions?
Yes...that is correct. There is a bunch of stuff going on that is abstracted behind the code that I showed. I will make available the SDK as soon as I have something operational in C#.
 
I am currently working on a project which uses Machine Learning to find winning strategies with the end goal of being able to generate platform specific code so that the strategies can be run in another platform. I have started to look at some retail packages (Multicharts, NinjaTrader) but wanted to hear from actual users to learn what platforms can adequately handle running multiple intraday strategies simultaneously without any problems. I don't want to go to far down a particular road only to learn the platform chokes when used in a real production situation.

thanks
fan27
What language did you use to code the machine learning program?
 
I could reuse some code from the original market making app, but a lot had to be rewritten to be more modular. Plus, one of the downsides of learning to code as I go means over time I end up finding better and more efficient ways of coding up some stuff I've already completed. This has often sent me back to rework parts of my platform that were previously in the “Finished” column on my wall of post-it notes. Candidly, I also had to admit to myself when I was redoing old code to procrastinate finishing something useful, as every job worth doing isn’t necessarily worth doing well.

Good writeup. Not sure sure what you consider a programmer, but sounds like you could program something from the start. Wether scripting shell scripts or writing huge java enterprise applications, you're still a programmer, and the latter can sometimes be a worse solution if a shell script is better fit.

Sadly, the other way of programming, top-down waterfall, leads to technical people only seeing one way of doing stuff, becoming blind to all the possibilities. So I actually prefer MVP and refactoring, delaying decisions over time until I see clear benefits. It's a less linear way of working, requires support and discipline, but can be worth it both in time and quality in the end. If it leads to early retirement of the project, all the better. Not all ideas are great.

Often top-down waterfall commits you too much and requires too much unnecessary work, but is suited to projects with crystal clear requirements and low tolerance for failure, ie. "bridge building".
 
Very interesting work! Sorry if I missed it in the link you provided, but what are you gaining by not having your strategies running end to end in NinjaTrader vs using NinjaTrader in conjunction with your python system?

Platform agnostic.. same strategy code runs on any platform with any broker so long as I write the connecting agent to said broker.

Also, the same strategy instance can command multiple brokers and listen to multiple data feeds at the same time.
 
Back
Top