Академический Документы
Профессиональный Документы
Культура Документы
A Software Development Methodology for Research and Prototyping in Financial
Markets: Kumeiga & Van Vliet
Page 122
d d T
2 1
=
Here, C = price of the call option, S = price of the underlying stock, X = exercise price of the call,
T = time till expiration of the call, r = interest rate, and = standard deviation of the logarithm of
the stocks return, also known as the volatility.
For example, consider the following sample problem taken from John Hulls book
Options, Futures and Other Derivatives [Hull, 1997]:
A call option has six months to expiration. The price of the underlying stock is $42, the
exercise price of the option is $40, the risk-free interest rate is 10% per annum and the volatility
is 20% per annum. According to the Black-Scholes model thenS = 42, X = 40, r = 0.1, T = 0.5,
= 0.2.
d
1
105 012 05
02 05
07693 =
+
=
ln( . ) . ( . )
. ( . )
.
d
2
105 08 05
2 05
06278 =
+
=
ln( . ) . ( . )
. ( . )
.
and,
Xe e
rT
= = 40 38049
0 05 .
.
The value of the European call, then, is
C N N = 42 07693 38049 06278 ( . ) . ( . )
Using a polynomial approximation,
N(0.7693) = 0.7791
N(0.6278) = 0.7349
So that,
C = 4.76
The price of the call option then is $4.76.
Step 4 Determine the user interfaces using Excel as the GUI.
For this paper we will assume a very basic interface of inputs, outputs and a simple chart. Again
this is not the norm in trading.
Step 5 Prototype calculations.
A Software Development Methodology for Research and Prototyping in Financial
Markets: Kumeiga & Van Vliet
Page 123
And, we have a graph in Excel, which shows the payoff diagram of the option at expiration.
Step 6 Test for User Requirements.
Screen layouts with simulated data and video tapes.
Rough P/L calculated with live playback / regression testing.
A Software Development Methodology for Research and Prototyping in Financial
Markets: Kumeiga & Van Vliet
Page 124
Mock trading using real time data.
Live time testing.
Step 7 Complete a vision and scope document for the initial Excel-based product.
Step 8 Compare alternative quantitative methods.
Again for simplicity we assume that alternative methods for pricing options have been
investigated and are now rejected in favor of the Black-Scholes model.
Step 9 Build a working, consolidated prototype application in Excel.
Had our customers requested a product that included more than one quantitative model we would
consolidate prototypes at this stage.
Step 10 Test the applications results against the initial calculations and scope
requirements.
As we can see here our program is running properly. The testing follows the standard quality test
procedures for both process and software.
Regression testing for calculations. A data tape of input is captured from a
standard data provider.
The tape is replayed for applications. Prices can be calculated and regression
tested against the theoretical.
P/L of the system and ability of the trader to interface with the system can be
captured using databases and video.
Standard statistical analysis of the P/L can be compared with the projected P/L
for a sampling period using automated trade execution or specific time of day
periods with the human operator.
Step 11 Deliver the product to the end-user as an Excel based application.
7.2 Crossover Loops
Lets assume that our new program is very successful and is popular among the traders. We now
move to the crossover loops to further develop our program in code.
Step 1 Develop a vision and scope document for the product based on expanding the
Excel vision and scope document to include Excel, Visual Basic and a database.
Step 2 Convert the Excel function/cell-reference code to user-defined functions in VBA.
A Software Development Methodology for Research and Prototyping in Financial
Markets: Kumeiga & Van Vliet
Page 125
We can now verify that our user-defined functions run properly by comparing our solutions
against the black-box Excel functions.
Next, we can escape our dependence on Excels NORMSDIST function by approximating the
standard normal cumulative distribution function in the following way.
Again we are able to verify that our new NormalPDF user-defined function runs properly by
comparing our solution against the black-box Excel functions.
A Software Development Methodology for Research and Prototyping in Financial
Markets: Kumeiga & Van Vliet
Page 126
Step 3 Change all of the controls to ActiveX and lock the editing of the spreadsheet.
Now that we are satisfied that our calculations are running correctly we can set about creating a
graphical user interface using ActiveX objects.
Once again we can verify our answers back against Excels solutions.
Step 4 Deliver the revised product back to the trader and allow for distribution since all
of the calculations, screen layouts and charts are secured in VBA.
Now we will have a completed scope and vision document that includes working calculations of
our option pricing model in Visual Basic code. We also have a completely designed graphical
user interface. We will also have a complete data dictionary, sample test cases, and complete
buy-in from the traders.
Step 5 Reevaluate the usefulness of the product.
If the product adds to the long-term profitability of the traders activities we restart the process
with a true scope and vision document for development in Visual Basic or C++.
Step 6 We can give the entire package to a programmer or outsourcing firm and receive
a working product without having a programmer that is also skilled as a trader or
portfolio manager.
A Software Development Methodology for Research and Prototyping in Financial
Markets: Kumeiga & Van Vliet
Page 127
6. REFERENCES
Kumiega, Andrew and B. Van Vliet. 2000. Obsolescence of the Naked Trader. Journal of Global Financial
Markets 3 (Winter): 21-23
Black, Fisher, and M. Scholes. 1973. The Pricing of Options and Corporate Liabilities. Journal of Political
Economy 81 (May-June): 637-654
Hull, John C., 1997. Options, Futures, and Other Derivatives. Englewood Cliff, NJ: Prentice Hall, p. 244.
Boehm, Barry W., A Spiral Model of Software Development and Enhancement, Computer, Volume 21, Number 5,
(May 1988), 61-72.
Royce, Winston W., Managing the Development of Large Software Systems, Proceedings of IEEE WESCON
(August 1970), 1-9.
Humphrey, Watts S., 1995. A Discipline for Software Engineering, Addison-Wesley Publishing Company, Reading,
Massachusetts.
Capability Maturity Model for Software, Version 1.1, Document No. CMU/SEI-93-TR-24, ESC-TR-93-177 (Carnegie
Mellon University Software Engineering Institute, Pittsburgh, Pennsylvania, 1993)
Syngress Media, MCSD Analyzing Requirements Study Guide (Exam 70-100), 1999. Berkeley, CA. Osborne
McGraw-Hill, p. 55.
Cooper, Robert G. 2001. Winning at New Products. Basic Books. Cambridge, MA.
Read, Nick and J. Batson. April, 1999. Spreadsheet Modelling Best Practice, Business Dynamics, and the Institute
of Chartered Accountants for England and Wales.
Kumiega, Andrew and Ben Van Vliet. 2001. October 23. A Software Development Methodology for Financial
Markets. Paper presented at the 11th International Conference on Software Quality. Pittsburgh, PA.
Bewig, Philip L. July, 2005. How do you know your spreadsheet is right?
A Software Development Methodology for Research and Prototyping in Financial
Markets: Kumeiga & Van Vliet
Page 128
Blank page