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

1""" 

2jQuantStats: Portfolio analytics for quants 

3 

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. 

10 

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 

21 

22Installation 

23----------- 

24```bash 

25pip install jquantstats 

26``` 

27 

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. 

32 

33```python 

34import polars as pl 

35from jquantstats.api import build_data 

36 

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()) 

43 

44# Create a Data object 

45data = build_data(returns=returns) 

46 

47# Calculate statistics 

48sharpe = data.stats.sharpe() 

49volatility = data.stats.volatility() 

50 

51# Create visualizations 

52fig = data.plots.plot_snapshot(title="Portfolio Performance") 

53fig.show() 

54``` 

55 

56For more information, visit the [jQuantStats Documentation](https://tschm.github.io/jquantstats/book). 

57""" 

58import importlib.metadata 

59 

60from .api import build_data 

61 

62__version__ = importlib.metadata.version("jquantstats")