Skip to main content

A comprehensive library for financial analysis

Project description

StockDataManager

This Python library offers a comprehensive suite of tools for technical and fundamental analysis, along with options analysis capabilities. Utilizing the yfinance library, it facilitates access to historical stock data, financial statements, and key financial metrics from Yahoo Finance. It includes over 30 technical indicators and options analysis tools.

Features

  • Technical Analysis (IndicatorCalculator Class): Offers over 30 technical indicators like Moving Averages, MACD, Bollinger Bands, RSI, Ichimoku Cloud, etc., for analyzing market trends and volatility.
  • Fundamental Analysis (Fetcher Class): Retrieve historical stock data, income statements, balance sheets, cash flows, and key financial ratios (e.g., P/E, ROE, current ratio).
  • Options Analysis (Greeks and OptionPricing Classes): tools to calculate options greeks and simulate option prices using various models, with enhanced methods to estimate risk-free rates and volatility.

Installation

pip install stockdatamanager

Quick Start

from stockdatamanager import Fetcher, IndicatorCalculator
from stockdatamanager.options import Greeks, OptionPricing

# Fetching stock data and financial statements
fetcher = Fetcher(ticker='AAPL')
print(fetcher.get_pe_ratio())

# Applying technical analysis
indicators = IndicatorCalculator(dataframe=fetcher.df)
df_with_rsi = indicators.calculate_RSI()

# Calculating options Greeks
greeks = Greeks(ticker = 'AAPL', call = True, identification = 0)
delta = greeks.calculate_delta()

# Pricing an American-style option using the binomial tree method
option_pricing = OptionPricing(ticker='MSFT', call=False, american=True, risk_free_rate='13 weeks', identification=0, use_yfinance_volatility=True)
option_price = option_pricing.calculate_option_price(method='binomial', describe=False)
print(f"Option Price: {option_price}")

Usage

Fetching Data

fetcher = Fetcher(ticker='AAPL')
income_statement = fetcher.get_income_statement()

Calculating Technical Indicators

transform = Transform(ticker='AAPL')
df_with_macd = transform.calculate_MACD()

Option Analysis

Calculate the Delta of an option:

greeks = Greeks(ticker='AAPL', call=True, identification='AAPL220121C00100000')
print(greeks.calculate_delta())

Simulate option pricing using the Crank-Nicholson method:

option_pricing = OptionPricing(ticker='MSFT', call=False, american=True, risk_free_rate='13 weeks', identification='AAPL220121C00100000', use_yfinance_volatility=True)
option_price = option_pricing.calculate_option_price(method='crank-nicolson', describe=False)
print(f"Crank-Nicolson Method Option Price: {option_price}")

Contributions

Contributions are welcome! Feel free to open an issue or submit a pull request for improvements or new features.


License

stockdatamanager is made available under the MIT License. See the LICENSE file for more details.

Contacts

Email: giorgio.micaletto@studbocconi.it

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

stockdatamanager-1.1.2.tar.gz (35.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

stockdatamanager-1.1.2-py3-none-any.whl (34.8 kB view details)

Uploaded Python 3

File details

Details for the file stockdatamanager-1.1.2.tar.gz.

File metadata

  • Download URL: stockdatamanager-1.1.2.tar.gz
  • Upload date:
  • Size: 35.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.9.19

File hashes

Hashes for stockdatamanager-1.1.2.tar.gz
Algorithm Hash digest
SHA256 b4e686e7e04f31b6e18e50861d79f57d90c0b7f3dffa05f5dd5ef715bc70e9bc
MD5 9edc66214eed2e21ad0aa8a9d3c4a88c
BLAKE2b-256 a2b64b2441481c75b74e27ad784b086a962114bab3142706ef2c8f2077da1855

See more details on using hashes here.

File details

Details for the file stockdatamanager-1.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for stockdatamanager-1.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 0f0856b85d93fa688a344c84063712dfe527bab8340efc58ded671affb90e0bc
MD5 703ccd009d8a253e7ff5a0e09d44fb20
BLAKE2b-256 bd33a37ebff7bb9bfcfeede278f24ff419cde416adb6a85d85d2f90670a2ce5a

See more details on using hashes here.

Supported by

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