
Explore how Python-powered algorithmic trading with NumPy and pandas automates execution, reduces emotional reactions and cognitive biases, and enhances decision-making through pre-trade analysis, backtesting, risk management, and live data signals.
Explore popular brokers for algorithmic trading and how APIs connect your strategy to the exchange, with examples like Zerodha, ICICI direct, Binance, and Interactive Brokers.
Set up a development environment with Anaconda to manage libraries and IDs, creating separate Python environments for Zerodha Kite Connect. Install Jupyter Notebook or Spyder and add libraries as needed.
Learn to use Jupyter Notebook and Spider for interactive Python development, manage files, run code, and troubleshoot with a variable explorer, while exploring basic SQL with MySQL server.
Master arithmetic operations in Python—addition, subtraction, multiplication, division, floor division, and exponentiation—plus operator precedence, parentheses, modulus, and core math functions like log, exp, sqrt, abs, pi, and rounding.
Explore Python's dynamic typing and inbuilt data types, including numeric, sequence, mapping, set, boolean, and none; verify types with type and isinstance, and convert between int, float, and bool.
Define variables in Python, assign values, and perform operations with numbers, strings, and booleans. Understand mutability in lists and strings, and learn unpacking, multiple assignment, and swapping.
Learn how Python lists are ordered, heterogeneous, and mutable, created with square brackets, and manipulated with append, extend, insert, and remove, including nested lists and type awareness.
Explore Python lists as stacks and queues, using append, pop, index, and insert to manage items. Learn reverse, sort, length, min, max, and average, plus deque for efficient FIFO.
Explore Python lists in depth by indexing, slicing, and looping through items, including nested lists and reversing, then compare shallow versus deep copies using copy.deepcopy to preserve changes.
Learn how tuples are immutable containers similar to lists, enabling stable coordinates and mixed data types; create with parentheses, index, slice, convert from lists, and copy safely.
Explore strings as immutable sequences, mastering indexing, slicing, reversing, length, and split operations to access characters and parse lines from text.
Explore how to work with Python strings, including multi-line strings, splitting by lines, trimming whitespace, concatenation, joining, and formatting with templates, format, and f-strings.
Discover dictionaries in Python, mapping keys to values and handling unordered, mutable key-value pairs. Learn to access, add, check existence, nest structures, and even sort or clear dictionaries.
Explore sets as unordered, mutable collections of immutable objects, and master union, intersection, subset, and difference, plus add, remove, test membership, and common set methods.
Master Python control flow with if, elif, else and for and while loops, and learn to replace loops with NumPy vectorization using np.where.
Learn to use the pandas library for powerful, open source data analysis and manipulation of tabular data, including reading data, handling missing values, and performing group by, merge, and pivots.
Explore pandas series built on NumPy, enabling heterogeneous data in a one-dimensional structure. Create custom indexes and use head, tail, dtype, shape, length, and info to inspect data.
Explore pandas series in Python, accessing elements by index, iloc, and loc, and converting to a dataframe while handling missing values with describe, count, size, and skipna.
Analyze a pandas series by extracting unique values, ignoring duplicates and NaN by default, count frequencies with value_counts, and use drop, normalize, sort, ascending, and bins to categorize data.
Sort pandas series by index or values, in ascending or descending order, with in-place options. Learn about top and bottom values, first and last options, and the keep parameter.
Learn to create pandas data frames from dictionaries, print them in Jupyter notebook, inspect structure with info, head, and tail, and extend frames by adding columns and handling NaN values.
Learn to access csv files using pandas by loading Titanic.csv into a data frame in a Jupyter notebook. Explore shape and head, and save the data frame to csv.
Inspect data frames to ensure quality before analysis by checking data integrity, types, and missing values; use describe and info to guide cleaning decisions such as filling or dropping columns.
set and reset a pandas dataframe index, with options to drop or preserve the original column. explore the default range index, axis, and column access.
Filter data frame by column using dot notation or code, handle white-space names, and use a list for multiple columns; convert a single column to a data frame with pd.DataFrame.
Learn data frame indexing in pandas by setting columns like id or date as index, using range and negative indexing, and slicing rows and columns to access data.
Learn to use iloc for position-based indexing in pandas, employing zero-based and negative indices to access rows, columns, and slices in the IPL matches data set.
Learn to slice a dataframe using iloc to select specific rows and columns, including ranges, lists, and step-based selections, plus boolean filtering for targeted data.
Use label based slicing with loc to filter IPL data by city and select specific rows and columns. Apply boolean conditions like margin and wickets to refine results.
Use loc for label based indexing on a range index, compare to iloc, and select rows or columns like open and close; convert date to datetime and filter by year.
Explore set index and reset index to control dataframe indexing, using the id column as the index in csv reading, and learn to drop, test uniqueness, and create range indexes.
Rename columns in a data frame using rename with a mapper or set_axis, and read csv files with new column names via names and skiprows.
Apply conditional filters to select females, kids, and age groups from the Titanic data frame. Use masks, the loc accessor, and pipe operator to combine conditions and view survival statistics.
Explore advanced conditional filters on a Titanic data frame to select passengers by pclass 2 or 3, age 25–35, and names containing Mr., using lambda, filter, like, and query.
Identify and manage missing values in data using pandas by recognizing nan, replacing with np.nan or None via iloc, and inspecting counts with info.
Learn to handle missing nan values in pandas by detecting them with isna or isnull and dropping or imputing with mean, forward fill, back fill, or interpolation.
Learn to use group by on data frames to aggregate sales by date or product, applying sum and max, and extend to multi-level grouping by sector and market cap.
Explore time series data using stock market examples, learn to parse dates, convert to timestamps, and set a date time index in pandas, while identifying trends, seasonality, and noise.
Download financial stock data from Yahoo Finance using the yfinance library in Python, retrieving Apple, Microsoft, and Bitcoin prices with open, high, low, close, and volume.
Convert a date time column from string to date time type using pd.to_datetime, overwriting the column and supporting multiple formats with a format option and error handling (ignore or force).
Learn to read data into a pandas DataFrame from CSV, TSV, Excel, and HTML sources using read_csv, read_table, read_excel, read_clipboard, and read_html, and manage file paths with os.chdir.
Learn to connect Python to a MySQL server with MySQL Workbench, run select queries on the training.students table, and perform insert, update, and delete operations.
Slice time series data with the loc operator to filter per-minute data by time, date formats, and extract ranges by start or end times, year, month, or hour.
Pivot data with pandas to transform minute-wise bank stock data into symbol-based columns, converting date time to timestamps, removing duplicates, and cleaning multiindex columns.
Learn to resample time series data in python, converting tick data to minute, hourly, and daily frequencies, with upsampling, downsampling, ohlc aggregation, and forward/backward fill and interpolation.
Learn to normalize price data by dividing all values by the first value and multiplying by 100 to create a common baseline for cross-bank comparison in charts.
Learn how to calculate day-to-day price changes using a pandas DataFrame of close prices, including shift and diff, and why percent change is better for comparing stock performance.
Calculate financial returns by converting absolute price changes to percentage gains and losses, using close prices divided by previous values and pandas pct_change to obtain percent returns.
Explain how risk and reward relate in stock investing, defining risk as volatility. Demonstrate measuring volatility with variance and standard deviation, using arithmetic returns and mean.
Calculate tvpi, the total value to paid-in capital, by comparing final value to initial investment, and note it ignores time value of money when comparing funds.
Explain how CAGR measures an investment's average annual growth with reinvested profits, using a formula that converts days to years by dividing by 365.25 and compounds yearly to reflect performance.
Compute compound returns and geometric mean returns from daily returns using pandas, and understand their relation to CAGR and multiples through the product of (1+ daily return) raised to 1/n.
Explore how simple and compound interest work, compare future value under different compounding frequencies, and see how daily, monthly, and quarterly compounding affects effective interest rates.
Discover continuous compounding and its limits, where future value approaches p e^(rt) and the effective rate tends toward e^(r)-1.
Compute log returns from stock prices using continuous compounding with numpy and pandas in Python. Explore daily log returns, their mean and volatility, and how shifting prices yields them.
Compare log returns with daily returns using Python, compute with np.log and pct_change, and show that log returns enable correct future value calculations while daily returns can mislead.
Explore why log returns are popular due to their additive property. They support volatility modeling, risk tools like VaR and CVaR, and portfolio optimization.
Explore how equity shares and debt bonds serve as core instruments, compare risk and return, and understand cash-based trading versus derivatives like futures and options with margin.
Explore essential stock market terms, including long and short positions, intraday vs delivery, and derivatives, plus volume, OHLC data, trends, liquidity, bid-ask spread, and volatility.
Explore intraday and delivery trading, buy today, sell tomorrow, demat settlement, scalping, swing and positional strategies, plus upper and lower circuits, circuit breakers, leverage, derivatives, and portfolio diversification.
Explore the risks of derivatives trading, including futures and options, illustrated by a large SBI options loss, a 90% loss rate, and biases like overconfidence.
Learn how futures contracts standardize quantity, expiry, and trading on an exchange, with margin and lot size concepts, underlying assets, and three monthly expiries illustrated by Infy and Nifty futures.
Understand the underlying, strike price, premium, and expiry for options. Compare call and put options in Indian markets as European type.
Create a Kite Connect developer account and set up your first app, paying ₹2,000, linking to your trading account with a secure redirect URL and API keys.
Master the manual login workflow for the Kite Connect API: obtain a temp token, exchange it for an access token, and securely store it for the day’s trading.
Automate login to Kite Connect API with Selenium, reading API key, secret, user id, password, and totp from a security file, then save the access token to a text file.
Explore the Kite Connect API and Python wrapper to download NSC and NFO instrument lists and map trading symbols to instrument tokens.
Download historical ohlc data in multiple candle intervals via the Kite Connect API, with a historical API add-on, using token conversion and chunked 100-day fetches to cover long dates.
Master placing and managing orders with the Kite Connect API Python wrapper, exploring market, limit, and stop-loss orders, varied products, and order validity, plus example workflows.
Explore key api functions for trading, including login, retrieving today's trades, order history, and positions, plus fetching last trading prices and multi symbol data with code for deeper insights.
Explore how Kite ticker uses WebSocket streaming to deliver real-time tick data from the Kite Connect server, with options to subscribe to leap data, code data, or full data.
Download tick data in Python using Kite ticker library by logging into Kite Connect to obtain access token and subscribe to tokens; manage modes (leap, code, full) and handle ticks.
Learn to download and filter complete or partial option chain data for nifty using Zerodha Kite Connect, including calls, puts, strikes, expiry, and last prices for futures and options.
Develop a Python utility that monitors stocks every minute against lower buy and upper target prices, and plays an audio alert when prices reach these thresholds.
Explore the basics of technical indicators, including leading and lagging types, learn to code them in Python, and apply MACD, RSI, Bollinger bands, and moving averages to trading strategies.
Explore how moving averages smooth price data to reduce noise, using simple and exponential moving averages with rolling windows and Python code to analyze close prices.
Compute the MacD by subtracting 12-day and 26-day EMAs, then smooth with a 9-day EMA to form the signal line, and use crossovers to spot trend strength and reversals.
Explore bollinger bands to measure volatility with a 20-day simple moving average and upper and lower bands two standard deviations away; calculate using close prices in Google Sheets and Python.
Compute the average true range (atr) to measure volatility by using today’s high and low, yesterday’s close, and the maximum of three figures, then apply a 14-day exponential moving average.
Display close price and ATR on a shared x axis with a twin X axis to compare volatility; show how ATR and Bollinger bands together signal trend sustainability.
Explore the relative strength index (rsi), a leading momentum oscillator from 0 to 100 that flags overbought and oversold conditions and potential reversals, with its formula and smoothing in python.
Learn to compute RSI from 14-day average gains and losses, using close prices, data prep, index reset, and plotting RSI alongside price.
Compute the supertrend in Google Sheets or Excel using true range, seven-period ATR, and a three multiplier to construct and update upper and lower bands for trend reversals.
Learn to compute the supertrend in Python by calculating ATR with a seven-period range and a multiplier of three, then derive upper bands and detect trend shifts.
Renko charts filter noise by forming bricks only after price moves past a threshold, using brick sizes such as fixed price, percentage change, or ATR, with close prices.
Write a Python script to create Renko bricks for algorithmic trading or visualizing historical data, calculating brick counts from close prices and brick size, and marking bricks green or red.
Visualize renko charts using ATR to determine brick size with mplfinance in Python, plotting Nifty data and creating color-coded bricks for clear trend visualization.
Learn how the ADX measures trend strength from 0 to 100, using plus and minus directional indicators to gauge bulls or bears and decide if a trend is worth following.
Compute adx values in Google Sheets by calculating true range, dm+, dm-, and dx, then smooth into adx with a 14-period moving average.
Explore calculating the ADX and directional indicators in Python using pandas with a single-line code example feeding highs, lows, and closes, comparing results to Google Sheets.
Explore price action in live markets using recent candlestick data, patterns, and volume to predict near-term moves, with trend ranges, support and resistance, and common patterns implemented in Python.
Explore candlesticks on a trading terminal, learning how open, high, low, and close form a candle’s body and wicks, and distinguish bullish from bearish candles.
Explore how support and resistance define price zones, guide buy and sell decisions, and signal breakouts or false breakouts in trading, as zones rather than precise levels.
Explore pivot points as a technical indicator of market trend, using yesterday’s high, low, and close. Use pivot points to establish intraday support and resistance levels and preview Python calculations.
calculate pivot point, resistance and support lines using python from yesterday's high, low, and close; round to two decimals, plot the lines and compare with intraday data.
Welcome to our most comprehensive course, "Algorithmic Trading using Python," where you will embark on a transformative journey into the world of algorithmic trading. This course is designed to provide you with a solid foundation in both Python programming and algorithmic trading strategies, catering to beginners and experienced developers alike.
The course begins with a thorough exploration of Python's Object Oriented Programming (OOP) to equip you with the essential skills for algorithmic trading. You will delve into data analysis using Pandas, mastering the manipulation of financial data with ease. Utilizing libraries such as Numpy and Matplotlib, you will gain proficiency in numerical computations and data visualization.
The course covers data normalization and the calculation of financial returns, essential steps in developing robust trading strategies. Dive into finance and investment concepts to understand the intricacies of the market.
Learn to communicate with broker API using Python code. Automation Login using Selenium. Harness the potential of Zerodha Kite Connect API to implement your strategies seamlessly. In the realm of algorithmic trading, real-time data is paramount. Learn to stream live tick data and efficiently download and clean historical financial data.
Order Management - Placing orders, modifying, canceling, placing & trail stop loss orders. This course includes frequently asked questions & prerequisites for the API.
Use MySQL Database to save and access Data.
Import and export data using static files.
Technical indicators play a pivotal role in trading decisions. This course empowers you to develop indicators like Moving Averages, Bollinger Bands, ATR, Relative Strength, MACD, Supertrend, and Renko using Python.
Take your skills to the next level by learning to deploy your trading bot on a Virtual Private Server, accessible through a user-friendly web page. Achieve the pinnacle of automation as you develop a fully automatic trading bot, ready to navigate the financial markets.
The course has all working code Jupyter notebooks available in the resources section.
Whether you're a novice seeking a comprehensive introduction or an experienced developer aiming to enhance your algorithmic trading prowess, this course provides the knowledge and hands-on experience needed to succeed in the dynamic world of algorithmic trading using Python.
Join us on this exciting journey and unlock the potential of algorithmic trading in the financial markets.