fenix 1.0.5

Creator: bradpython12

Last updated:

Add to Cart

Description:

fenix 1.0.5

Fenix โ€“ Indian Broker Trading Library

A Python library for trading in the Indian Finance Sector with support for many broker APIs.
Install ยท Usage ยท Manual
The Fenix library is used to connect and trade with brokers in the Indian Financial Markets. It provides quick access to market data, order palcemement, etc. for storage, analysis, visualization, indicator development, algorithmic trading, strategy backtesting, bot programming, and related software engineering.
It is intended to be used by coders, developers, technically-skilled traders, data-scientists and financial analysts for building trading algorithms.
Current feature list:

support for many brokers โ€” more coming soon.
optional normalized data for cross-exchange analytics.
an out of the box unified API that is extremely easy to integrate.
works in Python 3.

Supported Indian Brokers
The fenix library currently supports the following 16 indian brokers and their trading APIs:



Logo
Id
Name
Supported





aliceblue
AliceBlue
๐ŸŸข



angelone
AngelOne
๐ŸŸข



choice
Choice
๐ŸŸข



finvasia
Finvasia
๐ŸŸข



fivepaisa
5paisa
๐ŸŸข



fyers
Fyers
๐ŸŸข



iifl
IIFL
๐ŸŸข



kotak
Kotak
๐ŸŸข



kotakneo
Kotak Neo
๐ŸŸข



kunjee
Kunjee
๐ŸŸข



mastertrust
Master Trust
๐ŸŸข



motilaloswal
Motilal Oswal
๐ŸŸข



symphony
JM Financial
๐ŸŸข



upstox
Upstox
๐ŸŸข



vpc
VPC
๐ŸŸข



zerodha
Zerodha
๐ŸŸข



Install
fenix in PyPI
pip install fenix

import fenix
print(fenix.brokers)
# print a list of all available exchange classes

Documentation
Read the Manual for more details.
Usage
Intro
The fenix library provides unifed methods for fetching market data, generating access tokens, placing different order types, fetching orderbook & tradebook, fetching order updates, etc.
In order to trade you need to provide your user credentials. It usually means signing up to the broker and creating API keys for your account. Some exchanges require personal info or identification. Sometimes verification may be necessary as well. In this case you will need to register yourself, this library will not create accounts or API keys for you.
Using this library you can perform the following:

get instrument tokens for equity, options for both NSE & BSE.
trade by making market, limit, stoploss and stoploss-market and bracket orders (if provided by the broker).
modify and cancel open orders.
query single order updates.
query orderbook & tradebook.
query positionbook.
query holdings.
query personal account info.
query rms limits.

Examples
# coding=utf-8

from fenix import aliceblue, angelone, zerodha, iifl
from fenix import constants


# Download all the FNO Intrument Tokens, Symbols, Lot Size
nfo_tokens = zerodha.create_fno_tokens()


# Create Headers which contain Access Token used to place orders, fetch orderbook, etc.
params = {
"user_id": "YOUR_USER_ID",
"password": 'YOUR_PASSWORD',
"totpstr": 'YOUR_TOTP_STRING',
"api_key": 'YOUR_API_KEY',
"api_secret":'YOUR_API_SECRET'
}

headers = zerodha.create_headers(params)


# Place a Limit Order in the FNO Segment
limit_order = zerodha.limit_order_fno(
price = 13.0,
option = "CE",
strike_price = 45500,
quantity = 15,
side = "BUY",
unique_id = 'LIMITOrderNFO',
headers = headers,
)


# Fetch the current detail of a single order
order_detail = zerodha.fetch_order('ORDER_ID', headers)


# Modify an open order
modified_order = zerodha.modify_order(
order_id='231217000002374',
price=10.0,
trigger=9.5,
quantity=15,
order_type=constants.OrderType.SL,
validity=constants.Validity.DAY,
headers=headers
)

# Cancel an open order
cancelled_order = zerodha.cancel_order(
order_id='231217000005603',
headers=headers
)

# Fetch OrderBook
orderbook = aliceblue.fetch_orders(headers=headers)


print(aliceblue.id, aliceblue.create_fno_tokens())
print(angelone.id, angelone.create_fno_tokens())

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.