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

1"""jQuantStats: Portfolio analytics for quants. 

2 

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. 

9 

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 

20 

21Installation 

22----------- 

23```bash 

24pip install jquantstats 

25``` 

26 

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. 

31 

32```python 

33import polars as pl 

34from jquantstats.api import build_data 

35 

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

42 

43# Create a Data object 

44data = build_data(returns=returns) 

45 

46# Calculate statistics 

47sharpe = data.stats.sharpe() 

48volatility = data.stats.volatility() 

49 

50# Create visualizations 

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

52fig.show() 

53``` 

54 

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

56""" 

57 

58import importlib.metadata 

59 

60from .api import build_data # noqa: F401 

61 

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