The upper bound for the 80 call is C(90) + 10, or 30. At least assuming no arbitrage.
Let's start by assuming the risk-free rate is 0 (this isn't a problem, but the math is clearer without it), so we don't have to discount the price. Then, the call price is given by $C(K) = E_t[(S_T - K)^+]$, which gives:
$C(K - 10) &= E_t[max(S_T - (K - ...
I believe that your problem can be formulated as:
Find PD matrix that is as close as possible to a given PD matrix (result of some previous calibration, or the matrix computed using average hazard rate, or any other "target", or the penalty on non-smoothness) subject to the following constraints:
The values that are given must be matched exactly
5 minutes is a very short time period!
If you have access to real time data of Implied Volatility and transaction Volume of the underlying of your option than you can take a look to the following article:
Volatility Forecasts, Trading Volume, and the ARCH versus Option-Implied Volatility Trade-off
In this article, the authors use the information from ...
I think the following two questions and related answers should help in answering the question:
Why use swap-rates in a yield curve?
Is there an Australian Interbank Rate?
Essentially to derive funding curves you gotta use what is left with the constraint that the source instrument has to be liquid enough and closely enough reflect true market ...
It really depends on how/where do you plan to use final values.
I would not use extrapolation since it will ignore market realities. Forward rates across long end tend to be increasing while dumb extrapolation might give you the opposite result.
In case of treasuries one can use treasury and swap spread and while you do not have 50 Y treasuyy one can find ...
What you are interested in is called extrapolation.
In other words, you want to "extend" your function $r$ for $t < t_0$ and $t > t_n$.
What the author suggests on page 109, below equation (37), is to extrapolate "flat", that is:
$$r(t) = r(t_n), \space \forall t > t_n$$
Setting $t_0 = 0$ does not require extrapolation for $t < t_0$ as time ...
You can't, at least from Python. Currently, flat extrapolation in time it's hard-coded. To modify that, you'll have to change the underlying C++ code.
(On the other hand, you can select whether extrapolation on the strike axis should use the provided interpolation or go flat. The default is to use the interpolation, and the choice needs to be made when ...
The typical approach is to try to fit a ratings migration matrix to available rating transition data.
If default rates are all you have then that's going to be difficult. Instead, I might try to fit a separate reduced form credit model on survival probability $P_\ell$ for each rating $\ell$ by fitting the function
P_\ell(T) = \exp\left( -\int_0^T h(t) ...
A really simple and arbitrage free solution is to extrapolate flat volatility on the same moneyness.
Let's say that you want an implied volatility for strike $K$ at time $t<t_1$, and $t_1$ is the first pillar on the surface.
You look at the moneyness level $k=K/F_t$, then look for $K'$ to get the volatility at the same moneyness level of the first ...