Downloads & Résumé
Résumé: Mr. White's current curriculum vitae is available here:
Chapter 11 Papers: [PDF files] The following papers are the two that Mr. White wrote in 1990 about using the Black Scholes options pricing model to value the securities of companies in Chapter 11. These papers are the outgrowth of a term paper that Bill wrote for Professor Edward Altman in Prof. Altman's course Corporate Bankruptcy & Reorganization.
- Pricing the Securities of Companies in Chapter 11: An Options Approach
- Using the Black-Scholes Model to Price Chapter 11 Securities: An Illustration
Strategy Reviews: [PDF files] The following three Strategy Reviews are not only good examples of Mr. White's writing skills, they also represent how he counseled the firm's clients during good, neutral, and adverse market conditions.
Code samples: Across all of Mr. White' code you will typically see the following features:
- A strong emphasis on readability, achieved via:
- Descriptive constant, variable, method, & module names (i.e., self-commenting code)
- Use of code comments, where self-commenting code still does not provide sufficient clarity
- Extensive use of named-parameter invocation, especially with custom methods
- Care in proper use of indendation
- Effective use of white space
- Centralized MessageBox handling (via a custom class, typically called
MsgBoxHandler
) - Use of
ByRef
method parameters (the default in VBA) against native data types (i.e., strings, numbers, & booleans). In VBA this is Bill's typical mechanism for passing error-handling information up the call stack. (Look for thesubRanOkOUT
boolean parameter, which is typically passed acalledProcRanOK
variable.) - In VBA
- Custom error numbers for raising & handling application-specific errors
- Creation of a "debug mode" for running code in a development environment
- Implementation of custom code names for worksheets (e.g., renaming
Sheet1
to something likeWshMain
) - Wherever possible, encapsulation of discrete functionality in individual subs or functions
- Strict adherence to DRY principle
- 'Default' reliance upon Private access modifier - i.e., methods are labeled Public ONLY when necessary.
- In Excel projects extensive use of named ranges (versus 'magic' range references)
Samples of particular Excel projects Mr. White has written follow. (NOTE: Any and all proprietary information is and was in the related Excel spreadsheets themselves, and is, therefore, not available for review.):
- FINPRO
- ERM Output Model (non-executable, *.pdf version of VBA for Excel code - main
module only). Features:
- Module level constants & variables, including arrays & enums
- References to PowerPoint library & Microsoft Scripting Runtime
- AIG - CART
project (non-executable, *.pdf version of VBA for Excel code). Features:
- Centralized error-handling, including error log generation
- Multiple custom error numbers
- Highly complex RibbonX customization
- Code to handle up to 3 instances of a highly complex user form
- Final code > 250 pages
- AIG - FRED project
(non-executable, *.pdf version of VBA for Excel code). Features:
- Integration of CorpTax for Excel functionality
- Integration with SharePoint metadata properties
- Event-handling code for user changes to specific worksheet cells
- Preparer/reviewer workflow implementation (through SharePoint)
- Exposure of workbook sheets, regions, cell-locking, and more based on detecting whether the user is a preparer or a reviewer
- AIG -
Discrete Items Consolidation (non-executable, *.pdf version of VBA for Excel
code). Features:
- Centralized error-handling, including error log generation
- Activity log generation
- Opening and importing data from multiple external workbooks
- AIG - International
Tax Package (non-executable, *.pdf version of VBA for Excel code). Features:
- Centralized error-handling, including error log generation
- Integration of CorpTax for Excel functionality
- Integration with SharePoint metadata properties
- Creation of and interaction with Custom Document Properties
- Custom collection class for holding various worksheet grouping
- Creation of a "debug mode" for running code in a development environment