Skip to main content

Wrapper over angel broking smartapi to read cached options market data

Project description

About project

A small wrapper over smartapi to backtest basic trading strategies. Easy installation and usage

Installation

pip install alphatools_jv

Usage

Creating and running a strategy

from alphatools.backtesting_app import BackTestingApp
from datetime import datetime

class TestSmartApiApp(BackTestingApp):

    def on_md(self, data_row):
        # your strat code goes here
        print("New row found: {}".format(data_row))


app = TestSmartApiApp('/Users/jaskiratsingh/projects/smart-api-creds.ini')
app.set_start_date(datetime.strptime('2022-12-20 11:39:00+05:30', '%Y-%m-%d %H:%M:%S%z'))
app.set_end_date(datetime.strptime('2022-12-29 11:39:00+05:30', '%Y-%m-%d %H:%M:%S%z'))
app.set_interval('ONE_MINUTE')
app.add_instrument(53825, "NFO")
app.add_instrument(48756, "NFO")
app.load_data()                     # Loads the data into a dataframe
app.get_candle_info_df()            # Returns the entire simulation dataframe
app.simulate()                      # Starts simulation from the beginning

# To place a trade, use trade api to send the orders to the pnl calculator. 
# Pnl calculator uses last tick prices to calculate the observed Pnl
app.trade(53825, 1)     # Buys 1 unit for token 53825
app.trade(53825, -3)    # Sells 3 units for token 53825
app.get_total_pnl()     # Returns pnl after all trades are made

Helper for instruments

from alphatools.utils.token_manager import TokenManager

tok = TokenManager()

# Refer documentation for more overrides
info = tok.get_instrument(53825) # Returns instrument info
info = tok.get_instrument('NIFTY23FEB23FUT') # Returns instrument info

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

alphatools_jv-3.4.1.tar.gz (11.3 kB view details)

Uploaded Source

Built Distribution

alphatools_jv-3.4.1-py3-none-any.whl (14.8 kB view details)

Uploaded Python 3

File details

Details for the file alphatools_jv-3.4.1.tar.gz.

File metadata

  • Download URL: alphatools_jv-3.4.1.tar.gz
  • Upload date:
  • Size: 11.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.9.6 readme-renderer/40.0 requests/2.28.2 requests-toolbelt/1.0.0 urllib3/1.26.16 tqdm/4.65.0 importlib-metadata/6.8.0 keyring/24.2.0 rfc3986/2.0.0 colorama/0.4.6 CPython/3.11.4

File hashes

Hashes for alphatools_jv-3.4.1.tar.gz
Algorithm Hash digest
SHA256 72484d43ebe8c4b56b7b0b9664300c49695f942b75d0ef5eebe6d3715b63704b
MD5 edc078220cddc43c27d3303c3ed99eae
BLAKE2b-256 ee3cd52ba8e78352533f64d560231b33c5a82dd4829ad1175ffc7c152dc6ec51

See more details on using hashes here.

File details

Details for the file alphatools_jv-3.4.1-py3-none-any.whl.

File metadata

  • Download URL: alphatools_jv-3.4.1-py3-none-any.whl
  • Upload date:
  • Size: 14.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.9.6 readme-renderer/40.0 requests/2.28.2 requests-toolbelt/1.0.0 urllib3/1.26.16 tqdm/4.65.0 importlib-metadata/6.8.0 keyring/24.2.0 rfc3986/2.0.0 colorama/0.4.6 CPython/3.11.4

File hashes

Hashes for alphatools_jv-3.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 edb12b5ec254119c9b31daa651bd472b689ac6e7a517e293d336b2b042fd93fe
MD5 e796b1483ab15c9e2b4aaf299e7c3002
BLAKE2b-256 b194a695b8074432146d0a4dad3f76279e20e67dee2fbce311ee975ae57907ec

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page