algonitish
SwissAlgoKnife
Python

Utilities to automate small daily tasks for algo traders.

Last updated Dec 13, 2025
46
Stars
22
Forks
2
Issues
0
Stars/day
Attention Score
37
Language breakdown
Python 100.0%
Files click to expand
README

SwissAlgoKnife

Utilities to automate small daily tasks for algo traders.

WARNING: Based on https://github.com/PySimpleGUI/, these are one shot windows. Plan your workflow, or be prepared to open and close the application in entirety since a window once closed cannot be opened again. As soon as there's a solution for this, this warning will be removed. Latest change made to SwissAlgoKnife.py (2019-12-29) allow windows to opened and close multiple times. The change was to use read-execute on the files contained in SAKModules directory, rather than importing them at the click of a button. This also allows new modules to be added to the project without any changes needed in the front end.

Project Structure:

SwissAlgoKnife |-SwissAlgoKnife.py |-SAKModules |-IBKRAllinone.py |-MySQL_Allinone.py |-IBKRConnectWindow.py |-IBKRHistoricalWindow.py |-IBKRTickData_Window.py |-ALPACA_Connect.py |-UPSTOXConnectWindow.py |-SAK_NSEOptionChainExtractor.py |-pycache |-Secret |-Cred.py |-Downloads |- |-pycache

Description of files

  • SwissAlgoKnife.py - just an entry point to the application.
  • SAKModules - Folder containing all utilities. Each utility is designed to also be a standalone file.
  • IBKRAllinone.py - All IBKR functions in one file: Connect, get OHLC Data, get Tick Data
  • MySQL_Allinone.py - All MySQL functions in one file: Connect, store OHLC Data, store Tick Data. (TODO: (1) Retrieval function WIP, (2) store Option Chain Data.)
  • IBKRConnectWindow.py - older window. To connect to IBKR.
  • IBKRHistoricalWindow.py - older window. To get OHLC Data.
  • IBKRTickData_Window.py - older window. To get tick Data.
  • SAKNSEOptionChainExtractor.py - crawls and collects data from NSE Options Chain pages. Creates a separate CSV file for each symbol. Will keep appending to CSV if file isn't removed from directory. (TODO: (1) Subdivide Downloads directory into different folders for different types of downloaded data, (2) pick up listidentifiers from a file instead of hardcoded values.)
  • ALPACA_Connect.py - WIP.
  • SAK_Zerodha.py - coming sooner.
  • SAK_Fyers.py - coming later.
  • UPSTOXConnectWindow.py - frozen due to Upstox discontinuing API.
  • pycache - don't touch.
  • Secret - folder for credential files
  • Cred.py - file containing credentials for all APIs in one place.
  • Downloads - folder for all downloaded files across utilities.
  • pycache - don't touch.
Interactive Brokers Utilities

Written with https://github.com/erdewit/ib_insync.

  • Connect to TWS or Gateway on localhost:port:UID
  • View and download OHLC data for one symbol, one request at a time
  • Download Tick data for one symbol, between any two start and end dates
MySQL Utilities

Written using SQLAlchemy.

  • Connect to local MySQL server
  • Commit OHLC and Tick data files to respective tables
Upstox Utilities

Frozen due to unavailability of Upstox Historical API

Zerodha Utilities

WIP

Fyers Utilities

WIP

HDF5 Utilities

Planning

🔗 More in this category

© 2026 GitRepoTrend · algonitish/SwissAlgoKnife · Updated daily from GitHub