@@ -308,138 +308,3 @@ def _maybe_set_ad_order(
308308 # Curve has no method (possibly a custom curve and not a subclass of _BaseCurve)
309309 return None
310310 return original_order
311-
312-
313- def _to_six_curve_dict (
314- curves : CurveOption | list [CurveOption ] | dict [str , CurveOption ],
315- ) -> dict [str , CurveOption_ ]:
316- if isinstance (curves , list | tuple ):
317- if len (curves ) == 1 :
318- return dict (
319- rate = curves [0 ],
320- disc = curves [0 ],
321- index = NoInput (0 ),
322- rate2 = curves [0 ],
323- disc2 = curves [0 ],
324- index2 = NoInput (0 ),
325- )
326- if len (curves ) == 2 :
327- return dict (
328- rate = curves [0 ],
329- disc = curves [1 ],
330- index = NoInput (0 ),
331- rate2 = curves [0 ],
332- disc2 = curves [1 ],
333- index2 = NoInput (0 ),
334- )
335- if len (curves ) == 3 :
336- return dict (
337- rate = curves [0 ],
338- disc = curves [1 ],
339- index = curves [2 ],
340- rate2 = curves [0 ],
341- disc2 = curves [1 ],
342- index2 = curves [2 ],
343- )
344- if len (curves ) == 4 :
345- return dict (
346- rate = curves [0 ],
347- disc = curves [1 ],
348- index = NoInput (0 ),
349- rate2 = curves [2 ],
350- disc2 = curves [3 ],
351- index2 = NoInput (0 ),
352- )
353- if len (curves ) == 5 :
354- return dict (
355- rate = curves [0 ],
356- disc = curves [1 ],
357- index = curves [2 ],
358- rate2 = curves [3 ],
359- disc2 = curves [4 ],
360- index2 = curves [2 ],
361- )
362- if len (curves ) == 6 :
363- return dict (
364- rate = curves [0 ],
365- disc = curves [1 ],
366- index = curves [2 ],
367- rate2 = curves [3 ],
368- disc2 = curves [4 ],
369- index2 = curves [5 ],
370- )
371- else :
372- raise ValueError (
373- f"`curves` as sequence must not be greater than 6 in length, got: { len (curves )} ."
374- )
375- elif isinstance (curves , dict ):
376- return dict (
377- rate = curves .get ("rate" , None ) or NoInput (0 ),
378- disc = curves .get ("disc" , None ) or curves .get ("rate" , None ) or NoInput (0 ),
379- index = curves .get ("index" , None ) or NoInput (0 ),
380- rate2 = curves .get ("rate2" , None ) or curves .get ("rate" , None ) or NoInput (0 ),
381- disc2 = curves .get ("disc2" , None ) or curves .get ("disc" , None ) or NoInput (0 ),
382- index2 = curves .get ("index2" , None ) or curves .get ("index" , None ) or NoInput (0 ),
383- )
384- else :
385- return dict (
386- rate = curves ,
387- disc = curves ,
388- index = NoInput (0 ),
389- rate2 = curves ,
390- disc2 = curves ,
391- index2 = NoInput (0 ),
392- )
393-
394-
395- class _Curves :
396- """
397- Container for a pricing object providing a mapping for curves.
398- """
399-
400- def __init__ (
401- self ,
402- * ,
403- rate_curve : CurveOption_ = NoInput (0 ),
404- disc_curve : CurveOption_ = NoInput (0 ),
405- index_curve : CurveOption_ = NoInput (0 ),
406- leg2_rate_curve : CurveOption_ = NoInput (0 ),
407- leg2_disc_curve : CurveOption_ = NoInput (0 ),
408- leg2_index_curve : CurveOption_ = NoInput (0 ),
409- ):
410- self ._rate_curve = rate_curve
411- self ._disc_curve = disc_curve
412- self ._index_curve = index_curve
413- self ._leg2_rate_curve = leg2_rate_curve
414- self ._leg2_disc_curve = leg2_disc_curve
415- self ._leg2_index_curve = leg2_index_curve
416-
417- @property
418- def rate_curve (self ) -> CurveOption_ :
419- """The curve used for floating rate or hazard rate forecasting on leg1."""
420- return self ._rate_curve
421-
422- @property
423- def disc_curve (self ) -> CurveOption_ :
424- """The curve used for discounting on leg1."""
425- return self ._disc_curve
426-
427- @property
428- def index_curve (self ) -> CurveOption_ :
429- """The index curve used for forecasting index values on leg1."""
430- return self ._index_curve
431-
432- @property
433- def leg2_rate_curve (self ) -> CurveOption_ :
434- """The curve used for floating rate or hazard rate forecasting on leg2."""
435- return self ._leg2_rate_curve
436-
437- @property
438- def leg2_disc_curve (self ) -> CurveOption_ :
439- """The curve used for discounting on leg2."""
440- return self ._leg2_disc_curve
441-
442- @property
443- def leg2_index_curve (self ) -> CurveOption_ :
444- """The index curve used for forecasting index values on leg2."""
445- return self ._leg2_index_curve
0 commit comments