Commit a49bce5
committed
address review: refine error variants for accurate semantics
PR #369 review feedback from Copilot. Replace misleading variant reuse
with domain-accurate variants so error messages match the actual
failure mode.
- PricingError::SqrtFailure.value: Positive -> Decimal. The sqrt is
taken of a discriminant that can be negative (doc said negative but
the field rejected it).
- ChainError: add EmptyChain { symbol } variant for non-ATM lookups.
Reserve EmptyChainAtm for atm_option_data() paths. Update
get_optiondata_with_strike and its test to use EmptyChain.
- OhlcvError: add MissingZipEntry { extension } for missing file in
ZIP archive, and AsyncTask { reason } for spawn_blocking join
failures. read_ohlcv_from_zip and read_ohlcv_from_zip_async now map
to the correct variants instead of MissingColumn/RowParsing.
- VolatilityError: add Chain(Box<ChainError>) variant plus
From<ChainError>. AtmIvProvider for OptionChain now wraps the
source as VolatilityError::Chain instead of NumericalFailure,
preserving the actual cause (empty chain / ATM not found).
- examples/examples_chain/creator.rs: map missing expiration to
ChainError::invalid_parameters("expiration_date", "missing") instead
of AtmNotFound.1 parent 85d33ce commit a49bce5
8 files changed
Lines changed: 65 additions & 20 deletions
File tree
- examples/examples_chain/src/bin
- src
- chains
- error
- utils
- volatility
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
22 | | - | |
23 | | - | |
24 | | - | |
25 | | - | |
26 | | - | |
27 | | - | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
28 | 28 | | |
29 | 29 | | |
30 | 30 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2815 | 2815 | | |
2816 | 2816 | | |
2817 | 2817 | | |
2818 | | - | |
| 2818 | + | |
2819 | 2819 | | |
2820 | 2820 | | |
2821 | 2821 | | |
| |||
11951 | 11951 | | |
11952 | 11952 | | |
11953 | 11953 | | |
| 11954 | + | |
| 11955 | + | |
| 11956 | + | |
| 11957 | + | |
11954 | 11958 | | |
11955 | 11959 | | |
11956 | | - | |
11957 | | - | |
| 11960 | + | |
| 11961 | + | |
11958 | 11962 | | |
11959 | 11963 | | |
11960 | 11964 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
85 | 85 | | |
86 | 86 | | |
87 | 87 | | |
| 88 | + | |
| 89 | + | |
88 | 90 | | |
89 | | - | |
| 91 | + | |
90 | 92 | | |
91 | 93 | | |
92 | 94 | | |
| |||
133 | 135 | | |
134 | 136 | | |
135 | 137 | | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
136 | 146 | | |
137 | | - | |
| 147 | + | |
138 | 148 | | |
139 | 149 | | |
140 | 150 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
112 | 112 | | |
113 | 113 | | |
114 | 114 | | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
115 | 130 | | |
116 | 131 | | |
117 | 132 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
| 4 | + | |
4 | 5 | | |
5 | 6 | | |
6 | 7 | | |
| |||
69 | 70 | | |
70 | 71 | | |
71 | 72 | | |
72 | | - | |
| 73 | + | |
| 74 | + | |
73 | 75 | | |
74 | 76 | | |
75 | 77 | | |
76 | | - | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
77 | 81 | | |
78 | 82 | | |
79 | 83 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
115 | 115 | | |
116 | 116 | | |
117 | 117 | | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
118 | 126 | | |
119 | 127 | | |
120 | 128 | | |
121 | 129 | | |
122 | 130 | | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
123 | 137 | | |
124 | 138 | | |
125 | 139 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
87 | 87 | | |
88 | 88 | | |
89 | 89 | | |
90 | | - | |
| 90 | + | |
91 | 91 | | |
92 | 92 | | |
93 | 93 | | |
| |||
159 | 159 | | |
160 | 160 | | |
161 | 161 | | |
162 | | - | |
163 | | - | |
| 162 | + | |
| 163 | + | |
164 | 164 | | |
165 | 165 | | |
166 | 166 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
110 | 110 | | |
111 | 111 | | |
112 | 112 | | |
113 | | - | |
114 | | - | |
115 | | - | |
| 113 | + | |
116 | 114 | | |
117 | 115 | | |
118 | 116 | | |
| |||
0 commit comments