
EMail for support: breezeapi@icicisecurities.com
Discover icici direct breeze api resources, including the core http json api, wrapper, and python sdk, with login, websockets, and functions like get funds, list orders, and place an order.
Set up your data science environment with Anaconda, create project-specific environments, install pandas, and use Jupyter Notebook or Spyder for algo trading with Bridge API.
An introduction to Python tools required for the course.
We give a brief demo of the ICICI Direct Trading application.
We discuss the manual login process.
Architecture and code required to automate the login process.
Learn how to use the Selenium Python library to automate login and browser interactions, open a website, and interact with elements like input boxes and buttons using the Chrome driver.
Learn to inspect html structure, locate elements with xpath, and use selenium to read text and click buttons. Apply these basics to automating the ICICI Direct Breeze API login page.
Learn to secure ICICI Direct Breeze API for algo trading by using Google authenticator to generate time-based one-time passwords (totp).
Learn to automate ICICI Direct login with Selenium, read API key, secret, username, password, and time-based OTP to generate a session, and download historical data for algo trading.
Download instruments to get details like Instrument token, trading symbol, lot size & expiry date, etc.
Download historical Open High Low Close data for various instruments & different candles like 5 minutes.
Download option chain data for Banknifty via Breeze API, fetch nearest expiry, save key columns to CSV, and filter near money strikes to design straddle or strangle strategies.
Learn to retrieve quotes for an instrument using bridge API by supplying stock code, exchange code, product type, and optional parameters, then filter NC data for strategy.
Demo of various functions available in the API for trading like buying, selling, etc.
Monitor stocks using an api to trigger price alerts when last trading price hits lower or upper bands, generating audio alarms and optional email alerts.
Learn how the WebSocket api provides real-time tick data and alerts through bidirectional, low-latency streaming, starting with an http request and the 101 switching protocol handshake.
Write code to download real-time tick data for various instruments.
Learn the basics of technical indicators, how to code them in Python, and use them in trading strategies with moving averages, RSI, MACD, Bollinger bands, ATR, and ADX.
Smooth price data with moving averages to reduce noise. Learn to compute simple and exponential moving averages (SMA and EMA) using Python's rolling windows.
Discover how MACD uses 12-day fast and 26-day slow exponential moving averages to generate a 9-day signal line, revealing bullish or bearish crossovers and trend reversals.
Explore Bollinger bands for volatility using a 20 day simple moving average with upper and lower bands two standard deviations away; learn to compute them in Google Sheets and Python.
Learn how the average true range measures volatility by averaging daily price movements, calculating true range from high-low, high-previous close, and low-previous close, then applying a 14-day EMA.
Explore how to plot close price and atr on a shared chart using twin axes, interpret volatility as atr trends, and assess trend sustainability through atr and bollinger bands.
explains the relative strength index as a momentum oscillator between 0 and 100, signaling oversold and overbought conditions, and derives RSI from average gain and average loss with 14-day smoothing.
Learn to compute the relative strength index (rsi) part 2 by calculating daily gains and losses, 14-day average gains and losses, and recursive smoothing, then visualize rsi beside close prices.
Explore the super trend, a trend-following indicator using average true range to form upper and lower bands. It signals intraday trend reversals and relies on period and multiplier.
Learn to calculate the super trend using Google Sheets or Excel, including true range, ADR/ATR, exponential moving average, and the final upper and lower bands to identify trend reversals.
Calculate the super trend in Python using a 7-period range and a 3 multiplier. Derive basic and final upper bands from the ATR and close price, and plot trend changes.
Explore Renko charts, a noise-filtering data visualization built from bricks that form only when price moves by a chosen brick size, independent of time.
Develop renko bricks from minute price data using Python, using brick size to compute green or red bricks, building a brick data frame for algo trading visualization.
Show how to visualize renko charts by calculating brick size from ATR using ADR, and plot the results with the MPL Finance library on NIFTY data.
Learn how the adx measures trend strength with plus/minus directional indicators and true range, filters sideways markets, uses 14-day settings on icici bank charts, prep in google sheets before python.
Learn to calculate ADX values in Google Sheets/Excel by computing true range, directional movement, and smoothed averages over 14 bars to derive ADX.
Learn to compute the ADX indicator in Python with pandas, using highs, lows, and close values in one line of code to obtain ADX and its positive and negative indicators.
Observe price action in the live market using recent data, identify candlestick patterns such as spike pullback and breakout reversal, and combine candlestick indicators with Python-based strategies for near-term moves.
Candlesticks visualize open, high, low, and close data for a chosen duration. Their bodies and wicks show price movement and bullish or bearish signals by color.
Identify support and resistance levels to anticipate price reversals and breakouts in stock trading, using approaches like eyeballing, historical data, and averages, and watch for false breakouts.
Discover pivot points, a key technical indicator calculated as yesterday's high-low-close average to reveal market trend and guide intraday trading with support and resistance levels.
Calculate pivot points using Python by averaging yesterday's high, low, and close, then derive resistance and support levels, round results, and compare with intraday data.
Explore doji candles, where open and close prices coincide, signaling indecision, and learn to detect them in Python for informed decisions in algo trading.
Learn to detect doji candles in Python using Talib and MPL Finance, build a signal column to flag doji bars, and filter data for strategy.
Learn hammer candles, a candlestick indicator signaling price reversal after a downtrend, with a small body, a long lower wick, and a tail at least twice the body.
Demonstrate identifying hammer candles in Python with Talib, updating a dataframe with hammer signals, and visualizing them on an interactive Plotly chart for decision making.
Explore the shooting star candle, with a long upper wick more than twice the body and little or no lower wick, signaling a bearish reversal after an uptrend.
Learn how to detect shooting star candles in Python using the Talib library, visualize results with candlestick plots, and interpret signals within uptrend or downtrend contexts.
Explore Marubozu candles, candlesticks with a full body and minimal wicks signaling strong bullish or bearish momentum used to confirm breakouts.
Use python to detect marubozu candles by filtering data and computing open, high, low, and close; the code separates green and red candles and plots signals.
Learn about harami patterns, including bullish harami, bearish harami, and harami cross, formed by candles signaling reversals. Detect them in Python with Talib KDL harami, noting context is essential.
Explore the engulfing pattern, the opposite of harami, where a smaller first candle is engulfed by a larger second candle, signaling reversals; weeks are not considered by kdl engulfing library.
Explore time series data with per-minute stock market ohlc data and seasonal trends. Learn to convert date time to pandas datetime and set it as index for filtering and analysis.
Explore reading and writing data with pandas dataframes from csv, tsv, excel, and html sources, and manage working directories and file paths using os tools.
Convert string dates to datetime in a dataframe using pandas pd.to_datetime, overwriting the DateTime column to datetime64. Use format to specify layouts and handle errors with ignore or coerce.
Learn to identify and handle missing values in data with pandas, using NaN and None, replacing cells with iloc, and inspecting counts with info.
Learn to handle missing values in pandas by dropping or imputing NaNs, using isnull and dropna with thresholds, and applying mean, forward fill, backfill, and interpolate.
Learn to resample time series data from tick level to per minute, five minute, or daily candles, performing upsampling or downsampling with aggregation like last, mean, or ohlc.
Learn how to connect to a MySQL server using MySQL workbench, create and query a students table, and perform insert, update, and delete operations with Python.
Define your objective, select a market, gather and clean data, and backtest using technical, fundamental, or machine learning methods to develop and optimize profitable algo trading strategies.
Explore backtesting as a step in evaluating an algo trading strategy with historical data in Python. Use vectorized backtesting for fast idea generation and iterative backtesting for realistic, live-ready testing.
Backtest a simple moving average strategy using vectorized backtesting with 50 and 200 day averages, generating long or short positions and comparing strategy returns to buy-and-hold.
The session demonstrates optimizing a moving-average crossover strategy by backtesting short and long EMA combinations, finding no outperformance over buy-and-hold; best at 5-day short, 47-day long.
Develop a reusable Python backtester by building an iterative backtesting class with pandas and numpy to simulate trades, manage short and long EMA parameters, and track results.
Builds an iterative backtester that fetches csv data, computes log returns and short and long EMAs, and visualizes price and returns to illustrate crossing indicators as trading rules.
Add buy and sell functions to update units, balances, and trades, and implement balance, current position, and net asset value calculations to establish iterative backtesting.
Close any open positions at the final bar, compute and print the strategy performance and balance, and introduce row-wise iteration methods such as range loops, iterrows, and iloc.
Backtest an exponential moving average crossover strategy using short-term ema and long-term ema to signal buys on bullish crossovers and sells on bearish crossovers.
Engage in iterative strategy optimization by testing multiple EMA parameter combinations, backtesting performance, and identifying the best short and long moving averages.
Code to simulate API so that you may test your strategy before running it with actual money.
Run a demo strategy that combines MACD and Supertrend signals to enter long or short trades on top moving stocks via ICICI Direct wrapper and Bridge API.
This video has been recorded on Zerodha because of the better user interface. The code has been tested on ICICI Direct as well.
Learn why a VPS provides 24/7 uptime and reliable connectivity for algo trading, comparing Linux and Windows hosting, cloud options, and remote access via Microsoft Remote Desktop.
Automate algo trading workflows by deploying a Windows-based server, scheduling batch and Python scripts with Task Scheduler, and running a Flask web UI on port 5000 with open firewall rules.
Access and monitor your algo trading strategy from a VPS via a browser, including instrument selection, pre-market steps, backtesting, and live vs paper trading with P&L and trade logs.
Stock market trading is highly dependent on human emotions. Our emotional biases like loss aversion & mental accounting negatively affect our decisions in the stock market. Using this course you will be able to automate your strategy including authentication, extracting data, performing technical analysis, generating signals, risk management, etc. Learn to work with MySQL Database to save and retrieve data.
ICICI Direct is a leading broker in India. Using this course you will be able to integrate with the Breeze API within a few days.
This course explains the Breeze API architecture in detail. The API is Free of cost.
This course covers complete API functionality, including:
Manual, Semi Automatic & Full Automation Login using Selenium - The API login process has been explained in a highly simplified manner.
Order Management - Placing orders, modifying, canceling, placing & trail stop loss orders.
Historical OHLC data downloading for different candle sizes.
Receiving real-time tick data for multiple instruments & saving it in the Database.
Market /Trend Analysis with Technical Indicators using Excel/Google sheet and Python
Creating audio-visual alerts for monitoring multiple stock prices' upper & lower limits.
Write code for paper trading with a strategy.
Extra lecture on developing SMA & morning market direction strategy examples.
The course has all working code Jupyter notebooks available in the resources section.
Whether you are a student looking for a career in Data Science or a Trader trying to automate a strategy, this course is for you.