From a3241dabea2c5c75e34fb31dca652a26dc204a34 Mon Sep 17 00:00:00 2001
From: VarunS2002 <30069380+VarunS2002@users.noreply.github.com>
Date: Fri, 15 Jan 2021 13:01:45 +0530
Subject: [PATCH] Release Version 4.0 - Updated Documentation for 4.0
---
NSE_Option_Chain_Analyzer.py | 2 +-
README.md | 130 +++++++++++++++++++++--------------
2 files changed, 80 insertions(+), 52 deletions(-)
diff --git a/NSE_Option_Chain_Analyzer.py b/NSE_Option_Chain_Analyzer.py
index 7716d4d..6d8d4a3 100644
--- a/NSE_Option_Chain_Analyzer.py
+++ b/NSE_Option_Chain_Analyzer.py
@@ -19,7 +19,7 @@
# noinspection PyAttributeOutsideInit
class Nse:
- version: str = '3.7'
+ version: str = '4.0'
def __init__(self, window: Tk) -> None:
self.intervals: List[int] = [1, 2, 3, 5, 10, 15]
diff --git a/README.md b/README.md
index 1153d4e..471e62b 100644
--- a/README.md
+++ b/README.md
@@ -1,8 +1,7 @@
# Python NSE-Option-Chain-Analyzer
## [Downloads](https://github.com/VarunS2002/Python-NSE-Option-Chain-Analyzer/releases)
-[](https://github.com/VarunS2002/Python-NSE-Option-Chain-Analyzer/releases/tag/3.7)
-[](https://github.com/VarunS2002/Python-NSE-Option-Chain-Analyzer/releases/tag/2.0)
+[](https://github.com/VarunS2002/Python-NSE-Option-Chain-Analyzer/releases/download/4.0/NSE_Option_Chain_Analyzer_4.0.exe)

[](https://www.gnu.org/licenses/gpl-3.0)
@@ -13,27 +12,29 @@ Calculations are based on [Mr. Sameer Dharaskar's Course](http://advancesharetra
## Installation:
--Types of variants available:
+>#### Types of variants available:
1. `.exe` (Windows Executable)
2. `.py` (Python Source Code)
--Requirements for 1:
-
- - Windows OS
+- Does not support Linux
--Requirements for 2:
-
- - Python 3.6+
+- Requirements for 1:
- - For Windows https://www.python.org/downloads/ is recommended
+ - Windows OS
- - Add Python to PATH/Environment Variables during installation in Windows (recommended)
-
- - Required modules: [requirements.txt](https://github.com/VarunS2002/Python-NSE-Option-Chain-Analyzer/blob/master/requirements.txt)
-
- - Install missing modules using `pip install -r requirements.txt`
+- Requirements for 2:
+
+ - Python 3.6+
+
+ - For Windows https://www.python.org/downloads/ is recommended
+
+ - Add Python to PATH/Environment Variables during installation in Windows (recommended)
+
+ - Required modules: [requirements.txt](https://github.com/VarunS2002/Python-NSE-Option-Chain-Analyzer/blob/master/requirements.txt)
+
+ - Install missing modules using `pip install -r requirements.txt`
## Usage:
@@ -47,58 +48,85 @@ Calculations are based on [Mr. Sameer Dharaskar's Course](http://advancesharetra
## Note:
--If there is an error in fetching dates then try refreshing
+- If there is an error in fetching dates then try refreshing
+
+- If you face any issue or have a suggestion then feel free to open an issue.
+
+- It is recommended to enable logging and then send the NSE-OCA.log file or the console output for reporting issues
+
+- In case of network or connection errors the program doesn't crash and will keep retrying until manually stopped
--If you face any issue or have a suggestion then feel free to open an issue.
+- If a ZeroDivisionError occurs or some data doesn't exist the value of the variable will be defaulted to 0
--It is recommended to enable logging and then send the nse.log file or the console output for reporting issues
+- All data is retrieved from https://www.nseindia.com/api/option-chain-indices?symbol={index_name}
--In case of network or connection errors the program doesn't crash and will keep retrying until manually stopped
+## Dependencies:
--If a ZeroDivisionError occurs or some data doesn't exist the value of the variable will be defaulted to 0
+- [auto-py-to-exe](https://pypi.org/project/auto-py-to-exe/) is used for compiling the program to a .exe file
--All data is retrieved from https://www.nseindia.com/api/option-chain-indices?symbol={index_name}
+- [numpy](https://pypi.org/project/numpy/) is used for calculations
--[tksheet](https://pypi.org/project/tksheet/) is used for the table containing the data
+- [pandas](https://pypi.org/project/pandas/) is used for storing and manipulating the data
--[auto-py-to-exe](https://pypi.org/project/auto-py-to-exe/) is used for compiling the program to a .exe file
+- [requests](https://pypi.org/project/requests/) is used for accessing and retrieving data from the NSE website
--[stream-to-logger](https://pypi.org/project/streamtologger/) is used for debug logging
+- [stream-to-logger](https://pypi.org/project/streamtologger/) is used for debug logging
+
+- [tksheet](https://pypi.org/project/tksheet/) is used for the table containing the data
+
+- [win10toast](https://pypi.org/project/win10toast/) is used for Windows Toast notifications
## Features:
--The program continuously retrieves and refreshes the option chain giving near real-time analysis to the traders
+- The program continuously retrieves and refreshes the option chain giving near real-time analysis to the traders
+
+- New data rows are added only if the NSE server updates its time or data (To prevent displaying duplicate data)
+
+- Supported Indices :
+ * NIFTY
+ * BANKNIFTY
+ * FINNIFTY
+
+- Supports multiple instances with different indices and strike prices selected
+
+- Red and Green colour indication for data based on trends
+
+- Toast Notifications for notifying when trend changes
--New data row is added only if the NSE server updates its time or data (To prevent printing duplicate data)
+- Program title format: `NSE-Option-Chain-Analyzer - {index} - {expiry_date} - {strike_price}`
--Supported Indices :
- * NIFTY
- * BANKNIFTY
- * NIFTYIT
+- Stop and Start functionality
--Red and Green colour indication for data based on trends
+- You can select all table data using Ctrl+A or select individual cells, rows and columns
--Program title format: `NSE-Option-Chain-Analyzer - {index} - {expiry_date} - {strike_price}`
+- Then you can copy it using Ctrl+C or right click menu
--Stop and Start functionality
+- You can then paste it in any spreadsheet application (Tested with MS Excel and Google Sheets)
--You can select all table data using Ctrl+A or select individual cells, rows and columns
+- Export all data to .csv file
--Then you can copy it using Ctrl+C or right click menu
+- Real time exporting data rows to .csv file
--You can then paste it in any spreadsheet application (Tested with MS Excel and Google Sheets)
+- Auto stop the program at 3:30pm when the market closes
--Export to .csv file option
+- Auto Checking for updates
--Debug Logging toggle
+- Debug Logging
--About window with version and links for developer GitHub profile, README, license, releases and sources
+- Saves certain settings in a configuration file for subsequent runs. Saved Settings:
+ * Selected Index
+ * Refresh Interval
+ * Live Export
+ * Notifications
+ * Auto stop at 3:30pm
+ * Auto Check for Updates
+ * Debug Logging
--PEP 8 format
+- Keyboard shortcuts for all options
--Object Oriented
+## Data Displayed
--Table Data displayed:
+>#### Table Data:
Data | Description
--- | ---
@@ -112,7 +140,7 @@ Put Boundary | Change in Put Open Interest for the given Strike Price. This is u
Call In The Money(ITM) | This indicates that bullish trend could continue and Value could cross 4 Strike Prices above given Strike Price. It's calculated as the ratio of Put writing and Call writing at the 4th Strike Price above the given Strike price. If the absolute ratio > 1.5 then its bullish sign.
Put In The Money(ITM) | This indicates that bearish trend could continue and Value could cross 2 Strike Prices below given Strike Price. It's calculated as the ratio of Call writing and Put writing at the 2nd Strike Price below the given Strike price. If the absolute ratio > 1.5 then its bearish sign.
--Label Data displayed:
+>#### Label Data:
Data | Description
--- | ---
@@ -128,18 +156,18 @@ Put In The Money(ITM) | This indicates if the Put writers are also exiting far O
## Screenshots:
--Login Page:
+- Login Page:
-
+

--Main Window:
+- Main Window:
-
+

--Selecting Data:
+- Selecting Data:
-
+

--Option Menu
+- Option Menu
-
+
