Job Summary
We are looking for a passionate Junior Algo Developer to transform trading ideas into high-performance automated systems. You will be responsible for developing robust trading bots, integrating financial APIs, and ensuring flawless live execution. If you have a deep interest in financial markets and strong proficiency in Python, this role is for you.
Key Responsibilities
Strategy Automation: Develop, code, and deploy quantitative trading strategies (Equity, Commodity, or Forex) based on defined logic.
API Integration: Set up and maintain seamless integrations with broker APIs (e.g., Zerodha Kite, Interactive Brokers, Shoonya, or Fyers).
Execution Logic: Write error-free logic for handling limit orders, buy/sell sweeps, stop-losses, and trailing profit triggers.
Backtesting & Optimization: Conduct rigorous backtesting on historical data and generate key performance metrics such as Sharpe Ratio, Win-Rate, and Max Drawdown.
Live Monitoring & Debugging: Monitor automated systems during market hours and provide immediate fixes for execution errors or connectivity issues.
Requirements (Skills & Qualifications)
Programming: Strong proficiency in Python (specifically Pandas, NumPy, and Request libraries) or Node.js.
Trading Foundations: Clear understanding of technical indicators (RSI, EMA, Bollinger Bands) and market mechanics (Order Book, Bid-Ask spreads, Slippage).
API Management: Hands-on experience with REST APIs and WebSockets for real-time data streaming.
Problem Solving: Ability to debug code under pressure, especially during high-volatility live market sessions.
Education: B.E./B.Tech in Computer Science, Finance, Mathematics, or a related field.
Nice to Have
Experience hosting bots on cloud servers (AWS, Google Cloud, or DigitalOcean).
Knowledge of PineScript (TradingView) or MQL4/5 (MetaTrader).
Basic understanding of SQL/NoSQL for storing trade logs and historical data.
Suggested Interview Screening Task
To filter the best candidates, you can ask them to:
Code a simple logic: "Write a script that fetches live prices via WebSocket and places a Limit Order when the 5-min EMA crosses the 20-min EMA."
Error Handling: "How would your code handle a 4756 Error (Trade Disabled/Invalid Price) during a high-speed sweep?"