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