discountfactors.USD.param.0
{'type': 'CashDeposit', 'id': {'CashDeposit': {'USD': datetime.datetime(2021, 12, 12, 0, 0)}}}
tensor(0.9900, dtype=torch.float64, requires_grad=True)
tensor(0., dtype=torch.float64, grad_fn=<CopyBackwards>)
discountfactors.USD.param.1
{'type': 'CashDeposit', 'id': {'CashDeposit': {'USD': datetime.datetime(2022, 12, 12, 0, 0)}}}
tensor(0.9800, dtype=torch.float64, requires_grad=True)
tensor(5.5826, dtype=torch.float64, grad_fn=<CopyBackwards>)
discountfactors.USD.param.2
{'type': 'CashDeposit', 'id': {'CashDeposit': {'USD': datetime.datetime(2023, 12, 12, 0, 0)}}}
tensor(0.9700, dtype=torch.float64, requires_grad=True)
tensor(5.5521, dtype=torch.float64, grad_fn=<CopyBackwards>)
forwards.SPX.param.0
{'type': 'Forward', 'id': {'Forward': {'SPX': {datetime.datetime(2021, 12, 12, 0, 0): nan}}}}
tensor(101., dtype=torch.float64, requires_grad=True)
tensor(4.8362e-11, dtype=torch.float64, grad_fn=<CopyBackwards>)
forwards.SPX.param.1
{'type': 'Forward', 'id': {'Forward': {'SPX': {datetime.datetime(2022, 12, 12, 0, 0): nan}}}}
tensor(102., dtype=torch.float64, requires_grad=True)
tensor(0.6127, dtype=torch.float64, grad_fn=<CopyBackwards>)
forwards.SPX.param.2
{'type': 'Forward', 'id': {'Forward': {'SPX': {datetime.datetime(2023, 12, 12, 0, 0): nan}}}}
tensor(103., dtype=torch.float64, requires_grad=True)
tensor(0.6093, dtype=torch.float64, grad_fn=<CopyBackwards>)
volatilities.SPX.param.0
{'type': 'SSVIVolatility', 'id': {'SSVIVolatility': {'SPX': {datetime.datetime(2022, 12, 12, 0, 0): <SSVIParam.Theta: 1>}}}}
tensor(0.2000, dtype=torch.float64, requires_grad=True)
tensor(19.9010, dtype=torch.float64, grad_fn=<CopyBackwards>)
volatilities.SPX.param.1
{'type': 'SSVIVolatility', 'id': {'SSVIVolatility': {'SPX': {datetime.datetime(2022, 12, 12, 0, 0): <SSVIParam.Beta: 2>}}}}
tensor(3., dtype=torch.float64, requires_grad=True)
tensor(0.0106, dtype=torch.float64, grad_fn=<CopyBackwards>)
volatilities.SPX.param.2
{'type': 'SSVIVolatility', 'id': {'SSVIVolatility': {'SPX': {datetime.datetime(2022, 12, 12, 0, 0): <SSVIParam.Rho: 3>}}}}
tensor(-0.5000, dtype=torch.float64, requires_grad=True)
tensor(-0.8409, dtype=torch.float64, grad_fn=<CopyBackwards>)
volatilities.SPX.param.3
{'type': 'SSVIVolatility', 'id': {'SSVIVolatility': {'SPX': {datetime.datetime(2023, 12, 12, 0, 0): <SSVIParam.Theta: 1>}}}}
tensor(0.2000, dtype=torch.float64, requires_grad=True)
tensor(19.7922, dtype=torch.float64, grad_fn=<CopyBackwards>)
volatilities.SPX.param.4
{'type': 'SSVIVolatility', 'id': {'SSVIVolatility': {'SPX': {datetime.datetime(2023, 12, 12, 0, 0): <SSVIParam.Beta: 2>}}}}
tensor(3., dtype=torch.float64, requires_grad=True)
tensor(0.0106, dtype=torch.float64, grad_fn=<CopyBackwards>)
volatilities.SPX.param.5
{'type': 'SSVIVolatility', 'id': {'SSVIVolatility': {'SPX': {datetime.datetime(2023, 12, 12, 0, 0): <SSVIParam.Rho: 3>}}}}
tensor(-0.5000, dtype=torch.float64, requires_grad=True)
tensor(-0.8363, dtype=torch.float64, grad_fn=<CopyBackwards>)