Coverage for src/jquantstats/__init__.py: 100%
3 statements
« prev ^ index » next coverage.py v7.9.2, created at 2025-07-05 07:23 +0000
« prev ^ index » next coverage.py v7.9.2, created at 2025-07-05 07:23 +0000
1"""
2jQuantStats: Portfolio analytics for quants
4Overview
5--------
6jQuantStats is a Python library for portfolio analytics that helps quants and portfolio
7managers understand their performance through in-depth analytics and risk metrics.
8It provides tools for calculating various performance metrics and visualizing
9portfolio performance.
11Features
12--------
13- Performance Metrics: Calculate key metrics like Sharpe ratio, Sortino ratio,
14 drawdowns, volatility, and more
15- Risk Analysis: Analyze risk through metrics like Value at Risk (VaR),
16 Conditional VaR, and drawdown analysis
17- Visualization: Create interactive plots for portfolio performance, drawdowns,
18 return distributions, and monthly heatmaps
19- Benchmark Comparison: Compare your portfolio performance against benchmarks
20- Support for both pandas and polars DataFrames
22Installation
23-----------
24```bash
25pip install jquantstats
26```
28Usage
29-----
30The main entry point is the `build_data` function in the api module, which creates
31a Data object from returns and optional benchmark data.
33```python
34import polars as pl
35from jquantstats.api import build_data
37# Create sample returns data
38returns = pl.DataFrame({
39 "Date": ["2023-01-01", "2023-01-02", "2023-01-03"],
40 "Asset1": [0.01, -0.02, 0.03],
41 "Asset2": [0.02, 0.01, -0.01]
42}).with_columns(pl.col("Date").str.to_date())
44# Create a Data object
45data = build_data(returns=returns)
47# Calculate statistics
48sharpe = data.stats.sharpe()
49volatility = data.stats.volatility()
51# Create visualizations
52fig = data.plots.plot_snapshot(title="Portfolio Performance")
53fig.show()
54```
56For more information, visit the [jQuantStats Documentation](https://tschm.github.io/jquantstats/book).
57"""
58import importlib.metadata
60from .api import build_data
62__version__ = importlib.metadata.version("jquantstats")