The article “Should I Hire an Algorithmic Trading Freelance Developer? (No, You Shouldn’t)” first appeared on AlgoTrading101 blog.
Should I Hire an Algorithmic Trading Freelance Developer? No you shouldn’t. It might cost a lot over the long term, is ineffective, slow and thwarts your learning.
A freelance algorithmic trading developer is someone who codes your trading idea for you.
Unless your freelancer is beside you 24 hours 7 days a week, relying on a freelancer to be a successful algorithmic trader is a very bad idea.
You are much better off learning to code.
Disadvantages of hiring a freelance algorithmic trading developer
Here are 4 reasons why I don’t recommend them:
- Cost
- Effectiveness
- Speed
- Learning
Cost
The cost for hiring is usually low at the start of the project, but every little change costs more money.
As you build and test your strategy, you learn new things and will make many tweaks to your robot. Every tweak costs money.
Moreover, you need to be constantly developing new ideas. New ideas mean more costs.
These monies add up.
Effectiveness
The outsourcing process is usually slow and miscommunications might derail the project.
This ineffectiveness is especially prevalent as you might not be able to think from a coder’s point of view.
Thus, you will request for things that are hard to implement, give instructions that you think are clear but are not, or expect to pay pittance for a mammoth task.
Example 1 – Things that are hard to implement
Client wants a trading robot that learns from the past support and resistance lines and trade in the future based on those learning.
Support and resistance lines are subjective. They are easy for a trader to draw but difficult for a machine to do so.
Example 2 – Unclear instructions
Client wants a trading robot to buy on the dip, but only on the large dips after a bullish breakout, and close the trade after the rebound.
Sorry but computers read logic and numbers. The freelancer can’t code the above without clearly defining what “dips”, “large dips” and “bullish breakout” mean.
A possible way to phrase the above in a quantitative way is:
“I want a trading robot that buys 1 lot when the ask price falls below the 20-day low and when the 20-day moving average is higher than the 40-day moving average. Close the trade when the ask price crosses the 20-day moving average from the bottom.”
Example 3 – Difference in expectations
Client wants a robot that reads the news and fires a trade instantly depending on how bullish or bearish the news is.
What a client expects to pay: $50 and wants it done in a week.
What is required: $20 million and a team of top computer and AI scientists.
Credits: XKCD
Speed
Today’s markets are getting more sophisticated and changing at an increasing pace.
You need to adapt and move fast as an algorithmic trader. Something that could be done in 5 minutes will take 3 days if you rely on a freelancer.
Your freelancer is not only serving you, but other clients too.
A change that I, as a coder, can make in 5 minutes, will probably take you 15 minutes to put in words as instructions, 1 day for the freelancer to read and reply you to clarify the details, 1 day for you to respond to that email and agree to the additional charges, 1 day for him to make the changes, 1 day for you to review, 1 day for him to make further edits etc…
In short, a 5 minutes task will take 4 days to implement if you hire a freelancer. 4 days is 96 hours, which is 5760 minutes.
If you learn coding, you will be able to progress 1152 times faster (5760 minutes vs 5 minutes), give or take. Okay, if you factor in sleep and eating time etc, you should still be progressing at least 10 times faster if you code your own robot.
Learning
You don’t learn much when you outsource. Hiring a freelancer doesn’t help you improve on trading knowledge and mental models.
You won’t learn about your strategy or asset class, how to think quantitatively or what is possible in the algorithmic trading field.
Your coding skills won’t improve too (duh!).
After outsourcing, you’ll still feel like you get stuck technically at every turn and feel lost and hopeless (can’t install this, can’t run the code etc). I’m sure you know this frustrating feeling when you first started learning algorithmic trading.
You might give up due to lack of progress and momentum.
Not only does the market move fast, the skills required for trading evolve quickly too.
Are you still trading by overlaying indicators? I don’t see long term successful traders trade on layers of indicators alone.
Traders are now moving to acquire alternative data or trading exotic and less regulated markets that have more opportunities. You won’t get to this stage if you are sitting at home waiting for your freelancer to reply the email you sent last week.
You need to learn how to learn fast and effectively to succeed. You can’t do that by hiring a algorithmic trading freelance developer.
Advantages of hiring a freelance algorithmic trading developer
Alright, gloom and doom aside, there are plus points to hiring a freelance algorithmic trading developer:
- You can hire them to design a basic strategy and use that as a template for further modifications
- You can also ask freelancers for help for specific coding issues
Both of the above will hasten your learning.
How to hire freelance developers
Okay, if you do want to hire, here are some steps to guide you.
1) Decide the type of strategy/asset class you want to trade.
If you have no idea, then spend more time learning about strategies first: “4 Algorithmic Trading Strategies that Work“
You don’t have to be absolutely sure what you want to trade, just find something interesting and run with it.
2) Find brokers that offer the products you want.
If you are looking to trade US stocks, then look for brokers that offer that. See what algorithmic trading functionalities they offer. Email their support desks if you need to.
3) Examine the software used by the broker
Find out if their software allows automated trading (do they allow API access etc).
If yes, then you can look for a freelancer that specialises in that software.
Note that some brokers’ software allows automated trade execution but not backtesting and analysis.
3a) If the software they offer only allows trading execution, then you might have to use additional software/coding languages for backtesting/analysis.
Some software allows both live trading and analysis, others only allow the former.
If you just need your freelancer to do trading strategy analysis, then the trading software is not that important at this stage.
Look for freelancers with financial data science skills instead. Common data science programming languages are Python, R and MATLAB.
You might need to pay or provide the data required for the analysis.
4) Be clear and ask questions
If you know what you want, great. Be clear and tell your freelancer what you need in a quantitative manner.
If you are unsure, tell your freelancer what’s your end goal and ask what’s the best way to get there.
In my experience, as both a client and freelance coder, it is best to outsource small clear projects. A big chunky project is likely to face hiccups.
Related Questions
Where to hire freelance algorithmic trading developers? Upwork.com, freelancer.com, peopleperhour.com and fiverr.com are good places to start.
How to spot good freelance algorithmic trading developers? A good freelancer is one who asks questions about what you need, proposes possible solutions to your problems, is not a yes-man and does not submit template proposals when bidding for your projects.
Disclosure: Interactive Brokers
Information posted on IBKR Campus that is provided by third-parties does NOT constitute a recommendation that you should contract for the services of that third party. Third-party participants who contribute to IBKR Campus are independent of Interactive Brokers and Interactive Brokers does not make any representations or warranties concerning the services offered, their past or future performance, or the accuracy of the information provided by the third party. Past performance is no guarantee of future results.
This material is from AlgoTrading101 and is being posted with its permission. The views expressed in this material are solely those of the author and/or AlgoTrading101 and Interactive Brokers is not endorsing or recommending any investment or trading discussed in the material. This material is not and should not be construed as an offer to buy or sell any security. It should not be construed as research or investment advice or a recommendation to buy, sell or hold any security or commodity. This material does not and is not intended to take into account the particular financial conditions, investment objectives or requirements of individual customers. Before acting on this material, you should consider whether it is suitable for your particular circumstances and, as necessary, seek professional advice.
Join The Conversation
If you have a general question, it may already be covered in our FAQs. If you have an account-specific question or concern, please reach out to Client Services.