Skip to main content

Institutional-Grade Quantitative Finance Library

Project description

๐Ÿš€ fdequant

Production-Ready Quantitative Finance Library for Python

Build, analyze, optimize, simulate, and evaluate quantitative trading strategies with a unified Python framework.

PyPI Version Python Downloads License

GitHub Repository LinkedIn X Email


Production-Ready โ€ข Algorithmic Trading โ€ข Portfolio Analytics โ€ข Quantitative Research โ€ข Risk Management โ€ข Machine Learning


๐Ÿ“š Navigation


๐Ÿ‘‹ Why fdequant?

Hi, I'm Aayush Mishra, and I built fdequant to solve the pain points I saw firsthand in quantitative finance:

  • Fragmented tools: Traders and analysts waste hours stitching together libraries.
  • Limited strategy testing: Backtesting is often oversimplified or too slow.
  • No all-in-one solution: Risk management, technical analysis, reporting, and screening are siloed.

fdequant changes that by being a single, production-grade library that handles everything from backtesting to reportingโ€”so you can focus on what matters: building winning strategies. fdequant is a production-ready quantitative finance platform that unifies risk management, portfolio optimization, machine learning, technical analysis, strategy development, market screening, simulation, reporting, and algorithmic research within a single Python package.

Designed with a modular architecture, clean APIs, and extensible components, fdequant enables developers, quantitative researchers, and fintech teams to build scalable financial applications, perform advanced quantitative analysis, and accelerate strategy development with confidence.


๐Ÿš€ Key Features

๐Ÿš€ Core Platform Capabilities

fdequant is a production-ready quantitative finance library designed for quantitative researchers, algorithmic traders, developers, fintech teams, and financial professionals. It combines advanced risk analytics, portfolio optimization, strategy development, technical analysis, market screening, simulation, and reporting into a unified Python framework.

The platform currently provides 11 production-ready capabilities for quantitative research and financial engineering.


1. Advanced Risk Analysis

Perform comprehensive risk assessment for portfolios and individual financial instruments with a flexible and scalable analytics engine.

Features

  • Portfolio Risk Analysis
  • Asset-Level Risk Assessment
  • Volatility Analysis
  • Exposure Analysis
  • Correlation Analysis
  • Multi-Asset Support
  • Risk Decomposition
  • Flexible Risk Framework

2. Real-Time Market Data Processing

Continuously process market data to keep portfolio analytics and risk calculations updated.

Features

  • Real-Time Market Updates
  • Historical Market Data
  • Automatic Data Synchronization
  • Efficient Processing Pipeline
  • Continuous Portfolio Monitoring
  • High-Performance Data Handling

3. Machine Learning Risk Forecasting

Predict portfolio behavior and future market risk using machine learning models.

Features

  • Predictive Risk Analytics
  • XGBoost-Based Forecasting
  • Intelligent Risk Scoring
  • Data-Driven Insights
  • Future Risk Estimation
  • Continuous Model Improvement

4. Portfolio Optimization Engine

Optimize portfolio allocations using quantitative optimization techniques.

Features

  • Maximum Sharpe Optimization
  • Minimum Volatility Portfolio
  • Efficient Portfolio Construction
  • Risk-Adjusted Allocation
  • Portfolio Rebalancing
  • Performance Optimization

5. Custom Risk Metrics Framework

Measure portfolio health using built-in and custom quantitative metrics.

Supported Metrics

  • Value at Risk (VaR)
  • Conditional Value at Risk (CVaR)
  • Volatility
  • Portfolio Exposure
  • Expected Shortfall
  • User-Defined Risk Metrics

6. Advanced Strategy Backtesting Engine

Design, evaluate, and validate trading strategies before deployment.

Built-in Strategies

  • SMA
  • EMA
  • RSI
  • MACD
  • Bollinger Bands
  • Moving Average Cross

Performance Analytics

  • CAGR
  • Annual Return
  • Sharpe Ratio
  • Sortino Ratio
  • Calmar Ratio
  • Profit Factor
  • Win Rate
  • Maximum Drawdown
  • Equity Curve
  • Trade History

7. Professional Stock Screener

Discover investment opportunities using powerful technical and fundamental filters.

Technical Filters

  • RSI
  • EMA
  • SMA
  • MACD
  • ADX
  • ATR
  • VWAP
  • SuperTrend
  • Bollinger Bands
  • Ichimoku Cloud
  • Breakout Detection
  • Volume Spike
  • Gap Analysis
  • 52-Week High / Low

Fundamental Filters

  • Market Capitalization
  • Price-to-Earnings (P/E)
  • Price-to-Book (P/B)
  • Earnings Per Share (EPS)
  • Return on Equity (ROE)
  • Dividend Yield
  • Debt-to-Equity Ratio

Additional Capabilities

  • Ranking Engine
  • CSV Export
  • Custom Screening Rules

8. Monte Carlo Portfolio Simulation

Evaluate portfolio performance across thousands of simulated market scenarios.

Simulation Options

  • 10,000+
  • 50,000+
  • 100,000+

Analytics

  • Probability of Profit
  • Probability of Loss
  • VaR
  • CVaR
  • Confidence Intervals
  • Best-Case Scenario
  • Worst-Case Scenario
  • Expected Portfolio Value
  • Median Outcome

9. Technical Indicator Engine

A comprehensive technical analysis engine with production-ready indicators.

Included Indicators

  • RSI
  • SMA
  • EMA
  • WMA
  • VWAP
  • MACD
  • ATR
  • ADX
  • CCI
  • ROC
  • Momentum
  • OBV
  • CMF
  • SuperTrend
  • Ichimoku Cloud
  • Stochastic RSI
  • Williams %R
  • Parabolic SAR
  • Bollinger Bands
  • Keltner Channel
  • Donchian Channel

All indicators return clean Pandas objects for seamless integration into data science and quantitative workflows.


10. Professional Report Generator

Generate detailed reports suitable for portfolio reviews, quantitative research, and financial analysis.

Export Formats

  • PDF
  • Excel
  • HTML

Report Contents

  • Portfolio Summary
  • Performance Analytics
  • Risk Analysis
  • Asset Allocation
  • Strategy Performance
  • Trade History
  • Monte Carlo Results
  • Technical Analysis Summary

11. Strategy Builder DSL

Build algorithmic trading strategies using a clean, fluent, and developer-friendly API.

Workflow

  • Define Entry Rules
  • Configure Exit Conditions
  • Apply Stop Loss
  • Configure Take Profit
  • Execute Backtests
  • Evaluate Performance
  • Iterate Strategies Quickly

The Strategy Builder significantly reduces development time while keeping strategies modular, readable, and easy to maintain.


๐Ÿ“ฆ Installation

Install directly from PyPI:

pip install fdequant

Verify the installation:

import fdequant

print(fdequant.__version__)

Upgrade

pip install --upgrade fdequant

๐Ÿ’ก Quick Start

Let's run a complete example that demonstrates the power of fdequant!

import yfinance as yf
from fdequant import (
    Backtester,
    SMAStrategy,
    Strategy,
    StockScreener,
    MonteCarloSimulation,
    ReportGenerator
)

# 1. Backtest an SMA Crossover Strategy
data = yf.Ticker("AAPL").history(period="5y")
strategy = SMAStrategy(short_window=20, long_window=50)
backtester = Backtester(initial_capital=100000)
backtest_results = backtester.run(strategy, data)
print("Backtest Complete!")
print(f"Total Return: {backtest_results.total_return:.2%}")

# 2. Build a Custom Strategy with the DSL
def buy_condition(df):
    from fdequant import sma
    return sma(df['Close'], 20) > sma(df['Close'], 50)

def sell_condition(df):
    from fdequant import sma
    return sma(df['Close'], 20) < sma(df['Close'], 50)

custom_strategy = (
    Strategy()
    .buy_when(buy_condition)
    .sell_when(sell_condition)
    .stoploss(0.02)  # 2% stop loss
    .takeprofit(0.05)  # 5% take profit
)
dsl_results = custom_strategy.backtest(data, initial_capital=100000)

# 3. Screen for Promising Stocks
screener = (
    StockScreener(tickers=["AAPL", "MSFT", "GOOGL", "AMZN", "META"])
    .rsi_filter(min_val=30, max_val=70)
    .sma_filter(window=50, price_above=True)
    .load_data(period="1y")
)
screened_stocks = screener.run()
print("Screened Stocks:")
print(screened_stocks)

# 4. Run Monte Carlo Simulation
tickers = ["AAPL", "MSFT", "GOOGL"]
portfolio_data = yf.download(tickers, period="5y")['Close']
returns = portfolio_data.pct_change().dropna()
simulator = MonteCarloSimulation(initial_investment=10000, time_horizon=252)
mc_results = simulator.simulate(returns, num_simulations=10000)
print("\nMonte Carlo Results:")
print(f"Probability of Profit: {mc_results.probability_of_profit:.2%}")
print(f"VaR (95%): {mc_results.var_95:.2%}")

# 5. Generate a Professional Report
generator = ReportGenerator(title="fdequant Analysis Report")
generator.generate_excel(
    "fdequant_report.xlsx",
    performance=backtest_results,
    monte_carlo=mc_results,
    portfolio_data=screened_stocks
)
generator.generate_html(
    "fdequant_report.html",
    performance=backtest_results,
    monte_carlo=mc_results,
    portfolio_data=screened_stocks
)
print("\nReports generated: fdequant_report.xlsx and fdequant_report.html")

For more examples, check out advanced_example.py and example.py.


๐Ÿ“Š Project Structure

fdequant/
โ”œโ”€โ”€ fdequant/                   # Main library package
โ”‚   โ”œโ”€โ”€ indicators/             # Technical indicators
โ”‚   โ”œโ”€โ”€ backtesting/            # Backtesting engine & strategies
โ”‚   โ”œโ”€โ”€ screener/               # Stock screener
โ”‚   โ”œโ”€โ”€ monte_carlo/            # Monte Carlo simulation
โ”‚   โ”œโ”€โ”€ reports/                # Report generator
โ”‚   โ”œโ”€โ”€ strategy_dsl/           # Strategy builder DSL
โ”‚   โ”œโ”€โ”€ main.py                 # Original risk management features
โ”‚   โ””โ”€โ”€ oa_v2.py                # Ensemble risk assessment
โ”œโ”€โ”€ advanced_example.py         # Advanced usage examples
โ”œโ”€โ”€ example.py                  # Original risk management example
โ”œโ”€โ”€ requirements.txt            # Dependencies
โ”œโ”€โ”€ LICENSE                     # License (all rights reserved to Aayush Mishra)
โ””โ”€โ”€ README.md                   # This file!

๐Ÿ› ๏ธ Tech Stack

  • Core: Python 3.8+
  • Data: pandas, numpy, yfinance
  • Machine Learning: scikit-learn, XGBoost
  • Visualization/Reports: openpyxl (Excel), weasyprint (optional PDF)
  • Logging: loguru

๐Ÿ”’ License

All Rights Reserved. Aayush Mishra.

This software is the exclusive property of Aayush Mishra. No part of this library may be reproduced, modified, distributed, or used in any form without explicit written permission. Editing or altering the code is strictly prohibited.

For inquiries, contact Aayush Mishra.


๐Ÿค About the Developer

Aayush Mishra built fdequant to bring institutional-grade quantitative finance tools to everyone. With deep expertise in machine learning, risk management, and financial markets, Aayush is passionate about building practical, production-ready solutions.


Built with passion by Aayush Mishra

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

fdequant-1.1.0.tar.gz (18.8 kB view details)

Uploaded Source

Built Distribution

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

fdequant-1.1.0-py3-none-any.whl (17.2 kB view details)

Uploaded Python 3

File details

Details for the file fdequant-1.1.0.tar.gz.

File metadata

  • Download URL: fdequant-1.1.0.tar.gz
  • Upload date:
  • Size: 18.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for fdequant-1.1.0.tar.gz
Algorithm Hash digest
SHA256 3d03f31b0907ae1a89870d6e66a8423379909cee733f5c0539ff2e1e44c04533
MD5 52f969f4e8483fb3f4930c7453470103
BLAKE2b-256 e50c4e500bd73e6dc5088ed799948a98d6f8909059314db39d220cb06aaa15a4

See more details on using hashes here.

File details

Details for the file fdequant-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: fdequant-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 17.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for fdequant-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c29d28f03eb6376a20b95f8d7119aa1f90a518d2f4a3f44bf14d098d581ed321
MD5 c76b784e6601e3791d0d7bc9efa53455
BLAKE2b-256 069ef0ef7c85e606e63a23feda1bf9a505c419617e0790234932af729c3ae25c

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