Ive been trying to apply the Tsioveriotis & Fernandes CB model using an explicit finite difference method (as its easier to code up than implicit methods!). My problem stems from the fact that the TF model uses the expected growth rate of the stock as a constant (since they derive their initial non-coupled PDE, which is used to justify the coupled PDEs, by simply subbing the risky stock price SDE into itos lemma for the CB). I have found that if I use the equity risk premium + 10yr risk-free rate as my approximation of the expected return on the stock price (following BBGs approach), then my results are complete rubbish (e.g Yahoo CB will be priced at $20 against a mktprice of $107). If on the other hand I simply use the risk free rate the results seem to turn out ok. In other words, the inclusion of this expected growth rate is screwing up my results. Can anyone point in the right direction wrt how I can get round this problem....

Does anyone try to implement TF to price convertibles?What would you suggest to use as a stock growth rate or how can I estimate it?many thanks in advance.

First of all, I would sugest you to use either an Implicit FD or CN with an adaptive grid in order to propertly take into account bond & equity features (coupons, dividend payments, call dates, put dates etc...).A good paper on CB is Forsyth , Vetzal et all..... This so known "Hedge" approach is similar to a reduced form one (allowing to calculate expected cash flows conditional on no default and given default , where one can choose either recovery of market value or nominal recovery).Because of price sensitivity to vol smile of underlying equity and CDS prices,(considering that people are hedging CBs with equity options and CDS), one could jointly calibrate this model to the market as was explained by L. Andersen .

thanks Val. I will try to implement "hedge" approach, it sounds interesting.But now I need to finish my project with TF CB pricing using explicit FD. I don't understand why model works only if r_g=rf.....?And why CB price is so depends on an input maximum price of stock? I heard that sensible choice of S_max is 3 standard deviations from the expected future value (typically in the magnitude of 1200% of initial value for a five years convertible bond), does it make sense?thanks.

Your ploblem is due to the model specification which was done by TF.In their model, as i remember , there is no jump in equity price upon default, hence your equity growth rate would be rf. Unlike TF model, "hedge" model explicitly defines what happens upon default with equity price and bond price, and the jump condition applies on both.

You shuold really be using something like this

I liked this paper. However, it's still unclear how one will jointly calibrate this model to equity smile and CDS in order to get a consistent local vol surface....

The method by T&F has been implimented by MATLAB in the fixed-income toolbox.

Hi guys,I have a problem with defining Lobound and Upbound when pricing Convertible bonds using Tsiveriotis & Fernandes (explicit scheme or CN):It’s how I did:CB_LOBOUND = Min ( Stock price min * conversion rate, put price) COCB_LOBOUND = 0CB_UPBOUND = Max ( Stock price min * conversion rate, call price)COCB_UPBOUND = 0Is it correct?Thanks.

Here are bondary conditions:if Acc=True calculate accrued AccI=accrued(t_i)else AccI=0.if convertible=true cv_price = conv_ratio* St(i) v(i) = max(cv_price, v(i))if puttable=true v(i) = max(put_price+ AccI, v(i)) If callable = True v(i) = min(call_price+ AccI, v(i))opt_price=v(i)-bond_price;

Thanks for your reply.In explicit scheme, in order to calculate U(i+1,k) U(i+1, k+1) U(i, k+1) U(i-1, k+1)My first problem is how to find U(i+1,k) because I need to put some upbounds. But I cannot just do: cv_price = conv_ratio* St(i) v(i) = max(cv_price, v(i))Sorry for stupid questions.================================================================================In TF: for CB for cash only convertible bond partFinal condition at expiration:U(S,T)=cnv.ratio*S for S>=B/cnv.ratio or U(S,T)=B elsewhereV(S,T)=0 for S>=B/cnv.ratio or v(S,T)=B elsewhereUpside constraints due to conversion:u>=cnv.ratio*sv=0 if u<=cnv.ratio*SUpside constrains due to callability:U<=max(Bcall, cnv*S)V=0 if u>=BcallDownside constraints due to putability:u>=Bputv=Bput if u<=Bput

I don't understand your issue.Can you be more explicit.1) First of all , one will generate the trinomial tree or FD grid based on stock price;2) Calculate bond payoff (apply final condition at last exercise date (call/put/conversion...)3) calculate in a backward way at each layer S(i) the convertible bond hold value v(i), which is just the expected discounted convertible bond price;4) After apply boudary conditions, if any ( as exlained in the previous reply...)Repeat 3)-4) up to the spot date;At spot date get v(0), which should be the convertible bond price;P.S. i skipped time index in my response.

- MONAYMAKER
**Posts:**6**Joined:**

Hi! did you succed in implementing the TF model? wich numerical method did you use?

QuoteOriginally posted by: MONAYMAKERHi! did you succed in implementing the TF model? wich numerical method did you use?FD schemes:-implicit, CN, and ranacher(implicit+CN)In order to speed up the convergence (call/put/convert..), 1-2 additional iterates will be required, otherwise, using LCP would require >=100 time steps and >=200 grid steps in order to attain a value within 2-3 bp of accuracy. For instance, the valuation with 100X200 takes less than 2 secs on 1Gth computer with 256Mo of RAM.best,

GZIP: On