Home
Computer implemented method
Contents
1. 25 35 45 55 60 65 4 the derivative security and also improve execution speed of the system Means are provided to make visible a portion of the available rows at any given time through the use of a scrollable window Each row is termed an event since it represents information which is concurrent in simulation time even though it is evaluated left to right in real time FIG 4A shows the display device 14 with the GUI for inputting a Scenario producing using the input and output routines 24 The first column labeled TIME 40 is for inputting a date or formula for determining a date down to the minute on a particular date on which the corresponding event occurs to be evaluated by the simulation means 22 The event usually involves a possible payment to the holder of the derivative security but may also represent any point in simulated time where calculation or simulated activities are required The second column labeled GENCALC 42 is for inputting the formulae if any necessary to determine the values accessed by concurrent or future events The third column labeled PAYCON 44 is to input any payoff contingencies expressed as a variable evaluated as a Bool ean value The fourth column labeled Payoff 46 contains a formula to be evaluated by the simulation means 22 in the event that the payoff contingency is found to occur repre senting the amount of the payoff of the derivative product The fifth col
2. MASS STORAGE DISPLAY DEVICE 16 INTERACTIVE INPUT AND 24 OUTPUT ROUTINES SIMULATION COMPILING 26 MEANS MEANS 28 OPERATING SYSTEM AND OTHER ROUTINES SEQUENCING 30 MEANS FIG 1 U S Patent Nov 25 1997 Sheet 2 of 7 5 692 233 USER CONSTRUCTS AND 50 INPUTS SCENARIO COMPILE ALGEBRAIC 52 OPERATIONS TO EXECUTABLE CODE OBJECTS SEQUENCE NEWLY COMPILED 54 CODE OBJECTS WITH SIMULATION CODE PERFORM SIMULATION BY 96 EXECUTING SEQUENCED CODE 58 OUTPUT SIMULATION RESULTS TO DISPLAY MEANS FIG 2 U S Patent Nov 25 1997 Sheet 3 of 7 USER INPUTS AND SAVES A SCENARIO PARSE PARAMETERS PASSED BY GUI SCENARIO FILE NAME ITERATIONS TO RUN CUMULATION FLAG RETRIEVE SCENARIO FILE FROM MASS STORAGE MEANS AND READ FILE HEADER INFORMATION FILE TYPE FORMAT REVISION READ SIMULATION CONTROL MARKET AND PERTURBATION AND ASSET PRICE INFORMATION FROM SCENARIO FILE READ EVENT INFORMATION COMPILE FORMULAE TO LOW LEVEL EXECUTABLE CODE OBJECTS FIG 3A 61 62 63 64 65 5 692 233 U S Patent Nov 25 1997 Sheet 4 of 7 5 692 233 SEQUENCE CODE OBJECTS FOR 66 EXECUTION IN LEFT TO RIGHT TOP TO BOTTOM ORDER AS THE SECURITY WAS SPECIFIED PASS CONTROL TO SIMULATION 67 MEANS FOR CODE EXECUTION 68 ADVANCE EXECUTION TO CODE FOR NEXT EVENT DETERMINE SIMULATED EVENT 69 TIME OF OCCURENCE EXECUTE MONTE CA
3. Payoff Amount the payoff to be made at this point in simulated time Absorption Contingency a boolean calculation to determine whether the simulation should end The first element of an event is the time at which the event occurs This time can be fixed or computed at the point where the event is reached all that is important is that the occurrence time of the event is not earlier than that of the prior event When the event s occurrence date is known all market related quantities arc immediately also known and available for that event s calculations The second element of an event is the specification of general calculations For example if a statistic of some sort is required this may be specified in a general programming language within the second column of the scenario for each event The general calculation capability permits access to market quantities mathematical functions and previously computed quantities The third element being also the third column in the scenario window is the payoff contingency This is a boolean calculation which results in the value one true or zero false which also applies to computed results other than one If the result of the payoff contingency calculation is true then the payoff to the derivative security is made in a size dictated by the next event element The fourth element is the payoff itself If the payoff contingency is true the formula for the payoff amount is e
4. 24 1 00 4 4 3 5 92 gt 37 42 5 692 233 43 As shown in the third example DEL permits the use of other operators and functions with date and time values Some calculations don t make much sense though For example if you add two dates you will get a result but it may not mean anything useful Operators DEL provides a fairly complete set of arithmetic comparison and logical operators Permitted operators are The special operator assignment Type Symbol Meaning sign reversal arithmetic gt gt ener man or equal 1o comparison i 7 max amna Wa UY m can only be used only once within a DEL expression and then it must appear 10 the right of a single variable name which begins the expression it cannot be otherwise imbedded e g as in the C language DEL is instead more like Pascal in its treatment of assignment statements less than comparison 5 5 92 4 5 SC 5 692 233 45 The assignment operator is limited to usage only within the general calculation section of a scenario Functions The following functions are intrinsics within DEL Mathematical Functions Meaning Name erw 7 natural log of x absolute value of x xwitepowery norm x normal density for x cumulative normal distribution for x truncate x to integer towards zero Logical Boolean Functions Nam
5. a user input expression defining at least one variable or at least one equation for the event at the simulated time of the row the ordered cells in each row forming an ordered sequence of expressions in the row the plurality of ordered rows that include a user input time expression defining an ordered sequence of simulated times defined by a user for events in the simulation 5 692 233 69 13 The computer implemented method of claim 12 wherein the simulation is of a value for derivative security based on at least one underlying asset and the events in the simulation effect a value of the at least one underlying asset further comprising for at least one row receiving into a first cell a general value expression defining variables and equations related to the value of the derivative security at the simulated time of the row receiving into a second cell a payoff contingency expres sion defining whether the derivative security returns a value at the simulated time for the row receiving into a third cell a payoff value expression defining the value returned by the derivative security at the simulated time of the row and receiving into a fourth cell an absorption contingency expression defining whether simulation of the deriva tive security is terminated at the simulated time of the IOW 14 A computer implemented method for determining a value of the simulation comprised of an ordered sequence of events each event simulated at a t
6. e g cNDEMoo Gets turned into cNDEMoo dvi etc e Error log file results in e g cNDEMoo err If not specified errors go into drvtool err d Use temporary results file output section only Results in e g cNDEMoo dvo x File to be created at end of execution to signal process completion Results in e g cNDEMoo x r Reset output act as if has output flag is false s long Seed value for random number generator for debugging c Syntax check file equivalent to i 0 i long Iteration count q Quiet no output to console p Report payoff condition result to console debugging only Some examples of common things to do dtengine c euroyear Does a syntax check on the file euroyear dvi in the current directory rainier r i 1000 c check seapc Runs a thousand iterations on the file c check seapc dvi putting the results in the same file Because of the r option it throws away any previously accumulated results before running the simulation Using the r option is highly recommended the first time you run a hand edited scenario file rainier i 10000 c checkNeapc d Runs another ten thousand iterations on cAcheckNeapc dvi Puts a copy of the resulting output section into cAcheckNseapc dvo Because the r option is absent any previous results will be accumulated with the new results FILE NAME EXTENSIONS 5 5 92 4 1 523 5 692 233 37 The following are mandatory extensions for various files associated with D
7. or reduced to any electronic medium or machine readable format except in the manner described in the standard FEA Software License Agree ment Copyright 1992 Financial Engineering Associates Inc All Rights Re served First Edition Printed 1992 Printed in the United States For further information concerning the documentation contact Financial Engineering Associates Inc 2511 Channing Way Suite 200 Berkeley CA 94704 2314 USA 1 510 548 6200 voice 1 510 548 0332 fax DerivaTool is a trademark of Financial Engineering Associates Inc NOTICE This manual does not constitute financial advice users should consult their own financial advisors regarding any such advice Usage of this manual and associated software is permitted only following the receipt of an executed standard FEA Software License Agreement which limits Financial Engineering Associates Inc s liability to users 7 5 692 233 11 Contents Chapter 1 About this manual 44 444 Chapter 2 About DERIVATOOL Terminology Functional Overview 20 2 6 eee ee ee Main Application Window Scenario Window 0 20 0 ee ee Price History Window Market Window Chapter Designing Derivative Products Gaining comfort 144 4 4 4 4 A Call Options oe ul UE
8. history data includ ing a user input date and a user input asset price for the date and 10 15 35 45 50 65 68 a user input means for receiving a user input specifying a number of simulation iterations 10 The user interface of claim 9 wherein the asset term structure is defined as one of a group comprising a asset forward price and an asset yield 11 An apparatus in a computer system including a processor a display and a memory for defining a simulation comprised of an ordered sequence of events each event having a simulated time the apparatus comprising a graphical user interface having a plurality of ordered columns and ordered rows and forming a plurality of cells each row for representing an event at a simulated time the simulated time of each row definable by the user the simulated times of the rows and events ordered with the simulated time of one row after the simu lated time of an immediately previous row each row having a plurality of ordered cells one cell for each of the ordered columns each row containing a time cell for storing a user input time expression defining the simulated time of the event for the IOW a number of other cells each other cell for storing a user input expression defining at least one variable or at least one equation for the event at the simulated time of the row the ordered cells in each row forming an ordered sequence of expressions in the row the
9. in the simulation 7 The user interface of claim 6 wherein at least one row represents a plurality of events each event with a simulated time and the user input time expression in the time cell of the at least one row defines a plurality of simulated times 8 The user interface of claim 6 wherein the simulation is of a value for a derivative security based on at least one underlying asset and the events in the simulation effect a value of the at least one underlying asset wherein each row comprises a first cell for storing a general value expression defining variables and equations related to the value of the derivative security at the simulated time of the row a second cell for storing a payoff contingency expression defining whether the derivative security returns a value at the simulated time for the row a third cell for storing a payoff value expression defining the value returned by the derivative security at the simulated time of the row and a fourth cell for storing an absorption contingency expres sion defining whether simulation of the derivative security is terminated at the simulated time of the row 9 The user interface of claim 8 further comprising a user input means for receiving market data for a user input date including an interest rate for the date an asset term structure for at least one underlying asset a volatility term for at least one underlying asset a user input means for receiving price
10. middle of expressions may be used for formatting but are not significant in calculations Blanks in the middle of variable or function names however are not allowed NOTES 1 These date time formats are very USA oriented and will undoubtedly cause complaints all over Europe and Asia If there s a better format let s use it but let s pick one and stick with it world wide Otherwise you wind up with a different program in every country and all kinds of file compatibility problems 2 Although this isn t very pertinent to the language date values are stored internally as 64 bit floats containing the target machine s time t type values The allowable date values are those permitted by Unix e g 1970 to 2037 Time valnes are also stored as 64 bit floats and represent the number of seconds since midnight 5 5 92 4 11 u2 M 56 5 692 233 57 3 We use 64 bit floating point numbers because they re more poratble than 80 bit Actually the DOS Windows version uses a lot of 80 bit numbers internally 5 For instance You have a one year option to buy pork belly contracts at 5 000 and three months into the contract the price of pork belly contracts hits 6 000 Instead of waiting out the year you absorb the option at this point and pocket the 1 000 profit Interest Rate and Volatility Inputs In the financial markets there are a wide variety of methods for quoting interest rates DerivaTool adheres to a time unit
11. rex ed A Knockout Double Up Call Option Chapter 4 Reference eom mot oh t 9 sq v s sq 5 ep 9 5 n The DerivaTool Engine DerivaToo Engine Command Line Syntax DerivaTool Expression Language DEL 123 92 Introduction v a n 4 44 s s c q a a ho 9 q s s m aq 44 Opar tors ole Rack ga E ER eus Functions 4 t m s s 9 o Logical Boolean Functions Statistical Functions Date Time Functions s q o omo s s sq q do 4 e s s n s s s m os on on Zo 12 5 692 233 13 Market Reference Functions 4 9 Event Reference Functions 4 10 Interest Rate and Volatility Inputs 4 12 Case Sensitivity 4 12 Decimal Numbers 4 13 Output Interpretation 4 13 Theoretical 4 13 Delta a a be ie boe ea 4 13 coves eet Paton ix 4 13 l2 Re 4 14 Index Le oncle ae Mice w lalate aie ae IS 1 1 1 23 92 21 5 692 233 15 Chapter 1 About this manual This manual is the user documentation manual for DerivaTool an applica tion for the financial analysis of comp
12. PPLICATIONS This is a continuation of application Ser No 07 890 437 filed on May 28 1992 now abandoned BACKGROUND OF THE INVENTION 1 Field of the Invention This invention relates to a system and method for the rapid assessment of the fair market value and risk charac teristics of complex financial securities without the need for knowledge of computer programming sensitivity analysis or statistical simulation techniques 2 Description of the Prior Art The present invention is directed toward an improved method for assessing the fair market value and risk charac teristics of complex financial securities a category of finan cial instruments that continues to broaden Complex finan cial securities include in particular derivative products such as options and futures Derivative securities fluctuate in value on the basis of the price of an underlying asset such as a precious metal an agricultural product or a company s common stock The fair market value and risk characteristics of derivative securities depend on the value and price volatility of the underlying asset Banks brokerages and other major financial institutions generally apply simulation techniques to assess the fair market value and risk characteristics of derivative securities Such techniques simulate changes in the prices of the underlying assets and other economic conditions over the life of the derivative security Simulation techniques are employed beca
13. RLO SIMULATION TO DETERMINE 70 ASSET PRICE AND ECONOMIC CONDITIONS AT EVENT TIME OF OCCURRENCE CALCULATE VARIABLES SET FORTH AS GENERAL FORMULAE AND STORE VARIABLES 71 FIG 3B U S Patent Nov 25 1997 Sheet 5 of 7 5 692 233 DETERMINE VALUE TRUE EXECUTE CODE TRUE OR FALSE OF PAYOFF OBJECTS TO MAKE CONTINGENCY eu CALCULATED PAYOFF 74 DETERMINE VALUE TRUE OR FALSE OF ABSORPTION CONTINGENCY TRUE WRITE CALCULATED VALUES TO 77 MASS STORAGE DEVICE PASS CONTROL TO GUI FOR 78 DISPLAY OF OUTPUT DISPLAY SIMULATION RESULTS 79 ON REQUEST FIG 3C U S Patent Nov 25 1997 Sheet 6 of 7 5 692 233 il Pp CSCERAROTUNTTIED vla A EE 40 42 44 FIG 4A E SCENARIO 1 UNTITLED ae S ea MONTH BASEDATE B MONTH Pots TRUE TRUE ee xcd U S Patent Nov 25 1997 Sheet 7 of 7 5 692 233 IE RESULTS SCENARIO 2 SEAPC DVI mI AVERAGE VALUE STD DEVIATION VALUE 0 934279 0 0458901 DELTA 0 476687 0 0146279 7 UNITS 0 476687 0 0146279 EZ VALUE 5 72025 0 175535 GAMMA 0 012188 0 00214751 4 CANCEL THETA 0 179827 0 0514878 DAILY 0 000492678 0 000141063 ANNUAL 0 0149856 0 00429065 NUMBER OF ITERATIONS 1000 FIG 5 5 692 233 1 INTEGRATED SYSTEM AND METHOD FOR ANALYZING DERIVATIVE SECURITIES RELATED A
14. United States Patent u9 Garman 54 INTEGRATED SYSTEM AND METHOD FOR ANALYZING DERIVATIVE SECURITIES 75 Inventor Mark B Garman Orinda Calif 73 Assignee Financial Engineering Associates Inc Berkeley Calif 21 Appl No 384 376 22 Filed Feb 3 1995 Related U S Application Data 63 Continuation of Ser No 890 437 May 28 1992 aban doned 51 G06F 17 60 G06G 7 52 52 U S Cl 705 36 364 578 705 35 345 339 58 Field of Search 364 401 402 364 406 408 419 1 570 578 395 144 145 146 148 149 155 161 201 207 210 230 235 236 326 339 340 764 56 References Cited U S PATENT DOCUMENTS 5 222 030 6 1993 Dangelo et al 364 489 5 257 363 10 1993 Sapiro et al 395 500 OTHER PUBLICATIONS OMNI LP Model Management System Haverly Systems Inc Release Feb 1977 Dialog file 256 01015829 Professional Dynamo Plus 3 1 Pugh Roberts Associates Inc Release Jun 1987 Dialog file 256 01245216 7 Y MAX 0 XPRICE 360 Z Y gt 0 BASEDATE MONTH BASEDATE MONTH 3 SCENARIO 1 UNTITLED PAYCON PAYCON EE IIIIIIIIIIIIIIIIIIIIIII US005692233A 5 692 233 Nov 25 1997 11 Patent Number 43 Date of Patent OMNI Model Management System Haverly Systems Inc 1990 Primary Examiner Gail O Hayes Assistant Examiner Stephen R Tkacs A
15. also arranges the data input by events for financial Monte Carlo simula tion For example when several events are input by the user 32 the sequencing means 28 of the preferred embodiment assembles the tokens produced by the compiling means 26 into a sequence which is left to right over the five portions 40 42 44 46 and 48 and then repeats for each event top to bottom in the Scenario 10 15 25 35 45 55 65 6 After the sequencing means 28 produces executable code the simulation means 22 automatically runs the executable code using the CPU 10 The simulation means 22 also includes data files that are used during execution of the financial Monte Carlo simulation The simulation means 22 executes the code and stores the results in memory 16 or in mass storage 18 The information can then be utilized by the input and output routines 24 to convey the results to the user 32 Referring now to FIG 2 an overview of the method of the present invention is shown The unique configuration of memory 16 provided by the present invention and the use of the operating sequences described above are directed toward an integrated method that evaluates the value of derivative securities given only the contract terms and market data The method begins in step 50 by prompting the user for the contract terms As has been described the contract terms are input by specifying a Scenario with one or more events through manipulation of the inpu
16. an absorption contin gency expression requires termination of the execution of the sequenced code objects wherein the simulated value of the derivative security is determined by a last executed code object transformed from a payoff value expression 6 In a computer system including a processor a display and a memory a graphical user interface for defining a simulation comprised of an ordered sequence of events each event having a simulated time the user interface compris ing a plurality of ordered columns and ordered rows and forming a plurality of cells each row for representing an event at a simulated time the simulated time of each row definable by the user the simulated times of the rows and events ordered with the simulated time of one row after the simulated time of an immediately previous row each row having a plu rality of ordered cells one cell for each of the ordered columns each row containing a time cell for storing a user input time expression defining the simulated time of the event for the row a number of other cells each other cell for storing a user input expression defining at least one variable or at least one equation for the event at the simulated time of the row the ordered cells in each row forming an ordered sequence of expressions in the row and the plurality of ordered rows that include a user input time expression defining an ordered sequence of simulated times defined by a user for events
17. analytic models which are used for the valuation of derivative product trades To design new financial instruments evaluate complex patterns of cashflows and contingencies To analyze the hedging and risk exposure characteristics of complex derivative financial products To audit financial valuations produced by other systems Terminology The keywords of the terminology of DerivaTool are shown below in boldface type This section provides a quick overview of the product features while introducing the terminology which is used throughout this manual DerivaTool is a tool for evaluating derivative securities It uses Monte Carlo methods to capture the full realism of market movements and the details of security complexity This means that a potentially large number of alternative price paths are analyzed in a Monte Carlo simulation with several statistics being gathered for each such path these statistics are then interpreted in financial terms By definition derivative securities depend upon ie are derivative to some more fundamental underlying source of 5 5 92 2 1 18 4 f 5 692 233 19 uncertainty usually the price of some asset termed herein the underlying asset For example a stock index futures option contract depends upon the value of 2 stock index like the S amp P 100 and hence is a derivative product associated with the underlying asset in this case the index value During the life
18. ans 22 proceeds to step 71 and calculates variables set forth as general formulae in the GENCALC field and stores the values for the variables In step 72 the simulation means 22 performs the specified calculation necessary to evaluate the payoff contingency and tests whether the contingency is satisfied If the contingency is not satisfied then the method proceeds directly to step 74 However if the contingency is satisfied the simulation means 22 proceeds to step 73 makes the calculated payoff and then continues to step 74 In step 74 the preferred method tests whether the termina tion or absorption contingency is satisfied If the absorption 35 8 contingency is not satisfied the simulation means 22 returns to step 68 to advance to the next event and repeats the cycle until absorption occurs When the absorption contingency is satisfied the simulation is terminated Upon termination of the simulation the simulation means 22 writes the results of the simulation to the mass storage means 18 in step 77 and passes program control to the interactive display control means 20 in step 78 the input and output routines 24 are then used to notify the user 32 that the simulation has run to completion In step 79 the user 32 can then view the simulation results using the input and output routines 24 The input and output routines 24 include menus and representations of buttons for the user to view the results of the simulation as a tabl
19. as an input parameter 0 30 not 30 and an interest rate of 8 is expressed as 0 08 not 8 Output Interpretation Theoretical Value Theoretical value is the value predicted by modem financial theory as being the no arbitrage fair pricing of the instrument given the inputs provided This is of course subject to all of the assumptions which went into the model in deducing this fair price which are basically random walk continuous movement perfect markets price assumptions Obviously markets may price the instruments at different values than the models predict for a variety of reasons one of which may be a mark up or mark down of the fair pricing by dealers making markets in those instruments Delta Delta is a risk measure providing the net equivalent exposure in the underlying commodities of a financial instrument Gamma Gamma is a risk measure corresponding to the rate of change of the absolute delta with respect to a price change In principle such a price change is considered to be infinitesimally small If gammas over wider ranges are desired two invocations of the model delta should be made and differenced then divided by the price interval In the domestic form of the model the gamma is for a price change of the global commodity other than the accounting currency 5 5 92 4 13 6 5 692 233 61 62 Theta Theta is a risk measure corresponding to the time rate of change of the value of the i
20. charting Run check file syntax run simulation run with discarding prior results abort simulation Window arrange window tile features Scenario Window The main element associated with a simulation is the scenario which de scribes the derivative product The scenario window looks like a spreadsheet but is in fact a highly structured description of a scenario Each row in the scenario corresponds to an event or something which happens at a single point in time within the simulation Time moves from top to bottom in the Scenario window so that the earlier the event occurs the more towards the top of the scenario window it appears Simulated time moves from top to bottom in the scenario window but there is also a sequencing within events While all elements in row i e event represent the same point in simulated time in fact the five basic elements of an event described below are sequenced 5 5 92 2 3 eat 22 ee ck 5 692 233 23 from left to right Thus the scenario reads like a an English language book left to right and down the page The five elements describing an event are Time the time at which the event occurs this may be fixed in advance or computed at simulation run time General Calculations general programming statements produced in DEL the DerivaTool Expression Language Payoff Contingency a boolean calculation to determine whether a payoff should occur
21. d more opdons than these such as no rounding e g leave fractional part round to infinity round 10 infinity round away zero 4 8 5 5 82 1 Md TOT 5 692 233 51 time y m d hr min result is time Converts numbers to a time serial number Most useful with variables you can do this with constant numbers using the notation unittime time unit result is number Gives number of units corresponding to time As returned from unittime weekday values run 1 Sunday to 7 Sat urday months run 1 January to 12 December and years are in the form 19XX or 20XX Year days run 1 365 or 366 in leap years In the chgtime and ctime functions the time units must be whole units in the range 32768 to 32767 The allowable dates range from the ycars 1970 to 2037 Functions which create or change dates must wind up with values in this range Market Reference Functions Name Meaning xprice row price of underlying asset at event row or current event if blank xhistprice date price of underlying asset at historical date or basedate if blank xnumrate date date2 numeraire interest rate on date or average rate between lt date gt and lt date2 gt xyield date date2 asset yield on date or average rate between date and lt date2 gt xvol date date2 asset volatility on date or average volatility between date and date2 If called with onc date the function
22. e Meaning 4 6 5 5 92 5 692 233 47 Statistical Functions Name Meaning accumulate value x to cumulator incsum c value of summation of cumulator c incavg c value of average of cumulator c incvar c incsumsq c inccount c value of sample variance of cumulator c value of sum of squares of cumulator c value of sample size of cumulator c DEL provides a special data type called a cumulator for storing basic statistics regarding an observed variable A cumulator is established at the beginning of a simulation In the first and every subsequent invocation of the observation x is posted to the cumulator c The cumulator implements incremental statistics and so is always available for accessing a statistic such as the average incavg c or the variance incvar c for that particular cumulator It is an error to try to use a retrieval function with a cumulator variable which hasn t had anything stored in it via the inc function Cumulator references in the foregoing table occur through a selector which is an integer in the range 1 16 The cumulator itself simply keeps a triple of numbers a count of observations the observations sum and the sum of squares For example cumulator 1 begins in state count sum sumsq 0 0 0 Invocation of 1 3 would change this cumulator s state to 1 3 9 Another invocation inc 1 5 will update th
23. e cumulator to 2 8 34 At this point a reference to incavg 1 would have value 4 8 2 a reference to incvar 1 would have value 1 34 82 2 2 Variance calculations ie incvar in DEL assume a known mean If you need a variance for an unknown mean multiply the latter by inccount c inccount c 1 5 5 92 47 5 692 233 49 50 BUG 14 797 12 21PM FENWICK WEST Date Time Functions Name chgtime time amount unit difftime dmel time2 unit round Meaning starting time of simulation defined as last date in price history time increased by lt amount gt units elapsed time between lt 1 gt and lt time2 gt expressed in unit s rounded if round is tueQ otherwise truncated towards zero 727 cdme y m d hr min arithunedc to date time conversion unit corresponding to dime 727 mew anit mons day of the week 777 There are some operations which are useful in dealing with dates and Gmes which cannot readily be accomplished using simple arithmetic operators figuring out what year 2 date is in adding a month to a date and so on These are accamplished with several functions chetime time amount unit result is time Change rime by whole units diff me rime time2 unitround result is number Time elapsed between two times in given units time2 imel round is TRUE for round to nearest and FALSE for truntate toward zero Do we nee
24. e of numbers and as a chart An exemplary embodiment of the display device 14 showing simulation results is illustrated in FIG 5 It should be understood that in the preferred embodiment the Scenario building and results viewing functions are separated from the calculation engine containing the com piling means 26 sequencing means 28 and the simulation means 22 By making the calculation engine a separate executable program it can be invoked through the GUI interface but run as a separate task thread or process depending on the capabilities of the operating software enabling the user to continue building alternative scenarios or to perform other entirely separate input intensive work This separation also makes possible the unattended execu tion of multiple simulations through execution of a batch file during off hours Having described the present invention with reference to specific embodiments the above descrip tion is intended to illustrate the operation of the preferred embodiments and is not meant to limit the scope of the invention The scope of the invention is to be delimited only by the following claims From the above discussion many variations will be apparent to one skilled in the art that would yet be encompassed by the true spirit and scope of the present invention 5 692 233 DERIVATOOL USER MANUAL Version 0 8 Beta test This documentation may not be copied photocopied reproduced transferred translated
25. enario After the user 32 has built the Scenario the user 32 issues commands to store the information in mass storage 18 In step 61 the compiling means 26 is actuated either by selecting an option from a menu with the keyboard and or mouse or by clicking a representation of a button on the display screen In step 61 the CPU 10 parses the parameter passed by the GUI including the name of the data file the number of iterations to run and cumulation flags The method continues to step 62 where the file containing the Scenario is retrieved from mass storage 18 Then in step 63 the additional background information such as simulation control market and perturbation and asset price information is read from the Scenario file In step 64 the event infor mation is read from the Scenario file The compiling means 26 compiles all the information retrieved and read in steps 62 64 into low level executable code objects In particular the variables operators and formulae are transformed from text to low level executable objects by an integral compiler In the preferred embodiment a low level object is created for each variable function name algebraic operator etc Each object preferably comprises 1 an external multi byte symbol 2 a unique one byte token and 3 a machine language subroutine The symbol token association employs 5 692 233 7 standard symbol table and lexical analysis techniques The token subroutine association enable
26. erivaTool They are used to construct input and output file names from the pathname provided on the Rainier command line This is done because if you give full pathnames for every file associated with a simulation and the pathnames are long you quickly run over some inherent limits on the length of DOS command lines EXTENSION FILE TYPE dvi Scenario file dvo Temporary results file after the simulation this has the same information as the output section of the scenario file dvx File is created 10 signal when a simulation is finished dvk Kill file This is a way for Grace to terminate a simulation you can t do it with an OS supported IPC facility since DOS doesn t have such a thing err Error file If a simulation terminates prematurely the reason is given as a human readable text string on the first line of this file The remainder of the file is debugging information and is not of any fixed format HARDWARE LOCK You must use a properly serialized and authroized hardware lock with this version of DerivaTool Otherwise DerivaTool will give you an error message DerivaTool Expression Language DEL Introduction This section is a general technical description of the DerivaTool Expres sion Language DEL which is employed by the DerivaToo Engine in ex ecuting simulations DEL expressions are contained as in the DVT DerivaTool files DerivaTool resembles a spreadsheet Program in some ways it has a notion of for
27. ime the method compris ing displaying a screen display comprising a plurality of ordered rows and ordered columns forming a plurality of cells each row for representing an event and having a plurality of ordered cells one cell for each of the ordered columns receiving as user inputs into the cells of at least one row expressions defining an event by receiving into a time cell a user input time expression defining a simulated time of the event for the row for each of a number cells in the row receiving a user input expression defining at least one variable or at least one equation for the event at the simulated time of the row the ordered cells in each row forming an 10 15 35 70 ordered sequence of expressions in the row the plurality of ordered rows that include a user input time expression defining an ordered sequence of simulated times defined by a user for events in the simulation compiling the expressions in the cells to transform each expression into at least one code object sequencing the code objects according to both the ordered sequence of simulated times for the ordered rows and the ordered sequence of expressions each row from which the code objects were transformed to produce sequenced code objects and executing the sequenced code objects to produce a value for the simulation 15 A graphical user interface for defining a simulation comprised of an ordered sequence of events each event si
28. independent standard i e that of continuous time continuously compounded interest rates in part since it is quite difficult to misinterpret the meaning of these In many applications special pre processing will have to be done to convert interest rates as quoted within a particular market to this standard form One of the most basic interest rate conversions is between discount rates and continuous time rates If is the discount rate and is the continuous rate equating the two compounding factors over tenor T gives the expression 1 rT exp r T which means that the continuous rate can be derived from the discount rate via In 1 r4T T For interest rate conversion of instruments spanning more than one year it is suggested that a competent textbook be consulted as various complications frequently occur in some markets Continuous time interest rates are always employed by DerivaTool Case Sensitivity Strings which are input to DerivaTool functions are not case sensitive In addition they are also not trimmed and so you should not use more or fewer characters than required 4 12 5 5 92 5 58 Ei 5 602 233 59 Decimal Numbers All numbers provided to DerivaToo are expressed as decimal quantities in their native units If a year is chosen as the time unit for interest rates volatility etc then a nine month period is expressed as 0 75 Similarly an option trading at 30 volatility h
29. ing a preferred embodiment of the output of the simu lation DESCRIPTION OF THE PREFERRED EMBODIMENT Referring now to FIG 1 a preferred embodiment of the system of the present invention is shown The preferred system comprises a central processing unit CPU 10 an input device 12 a display device 14 an addressable memory means 16 and mass storage 18 The CPU 10 is coupled to and controls the display device 14 to produce a variety of images in response to inputs supplied to the CPU 10 by user manipulation of the input device 12 The CPU 10 is also coupled to other sources of information such as mass storage 18 and addressable memory 16 in a conventional architec 5 692 233 3 ture In an exemplary embodiment the CPU 10 may be a microprocessor from the X86 family produced by Intel or the 68000 family produced by MotorolaTM The input device 12 is a conventional type as known in the art The input device 12 is preferably a keyboard with a mouse type controller For example the input device 12 may include a mouse or track ball A pointer or mouse cursor is produced on the display device 14d to represent the position of the mouse and corresponding movement By moving the mouse a user 32 can point to and manipulate different objects shown on the display device 14 The display device 14 is also a conventional type known in the art The display device 14 is preferably a raster type display used with the CPU 19 in a conventional ma
30. le New on the main application window A scenario window Untitled will open 2 Enter chgtime basedate 1 year in the Time field of the first event This has the effect of specifying the event s occurrence to take place at a date one year from the basedate DerivaTool has an internal calendar to keep track of leap years etc 3 Click on the PayCon field of the first event and enter true in the field This says that the payoff is made unconditionally 4 Click on the Payoff field of the first event and enter xprice This has the effect of making the payoff amount equal to the price of the underlying asset at the time of the event 5 Do Data Price History on the main application menu Enter today s date format MM DD YY in the Date Time field at the top left of the price window Click on the Value field directly to the right and enter 50 Close the window by clicking on OK 6 Do Data Market on the mein application menu Enter today s date format MM DD YY in the Date Time field at the top left of the window Click on the Numeraire field just to the right enter 0 06 Click on the Rate field and enter 0 0 Click on the volatility field and enter 0 35 Close the window by clicking on OK 7 Do Data Simulation Contral on the main application menu Click on the 1 000 Replications diamond Click on the LogNormal price change distribution Verify that the Number of Units field is 1 Cl
31. lex derivative products options futures swaps unusual and exotic products both for valuation and risk measurement purposes s Here we give a general introduction to this manual Chapter 2 describes the software in terms of its uses The terminology of DerivaTool is introduced in chapter basic concepts and windows which implement these concepts Chapter 3 presents a series of tutorial examples and the interpretations of their simulation results Chapter 4 provides a more technical reference for DerivaTool functionalities When the sign appears it is followed by an important hint on DerivaTool usage 5 5 92 1 1 16 N gf ie 5 692 233 17 Chapter 2 About DERIVATOOL DerivaTool is intended for users who are involved in structured finance swaps options exotic derivative products or generally have the need to analyze complex financial contracts It provides a structured and integrated financial Monte Carlo environment in which the user can quickly arrive at the valuation and risk measurement of almost any arbitrary derivative financial contract A derivative financial contract is one whose value is driven by some more fundamental global commodity price interest rates and volatility as will be described more fully later Some of the uses of DerivaTool are the following To quickly and easily evaluate the fair value of new financial product offerings benchmark in house
32. lled in and this represents the date and time at which that event occurs This may either be a constant or a calculated value The time for any given event must be greater than or equal to that for the previous event otherwise the simulation aborts with an error General Calculation cells allow the user to set the values of user variables In fact you can t do anything else in such a cell and it s the only place you can do it Assignment is done using the assignment operator which is discussed below The cells in this column have no value and may not bereferenced in formulas You can put more than one assignment formula into a general calculation cell by separating them with semicolons Payoff Condition and Payoff cells determine whether or not a payoff occurs during a particular event and if so how much the payoff is Both or neither of these cells must have a formula in an event A Payoff Condition cell is evaluated for a boolean result If it evaluates to TRUE the Payoff Value cell is calculated and its value is added to the payoff for that cycle after being discounted according to the Market Setup rates The Absorption Condition celi is also evaluated as a boolean and deter mines whether or not the option is absorbed or terminated at that event The idea here is that you could have an option which is absorbed before the end of its potential lifespan Note 5 5 5 92 4 3 5 692 233 41 Values DEL values ma
33. means The input and output routines of the present invention produce an interactive data input means for specifying the terms of derivative securities and parameters The compiling means and sequencing means are used to create low level executable code objects embodying the algebraic operations specified or implied by these terms and determine the sequence of execution within the simulator The simulation means calculates the desired results and the input and output routines are utilized to display the results on the display device These features of the invention make it useful for other purposes including designing new financial instruments evaluating complex patterns of cash flow and contingencies auditing financial valuations produced by other systems and benchmarking in house analytic models which are used for the valuation of derivative securities BRIEF DESCRIPTION OF THE DRAWINGS FIG 1 is a block schematic diagram of a preferred embodiment of the system of the present invention FIG 2 is a flow chart illustrating operation of the pre ferred method of the present invention FIGS 3A 3B and 3C are a detailed flow chart illustrating the operation of the preferred method of the present inven tion FIGS 4A and 4B are graphic representations of the display device showing preferred embodiments of the graphic interface for defining and starting a simulation and FIG 5 is a graphic representation of the display device show
34. mulas entered into cells which are then evaluated based on row column Position However DerivaTool also has user defined variables similar to a normal programming language and also has some unique features As result CEL borrows from the expression languages used in spreadsheets C and Pascal In order to understand some of the unique features of CEL it helps to understand its relationship to DerivaToo and its user interface To set up 4 2 5 5 92 SN A 5 692 233 39 amp simulation you enter numbers into Grace in several tables of background information historical prices market information etc You also define an option by entering CEL formulas into the Event Setup window Finally you run the simulation this invokes Rainier which runs a Monte Carlo simulation by repeated cycles of generating random prices using the background infor mation and using them to evaluate the Event Setup worksheet row by row top to bottom Each row is called an event The Event Setup window is the only place where CEL expressions may be entered It consists of five columns and a user defined number of rows The five columns are Time General Calc Payoff Condition Payoff Value and Absorption Condition Expressions may be entered into any of these columns Each row in the Event Setup window represents an event An event consists of one or more actions which occur at a given date and time For each event the Time cell must be fi
35. mulated at a time of a value of the derivative security based on at least one underlying asset the user interface comprising a plurality of ordered columns and ordered rows and forming a plurality of cells each row representing an event and having a plurality of ordered cells one cell for each of the ordered columns a cell in each row for storing a user input time expression defining a simulated time of the event for the row at which the value of the derivative security or at least one underlying asset may change the plurality of ordered rows defining an ordered sequence of simulated times for events and each other cell in each row storing an expression defining the event at the simulated time of the row the expres sions ordered according to the ordered cells in the row
36. n be assigned this value In FIG 4B the equation y max 0 xprice 360 has been placed in the second column 42 If y is zero there is no payoff if y exceeds zero the contin gency is satisfied and a payoff must be calculated In FIG 4B this relationship is represented by the Boolean operator z being assigned the value y gt 0 in column two and by placing z in the payoff contingency column 44 and the termination contingency column 48 The payoff formula is simply twice the price difference or 2 y and is placed in the fourth column 46 of FIG 4B The Scenario also includes background information on the underlying asset and the market The user 32 is presented with means a menu bar from which to pull down menus and representations of buttons on the display screen that can be pressed by clicking the left mouse button when the mouse cursor is positioned over the displayed button to input this information as well as control information for the simulation such as the number of iterations of price calcu lations the financial Monte Carlo engine should perform The user is prompted for historical asset price information through a two column representation of a worksheet in which the user can place dates and corresponding prices The most recent date entered is significant because it becomes the base date substituted in DEL expressions using the constant basedate The user 32 is prompted for market data including pr
37. n clicking the Results button on the ribbon bar Example 3 A Knockout Double Up Call Option Now we further modify the foregoing call option example to provide two new features 1 if at the end of any intervening calendar quarter the price of the underlying asset has slipped below 42 the option is cancelled altogether and 2 if at the end of any calendar quarter the price has risen above 55 the 3 2 3 5 92 32 5 692 233 33 34 F 3 AUG 14 97 12 21PM FENWICK WEST option payoff is doubled To implement this derivative product description we could create a scenario that looks like the following Time GenCale PuyCon Payoff AbsCon twice 1 kill xprice lt 42 mult xif xprice 55 2 1 6 month chgtime basedate 9 month chgtime basedare 1 yearQ Kill gt xprice lt 42 multmif xpriceQ gt S4 2 1 twice ernax twice rault 5 5 92 33 gt gt 5 692 233 35 Chapter 4 Reference The DerivaTool Engine DerivaTool is divided into two parts the DerivaTool Engine DE and the DerivaTool User Interface DUI The DE is the simulator engine which lies at the heart of DerivaTool It works from an ASCII file which is created by DUI DerivaTool Engine Command Line Syntax The DerivaTool Engine can be used by itself from a DOS command line If you want to use DE from a DOS prompt these are the options pathname Scenario file path required
38. nner to produce images of characters generated from codes such as ASCI in text mode CPU 10 may also create images on the display device 14 in other conventional ways such as producing an image from a group of dots or pixels in graphics mode as in the Windows operating system pro duced by Microsoft The display device 14 also operates in a conventional manner with the input device 12 to produce a cursor on the display device 14 that indicates the location where data will be input or the object on the display device 14 that will be manipulated The addressable memory 16 is a conventional type and preferably includes Random Access Memory RAM and Read Only Memory ROM The addressable memory 16 further comprises processing routines programs and data for interactive display control 20 For example the memory 16 includes input device interrupt routines and drivers The memory 16 also includes routines for transferring data from the CPU 10 to the display device 14 and for presentation of the data on the display device 14 The memory 16 further includes an operating system and other programs 30 as conventional in the art More particularly the memory means 16 of the present invention further comprises routines and means that allow the unsophisticated user to create and run financial Monte Carlo analysis The memory 16 includes input and output routines 24 compiling means 26 and sequencing means 28 and simulation means 22 These rou
39. nstrument over an infinitesimal interval of time Some applications require daily thetas which may approximated by dividing the theta by the number of days per year 4 14 5 5 92 ue 4144 4 4444 5 692 233 interest rate continuous time 4 12 4 12 continuously compounded 4 12 discount 4 12 interest rate and volatility inputs 4 12 R rate conversions 4 12 T theoretical value 2 6 4 13 theta 4 26 4 14 time decay 2 6 1 1 5 692 233 65 What is claimed is 1 A computer implemented system for constructing a simulation of an underlying asset and events effecting a value of the underlying asset and simulating a value for a derivative security based on the underlying asset the system including a general purpose computer having a processor a display device an input device and a storage device for storing program instructions and data said system compris ing a user interface displayed on the input device and pro viding a data representation of a scenario for simulating the value of the derivative security the data represen tation of the scenario including a data representation of at least one event each data representation of an event simultaneously including a data representation of a simulation time at which the value of the derivative security or underlying asset may change and at least one data represen
40. numerical or graphical form which sum marizes the fair market value and risk characteristics of the derivative security analyzed Unfortunately this process often leads to breakdowns in communication between the trader who is attempting to convey complex financial terms and the research staff programmer who is required to code the simulation which 10 15 35 45 55 65 2 result in errors in the simulation As a result the iterative process of re coding re compiling re executing and re reporting frustrates a trader s ability to act quickly in response to market opportunities Consequently there is a need for a system and method that allows the unsophisticated programmer or trader to perform their own analysis of the derivative securities by defining creating and running a financial Monte Carlo simulation SUMMARY OF THE INVENTION The present invention overcomes the limitations of this a prior art by creating an integrated system and method for a user unsophisticated in computer programming or simula tion techniques to rapidly execute financial Monte Carlo simulations on complex financial securities without use of intermediaries The integrated system for analyzing deriva tive securities preferably comprises a central processing unit an input device an output device mass storage and memory means The memory means preferably includes input and output routines compiling means sequencing means and simulation
41. ojected interest rates the yield term structure or forward price term structure of the underlying asset and the volatility of the underlying asset as derived by the user from available financial information The user 32 also has the option to perturb the foregoing rates that is to have random fluc tuations introduced during the simulation process according to user defined parameters The compiling means 26 is used to parse the data input by user 32 using the input and output routines 24 The com piling means 26 extracts any algebraic codes input and converts the codes by them compiling into low level execut able objects In the preferred embodiment DEL expressions are parsed and reduced to tokenized form Each token provides a context for further parsing and or b is con nected to low level machine language subroutines which perform computation and variable assignment In particular each DEL intrinsic function is associated with a token which involves such a low level subroutine enhancing the speed of subsequent execution of the simulation means 22 The sequencing means 28 uses the signals output by the compiling means 26 to produce executable programs that can be run by the CPU 10 In particular the sequencing means 28 integrates the code for performing the financial Monte Carlo simulation along with the specific parameters output by the compiling means 26 into an executable pro gram for each event The sequencing means 28
42. old on the exercise date is less than 350 the return might be zero The call option will be exercised if the market price of gold exceeds 350 on the exercise date and the return on the security will be the difference between the market and exercise prices The estimated market price on the exercise date xprice is determined by financial Monte Carlo simulation The potential payoff is represented by the formula 0 xprice 350 in the fourth column 46 of the row labeled Event 2 In columns three 44 and five 48 of FIG 4B the contingencies are forced to true because the payoff is certain and there are no subsequent events to be evaluated This security however has an earlier payoff contingency Event 1 designed to protect the seller of the call option from a dramatic increase in the price of gold If the market price of gold has risen by more than ten dollars 10 in the 5 692 233 5 first month after purchase the seller will pay the holder of the call option twice the increase in market price greater than ten dollars 10 In other words if xprice is greater than 360 the payoff is twice the difference and the seller s obligations are extinguished However if xprice is less than or equal to 360 there is no payoff and the security behaves as an ordinary call option The formula for the relevant difference in price is the familiar one max 0 xprice 360 To simplify the Scenario a variable ca
43. ose the window by clicking on OK 5 5 92 3 1 in 8 10 5 692 233 31 Do Run Syntax Check Only on the main application menu The File Save dialogue box should come up Name the file STOCK DVT in thc File Name field BETA NOTE the current beta release uses DVI files not DVT extensions which it does not yet recognize Name the file STOCK DVI instead kkk Do Run Simulation on the main application menu Click on the dialogue boxes Do Data Results on the main application menu Confirm that the the oretical value for the simulation is around 50 The numbers in the left column show the statistics for the simulation run The numbers in the right column show the sample standard deviations of the results Example 2 A Call Option Here we modify the STOCK simulation described above to create an ordinary call option struck on the same underlying asset at a price of 49 1 Do File Open Scenario on the main application menu Double click on STOCK DVT BETA NOTE STOCK DVI Click on thc Payoff field at the top and edit it to read max xprice 49 0 Do File Save as on the main application menu Click on and edit the File Name field to CALL DVT BETA NOTE CALL DVI Close the dialogue box by clicking on OK Do Run with Discard on the main application menu This has the effect of throwing out the old results in the STOCK simulation View the results page by doing Options Ribbon and the
44. plurality of ordered rows that include a user input time expression defining an ordered sequence of simulated times defined by a user for events in the simulation a compiler executable by the processor to receive from the user interface the expressions in the cells and to transform each expression into at least one code object and for storing the code objects in the memory a sequencer executable by the processor to sequence the code objects according to both the ordered sequence of simulated times for the ordered rows and the ordered sequence of expressions in each row from which the code objects were transformed to produce sequenced code objects and a simulation engine executable by the processor to execute the sequenced code objects with the processor to produce a value for the simulation 12 A computer implemented method for defining a simu lation comprised of an ordered sequence of events each event simulated at a time comprising displaying a screen display comprising a plurality of ordered rows and ordered columns forming a plurality of cells each row for representing an event and having a plurality of ordered cells one cell for each of the ordered columns receiving as user inputs into the cells of at least one row expressions defining an event by receiving into a time cell a user input time expression defining a simulated time of the event for the row for each of a number of other cells in the row receiving
45. pose computer having a processor a display device an input device and a storage device for storing program instructions and data the method comprising the steps of simultaneously displaying an ordered plurality of data entry fields for representing a plurality of events the events ordered in the simulation according to the order ing of the data entry fields receiving user inputs defining a scenario for simulating the value of the derivative security by receiving for each event in the scenario a first user input in a first data entry field of the event specifying a simulation time of the event at which the value of the derivative security or underlying asset may change wherein the simulation times of the events at which the scenario is simulated are ordered according to the pre ordering of the first data entry fields a second user input in at least one other data entry field of the event specifying an ordered plurality of expressions defining the event at the simulation time of the event compiling with the processor any expression defining an event in the scenario into an executable code object and storing the code objects in the storage device sequencing the code objects with the processor according to both the ordered series of simulation times and the ordering within each event of the expressions from which the code objects were compiled to produce sequenced executable code objects and storing the sequenced code objects in
46. s statistics to be gathered etc as control data Finally the evaluations executed by DerivaTool are stored as results The market price history perturbations control data and results are all termed just data A simulation is the combination of a scenario and its associated data A simulation is said to be run when DerivaTool operates upon it to produce or update results Functional Overview DerivaTool offers the user interaction with several windows to perform basic tasks The main user tasks are 1 storing and retrieving simulations 2 2 5 5 92 2 5 692 233 2 editing simulations 3 running simulations and 4 displaying results Here we give a summary of the functions of the various windows in respect of the various tasks Main Application Window The main DerivaTool application has only File and Help on its menu bar DerivaTool requires that some file be specified either new or old When a file is specified either existing or new the menu bar presents the full range of activities File create new or open existing simulations save files containing simulations printer operations and exiting the application Edit cut copy paste insert and delete data rows Data examine or modify the current simulation data items market price history simulation control and results Options enable or disenable window tools status line button ribbon function pallet edit bar
47. s the subsequent employment of the simulation mean 22 to execute the associated subroutines of tokens as they are encountered In step 66 the low level objects are sequenced for execu tion according to the order of events in the Scenario The code objects are preferably sequenced in order from left to right and from top to bottom as specified in the GUI when the Scenario was constructed Importantly the five part fields 42 48 of an event are employed to sequence the tokens which are produced by the compilation lexical analy sis step 65 Simulated time remains constant during all parts of an event but the sequencing within the event is controlled by the order of appearance left to right in the fields 42 48 displayed to the user 32 The sequencing means 28 then passes program control to the simulation means in step 67 In step 68 the simulation means 22 begins execution of the sequenced code produced by the sequencing means 28 The simulation means 22 directs the CPU 10 to advance to the code for the first or next event in step 68 For the event being executed the method first determines the point in simulated time at which the first event takes place in step 69 In step 70 the simulation means 22 applies the financial Monte Carlo process to determine the prices of the under lying assets and other economic conditions affecting the value of the derivative security and the event contingency at that point in simulated time The simulation me
48. s will return the corresponding value interpolating or extrapolating from the input values if necessary For functions callable with two dates the functions will return the average value for the interval specified by the two dates as calculated by integration using values in the table and interpolating or extrapolating if necessary The 5592 4 9 HO 52 2 692 293 53 54 order of dates given does not affect the result For instance xyield 1 1 91 1 1 92 and xyield 1 1 92 1 1 91 give the same result Interpolation is done by linear interpolation Extrapolation is done by assuming any time before the start of the table has the same value as the first table value and any time after the end of the table has the Same value as the last table value Integration is done using the trapezoidal rule Event Reference Functions A DEL formula can reference the values of previously calculated field values within a scenario Such references must be above or to the left of the field containing the reference Attempts to do a forward reference will cause an error The functions used to obtain the values of scenario fields are time payconQ and payval which reference the Time Payoff Condition and Payoff Value scenario fields respectively DEL formulas cannot reference fields in the General Calculation column since the fields themselves have no value although the variables set therein might They also cannot reference the
49. t device 14 The user 32 produces five signals representing the five fields terms that are required in each event of a Scenario describing a derivative security Next in step 52 the contract terms in particular the algebraic operations in the GENCALC 42 column are compiled into executable code objects The code objects produced by the compiling step 52 are used along with simulation code for performing a financial Monte Carlo simulation in step 54 In step 54 the code objects are sequenced with the simulation code to produce a program that is executable by the CPU 10 In step 56 the simulation means 22 executes the sequenced code and stores the results in a predefined location in memory 16 The results are then output 58 for review by the user 32 The present invention is particularly advantageous because it allows traders to evaluate the value of securities with nominal turn around time and with a high level of accuracy The problems of miscommunication of the prior art that introduce significant error are eliminated with the present invention that allows the trader to run a financial Monte Carlo simulation simply by specifying the terms of the contract and market context Referring now to FIGS 3A 3C a detailed description of the preferred embodiment of the method of the present invention for performing financial Monte Carlo analysis is shown The method begins in step 60 by monitoring the use of the input device 12 for construction of a Sc
50. tation of an ordered plurality of expressions defining the event wherein any plurality of events represented in a scenario define an ordered series of simulation times at which the scenario is simulated a scenario input means operatively coupled to the pro cessor and the input device for receiving from the user interface the data representation of the scenario the scenario input means operatively coupled to the storage device for storing the data representation of the sce nario therein such that each scenario is associated with its events and the expression contained therein a compiling means operatively coupled to the processor and the storage device for retrieving the data represen tation of a scenario and transforming any expression defining an event in the data representation into at least one executable code object and for storing the code objects in the storage device sequencing means for sequencing the code objects according to the ordered series of simulation times and the ordering within each event of the expressions from which the code objects were transformed to produce sequenced executable code objects and for storing the sequenced code objects for independent retrieval and simulation the sequencing means operatively coupled to the processor and the storage device for retrieving and storing the code objects and a simulation means for executing the sequenced execut able code objects with the processor to produce a sim
51. the storage device and executing the sequenced executable code objects with the processor to produce a simulated value for the deriva tive security 4 The method of claim 3 wherein receiving a second user input further comprises receiving a user input in a second data entry field defining atleast one variable or equation for determining a value of the derivative security at the simulation time of the event or at the simulation times of subsequent events receiving a user input in a third data entry field defining a payoff contingency expression determining whether the derivative security returns a value at the simulation time of the event receiving a user input in a fourth data entry field a defining payoff value expression determining the value returned by the derivative security at the simulation time of the event and receiving a user input in a fifth data entry field defining an absorption contingency expression for determining whether to terminate execution of the sequence execut able code objects at the simulation time of the event 5 The method of claim 4 wherein executing the sequenced executable code objects further comprises retrieving the sequenced code objects including at least one code object transformed from an absorption con tingency expression and 5 692233 67 executing the sequenced code objects for each event in the scenario in their sequenced order until the sequenced code object transformed from
52. time of any derivative security there are certain points in time where events occur An event is an instant in time when something significant happens For example at any point in time when dividends or other payouts may be made to the derivative security or the underlying asset or when contractual quantities might be required to be calculated such as averages or minimum maximum values of prices or when various termination contingencies might come into effect etc all of such would represent events DerivaTool can describe a whole sequence of such events associated with a derivative security which is termed herein a scenario To provide the initial conditions for the scenario it is also important to know current and historical market conditions DerivaTool has two concepts related to this 1 the market which describes the present and indirectly the market s assessment of the future the via current term structures of interest rates and volatility rates going forward in time for different time periods from now called tenors and 2 the price history which represents the present and past prices of the underlying asset Additional realism has been included by permitting the user the ability to create perturbations which are random changes in volatility and interest rate term structures In order to contro the progress of DerivaTool execution mechanisms are further provided for specifying the number of iterations probability distribution
53. tines and means are advantageously integrated by the present invention into system for performing financial Monte Carlo simulations on derivative securities that only requires the user input the terms for the derivative security and its contextual market information Thus a user who is sophisticated in terms of financial knowledge while unsophisticated in computing or scientific knowledge is able the use the system of the present invention to run financial Monte Carlo simulations The system of the present invention also provides improvements in performance that significantly reduce the time required to run financial Monte Carlo simulation The input and output routines 24 are used along with the operating system 30 to create a unique graphical user interface GUI on the display device 14 The GUI is designed to prompt the user 32 to input any number of scenarios upon which a simulation is to be run The user 32 is prompted by an interactive display control means 20 to specify the terms of the security to simulate This specifi cation of terms is known as the Scenario The input and output routines 24 produce a worksheet of five columns and several rows and direct the placement of certain information in each column through the use of headings at the top of each column The unique 5 part event field displayed and used by the present invention is particularly advantageous because it provides a means for the user 32 to specify all the terms of
54. ttorney Agent or Firm Fenwick amp West LLP 57 ABSTRACT A system and method for analyzing derivative securities includes a central processing unit an input device an output device and a storage The system includes input and output routines a compiler a sequencer and a simulator The input and output routines generate graphical user interfaces that allow the user to construct scenarios for simulation A scenario includes a set of events that define changes to the value of the derivative security over time The compiler parses an input scenario and converts it to a low level executable object The sequencer then uses the output of the compiler and other simulation code for a financial Monte Carlo simulation to produce programs executable by the CPU The simulator is automatically invoked and runs the executable code using the CPU The simulator utilizes the input and output routines to display the results on the display device Also disclosed is a method for running the financial Monte Carlo simulation that comprises the steps of input ting and constructing a scenario compiling the scenario into executable code objects sequencing the code objects with the simulation code performing the simulation and display ing the simulation results on the output device 15 Claims 7 Drawing Sheets U S Patent Nov 25 1997 Sheet 1 of 7 5 692 233 12 32 INPUT DEVICES OR KEYBOARD 18 14 CENTRAL PROCESSING UNIT
55. ulated value for the derivative security the simula tion means operatively coupled to the processor and the storage device for retrieving the sequenced execut able code objects and storing the simulated value in the storage device 2 The system of claim 1 wherein the data representation of each event further comprises a first data entry field for inputting for the event a time expression ordered according to the display of the first data entry fields in defining a simulation time of the event wherein for all events the simulation times of the events are the user interface second data entry field for inputting a general value expression defining conditions related to the value of the derivative security applying at the simulation time a third data entry field for inputting a payoff contingency expression defining whether the derivative security returns a value a payoff value expression defining the value returned by the derivative security at the simu lation time and 10 15 25 45 55 60 65 66 a fourth data entry field for inputting an absorption contingency expression defining a condition for termi nating execution of the sequence executable code objects 3 A computer implemented method for constructing a simulation of an underlying asset and events effecting a value of the underlying asset and simulating a value for a derivative security based on the underlying asset the method using a general pur
56. umn is user selectable to be either a the asset yield rate of payout such as foreign currency s interest rate or b a forward price such as is normally available in commodity markets Depending on which is selected this would be referred to as either the yield term structure or the forward price term structure The fourth column is the volatility of the underlying asset for the future date collectively termed the volatility term structure All term structure quantities are expressed in decimal terms Thus an interest rate of 6 is 0 06 a volatility of 20 is 02 Market Perturbations Window For additional realism it is possible for DerivaTool to perturb the market term structures randomly as simulated time progresses This is an advanced feature not recommended for early attempts or tutorial usage 5 5 92 2 5 2 27 Oe d 5 692 233 27 Simulation Control Window The simulation control window contains data elements which control the simulation itself One important control parameter is the replications which is the number of simulation iterations to be made Two types of price change distributions may be selected by the user normal and lognormal Since normal price changes can result in negative prices it is usually recommended that the lognormal be employed The simulation control window also toggles the production of various summaries of the simulation namely whether to produce risk meas
57. umn labeled ABSCON 48 is to contain the absorption contingency the formula for determining whether the simulation is to terminate expressed as a variable evaluated as a Boolean value Termination of the simulation of a derivative security is known as absorption Each row in the Scenario preferably comprises informa tion relating to one Event An Event is a point in time at which a potentially significant scheduled occurrence takes place Any occurrence which is known to the trader such as the payment of a dividend on the underlying asset or the evaluation of a contingency and which might affect the value of the derivative security can be scheduled as an Event Events must be listed in order of the simulated time of their occurrence The formulae and variables used to set forth the terms of the derivative security are expressed in a simple language capable of being transformed by the compiling sequencing means In the preferred embodiment this language is known as the DerivaTool Expression Language DEL FIG 4B illustrates an example scenario for a particular derivative security with two events The security is a call option a right to purchase on gold in three months at an exercise or strike price of 350 per ounce The trader would like to know the probable return on this security three months from now to determine its fair market value today Since the call option will not be exercised if the market price of g
58. ures and whether to produce a histogram of outcomes Results Window In general terms the results produced by DerivaTool arc Theoretical value Delta or net equivalent underlying asset exposure This is provided in three flavors percentage delta delta in asset units and delta in value units Gamma or convexity of exposure Theta or time decay of exposure Three flavors of theta are also provided one an annualized theta the next a daily theta and finally an annualized theta in percentage of value terms Of these the theoretical value is always produced Delta and gamma are both price related risk measures and are toggled on and off in the simulation control window Theta is a time related risk measure and is toggled separately Simulation runs which include delta gamma and theta take longer to execute they should therefore be turned off when the user is uninterested in these risk measures thereby speeding the computation of the theoretical value 2 6 5 5 92 DY ee 547 5 692 233 29 Chapter 3 Designing Derivative Products In this chapter we provide a series of tutorial examples for using Deriva Tool to design describe derivative products Example 1 Gaining comfort The first example is a very simple derivative product namely the right to receive a sum of money equal to the price of a non dividend paying stock in one year from now Follow these steps to analyze this derivative product 1 Do Fi
59. use increasingly complex derivative securi ties provide various contingencies on various dates The simulation assesses these contingencies in the context of asset price changes and economic conditions to determine an estimated payout One preferred simulation technique is the financial Monte Carlo simulation Rather than require that all prob abilities for economic contingencies be specified completely a financial Monte Carlo simulation takes advan tage of market information within stated assumptions and determines its own probability distribution There are a variety of financial Monte Carlo techniques well known to those skilled in the analysis of derivative securities Because of the complexity of financial Monte Carlo simulation it commonly is implemented in a scientific programming language such as C or FORTRAN by staff programmers familiar with the technique rather than by the securities traders who rely on the results This requires that the trader communicate to the programmer the terms contingencies methods of calculating payoffs underlying asset s and background assumptions of the derivative security for cod ing into the financial Monte Carlo simulation program as well as parameters for the behavior of the underlying asset interest rates and so forth The programmer then typically codes and compiles the program and executes the simula tion Finally the programmer presents the resulting statistics to the trader in a
60. valuated in the event column of the scenario The payoff is then paid to the derivative security It is also possible to make payouts to the underlying asset which arc unprotected in the derivative security but these are done in the general calculations portion of 24 5 5 92 UE s 44 5 692 233 25 the event Ultimately payoffs are what give the derivative security current value The fifth and final element of an event is absorption This is a boolean formula which if it evaluates to true means that the simulation ceases In other words if absorption occurs at the event the simulation stops then When the simulation has executed all of the operations for a given event it then proceeds on to the next event Price History Window The price history window describes the historical prices of the underlying asset The data elements are input as date price pairs All of these prices are available to calculations conducted within the scenario The date of the most recent price is termed the basedate and is referenced via a function named basedate Market Window The market window also has a tabular form The rows correspond to dates in the future relative to the basedate The first column is a date and can be input in standard U S style date notation The second column is the domestic interest rate for lending borrowing from the basedate to the date given This is the term Structure of interest rates The third col
61. values of cells in the Absorption Condition column since that is useless Name Meaning time at which event lt row gt occurred paycon row payoff contingency boolean for event row payval row payoff amount for event row 0 of current event EXPRESSION PRECEDENCE Precedence and Token Associativity Operator or Expression Class 9 Function calls Variable names Table value lookups Constant values 8 right Unary UNARYOP Unary logical not 7 left MULOP 4 10 5 5 92 7 uf FS A AT 5 692 233 55 6 left ADDOP 5 left lt gt lt gt COMPOP 4 left amp 3 left 2 function parameter separator 1 assignment DATE AND TIME CALCULATIONS lation Effective Result chgtime 9 19 91 1 0 9 18 91 difftime 9 19 90 9 19 91 yearO trueQ 1 one year time 9 19 91 18 20 9 19 90 18 20 unittime 9 19 91 day 19 If a formula wants to get the date time value corresponding to its row in the simulation it may do so with the expression Time this For instance difftime starttime Timefthis month trueQ will calculate the number of months since the date time of the start of the simulation GENERAL REMARKS Names variables and functions are not case sensitive Variable names and function names exist in different name spaces so you could have a variable named if and it wouldn t conflict with the if function Blanks in the
62. y be numbers or date time values All values in DEL are represented internally as 64 bit floating point numbers so numbers will be correct up to about 15 significant digits Constants DEL supports two kinds of constants numeric and date time It does not support text constants or any text operations for that matter Numeric constants may be in the usual integer floating point and mantissa exponent E type formats Date and time constants begin with the symbol and may be in any of the following formats month day year Qhour minute month day year hour minute The month day etc are integers in the appro priate ranges out of range values are treated as errors Hours are in 24 hour time Note 1 Year values may be given in the form 19XX 20XX or just XX In the latter case values less than 50 are assumed to be 20XX and other values are assumed to be 19XX The acceptable years run from 1970 to 2037 Variables User variable names must start with a letter and the following characters may be any combination of letters and numbers Variables may be used to contain numbers or date time values The number of variables used in a simulation and the length of variable names is constrained only by available memory Date time values can be added to and subtracted from dates and other time values The following table provides examples Calculation Effective Result 99 19 91 14 00 9 19 91 14 00 2 PM Sept 19 1991 8 24 91
Download Pdf Manuals
Related Search
Related Contents
Garmin gWind Transducer Installation Instructions FRM301 Platform Media Converter Rack, User Manual sharp® manuel de service - Recambios, accesorios y repuestos 小型貨物自動車1台買入仕様書 SISTEMA DE ADQUISICION DE VIDEO PARA LOS BUSCADORES Garmin StreetPilot 2820 AN2335: MPC8260 Dual-Bus Architecture and Performance Epson D6150 Product Brochure AudioQuest 3886530069 Manuale INST4164RS Copyright © All rights reserved.
Failed to retrieve file