Python NSE Option Chain Analyzer Versions Save

The NSE has a website which displays the option chain in near real-time. This program retrieves this data from the NSE site and then generates useful analysis of the Option Chain for the specified Index or Stock. It also continuously refreshes the Option Chain and visually displays the trend in various indicators useful for Technical Analysis.

5.5

11 months ago
  • Fixed IndexError caused by NSE updating the method they use for loading symbols on their website. Issue: #54, #55, #56
  • No longer uses the web scraping technique to load symbols
    • Instead uses the API to load symbols as that is what the new NSE website uses
    • Removed beautifulsoup4 from requirements.txt as it is no longer required
  • Updated documentation:
    • Removed beautifulsoup4 from dependencies

5.4

2 years ago
  • Fixed IndexError with tksheet versions >=5.0.29. Issue: #24, #25, #28, #32, #33. Pull Request: #34 (Thanks to @yjagota)
  • Fixed redundant code. Pull Request: #19 (Thanks to @QuickLearner171998)
  • Bumped dependencies to fix known vulnerabilities
  • Updated documentation:
    • Added new contributors to the list
    • Updated table formatting
    • Fixed typos

5.3

3 years ago
  • New App Icon:

    icon_square
  • Improved Documentation

  • Added Option to alert if last time the data was updated is 5 minutes or more called Warn Late Server Updates

  • Downloading the app icon can be disabled now changing the value of load_nse_icon to False in the config file

    • This is to speed up loading times while using the .py version
  • Added Saving New settings for subsequent runs

    • New Saved settings:
      • Load App Icon
      • Warn Late Server Updates
  • Improved Logging:

    • New Logging messages:
      • Beta status
      • Beta version number
  • Disabled resizability for About window

  • Bumped dependencies for .py version

  • Removed numpy import by casting all numpy.float64 and numpy.int64 types to float and int

    • Removed numpy from requirements but will be installed by pandas anyways
  • Fixed icon not loading in .exe version

  • Prevents crashing the program if it fails to check for updates

  • Prevents crashing the program if icon fails to load correctly

    • Runs the program with the default icon instead
  • Program will exit if an error occurs while trying to load symbols

    • Error message window will be displayed before exiting

5.2

3 years ago
  • Added Support for Linux
    • Notifications only supports Windows 10
  • List of Stocks and Indices is loaded dynamically from https://www.nseindia.com/products-services/equity-derivatives-list-underlyings-information everytime
    • Program is now not required to be updated when there are changes in Stocks and Indices
  • Added name of stock or index in notifications
  • Reworked configuration reading and writing
    • Settings will stay persistent across updates
    • Only invalid values are corrected and missing values are appended
    • Unless a user tampers with it, the config does not reset completely
  • If your running the .py version, icons are now temporarily downloaded every time you run the program and need not be saved separately
  • Disabled text input in Dropdown menus on Login page to prevent errors
  • Improved Logging:
    • New Logging messages:
      • OS Name and Version
      • Error Class along with Error Message
  • Note: Users who are still running version 4.x are recommended to directly update to 5.2 to prevent settings from resetting

5.0

3 years ago
  • Added Support for Stocks (Total 141 Stocks). Issue: https://github.com/VarunS2002/Python-NSE-Option-Chain-Analyzer/issues/8
    • Set Index Mode or Stock Mode then select your preferred Index or Stock
    • Values are in 10s in Stock mode and 1000s in Index mode (to compensate for low values of stocks)
    • Symbol of the Stock is present in the names of the .csv files
    • Appropriate Units are reflected in the headers of .csv files
  • Added Saving New settings for subsequent runs
    • New Saved settings:
      • Index/Stock Mode
      • Selected Stock
  • Fixed possible issues while reading configuration
  • Optimised retrieving data from the API

4.1

3 years ago
  • Added Dumping Entire Option Chain data to a .csv file. Issues: https://github.com/VarunS2002/Python-NSE-Option-Chain-Analyzer/issues/3 and https://github.com/VarunS2002/Python-NSE-Option-Chain-Analyzer/issues/4
    • Dump Entire Option Chain is disabled by default (Enable from Option menu or Ctrl+O)
    • Saves this setting for subsequent runs
  • Added Notifications for changes in value of OI Upper and Lower Boundary Strike Prices
  • Renamed 'Export all to CSV' option to 'Export Table to CSV'
  • Fixed Call and Put OI for 2nd Strike Price not being displayed in K when the Strike Prices were consecutive
  • Fixed issues where export would fail and program would stop if the .csv file is open in some other program or is inaccessible
  • Fixed issue where program stops immediately if you start it before market opens when you have auto stop enabled
  • Prevents crash during Checking for updates due to poor internet connection
  • Fixed 'Quitting Program' being logged even if Debug Logging was off
  • Fixed possible issues while reading configuration

4.0

3 years ago
  • Added support for FINNIFTY index
  • Dropped support for NIFTYIT index
  • Added Live Exporting of Data rows to a .csv file
    • Live Exporting is disabled by default (Enable from Option menu or Ctrl+B)
  • Supports exporting data while running multiple instances with different indices and/or expiry dates selected
    • Filename contains the selected index and expiry date. For eg. NSE-OCA-NIFTY-14-Jan-2021.csv will only have the data for NIFTY and 14 Jan 21 regardless of the instance running
  • Adds Column Names to the .csv file if it is created for the first time
  • Added Toast Notifications on Windows when a state of a label changes (except PCR label)
    • Notifications are disabled by default (Enable from Option menu or Ctrl+N)
  • Added option to automatically stop the program at 3:30pm when market closes
    • Auto Stop is disabled by default (Enable from Option menu or Ctrl+K)
  • Added Auto and Manual Check for updates
    • Auto Check for updates are enabled by default (Disable from Option menu or Ctrl+U)
  • Added Saving settings for subsequent runs
    • Saved settings:
      • Selected Index
      • Refresh Interval
      • Live Export
      • Notifications
      • Auto stop at 3:30pm
      • Auto Check for Updates
      • Debug Logging
    • Settings are saved to NSE-OCA.ini
    • Resets NSE-OCA.ini file if incorrectly configured
  • Fixed issue where Points would be 0 for some strike prices. Issue: https://github.com/VarunS2002/Python-NSE-Option-Chain-Analyzer/issues/6
  • Added NSE icon to all windows (if icon file is missing, default icon will be used)
  • Improved Option Menu
  • Improved messages in Alert boxes
  • Improved Buttons
  • Modified some Labels
  • Improved Logging:
    • New Logging messages:
      • Whether running instance is .py version or .exe
      • Version number
      • Logging Started
      • Logging Stopped
      • Program Quitting
    • Removed unnecessary messages:
      • 'Nse' object has no attribute 'options' 10
      • module 'sys' has no attribute '_MEIPASS' 0
      • invalid command name ".!combobox2" 4
    • Changed name of the log file from nse.log to NSE-OCA.log
  • Many Code Improvements

3.7

3 years ago
  • Added 2nd Highest Call and Put Open Interest and their corresponding Strike Price
    • It is calculated between the OI boundary range (highest in the range)
  • Added option to change refresh interval
  • Reworked Login Screen
  • Added Type Hints in code everywhere
  • Added requirements.txt
  • Reduced size of .exe by ~10%
  • Ceased releasing Python Compiled Files (.pyc/.pyw)
    • Since it runs only on specific versions of Python

3.5

3 years ago

-Fixed an issue when program would stop refreshing after a few hours (creates a new session everytime)

3.4

3 years ago

-Fixed an issue when program would stop refreshing after every ~2 hours (creates a new session everytime) -Fixed an issue when the program would stop refreshing after one connection error -Added Debug Logging (Use this to report any issues)