CAPDM Tutorial Applets

Multiple Period

Functionality:

To extend the two period case to multiple periods.

The single period case is rather unreal in that very few investment decisions have only one period of outlays and one period of income.
Typically investments are made in the expectation of future income streams extending over several future periods. The principles developed in relation to single period discounting can be elaborated to include any number of time periods, thus making it possible to apply the concept of discountingto real world problems.

Remote Control using JavaScript

It is possible to set the independent variable values in the applet and return strings representing individual values or the status of the applet (ie all independent variable values).

Examples

Set Interest Rate to 15%

Set CF0 to -200

Set CF4 to 400

Reset Applet

Show 'About' dialog

Show Applet Status

How to Invoke the Applet

The applet can be invoked by embedding an APPLET tag into your HTML document (if you look at the source of this document you will see a working example you can copy). The table below details the basic parameters used and additional startup parameters that are specific to this applet.

<APPLET
  CODEBASE="../../../../classes"
  ALT="Multiple Period"
  CODE="applet.capdm.finance.multipleperiod.MultiplePeriodApp"
  NAME="MultiplePeriod"
  WIDTH="400"
  HEIGHT="500">
</APPLET>
Basic Parameters Use
CODEBASE="../../../../classes" The CODEBASE of the applet must point at the top-level classes directory in order for the applet to be found.
CODE="applet.capdm.finance.
multipleperiod.MultiplePeriodApp "
This required attribute gives the name of the file that contains the applet's compiled Applet subclass. This file is relative to the base URI of the applet.
ALT="Multiple Period" This optional attribute specifies any text that should be displayed if the browser understands the APPLET tag but can't run Java applets.
NAME="MultiplePeriod" This optional attribute specifies a name for the applet instance, which makes it possible for applets on the same page to find (and communicate with) each other. If you intend to use JavaScript/Applet scripting then the applet must be named as shown.
WIDTH="400" HEIGHT="600" These required attributes give the initial width and height (in pixels) of the applet display area, not counting any windows or dialogs that the applet brings up.
Applet Startup Parameters Use

For more information on the use of the APPLET tag and other attributes you can use but which are not listed above, visit the W3.org specification page at: APPLET tag in HTML 4.

Runtime Applet API Calls

This applet can be called into using Javascript 1.1 while running. Although JavaScript can call the Applet directly, some convenient JavaScript functions have been created which deal with the details of the communication. The following table lists the call Names which can be made, and gives examples of their use and results.

API Call Name Parameters Use and Result
setValue(name,value) 'name' can be one of "InterestRate", "CF0", "CF1", "CF2", "CF3" or "CF4"
'value' is its new value

eg. javascript:document.MultiplePeriod.setValue('InterestRate','15');

Used to set the value of an independent variable in the applet

getValue() none javascript:document.MultiplePeriod.getValue(); Gets the status of the applet
getValue(name) 'name' can be one of "InterestRate", "CF0", "CF1", "CF2", "CF3", "CF4", "NPV" or "IRR"

eg. javascript:document.MultiplePeriod.getValue('IRR');

Returns the current value of the variable from the applet.

getValue(name,dp) 'name' can be one of "InterestRate", "CF0", "CF1", "CF2", "CF3" or "CF4"
'dp' is the number of decimal places of accuracy required
javascript:getValue("InterestRate",2); Gets the current value of the variable as a string to the number of decimal places specified
showAbout() none javascript:showAbout(); Shows the version dialog box of this applet.
reset() none javascript:reset(); resets the applet to initial starting position