home *** CD-ROM | disk | FTP | other *** search
- ********************
-
- FUNCTION Int_retrat
-
- PARAMETERS _pv, _fv, _pperyr, _numb, _epers
-
- IF TYPE("_pv") + TYPE("_fv") + TYPE("_pperyr") + TYPE("_numb") + TYPE("_epers") != "NNNNA"
- RETURN(-1)
- ENDIF
-
- * _pv = purchase price of the investment
- * _fv = expected sale price
- * _pperyr = _numb of periods per year
- * _numb = total _numb of periods to cover
- * _epers = an ARRAY of earnings per period
-
- PRIVATE _irate, _i1, _pf, _te1, _qaz, _pe, _te1
-
- _irate = .15 / _pperyr
- _i1 = .25
- DO WHILE .T.
- _pf = _fv ( 1 + _irate ) ** _numb
- _te1 = 0
- FOR _qaz = 1 TO _numb
- _pe = _epers[_qaz] / (1 + _irate) ** x
- _te1 = _te1 + _pe
- NEXT
- _i1 = _irate * (_pf + te) / _pv
- IF ABS(_irate - _i1) < .000001
- _irate = _irate * _pperyr * 100
- EXIT
- ENDIF
- _irate = _i1
- ENDDO
- RETURN(_irate)
-
- * End of File