Office Hours - Python for Traders
Backtesting & Execution Modules
"Office Hours" is an initiative by Decibel Capital to help those traders who have no coding background/experience and are looking to learn Python for Trading. The aim is to teach concepts that would enable a trader to achieve end-to-end automation of backtesting & execution.
We are looking to build a small cohort of traders who learn to code and back-test their ideas. This is directed towards beginners with little to no-coding background or exposure to Python. The program aims to go from 0 to 100 when it comes to backtesting, research & execution.
Especially designed for NON-CODERS
This course is designed with an ELI5 (Explain Like I'm 5 years old) approach in mind and is well suited for people with different background in Python. It suits non-coding background as well as beginners in coding. Students who are starting out to learn Python but need a focused curriculum to trading will greatly benefit from the course.
Most of the past students of the course did not have any coding background whatsoever, and are doing well with the current learning. We go through the entire journey together from how to install Python to how to automate your coding strategy.
Pre-requisites to join this cohort:
You should be a trader with NON-CODING background.
You are currently learning Python. Either have already begun or close to beginning.
Willing to spend at least 5-10 hours a week in trying to learn to code in Python.
(and not just pre-recorded sessions)
Most online courses on Python for Trading provide pre-recorded lessons with no opportunity to interact with an instructor in a LIVE environment.
Lack of LIVE interaction classes and personal interaction with the instructor or other students greatly limits the quality of learning that students may get.
As part of "OFFICE HOURS" you'll get multiple opportunities to get your questions answered as each weekly set is supported by multiple LIVE classes.
Module I - Backtesting & Research Module
This is the first and entry-level module of this course. The module aims to teach you fundamentals and building blocks of the Python framework with a focus on Backtesting & Research. We will train you to create your own backtesting engine such that you need not rely on any of the pre-canned libraries such as Backtrader, Ta-Lib etc.
We teach the absolute "FIRST PRINCIPLES" of the world of programming. By the end of this program, you will be able to:
Obtain, read, clean and process raw data into suitable format to perform data analysis.
Perform analytical research on the data at hand using:
Data Mining Approach
Code your own indicators & derivatives of indicators.
RSI of MACD or ADX
Backtest trading strategies from the scratch. Some of the examples pursued by past students include:
Create a long-only stock investment portfolio
Create a futures trading strategy with trailing SL
Create an Option Buying strategy with momentum edge
Create an Option Selling strategy with time/non-timed entries
Python is a vast framework that enables you to perform a variety of tasks. Several of skills that you learn during the program can't be pigeonholed in a few headlines. Here is a general outline of the module:
- Introduction to Python framework including Jupyter Notebook. Running your first "Hello World" program.
- Reading, Processing and Cleaning data for Backtesting and Research.
- Numerical Computing & Data Science concepts - Power of numpy and pandas
- Data Visualization - Because a picture speak a thousand words
- Data Processing and Cleaning prepare data for backtesting and create a pipeline for cash, futures and options trading.
- Data Fetching using Zerodha API or other allied sources of data
Module II - Execution & Automation Module
Research & Backtesting are some pre-requisites to Algo Trading. However, it is not sufficient to obtain an end-to-end understanding of automated algo life-cycle. While there are several platforms available to automate your execution, with sufficient Horsepower of Python knowledge, a trader can achieve superior results by using their own execution.
The module aims to teach you fundamentals of automating execution for a backtested strategy. By the end of this module, you will be able to:
Code your strategy for LIVE execution.
Integrate the code with a Broker of your choice. During the class, we will work with Zerodha as an example.
Deploy your algo on cloud using AWS services.
Generate daily P&L and other reports out of your trading account.
Code and LIVE implement your own version of famous 9.20 Straddle Option Selling Strategy.
Here is a general outline of the module:
- Introduction to building an efficient and robust execution engine.
- Use Websockets to stream LIVE Tick data into your code for your algo to take automated decisions during the day.
- Integrate Zerodha for firing LIVE orders. Learn to place market orders, limit orders, cancel and update orders, set TP & SL.
- AWS Deployment & Automated Scheduling Learn to deploy your algo on a cloud based web server such as AWS. Learn to schedule your algo to start running everyday at market hours.
PAST STUDENT PROJECTS
WHAT DO YOU GET?
50+ pre-recorded video lessons - On a weekly basis specific topics are covered and relevant videos/articles from online Free resources are shared for students to conduct a self-study.
Weekly Assignments - Weekly assignments are provided based on the topics being introduced. These assignments help students in getting hands on with the provided material by practicing writing their own code and logic.
Weekly LIVE Coding Class - Weekly LIVE Coding class in which you will learn novel approaches to solve some of the most pressing challenges faced during coding. The focus of these sessions will be to code for trading related applications. These sessions last anywhere between 1.5-3 hours depending on doubts and content being covered. Some of the most recent classes have extended up to 4 Hours at one go. These sessions are recorded and provided access for replay.
Weekly Cohort Catch Up Class - Weekly LIVE Cohort Catch Up Class in which the topics covered during the pre-recorded video lessons and LIVE Classes are further discussed with practical programming approaches and problems. In this class practical problems such as data cleaning & backtests are coded for students to completely grasp the weekly topic.
Lifetime access to Slack Discussion Group - An organized platform to discuss doubts, concerns and questions pertaining to the course. This group also acts as troubleshooting and debugging code medium for the students. Students can also network with other traders of the group and work on joint projects. Some of the most distinguished individuals from the world of trading are part of the Slack channel. There are close to 100 traders on the Slack Group and the number is expected to grow.
Ankit has over 15 years of experience in financial markets - both as an institutional trader and as an individual trader.
He holds a Masters in Financial Engineering (Quantitative Finance) from prestigious University of California, Berkeley(California, USA)
and holds a Bachelors in Computer Science Engineering. He has worked as a Foreign Exchange (FX) trader with various banks in India and in New York.
He currently resides in New York and is an avid writer in financial markets and has written for prestigious Forbes publications.
His approach to markets is based on quantitative research driven by data analytics and quantitative models.
SAMPLE EDUCATIONAL CONTENT
The course is conducted in Cohorts. The students get lifetime access to the Slack Discussion group wherein they would be able to interact with present and past students of the program.
At t conclusion of the program, students with completed projects are invited to join an esteemed group of traders - "The Office Hours Alumini", where they can continue to network and collaborate with selective traders that have already exceeded results.
The duration of this program is 8 weeks of structured lessons and classes and additional 1-2 weeks of mid-term and end-term discussions and doubt clearing sessions to ensure students follow along.
Fees & Dates
There will be a Fee of INR 39,999 /- for the 8 week program.
Expected Start Date - 15th Feb 2023
Expected End Date - 30th Apr 2023
Super Early (10 seats)
Thanks for overwhelming response to the Spring-2023 Cohort. To ensure the quality of the instructions, we are not accepting any more registrations for this Cohort.
The next Cohort will not run until June'2023. If you wish to be notified of the same, please join the Waitlist by submitting your email below.
By joining the waitlist, you will get notified ahead of public announcement of the batch details and will get the first shot at our typical super early bird offers.
WHAT TRADERS ARE SAYING
"I highly recommend office hours for aspiring coders. Ankit is an excellent mentor and the entire program is structured to get the best out of the cohort. The hands on practical approach teaches one how to apply programming to real life trading techniques"
I learnt basic python coding myself, to mainly help me automate stuff for my business esp. related to data handling. I have always wanted to understand and handle both real time & historical data, not only to get closer to the products we offer but which helps me fine tune certain aspects of the services myself, even though I have a team to do it for me. When I saw this course by
Ankit, I grabbed this opportunity to learn more.
If you have always wished to be able to handle / play with the data, backtest & run your own strategies, then this is the opportunity to do so and a place you must start from. With Live coding sessions & interactive Q&As, you would be able to fill in a lot of gaps which otherwise remain.
Even if you are a novice or have basic python knowledge, you will learn a lot and will very soon find yourself extracting, cleaning & formatting data, then backtesting this data, setting up an AWS EC2 instance and running a live trading strategy with python on this instance.
There is no end to learning & improving in this field but this starting point given by Ankit would really go a long way in your systematic & automated trading journey.
Learning coding in current day and age has become necessity. The vast unorganised knowledge on internet makes it very scary to learn... Ankit organizes it only upto an extent which is perfect balance between spoon feeding and doing everything alone He'll solve your dumb doubts in the language you'll understand. The whole str of the cohort is semi organised one where you'll learn only when you put efforts Even if you're not going to build whole execution infra, I think backtesting should/could be done by yourself