New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

areport

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

areport

  • 1.0.22
  • PyPI
  • Socket score

Maintainers
1

aplotly

Installation

pip install areport

Usage

For examples please refer to the code in the examples folder.

Report

The Report class contains the methods for computing common metrics and storing them to files. The class is initialized with a list of portfolio values. These values should always start with the initial value of 1, otherwise the class will raise an error.

from areport import Report

report = Report([1.0, 1.1, 1.2])

ReportComparison

The ReportComparison class contains the methods for comparing multiple reports. The class is initialized with one Report that is treated as the portfolio, and a dictionary of other Report instances that are treated as benchmarks.

from areport import ReportComparison

report_comparison = ReportComparison(report, {'benchmark1': report1, 'benchmark2': report2})

Metrics

The common metrics can be retrieved using the following methods:

from areport import Report

report = Report([1.0, 1.1, 1.2])
report.get_metrics()

The same is also possible for the ReportComparison class:

from areport import ReportComparison

report_comparison = ReportComparison(report, {'benchmark1': report1, 'benchmark2': report2})
report_comparison.get_metrics()

If you want to save the metrics to a file, you can use the metrics_to_{format} method:

from areport import Report

report = Report([1.0, 1.1, 1.2])
report.metrics_to_csv('report.csv')
report.metrics_to_json('report.json')

The same is also possible for the ReportComparison class:

from areport import ReportComparison

report_comparison = ReportComparison(report, {'benchmark1': report1, 'benchmark2': report2})
report_comparison.metrics_to_csv('report_comparison.csv')
report_comparison.metrics_to_json('report_comparison.json')

Using with aplotly

This package can be combined with the aplotly package to create interactive plots. The aplotly package is a wrapper around the plotly package that simplifies the creation of plots. The useful attrbutes of the Report class are pf_values and dt_pf_values. Here is an example of how to use the aplotly package with the Report class to create the performance chart.

from aplotly.plots import plot_performance
from areport import Report

report = Report([1.0, 1.1, 1.2])

fig = plot_performance(
    report.performance_to_pct(report.dt_pf_values - 1)  # performance in percentage
    report.drawdown_to_pct(report.drawdown, report.dt_pf_values.index)  # drawdown in percentage
    performance_label="Test",
    drawdown_label="Test",
    xlabel="X",
)
fig.show()

Metrics

Detailed documentation for the metrics can be found on Notion

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc