Coverage report: 98%

Files Functions Classes

coverage.py v7.13.5, created at 2026-04-04 21:47 +0000

File function   statements missing excluded   coverage
src / qsmile / __init__.py (no function)   12 0 0   100%
src / qsmile / core / __init__.py (no function)   4 0 0   100%
src / qsmile / core / black76.py _validate_common   15 0 0   100%
src / qsmile / core / black76.py black76_call   16 0 0   100%
src / qsmile / core / black76.py black76_put   16 2 0   88%
src / qsmile / core / black76.py black76_implied_vol   17 0 0   100%
src / qsmile / core / black76.py black76_implied_vol.objective   1 0 0   100%
src / qsmile / core / black76.py (no function)   9 0 0   100%
src / qsmile / core / coords.py (no function)   12 0 0   100%
src / qsmile / core / maps.py _fixed_to_moneyness   1 0 0   100%
src / qsmile / core / maps.py _moneyness_to_fixed   1 0 0   100%
src / qsmile / core / maps.py _moneyness_to_log_moneyness   1 0 0   100%
src / qsmile / core / maps.py _log_moneyness_to_moneyness   1 0 0   100%
src / qsmile / core / maps.py _log_moneyness_to_standardised   4 0 0   100%
src / qsmile / core / maps.py _standardised_to_log_moneyness   4 2 0   50%
src / qsmile / core / maps.py _vol_to_variance   1 0 0   100%
src / qsmile / core / maps.py _variance_to_vol   1 0 0   100%
src / qsmile / core / maps.py _variance_to_total_variance   1 0 0   100%
src / qsmile / core / maps.py _total_variance_to_variance   1 0 0   100%
src / qsmile / core / maps.py _vol_to_price   2 0 0   100%
src / qsmile / core / maps.py _price_to_vol   6 0 0   100%
src / qsmile / core / maps.py _ladder_path   6 0 0   100%
src / qsmile / core / maps.py compose_x_maps   2 0 0   100%
src / qsmile / core / maps.py compose_y_maps   2 0 0   100%
src / qsmile / core / maps.py apply_x_chain   4 0 0   100%
src / qsmile / core / maps.py apply_y_chain   11 3 0   73%
src / qsmile / core / maps.py (no function)   29 0 2   100%
src / qsmile / core / plot.py _require_matplotlib   5 0 0   100%
src / qsmile / core / plot.py plot_bid_ask   23 0 0   100%
src / qsmile / core / plot.py (no function)   4 0 2   100%
src / qsmile / data / __init__.py (no function)   5 0 0   100%
src / qsmile / data / meta.py SmileMetadata.__post_init__   12 0 0   100%
src / qsmile / data / meta.py (no function)   9 0 0   100%
src / qsmile / data / prices.py _calibrate_forward_df   20 2 0   90%
src / qsmile / data / prices.py delta_blend_ivols   21 0 0   100%
src / qsmile / data / prices.py OptionChain.__post_init__   35 2 0   94%
src / qsmile / data / prices.py OptionChain.call_mid   1 0 0   100%
src / qsmile / data / prices.py OptionChain.put_mid   1 0 0   100%
src / qsmile / data / prices.py OptionChain.to_smile_data   6 0 0   100%
src / qsmile / data / prices.py OptionChain.to_smile_data_blended   30 0 0   100%
src / qsmile / data / prices.py OptionChain.denoise   38 0 0   100%
src / qsmile / data / prices.py OptionChain.denoise._non_monotone_mask   12 0 0   100%
src / qsmile / data / prices.py OptionChain.plot   11 0 0   100%
src / qsmile / data / prices.py (no function)   29 0 3   100%
src / qsmile / data / vols.py SmileData.__post_init__   19 0 0   100%
src / qsmile / data / vols.py SmileData.y_mid   1 0 0   100%
src / qsmile / data / vols.py SmileData.transform   11 0 0   100%
src / qsmile / data / vols.py SmileData.from_mid_vols   5 0 0   100%
src / qsmile / data / vols.py SmileData.plot   2 0 0   100%
src / qsmile / data / vols.py (no function)   23 0 2   100%
src / qsmile / models / __init__.py (no function)   6 0 0   100%
src / qsmile / models / fitting.py SmileResult.evaluate   1 0 0   100%
src / qsmile / models / fitting.py _context_for_model   9 1 0   89%
src / qsmile / models / fitting.py _residuals   3 0 0   100%
src / qsmile / models / fitting.py fit   11 0 0   100%
src / qsmile / models / fitting.py (no function)   19 0 0   100%
src / qsmile / models / protocol.py SmileModel.evaluate   0 0 1   100%
src / qsmile / models / protocol.py SmileModel.to_array   0 0 1   100%
src / qsmile / models / protocol.py SmileModel.from_array   0 0 1   100%
src / qsmile / models / protocol.py SmileModel.initial_guess   0 0 1   100%
src / qsmile / models / protocol.py AbstractSmileModel.to_array   1 0 0   100%
src / qsmile / models / protocol.py AbstractSmileModel.from_array   2 0 0   100%
src / qsmile / models / protocol.py AbstractSmileModel.evaluate   0 0 1   100%
src / qsmile / models / protocol.py AbstractSmileModel.initial_guess   0 0 1   100%
src / qsmile / models / protocol.py (no function)   34 0 8   100%
src / qsmile / models / sabr.py SABRModel.__post_init__   18 0 0   100%
src / qsmile / models / sabr.py SABRModel.evaluate   3 0 0   100%
src / qsmile / models / sabr.py SABRModel._hagan_implied_vol   15 0 0   100%
src / qsmile / models / sabr.py SABRModel.initial_guess   12 2 0   83%
src / qsmile / models / sabr.py (no function)   25 0 0   100%
src / qsmile / models / svi.py SVIModel.__post_init__   9 0 0   100%
src / qsmile / models / svi.py SVIModel.evaluate   3 0 0   100%
src / qsmile / models / svi.py SVIModel.implied_vol   5 0 0   100%
src / qsmile / models / svi.py SVIModel.initial_guess   12 2 0   83%
src / qsmile / models / svi.py (no function)   23 0 0   100%
Total     714 16 23   98%

No items found using the specified filter.