This is a Python library for quantitative finance, specifically portfolio optimization and risk management. It implements Conditional Value-at-Risk (CVaR) optimization using Benders decomposition, mean-variance optimization via quadratic programming, and entropy pooling for adjusting scenario probabilities under user-defined views and stress tests. The library also includes fully flexible resampling (FFR) for simulation, Black's model for option pricing, and a set of helper functions for financial statistics. It is designed as a monolithic Python package with a clean API, extensive tests (100% coverage), and 14 Jupyter notebooks that serve as reproducible examples. While the primary character is an application library, it has a strong research and educational orientation, referencing academic papers and providing walkthroughs. The code is well-structured, but domain-specific and depends on cvxopt with GLPK for linear programming, which may limit portability.
ChaosTools.jl is a Julia library providing tools for analyzing nonlinear dynamics and chaotic behavior. It offers functionality for calculating Lyapunov exponents, detecting chaos via methods like GALI and the 0-1 test, analyzing predictability, finding fixed points and periodic orbits, estimating signal periods, analyzing rare events through return time statistics, and performing dimensionality reduction. The package is designed to work with DynamicalSystems.jl and can be used as a standalone package or as part of the broader DynamicalSystems ecosystem. The architecture follows a modular organization with functions grouped by topic (chaos detection, dimensionality reduction, periodicity, etc.), leveraging Julia's multiple dispatch and type system for clean, reusable code.