Skip to content

tejaslinge/Technical-Analysis-using-Python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 

Repository files navigation

Technical Analysis and back-testing using Python

Technical indicators are heuristic or pattern-based signals produced by the price, volume, and/or open interest of a security or contract used by traders who follow technical analysis. (src: https://www.investopedia.com/terms/t/technicalindicator.asp#:~:text=Technical%20indicators%20are%20heuristic%20or,to%20predict%20future%20price%20movements.)

In this project, I've demonstrated how to use these technical indicators to trade in the stock markets and back-tested the results using Python. Technical indicators used for analysis in this project are:

  1. Simple Moving Average (SMA)
  2. Exponential Moving Average (EMA)
  3. Bollinger Bands
  4. Moving Average Convergence Divergence (MACD)

There are many other technical indicators such as RSI, Stochastics, Money Flow Index, etc. but for the purpose of explaining how to implement and back-test technical trading strategies in Python, I've used some of the most popular ones. We can learn how buy/sell signals are generated using these strategies and how long to implement them.

We can also pair technical indicators with other external factors (qualitative factors such as EBIDTA, revenue, future prospects, management, etc) to improve our trading strategy and get better results.

Github performs a static render of the notebooks and it doesn't include the embedded HTML/JavaScript that makes up a plotly graph, so the graphs which are plotted using Plotly cannot be displayed in Github. To view the complete notebook with outputs as well, one nice option is to paste the link of GitHub notebook into https://nbviewer.jupyter.org/, which will present a rich view of the notebook.

OR

Visit https://nbviewer.jupyter.org/github/tejaslinge/Technical-Analysis-using-Python/blob/main/BankNifty.ipynb to view complete Jupyter notebook.