diff --git a/marimo/Balanced.html b/marimo/Balanced.html index 94e2353e..04b1e896 100644 --- a/marimo/Balanced.html +++ b/marimo/Balanced.html @@ -65,7 +65,7 @@ diff --git a/marimo/OneAssetFadingOut.html b/marimo/OneAssetFadingOut.html index 811351d8..ea2a8e44 100644 --- a/marimo/OneAssetFadingOut.html +++ b/marimo/OneAssetFadingOut.html @@ -65,7 +65,7 @@ diff --git a/marimo/monkey.html b/marimo/monkey.html index b127925a..f84e0079 100644 --- a/marimo/monkey.html +++ b/marimo/monkey.html @@ -65,7 +65,7 @@ diff --git a/marimo/pairs.html b/marimo/pairs.html index 451ca6c8..10640db9 100644 --- a/marimo/pairs.html +++ b/marimo/pairs.html @@ -65,7 +65,7 @@ diff --git a/tests/coverage/coverage.json b/tests/coverage/coverage.json index d38477f0..3df8d54f 100644 --- a/tests/coverage/coverage.json +++ b/tests/coverage/coverage.json @@ -1 +1 @@ -{"meta": {"format": 3, "version": "7.6.8", "timestamp": "2025-01-28T03:03:44.346638", "branch_coverage": false, "show_contexts": false}, "files": {"cvx/simulator/__init__.py": {"executed_lines": [15, 16, 17, 18], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [15, 16, 17, 18], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [15, 16, 17, 18], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "cvx/simulator/builder.py": {"executed_lines": [14, 16, 17, 19, 20, 22, 23, 24, 25, 28, 29, 30, 42, 43, 45, 46, 47, 49, 64, 65, 67, 69, 76, 78, 80, 81, 86, 88, 89, 93, 97, 98, 105, 107, 108, 112, 114, 128, 130, 133, 136, 138, 139, 146, 148, 149, 156, 157, 159, 160, 164, 166, 167, 172, 174, 175, 179, 181, 194, 196, 197, 201, 203, 204, 209, 211, 212, 216, 218, 219, 223, 224, 226, 227, 231, 232], "summary": {"covered_lines": 75, "num_statements": 75, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"Builder.__post_init__": {"executed_lines": [64, 65, 67, 69, 76, 78], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Builder.valid": {"executed_lines": [86], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Builder.intervals": {"executed_lines": [93], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Builder.index": {"executed_lines": [105], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Builder.current_prices": {"executed_lines": [112], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Builder.__iter__": {"executed_lines": [128, 130, 133, 136], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Builder.position": {"executed_lines": [156, 157], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Builder.cashposition": {"executed_lines": [179], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Builder.units": {"executed_lines": [172], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Builder.build": {"executed_lines": [194], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Builder.weights": {"executed_lines": [209], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Builder.aum": {"executed_lines": [223, 224], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Builder.from_returns": {"executed_lines": [231, 232], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [14, 16, 17, 19, 20, 22, 23, 24, 25, 28, 29, 30, 42, 43, 45, 46, 47, 49, 80, 81, 88, 89, 97, 98, 107, 108, 114, 138, 139, 148, 149, 159, 160, 166, 167, 174, 175, 181, 196, 197, 203, 204, 211, 212, 218, 219, 226, 227], "summary": {"covered_lines": 47, "num_statements": 47, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"Builder": {"executed_lines": [64, 65, 67, 69, 76, 78, 86, 93, 105, 112, 128, 130, 133, 136, 146, 156, 157, 164, 172, 179, 194, 201, 209, 216, 223, 224, 231, 232], "summary": {"covered_lines": 28, "num_statements": 28, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [14, 16, 17, 19, 20, 22, 23, 24, 25, 28, 29, 30, 42, 43, 45, 46, 47, 49, 80, 81, 88, 89, 97, 98, 107, 108, 114, 138, 139, 148, 149, 159, 160, 166, 167, 174, 175, 181, 196, 197, 203, 204, 211, 212, 218, 219, 226, 227], "summary": {"covered_lines": 47, "num_statements": 47, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "cvx/simulator/portfolio.py": {"executed_lines": [14, 16, 17, 18, 20, 21, 22, 23, 25, 26, 29, 30, 31, 32, 33, 35, 49, 50, 51, 52, 54, 55, 57, 58, 69, 71, 72, 81, 83, 84, 86, 87, 89, 90, 92, 93, 95, 96, 103, 104, 105, 107, 108, 122, 123, 124, 126, 127, 141, 142, 143, 145, 146, 150, 152, 153, 157, 159, 160, 171, 172, 173, 175, 176, 187, 189, 190, 193, 195, 196, 197, 199, 211, 213, 214, 227, 229, 230, 244, 246, 259, 274, 277, 280, 281, 284, 289, 292, 293, 294, 295, 297, 298, 300, 312, 315, 316, 318, 319, 321, 331, 333, 334, 336, 337, 343, 344, 348, 350, 351, 352, 354, 355, 357, 358, 362, 363, 364, 365, 369, 371, 374, 386, 388, 391, 392, 396, 397, 399, 400, 402, 403, 405, 406], "summary": {"covered_lines": 134, "num_statements": 134, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"Portfolio.__post_init__": {"executed_lines": [49, 50, 51, 52, 54, 55], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Portfolio.index": {"executed_lines": [69], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Portfolio.assets": {"executed_lines": [81], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Portfolio.nav": {"executed_lines": [86, 87, 89, 90, 92, 93], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Portfolio.profit": {"executed_lines": [103, 104, 105], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Portfolio.highwater": {"executed_lines": [122, 123, 124], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Portfolio.drawdown": {"executed_lines": [141, 142, 143], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Portfolio.cashposition": {"executed_lines": [150], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Portfolio.returns": {"executed_lines": [157], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Portfolio.trades_units": {"executed_lines": [171, 172, 173], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Portfolio.trades_currency": {"executed_lines": [187], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Portfolio.turnover_relative": {"executed_lines": [193], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Portfolio.turnover": {"executed_lines": [197], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Portfolio.__getitem__": {"executed_lines": [211], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Portfolio.equity": {"executed_lines": [227], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Portfolio.weights": {"executed_lines": [244], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Portfolio.snapshot": {"executed_lines": [259, 274, 277, 280, 281, 284, 289, 292, 293, 294, 295, 297, 298, 300, 312, 315, 316, 318, 319, 321, 331, 333, 334, 336, 337, 343, 344, 348, 350, 351, 352, 354, 355, 357, 358, 362, 363, 364, 365, 369, 371, 374, 386], "summary": {"covered_lines": 43, "num_statements": 43, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Portfolio.sharpe": {"executed_lines": [391, 392], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Portfolio.from_cashpos_prices": {"executed_lines": [399, 400], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Portfolio.from_cashpos_returns": {"executed_lines": [405, 406], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [14, 16, 17, 18, 20, 21, 22, 23, 25, 26, 29, 30, 31, 32, 33, 35, 57, 58, 71, 72, 83, 84, 95, 96, 107, 108, 126, 127, 145, 146, 152, 153, 159, 160, 175, 176, 189, 190, 195, 196, 199, 213, 214, 229, 230, 246, 388, 396, 397, 402, 403], "summary": {"covered_lines": 51, "num_statements": 51, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"Portfolio": {"executed_lines": [49, 50, 51, 52, 54, 55, 69, 81, 86, 87, 89, 90, 92, 93, 103, 104, 105, 122, 123, 124, 141, 142, 143, 150, 157, 171, 172, 173, 187, 193, 197, 211, 227, 244, 259, 274, 277, 280, 281, 284, 289, 292, 293, 294, 295, 297, 298, 300, 312, 315, 316, 318, 319, 321, 331, 333, 334, 336, 337, 343, 344, 348, 350, 351, 352, 354, 355, 357, 358, 362, 363, 364, 365, 369, 371, 374, 386, 391, 392, 399, 400, 405, 406], "summary": {"covered_lines": 83, "num_statements": 83, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [14, 16, 17, 18, 20, 21, 22, 23, 25, 26, 29, 30, 31, 32, 33, 35, 57, 58, 71, 72, 83, 84, 95, 96, 107, 108, 126, 127, 145, 146, 152, 153, 159, 160, 175, 176, 189, 190, 195, 196, 199, 213, 214, 229, 230, 246, 388, 396, 397, 402, 403], "summary": {"covered_lines": 51, "num_statements": 51, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "cvx/simulator/state.py": {"executed_lines": [14, 15, 17, 18, 21, 22, 23, 29, 30, 31, 32, 33, 34, 35, 37, 38, 42, 44, 45, 49, 51, 52, 61, 63, 64, 71, 73, 74, 79, 81, 82, 84, 85, 87, 89, 90, 96, 99, 102, 104, 105, 109, 111, 112, 116, 118, 119, 124, 125, 126, 128, 129, 131, 132, 135, 137, 138, 142, 143, 145, 147, 148, 154, 156, 157, 159, 160, 162, 164, 165, 167, 168, 169, 171, 172, 177, 178, 180, 181, 182, 184, 185, 190, 192, 193, 197, 199, 200, 204, 206, 207, 218, 219, 221, 222, 227], "summary": {"covered_lines": 95, "num_statements": 95, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"State.cash": {"executed_lines": [49], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "State.nav": {"executed_lines": [61], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "State.value": {"executed_lines": [71], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "State.cashposition": {"executed_lines": [79], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "State.position": {"executed_lines": [96, 99, 102], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "State.gmv": {"executed_lines": [109], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "State.time": {"executed_lines": [124, 125, 126, 128, 129], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "State.days": {"executed_lines": [135], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "State.assets": {"executed_lines": [142, 143, 145], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "State.trades": {"executed_lines": [154], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "State.mask": {"executed_lines": [159, 160, 162], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "State.prices": {"executed_lines": [177, 178, 180, 181, 182], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "State.profit": {"executed_lines": [190], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "State.aum": {"executed_lines": [204], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "State.weights": {"executed_lines": [218, 219], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "State.leverage": {"executed_lines": [227], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [14, 15, 17, 18, 21, 22, 23, 29, 30, 31, 32, 33, 34, 35, 37, 38, 44, 45, 51, 52, 63, 64, 73, 74, 81, 82, 89, 90, 104, 105, 111, 112, 118, 119, 131, 132, 137, 138, 147, 148, 156, 157, 164, 165, 171, 172, 184, 185, 192, 193, 199, 200, 206, 207, 221, 222], "summary": {"covered_lines": 55, "num_statements": 55, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"State": {"executed_lines": [42, 49, 61, 71, 79, 84, 85, 87, 96, 99, 102, 109, 116, 124, 125, 126, 128, 129, 135, 142, 143, 145, 154, 159, 160, 162, 167, 168, 169, 177, 178, 180, 181, 182, 190, 197, 204, 218, 219, 227], "summary": {"covered_lines": 40, "num_statements": 40, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [14, 15, 17, 18, 21, 22, 23, 29, 30, 31, 32, 33, 34, 35, 37, 38, 44, 45, 51, 52, 63, 64, 73, 74, 81, 82, 89, 90, 104, 105, 111, 112, 118, 119, 131, 132, 137, 138, 147, 148, 156, 157, 164, 165, 171, 172, 184, 185, 192, 193, 199, 200, 206, 207, 221, 222], "summary": {"covered_lines": 55, "num_statements": 55, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "cvx/simulator/utils/__init__.py": {"executed_lines": [0], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "cvx/simulator/utils/grid.py": {"executed_lines": [14, 16, 18, 19, 22, 31, 32, 35, 44, 45, 46, 49, 63, 64, 65, 67], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"iron_frame": {"executed_lines": [31, 32], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "resample_index": {"executed_lines": [44, 45, 46], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_project_frame_to_grid": {"executed_lines": [63, 64, 65, 67], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [14, 16, 18, 19, 22, 35, 49], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [14, 16, 18, 19, 22, 31, 32, 35, 44, 45, 46, 49, 63, 64, 65, 67], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "cvx/simulator/utils/interpolation.py": {"executed_lines": [16, 18, 19, 21, 22, 25, 27], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"interpolate": {"executed_lines": [18, 19, 21, 22], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "valid": {"executed_lines": [27], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [16, 25], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [16, 18, 19, 21, 22, 25, 27], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "cvx/simulator/utils/metric.py": {"executed_lines": [1, 2, 5, 9, 10, 13, 17, 18, 19, 20, 22], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"_periods": {"executed_lines": [9, 10], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "sharpe": {"executed_lines": [17, 18, 19, 20, 22], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 5, 13], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 5, 9, 10, 13, 17, 18, 19, 20, 22], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "cvx/simulator/utils/month.py": {"executed_lines": [27, 33, 35, 36, 38, 39, 42, 43, 46, 47, 50, 51, 52, 55, 69, 71, 73, 75, 76, 78, 79, 80, 82], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"_compound_returns": {"executed_lines": [43], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_cumulative_returns": {"executed_lines": [47], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "monthlytable": {"executed_lines": [69, 71, 73, 75, 76, 78, 79, 80, 82], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [27, 33, 35, 36, 38, 39, 42, 46, 50, 51, 52, 55], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"Aggregate": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [27, 33, 35, 36, 38, 39, 42, 43, 46, 47, 50, 51, 52, 55, 69, 71, 73, 75, 76, 78, 79, 80, 82], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "cvx/simulator/utils/rescale.py": {"executed_lines": [14, 17, 21, 22, 23, 26, 30, 31], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"_rescale": {"executed_lines": [21, 22, 23], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "returns2prices": {"executed_lines": [30, 31], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [14, 17, 26], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [14, 17, 21, 22, 23, 26, 30, 31], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}}, "totals": {"covered_lines": 372, "num_statements": 372, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}} \ No newline at end of file +{"meta": {"format": 3, "version": "7.6.8", "timestamp": "2025-01-28T04:39:21.146383", "branch_coverage": false, "show_contexts": false}, "files": {"cvx/simulator/__init__.py": {"executed_lines": [15, 16, 17, 18], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [15, 16, 17, 18], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [15, 16, 17, 18], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "cvx/simulator/builder.py": {"executed_lines": [14, 16, 17, 19, 20, 22, 23, 24, 25, 28, 29, 30, 42, 43, 45, 46, 47, 49, 64, 65, 67, 69, 76, 78, 80, 81, 86, 88, 89, 93, 97, 98, 105, 107, 108, 112, 114, 128, 130, 133, 136, 138, 139, 146, 148, 149, 156, 157, 159, 160, 164, 166, 167, 172, 174, 175, 179, 181, 194, 196, 197, 201, 203, 204, 209, 211, 212, 216, 218, 219, 223, 224, 226, 227, 231, 232], "summary": {"covered_lines": 75, "num_statements": 75, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"Builder.__post_init__": {"executed_lines": [64, 65, 67, 69, 76, 78], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Builder.valid": {"executed_lines": [86], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Builder.intervals": {"executed_lines": [93], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Builder.index": {"executed_lines": [105], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Builder.current_prices": {"executed_lines": [112], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Builder.__iter__": {"executed_lines": [128, 130, 133, 136], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Builder.position": {"executed_lines": [156, 157], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Builder.cashposition": {"executed_lines": [179], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Builder.units": {"executed_lines": [172], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Builder.build": {"executed_lines": [194], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Builder.weights": {"executed_lines": [209], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Builder.aum": {"executed_lines": [223, 224], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Builder.from_returns": {"executed_lines": [231, 232], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [14, 16, 17, 19, 20, 22, 23, 24, 25, 28, 29, 30, 42, 43, 45, 46, 47, 49, 80, 81, 88, 89, 97, 98, 107, 108, 114, 138, 139, 148, 149, 159, 160, 166, 167, 174, 175, 181, 196, 197, 203, 204, 211, 212, 218, 219, 226, 227], "summary": {"covered_lines": 47, "num_statements": 47, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"Builder": {"executed_lines": [64, 65, 67, 69, 76, 78, 86, 93, 105, 112, 128, 130, 133, 136, 146, 156, 157, 164, 172, 179, 194, 201, 209, 216, 223, 224, 231, 232], "summary": {"covered_lines": 28, "num_statements": 28, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [14, 16, 17, 19, 20, 22, 23, 24, 25, 28, 29, 30, 42, 43, 45, 46, 47, 49, 80, 81, 88, 89, 97, 98, 107, 108, 114, 138, 139, 148, 149, 159, 160, 166, 167, 174, 175, 181, 196, 197, 203, 204, 211, 212, 218, 219, 226, 227], "summary": {"covered_lines": 47, "num_statements": 47, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "cvx/simulator/portfolio.py": {"executed_lines": [14, 16, 17, 18, 20, 21, 22, 23, 25, 26, 29, 30, 31, 32, 33, 35, 49, 50, 51, 52, 54, 55, 57, 58, 69, 71, 72, 81, 83, 84, 86, 87, 89, 90, 92, 93, 95, 96, 103, 104, 105, 107, 108, 122, 123, 124, 126, 127, 141, 142, 143, 145, 146, 150, 152, 153, 157, 159, 160, 171, 172, 173, 175, 176, 187, 189, 190, 193, 195, 196, 197, 199, 211, 213, 214, 227, 229, 230, 244, 246, 259, 274, 277, 280, 281, 284, 289, 292, 293, 294, 295, 297, 298, 300, 312, 315, 316, 318, 319, 321, 331, 333, 334, 336, 337, 343, 344, 348, 350, 351, 352, 354, 355, 357, 358, 362, 363, 364, 365, 369, 371, 374, 386, 388, 391, 392, 396, 397, 399, 400, 402, 403, 405, 406], "summary": {"covered_lines": 134, "num_statements": 134, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"Portfolio.__post_init__": {"executed_lines": [49, 50, 51, 52, 54, 55], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Portfolio.index": {"executed_lines": [69], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Portfolio.assets": {"executed_lines": [81], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Portfolio.nav": {"executed_lines": [86, 87, 89, 90, 92, 93], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Portfolio.profit": {"executed_lines": [103, 104, 105], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Portfolio.highwater": {"executed_lines": [122, 123, 124], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Portfolio.drawdown": {"executed_lines": [141, 142, 143], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Portfolio.cashposition": {"executed_lines": [150], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Portfolio.returns": {"executed_lines": [157], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Portfolio.trades_units": {"executed_lines": [171, 172, 173], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Portfolio.trades_currency": {"executed_lines": [187], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Portfolio.turnover_relative": {"executed_lines": [193], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Portfolio.turnover": {"executed_lines": [197], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Portfolio.__getitem__": {"executed_lines": [211], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Portfolio.equity": {"executed_lines": [227], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Portfolio.weights": {"executed_lines": [244], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Portfolio.snapshot": {"executed_lines": [259, 274, 277, 280, 281, 284, 289, 292, 293, 294, 295, 297, 298, 300, 312, 315, 316, 318, 319, 321, 331, 333, 334, 336, 337, 343, 344, 348, 350, 351, 352, 354, 355, 357, 358, 362, 363, 364, 365, 369, 371, 374, 386], "summary": {"covered_lines": 43, "num_statements": 43, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Portfolio.sharpe": {"executed_lines": [391, 392], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Portfolio.from_cashpos_prices": {"executed_lines": [399, 400], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Portfolio.from_cashpos_returns": {"executed_lines": [405, 406], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [14, 16, 17, 18, 20, 21, 22, 23, 25, 26, 29, 30, 31, 32, 33, 35, 57, 58, 71, 72, 83, 84, 95, 96, 107, 108, 126, 127, 145, 146, 152, 153, 159, 160, 175, 176, 189, 190, 195, 196, 199, 213, 214, 229, 230, 246, 388, 396, 397, 402, 403], "summary": {"covered_lines": 51, "num_statements": 51, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"Portfolio": {"executed_lines": [49, 50, 51, 52, 54, 55, 69, 81, 86, 87, 89, 90, 92, 93, 103, 104, 105, 122, 123, 124, 141, 142, 143, 150, 157, 171, 172, 173, 187, 193, 197, 211, 227, 244, 259, 274, 277, 280, 281, 284, 289, 292, 293, 294, 295, 297, 298, 300, 312, 315, 316, 318, 319, 321, 331, 333, 334, 336, 337, 343, 344, 348, 350, 351, 352, 354, 355, 357, 358, 362, 363, 364, 365, 369, 371, 374, 386, 391, 392, 399, 400, 405, 406], "summary": {"covered_lines": 83, "num_statements": 83, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [14, 16, 17, 18, 20, 21, 22, 23, 25, 26, 29, 30, 31, 32, 33, 35, 57, 58, 71, 72, 83, 84, 95, 96, 107, 108, 126, 127, 145, 146, 152, 153, 159, 160, 175, 176, 189, 190, 195, 196, 199, 213, 214, 229, 230, 246, 388, 396, 397, 402, 403], "summary": {"covered_lines": 51, "num_statements": 51, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "cvx/simulator/state.py": {"executed_lines": [14, 15, 17, 18, 21, 22, 23, 29, 30, 31, 32, 33, 34, 35, 37, 38, 42, 44, 45, 49, 51, 52, 61, 63, 64, 71, 73, 74, 79, 81, 82, 84, 85, 87, 89, 90, 96, 99, 102, 104, 105, 109, 111, 112, 116, 118, 119, 124, 125, 126, 128, 129, 131, 132, 135, 137, 138, 142, 143, 145, 147, 148, 154, 156, 157, 159, 160, 162, 164, 165, 167, 168, 169, 171, 172, 177, 178, 180, 181, 182, 184, 185, 190, 192, 193, 197, 199, 200, 204, 206, 207, 218, 219, 221, 222, 227], "summary": {"covered_lines": 95, "num_statements": 95, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"State.cash": {"executed_lines": [49], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "State.nav": {"executed_lines": [61], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "State.value": {"executed_lines": [71], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "State.cashposition": {"executed_lines": [79], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "State.position": {"executed_lines": [96, 99, 102], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "State.gmv": {"executed_lines": [109], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "State.time": {"executed_lines": [124, 125, 126, 128, 129], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "State.days": {"executed_lines": [135], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "State.assets": {"executed_lines": [142, 143, 145], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "State.trades": {"executed_lines": [154], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "State.mask": {"executed_lines": [159, 160, 162], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "State.prices": {"executed_lines": [177, 178, 180, 181, 182], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "State.profit": {"executed_lines": [190], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "State.aum": {"executed_lines": [204], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "State.weights": {"executed_lines": [218, 219], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "State.leverage": {"executed_lines": [227], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [14, 15, 17, 18, 21, 22, 23, 29, 30, 31, 32, 33, 34, 35, 37, 38, 44, 45, 51, 52, 63, 64, 73, 74, 81, 82, 89, 90, 104, 105, 111, 112, 118, 119, 131, 132, 137, 138, 147, 148, 156, 157, 164, 165, 171, 172, 184, 185, 192, 193, 199, 200, 206, 207, 221, 222], "summary": {"covered_lines": 55, "num_statements": 55, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"State": {"executed_lines": [42, 49, 61, 71, 79, 84, 85, 87, 96, 99, 102, 109, 116, 124, 125, 126, 128, 129, 135, 142, 143, 145, 154, 159, 160, 162, 167, 168, 169, 177, 178, 180, 181, 182, 190, 197, 204, 218, 219, 227], "summary": {"covered_lines": 40, "num_statements": 40, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [14, 15, 17, 18, 21, 22, 23, 29, 30, 31, 32, 33, 34, 35, 37, 38, 44, 45, 51, 52, 63, 64, 73, 74, 81, 82, 89, 90, 104, 105, 111, 112, 118, 119, 131, 132, 137, 138, 147, 148, 156, 157, 164, 165, 171, 172, 184, 185, 192, 193, 199, 200, 206, 207, 221, 222], "summary": {"covered_lines": 55, "num_statements": 55, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "cvx/simulator/utils/__init__.py": {"executed_lines": [0], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "cvx/simulator/utils/grid.py": {"executed_lines": [14, 16, 18, 19, 22, 31, 32, 35, 44, 45, 46, 49, 63, 64, 65, 67], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"iron_frame": {"executed_lines": [31, 32], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "resample_index": {"executed_lines": [44, 45, 46], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_project_frame_to_grid": {"executed_lines": [63, 64, 65, 67], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [14, 16, 18, 19, 22, 35, 49], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [14, 16, 18, 19, 22, 31, 32, 35, 44, 45, 46, 49, 63, 64, 65, 67], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "cvx/simulator/utils/interpolation.py": {"executed_lines": [16, 18, 19, 21, 22, 25, 27], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"interpolate": {"executed_lines": [18, 19, 21, 22], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "valid": {"executed_lines": [27], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [16, 25], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [16, 18, 19, 21, 22, 25, 27], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "cvx/simulator/utils/metric.py": {"executed_lines": [1, 2, 5, 9, 10, 13, 17, 18, 19, 20, 22], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"_periods": {"executed_lines": [9, 10], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "sharpe": {"executed_lines": [17, 18, 19, 20, 22], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 5, 13], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 5, 9, 10, 13, 17, 18, 19, 20, 22], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "cvx/simulator/utils/month.py": {"executed_lines": [27, 33, 35, 36, 38, 39, 42, 43, 46, 47, 50, 51, 52, 55, 69, 71, 73, 75, 76, 78, 79, 80, 82], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"_compound_returns": {"executed_lines": [43], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_cumulative_returns": {"executed_lines": [47], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "monthlytable": {"executed_lines": [69, 71, 73, 75, 76, 78, 79, 80, 82], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [27, 33, 35, 36, 38, 39, 42, 46, 50, 51, 52, 55], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"Aggregate": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [27, 33, 35, 36, 38, 39, 42, 43, 46, 47, 50, 51, 52, 55, 69, 71, 73, 75, 76, 78, 79, 80, 82], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "cvx/simulator/utils/rescale.py": {"executed_lines": [14, 17, 21, 22, 23, 26, 30, 31], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"_rescale": {"executed_lines": [21, 22, 23], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "returns2prices": {"executed_lines": [30, 31], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [14, 17, 26], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [14, 17, 21, 22, 23, 26, 30, 31], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}}, "totals": {"covered_lines": 372, "num_statements": 372, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}} \ No newline at end of file diff --git a/tests/coverage/coverage.xml b/tests/coverage/coverage.xml index d512cddc..9a0ba06a 100644 --- a/tests/coverage/coverage.xml +++ b/tests/coverage/coverage.xml @@ -1,5 +1,5 @@ - + diff --git a/tests/html-coverage/class_index.html b/tests/html-coverage/class_index.html index 5f4ec661..4c70cae9 100644 --- a/tests/html-coverage/class_index.html +++ b/tests/html-coverage/class_index.html @@ -55,7 +55,7 @@

coverage.py v7.6.8, - created at 2025-01-28 03:03 +0000 + created at 2025-01-28 04:39 +0000

@@ -204,7 +204,7 @@

coverage.py v7.6.8, - created at 2025-01-28 03:03 +0000 + created at 2025-01-28 04:39 +0000