Newbie Questions about building an algo on QuantConnect

angel99

Newbie
Messages
3
Likes
0
I’m currently exploring the possibility of automating my already profitable trading model (ES futures). However algorithm development and deployment is a completely foreign world to me and I’m looking to gain some preliminary knowledge on the steps required.

  1. Must i learn C# or Python and how best should I go about doing that?
  2. Upon choosing the language, which fundamental programming concepts should I learn of that language?
  3. Are there any specialized courses out there focused on algorithmic trading?


Thank you in advance
 
I’m currently exploring the possibility of automating my already profitable trading model (ES futures). However algorithm development and deployment is a completely foreign world to me and I’m looking to gain some preliminary knowledge on the steps required.

  1. Must i learn C# or Python and how best should I go about doing that?
  2. Upon choosing the language, which fundamental programming concepts should I learn of that language?
  3. Are there any specialized courses out there focused on algorithmic trading?


Thank you in advance

The first thing to consider is what platform will you use to do your algorithmic trading; that will answer what language you should focus on. To answer the question "must", no would seemingly be the answer. With interfaces like Quantrader, NinjaTrader, and (somewhat limited) Thinkorswim you can develop an algo with little programming knowledge. "If" you're doing calculations outside the realm of standard indicators then "yes" would be the answer.

I can share some personal observations that may accelerate your efforts. You can get a NinjaTrader trial access (or the least expensive way is via a prop firm) - use it to build a simple algo (or use one of theirs) and learn to code by modifying existing code examples. You'll quickly learn the syntax needed and pick up some C# skills along the way. You can test your code using simulated data or in a practice mode. Feel free to msg me with questions and I'll be happy to share some code. ... I was thinking of starting a blog along these lines, maybe now is the time.
 
The first thing to consider is what platform will you use to do your algorithmic trading; that will answer what language you should focus on. To answer the question "must", no would seemingly be the answer. With interfaces like Quantrader, NinjaTrader, and (somewhat limited) Thinkorswim you can develop an algo with little programming knowledge. "If" you're doing calculations outside the realm of standard indicators then "yes" would be the answer.

I can share some personal observations that may accelerate your efforts. You can get a NinjaTrader trial access (or the least expensive way is via a prop firm) - use it to build a simple algo (or use one of theirs) and learn to code by modifying existing code examples. You'll quickly learn the syntax needed and pick up some C# skills along the way. You can test your code using simulated data or in a practice mode. Feel free to msg me with questions and I'll be happy to share some code. ... I was thinking of starting a blog along these lines, maybe now is the time.
Thanks for getting back to me.

I would like to start with Quantconnect and Python. I tried to start learning Python a few days ago, but it feels like it would take a very long time for someone with no prior programming knowledge to learn. Maybe it wouldn't be a bad idea to learn to code by modifying existing code examples, like you suggested. What do you think?
 
The thing is, you never run a code on live data initially without backtesting and then testing in a simulator. I'd recommend using NinjaTrader 8's strategy code builder and then modifying the resultant code to meet your criteria. A lot of the fundamental stuff can be picked up along the way. Python and C# are both very similar and ChatGPT can help you along the way. Otherwise, you will have a learning curve to begin digesting either of the two languages that could be better spent learning the markets.

There's nothing wrong with continuing to learn the code, but I strongly feel that dissecting an existing code would be beneficial, and understanding both the top-down structure (order of flow) and code statements themselves as well as knowing how to do cradle-to-grave coding. You're going to learn real quick that experienced coders keep a library (whether digital or memorized) of "canned' code to draw from. Using a code builder (like Ninja's strategy builder) will cut lots of time out in learning C# and help you in the finer details of building an algo.

For instance, few coders give thought to starting their algo with the hours the markets are open, and/or there may be a segment of the day you do (or don't) want to trade - some traders don't trade 11-13:00 EST or on Fridays ... or do you plan on starting and stopping the algo ... if so, what's your contingency plan when the inevitable happens and you've got to leave your screen and can not monitor the market or algo? Lots of these considerations can be taken care of using a code builder. These are things that simply learning to code will not readily address unless you have an instructor open-minded enough (or other resource) to reference.

... and sometimes it simply might be better to pay a coder to assist you.
 
Maybe this would be a good starting point for you:

Thanks for sharing - I'll look into it

Maybe it would be wiser to hire a coder to create the algo for me. The knowledge barrier seems pretty steep, and it wouldn't financially be worth it for me to dedicate multiple hours a day learning to code
 
I’m currently exploring the possibility of automating my already profitable trading model (ES futures). However algorithm development and deployment is a completely foreign world to me and I’m looking to gain some preliminary knowledge on the steps required.

  1. Must i learn C# or Python and how best should I go about doing that?
  2. Upon choosing the language, which fundamental programming concepts should I learn of that language?
  3. Are there any specialized courses out there focused on algorithmic trading?


Thank you in advance
Whether it is worth depends. It is in general very difficult to implement a discretionary trading strategy in code, there is the human factor which cannot be coded.

It also depends of the time-frame, which time-frame do you trade?

To manage an automated trading system can be a full time job. Often better to seek methods avoiding having to be at the screen all day.

Just to pass the learning curve of strategy development is minimum 5 years, if using a scripting language more than a life time. You then need to add the learning curve of programming.

You would either find a no-code solution, or walk away.
 
Last edited:
Top