Version: 6.3.4
Date: 20210730
Copyright (c) 2005-2021, Andrew Kalotay Associates. All rights reserved.
Version 6.3.4 (July 30, 2021)
- More extensive documentation
Version 6.3.3 (January 25, 2021)
- Shifted lognormal interest rate model added
Version 6.3.2 (September 6, 2019)
Version 6.3.1 (July 18, 2018)
- Windows DLL now has version information
Version 6.3.0 (June 28, 2018)
- Distribution now builds 32-bit and 64 debug and release versions
Version 6.2.9 (June 15, 2018)
- Changes made to avoid premature garbage collection by Java and C# APIs
- Array and Optional accessors now return by value
- ValuationReport, CashflowReport, Cashflows, YieldReport now use return-by-value accessor functions, instead of being a simple data struct
Version 6.2.8 (March 5, 2018)
Version 6.2.7 (December 26, 2017)
- Removed extraneous code from mbs.cpp
Version 6.2.6 (December 20, 2017
- Factor == 0 returns fatal error
Version 6.2.5 (December 15, 2017)
- Removed Java wrapper library
- Incorporated Java API SWIG code into aka_clean shared library
Version 6.2.4 (December 13, 2017)
- Added error checking for Input::Mbs data fields
Version 6.2.3 (October 20, 2017)
- Implemented java_heap.i in effort to improve memory manage by SWIG Java API
- Moved SWIG code into separate Java wrapper shared library
Version 6.2.2 (September 19, 2017)
- Made CLEAN thread-safe by removing all mutable and reference class members
Version 6.2.1 (September 16, 2017)
- Java exception messages prefixed by "AKA CLEAN"
- Added handling of std::exception
Version 6.2.0 (September 16, 2017)
- Added out of memory and runtime exception handling in Java API
Version 6.1.9 (September 12, 2017)
Version 6.1.8 (September 1, 2017)
- Restored return-by-value instead of return-by-reference compute methods.
Version 6.1.5 (June 13, 2016)
- Fixed AdjustBuckets.
- Fixed MbsScenarioAnalysis.
Version 6.1.4 (April 4, 2016)
- MbsScenarioAnalysis: Fixed OAS discounting. C++ is no longer forgiving if operator--() is applied to an iterator pointing to the beginning of a container
Version 6.1.3 (March 1, 2016)
- Refactored some code to avoid use of raw pointers
- Converted to new build system
Version 6.1.2 (August 18, 2015)
- Renamed aka_clean5_release.* to aka_clean.*. Old C/C++ API removed from distribution.
Version 6.1.1 (July 9, 2015)
- Moved structs and templates in namespace AndrewKalotayAssociates to AndrewKalotayAssociates::Common to avoid conflicts with BondOAS.
- Revised C++ API, so SWIG-generated Java API works in Windows. This requires all objects containing an Array be returned by reference and not by value.
- Replaced any Array object returned by a function by a struct containing the Array object. This for some reason is needed to generate working Java and C# API's using SWIG.
Version 6.1.0 (2015-6-3)
- New C# API implemented using SWIG
Version 6.0.0 (2013-10-7)
- In cashflow report, cashflows are smoothed as a function of time, eliminating spikes due to time gaps between checking for refinancings. Cashflows are smoothed by default, but smoothing can turned off, mostly for internal debugging purposes.
Version 5.9.0 (2013-2-8)
- Updated AkaCleanTest.java with new example
- Fixed spreadsheet when using dirty price as input
Version 5.8.9 (2013-1-18)
- Restored missing 64-bit binaries
Version 5.8.8 (2013-1-17)
- Moved "Calculate" button on Cashflows sheet
Version 5.8.7 (2013-1-7)
- Excel spreadsheet has sheet "Cashflows" demonstrating cashflow projection
Version 5.8.6 (2013-1-3)
- Updated Java API and sample Java code
Version 5.8.5 (2012-10-30)
Version 5.8.4 (2012-10-17)
- Restored Java API
- Class template Array now inherits from std::vector
- Class template String now inherits from std::string
Version 5.8.3 (2012-10-16)
- MbsYield now allows negative yields
Version 5.8.2 (2012-10-4)
- MbsYield now handles zero remaining life more gracefully
Version 5.8.1 (2012-10-4)
- Corrected implementation of PrepaymentSpeeds and MbsYield to account for age of MBS when constructing PrepaymentSpeeds using PSA
Version 5.8.0 (2012-10-3)
- Added new class PrepaymentSpeeds that can be constructed using either a CPR or PSA
- Changed MbsYield functions to use PrepaymentSpeeds object instead of a double representing speed
Version 5.7.1 (2012-9-7)
- Added missing header file mbs_yield.h to release distribution
Version 5.7.0 (2012-7-30)
- New member function compute_cashflows for MbsValuation. Generates projected cashflows.
Version 5.6.0 (2012-6-3)
Version 5.5.0 (2012-6-2)
- Added risk measure computations for InterestRateModel constructed with discount factor curve
Version 5.4.8 (2012-5-16)
- Added InterestRateModel constructor taking discount factor curve
Version 5.4.7 (2012-5-14)
- Added check for prepayment vectors of size 0
Version 5.4.6 (2012-2-27)
- Full rebuild on Solaris x86 to eliminate unwanted dependency on stlport
Version 5.4.5 (2012-2-23)
- Rebuild on Solaris x86 using stdcxx4 instead of stlport4
Version 5.4.4 (2012-1-31)
Version 5.4.3 (2012-1-30)
- Added MbsYield class for price-yield functions
- Renamed Example.java to AkaCleanTest.java
- Added yield computation to AkaCleanTest.java
- Added use of config file to set license and find native libraries
Version 5.4.1 (2011-10-27)
- Fixed Array class so build using Sun C 5.8 works
- Fixed Java API
Version 5.4.0 (2011-9-13)
- Fixed bug in AkaCleanVbVersionString that caused memory leak and crashes
Version 5.3.4 (2011-5-14)
- Added refinancing option value to Output::Price
Version 5.3.3 (2011-4-20)
- Rebuilding. Creating Solaris x86-64 build
Version 5.3.2 (2011-4-9)
Version 5.3.0 (2011-3-26)
- Updated spreadsheet to account for changes made in 5.2.0
Version 5.3.1 (2011-4-5)
Version 5.2.0 (2011-2-19)
- MbsValuation::compute_valuation_report now does not require an InterestRateModel with preconstructed lattices for computing risks. Bumped lattices are built if needed and not already constructed
Version 5.1.3 (2011-2-16)
- InterestRateModel: added member function that resets model to new yield curve and volatility
- New command-line executable that calculates timings for
- Constructing an InterestRateModel
- Computing OAS to price
- Computing OAS to price and risks (including partial durations)
- Computing price to OAS
- Computing price to OAS and risks (including partial durations)
Version 5.1.2 (2011-1-12)
- Fixed incorrect homeowner credit spread value in Example.java
- InterestRateModel, MbsValuation: added member functions that report the inputs used by constructor
Version 5.1.1 (2011-1-6)
- Installs all shared libraries
- Both old and new Java API's distributed
- Both old C API and new C++ API distributed
Version 5.0.7 (2010-10-8)
- Cosmetic changes to new spreadsheet delineating more clearly different types of inputs
Version 5.0.6 (2010-9-9)
- Updated spreadsheet using old API and repaired scenario analysis
Version 5.0.5 (2010-8-25)
- Updated data in spreadsheet
Version 5.0.4 (2010-8-24)
- Streamlined C++ and VB API
- Streamlined Excel spreadsheet
Version 5.0.3 (2010-8-23)
- Implemented forward settlement and accrued interest properly
Version 5.0.2 (2010-8-22)
- Implemented expected life
- Old API working
Version 5.0.1 (2010-8-22)
- Fixed bugs in:
- VBA code in spreadsheet
- Prepayment speed computation
Version 5.0.0 (2010-8-20)
- Major new release
- Added following new features:
- Yield curve now includes forward or futures yields for Eurodollar futures
- Choice of lognormal or normal interest rate model
- Computes following types of duration and convexity:
- Effective
- OAS
- Homeowner credit spread
- Volatility
- Computes partial durations
- Computes expected prepayments
- New cleaner API
Version 4.51 (2010-3-17)
- Fixed handling of default speed and default recovery fraction in spreadsheet
Version 4.50 (2010-3-15)
- Added new field "principal_multiplier" to AkaCleanMbsTerms to allow valuation of IO's
Version 4.47 (2010-3-7)
- Converted template method in MbsState class to free function, so that Clean will compile using Sun C++ 5.5
Version 4.46 (2010-2-19)
- Removed license from spreadsheet
Version 4.44 (2010-2-10)
- Fixed typos in spreadsheet headers
Version 4.43 (2010-2-4)
- Fixed handling of reinvestment OAS in spreadsheet
Version 4.42 (2010-2-3)
- Tweaking duration calculation
Version 4.41 (2010-2-2)
- Fixed default default recovery rate value
Version 4.40 (2010-2-1)
- Improved duration computation
Version 4.31 (2010-1-7)
- Windows libraries are now linked to shared C/C++ runtime libraries
- Added Microsoft distribution of shared C/C++ runtime libraries: vcredist.exe
Version 4.30 (2009-11-28)
- Refinancing cost is now a fixed percentage of the original principal amount, instead of a fixed percentage of the amount outstanding at time of refinancing
Version 4.11 (2009-11-11)
- Thinned out extremely extremely sparse lattice even more
Version 4.10 (2009-10-15)
- Added compile-time control of number of buckets
- Added light version of CLEAN with only 3 buckets
- Added an extremely extremely sparse lattice setting
Version 4.01 (2009-9-27)
- Recompile Windows version using VC++ 2008
Version 4.00 (2009-6-22)
- Added modeling of default and recovery rates
Version 3.00 (2009-5-26)
- Fixing Java win32 scripts
Version 2.99 (2009-5-12)
- Added Java wrapper to distribution
Version 2.98 (2009-5-9)
- Added Solaris Sun Studio 12 build
Version 2.97 (2009-4-26)
- Fixing Solaris gcc 64-bit build
Version 2.97 (2009-4-26)
- Fixing Solaris gcc 64-bit build
Version 2.95 (2009-2-3)
- Tweaks to build to make Sparc Solaris gcc build work
Version 2.94 (2009-1-12)
- Fixed duration and convexity calculation
Version 2.93 (2009-1-12)
- Restored missing header files
Version 2.92 (2009-1-9)
- Added calibration functions to C++ API
- Revised
clean_calibration_and_setup.pdf
Version 2.91 (2008-12-12)
- New release of Java wrapper. AdjustFactor added to Java API
- AdjustFactor implementation fixed
Version 2.90 (2008-12-10)
- New release of Java wrapper. Fixed memory issue in the function AkaCleanFindCurrentCouponTba
- Clean setup and calibration document created
Version 2.80 (2008-12-1)
- Fixed calculation of effective convexity
- Added new function for computing accrued interest
Version 2.70 (2008-11-24)
- Added spreadsheet back to distribution
Version 2.60 (2008-10-16)
- Added new functionality for calibrating mortgagor OAS to difference between mortgage coupon and the current mortgage coupon and calibrating MBS OAS to TBA prices
Version 2.50 (2008-7-23)
- Added more explanations to documentation
Version 2.40 (2008-7-3)
- Replaced boost::array by std::vector in ExpectedCashflows class. Reduces stack usage to below 256K for function compute_cashflow_vector. Needed for Microsoft web apps
Version 2.30 (2008-1-5)
- Fixed handling of first mortgage payment date
- Removed asserts from release version
Version 2.20 (2007-12-6)
- Added new lattice density: extremely sparse
Version 2.10 (2007-11-30)
- Added new lattice density: very sparse
Version 1.99 (2006-8-2)
- Restored missing C++ header and documentation files
Version 1.98 (2006-6-9)
- Tweaks to example_cpp.cpp and cpp_api.h documentation
Version 1.97
- Three lattice densities now available: sparse, default, dense
Version 1.96
- Sparser lattice to increase speed
- New, faster prepayment vector generation
- Typos corrected in spreadsheet
Version 1.93
- Reorganized layout of library
Version 1.92
- New projected prepayment vector function
- ComputeValuationReport made faster
Version 1.90
- Streamlined lattice to shorten computation time
Version 1.82
- Now computes expected life and average prepayment speed
- Return analysis implemented
- Global objects now managed by handles
- C++ API implemented
- C and VB API's revamped
Version 1.44
Version 1.43
- Extraneous fields in spreadsheet removed
Version 1.40 (2005-5-21)
Version 1.31 (2004-8-9)
- First release of CLEAN as Linux shared library
Version 1.30
- First release of CLEAN as Win32 DLL