Socket
Book a DemoInstallSign in
Socket

shoonya

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

shoonya

Unofficial Trading APIs for Finvasia Shoonya Platform, help for algo traders

0.1.4
pipPyPI
Maintainers
1

shoonya

Unofficial Trading APIs for Finvasia Shoonya Web Platform.

Finvasia offers Zero Brokerage trading and is doing good recently with it's new Shoonya platform.
Please check shoonya web platform.
Open account with Finvasia

WORK IS STILL IN PROGRESS

USE AT YOUR OWN RISK

Installation

  • Python version >3.9 is needed for this module to work
  • Git is required for below command to work
  • pip install git+https://gitlab.com/algo2t/shoonya.git

Alternate way

  • Download the .whl file from releases section
  • Using pip to install => python -m pip install shoonya-0.1.0-py3-none-any.whl

How to setup a good environment

  • Install latest Python version 3.9.x, download it from here
  • Linux comes with python upgrade it to latest version 3.9.x
  • Use scoop for Windows as package manager.
  • Use your favorite editor like VSCodium or VSCode download it from here
  • VScode is available for Windows, Linux and Mac
  • Python extension for vscode is here
  • MagicPython is also good extension
  • Wonderful documentation for working with python and vscode is here
  • Use virtualenv to create a virtual python env so that your system is not affected
  • Steps for virtualenv creation - python -m pip install virtualenv and then virtualenv venv
  • Activate the venv => .\venv\Scripts\activate (this is an example for Windows OS)
  • Install and upgrade modules (venv) PS D:\trading\algo2trade\shoonya> python -m pip install -U pip wheel setuptools pylint rope autopep8

Usage

# Check config.py example FIRST

from config import username, password, panno

from shoonya import Shoonya

access_params = Shoonya.login_and_get_authorizations(username=username, password=password, panno=panno)

print(access_params)
with open('params.json', 'w') as wrl:
    json.dump(access_params, wrl)

config.py example


username='FA12345'
password='FinvAsia@P123'
panno='ABCDE1234Z'

Usage existing params.json


import json
from config import username, password, panno

from shoonya import Shoonya, TransactionType, ProductType, OrderType, InstrumentType


# NOTE: The params.json is created using the above login example

ACCESS_FILE = f'params.json'
with open(ACCESS_FILE, "r") as access:
    credentials = json.load(access)
    access_token = credentials["access_token"]
    key = credentials['key']
    token = credentials["token_id"]
    username = credentials['user_id']
    usercode = credentials["usercode"]
    usertype = credentials["usertype"]
    panno = credentials['panno']

shn = Shoonya(username, access_token, panno, key,
              token, usercode, usertype, master_contracts_to_download=['NSE', 'NFO'])

bal = shn.get_limits()
print(bal)
df = pd.DataFrame(bal, index=None)
df['MTM'] = df['REALISED_PROFITS'] + df['MTM_COMBINED']
print(df[['MTM','REALISED_PROFITS', 'AMOUNT_UTILIZED',
      'CLEAR_BALANCE', 'AVAILABLE_BALANCE', 'MTM_COMBINED']])

scrip = shn.get_instrument_by_symbol('NSE', 'SBIN')
print(scrip)


Check complete example in examples folder

  • Here using_existing_access_tokens.py is present for help

FAQs

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.