HP Forums

Full Version: HP 17bii+: Financial Management Rate of Return (FMRR) Question
You're currently viewing a stripped down version of our content. View the full version with proper formatting.

Has anyone successfully entered equation, validated equation and validated answer for the FMMR using an hp 17bii+?

I have all but validated an answer, the solver seems to diverge with its guesses.

Any information is greatly appreciated and thank you all in advance.


Did you look here already?


Best regards

Sure did. The equation is entered and is validated but it diverges hopelessly. I take it that nobody else uses the equation. Thank you for your time.


So here is another equation:


It also may be, that you ran into the famous L(), G() bugs ...

Try to initialize like described here:


Best regards

PS: Give Ed Keefe's other articles a look too, e.g.:


Something I forgot to ask:

Did you use "guesses" for the expected FMRR - like:


Best regards
Peter A. Gebhardt


Hey, thanks for your help!!! I got it!!! I needed to set all registers to zero, i.e., including S, R, T, and I. I should have remembered to check for that - your last suggestion reminded me to do that (I so far away from programming since I was younger). Again, thank you for taking the time, I greatly appreciate it!

See code below for tweak that works for me:



( IF(P/YR=0: L(P/YR: 1 ) : 0 )+

L(I: G(IRR%)_div_P/YR )+

L(S: SAF%_div_P/YR )+

L(R: RSK%_div_P/YR )+

_sum_( G: SIZEC($): 1: -1: L(C: FLOW($:G) )+ L(T: #T($:G) )+ L(X: G(M)_mult_SPPV(G(S):G(T))+ G(C)_mult_USPV(G(S):G(T)) )+ L(MP: G(MP)_mult_SPPV(G(S):G(T)) )+

IF(G(C)<=0: L(MP: G(MP)+ G(C)_mult_(G(S):G(T)) )+ L(M: G(X) ) : L(MF: G(MF)+ SPFV(G(R):G(N))_mult_ G(C)_mult_USFV(G(R):G(T)) )+ IF(G(M)+G(C)>0: L(W: G(W)+ SPFV(G(R):G(N))_mult_ ( G(M)+ G(C)_mult_USFV(G(R):G(T)) ) )+ L(M: G(X) ) : IF(G(X)<=0: L(M: G(X) ) : L(P: IP( LN( -G(M)_mult_G(S)_div_100_div_G(C)+1 )_div_ LN( 1+G(S)_div_100 ) ) )+ L(W: G(W)+ SPFV(G(R):G(N)+G(P))_mult_ ( G(C)_mult_USFV(G(R):G(T)-G(P))+ G(M)_mult_SPPV(G(S):G(P))+ G(C)_mult_USPV(G(S):G(P)) ) )+ L(M: 0 ) ) ) )+ L(F: G(F)+ G(C)_mult_ USFV(G(I):G(T))_mult_ SPFV(G(I):G(N)) )+ L(N: G(N)+G(T) ) ) )+

IF(S($IN): $IN-G(M)-FLOW($:0) : IF(S($OUT) OR S(P/YR): $OUT-G(W) : IF(S(FMR%) OR S(SAF%) OR S(RSK%): (G(M)+FLOW($:0))_mult_ SPFV(FMR%_div_P/YR:G(N))+ G(W)+ 0_mult_(SAF%+RSK%) : IF(S(MIR%): FLOW($:0)+ G(MP)+ G(MF)_mult_SPPV(MIR%_div_P/YR:G(N)) : FLOW($:0)_mult_ SPFV(IRR%_div_P/YR:G(N))+ G(F) ) ) ) )

In response to your question about the guesses, I used the same source as you, i.e., [link:http://www.palmtoppaper.com/ptphtml/18/pt18002a.htm]
It seems to be the second page to the one you quoted.


Thanks in return, for posting your finally working solution!

I second your emotions conc. programming - 30 years ago I also would have been happy to concentrate much of my spare time to find solutions for critical problems. Nowadays I have to provide solutions to my customers FAST and I'm very happy not only to contribute (albeit rarely) but also to rely on the help of this fine community.

Have a nice weekend!

Peter A. Gebhardt

Edited: 5 Sept 2006, 2:07 p.m.