Releases
Releases of Strata are performed when a set of functionality has stabilized. To access a release, see the options for obtaining Strata.
Strata v2.12.0
- 18 May 2022
This release contains over 45 fixed issues.
- Support for OTC bond options #2438, #2452
- Enhance and extend caplet/floorlet pricing #2443, #2446 #2410, #2412
- Enhance and extend swaption pricing #2419, #2423 #2434, #2417, #2415, #2418
- More lenient payment schedule #2453,
- Add MYR-KLIBOR, fix USD-BSBY and NZD-NZIONA, make ESTR default for EUR #2441, #2431, #2424, #2416,
- Better failure exceptions #2448, #2449, #2456, #2457, #2466
- New
Decimal
class #2458, #2459, #2460, #2461, #2463, #2465, #2467, #2469 - New
BeanCharSource
andStringCharSource
implementation that throw unchecked exceptions #2398, - Fix combined holiday calendars correctly in
HolidaySafeReferenceData
#2426,
Compatibility
The LIBOR transition has caused us to alter a few parameters and return types in an incompatible way. Various classes, particularly around swaptions, have had their index widened from just Ibor to include Overnight as well. This will be source and binary incompatible if you use swaptions.
The new classes BeanCharSource
and StringCharSource
are returned from some methods instead of CharSource
.
This has been made fully binary compatible using bridge methods.
The new classes throw unchecked exceptions instead of checked exceptions, which may in some cases be source incompatible.
Strata v2.11.0
- 7 January 2022
This release contains over 70 fixed issues.
- Continue change to support Overnight indices as an alternative to Ibor indices (source and binary incompatible) #2398, #2382, #2407
- Extend usefulness of Act/Act ICMA day count #2365
- Fix joined holiday calendars like “GBLO~USNY” #2405
- More indices, “GBP-SONIAICETERM”, “GBP-SONIAREFINITIVTERM”, “JPY-TORF”, “USD-SOFRCMETERM”, “USD-BSBY”, “USD-AMERIBORTERM”, with mappings updated to cover ISDA 2021 standards #2383, #2378, #2366
- Enhance swaptions, including Bermudan #2376, #2364, #2357, #2354, #2358, #2343
- Enhance Ibor Cap/Floor pricing/parsing #2361, #2342, #2318
- Enhance FX option pricing/parsing #2349, #2346, #2323, #2325, #2324, #2317
- Enhance schedule building #2350, #2352, #2353
- Treat gold as the base currency in conventional order #2339
- FX conversion for
ExplainMap
#2345
Compatibility
The LIBOR transition has caused us to alter a few parameters and return types in an incompatible way.
SwapIndex
and implementations now hold aFixedFloatSwapTemplate
instead ofFixedIborSwapTemplate
.CmsLeg
now holds aRateIndex
instead ofIborIndex
.SwaptionVolatilities
and implementations now hold aFixedFloatSwapConvention
instead ofFixedIborSwapConvention
.Swaption
was changed to be based onRateIndex
in v2.10.
A spelling mistake was fixed in FixedInflationSwapConventions
- HCIP instead of HICP.
The MapStream
class has changed the filter method from BiFunction<K, V, Boolean>
to BiPredicate<K, V>
.
Strata v2.10.0
- 22 April 2021
This release contains over 15 fixed issues.
- Change Swaption to support Overnight index (source and binary incompatible) #2305
- Add vega to FX option #2292
- Update Japanese holiday calendar #2293
Strata v2.9.0
- 2 February 2021
This release contains over 50 fixed issues.
- Add new indices for CZK, HUF, IDR, ILS, RUB, SAR, TRY and AMERIBOR #2248, #2268
- Add OIS conventions for ESTR #2257
- Make CSV parsing extensible via standard extended enum approach #2284, #2285, #2286
- Handle CNY repo swaps #2249
- Add constants for standard ID schemes #2240, #2287, #2261
- Switch code to use main branch instead of master #2267
Strata v2.8.0
- 11 September 2020
This release contains over 65 fixed issues.
- Calibrate curves using Overnight Futures #2216, #2208
- Change
IborFutureConvention
toIborFutureContractSpec
and addOvernightFutureContractSpec
#2203, #2209 - Add
SGD-SORA
index #2215 - Add
MarketTenor
to represent the concept of ON/TN/SN tenors #2184
Strata v2.7.0
- 25 February 2020
This release contains over 70 fixed issues.
- Add
PortfolioItem.withInfo()
method, source compatible but not binary compatible for callers, also not source compatible for custom implementations ofPortfolioItem
#2133 - Rename
ESTER
index toESTR
, old code will be accepted on input for compatibility #2101 - Fix
EtdOptionPosition
andEtdFuturePosition
resolveTarget()
methods #2138 - Fix
CurrencyParameterSensitivity.toUnitParameterSensitivity()
method #2127
Strata v2.6.0
- 30 July 2019
This release contains over 20 fixed issues.
- Add SWIFT code formats for day conut and business day convention #2023
- Performance enhancements #2027, #2031
- AttributeType now has stronger Java type, #2044
Strata v2.5.0
- 28 June 2019
This release contains over 10 fixed issues.
- Ability to represent the Central Counterparty Clearing House (CCP), see
CcpId
#2013, #2014 - Ability to represent groups of Exchange Traded Derivatives (ETDs) for risk, see
EtdContractGroupId
#2015 - Add ability to get the opposite of Buy/Sell, Long/Short and Put/Call #2008
- Remove dependency on TestNG from
TestHelper
#2007
Strata v2.4.0
- 10 June 2019
This release contains over 35 fixed issues.
- Reading/writing CDS Index from/to CSV #1999
- Enhance CSV parsing #1995, #1986, #1981, #1983, #1984
- Check if document is FpML #1982
- Add market quote measure for swaps #1972, #1976
- Add aliases for various indices #1998, #1990
- Fix SONIA index definition #1967
- Update holiday calendars #1961, #1969
- Use a singleton XML factory (requires Java 8u20 or later) #1991
Strata v2.3.0
- 26 April 2019
This release contains over 40 fixed issues.
- Writing trades to CSV #1952
- Parsing trades from CSV - support for Swaption, FX Vanilla Option, CDS and Bullet Payment #1945, #1954, #1956, #1927
- Enhance parsing trades from CSV - parse more kinds of Swap and FRA #1951, #1947
- Add collateralized cash price settlement for swaptions #1902, #1921
- Add TWD-TAIBOR, THB-THBFIX and EUR-ESTER #1931, #1930, #1923, #1893
- Fix HKD-HIBOR, AUD-BBSW and COP FX #1887, #1891
- Fix bond detachment date logic for accrued year fraction #1953
- More lenient schedule generation #1925
- Support working on weekends to handle “Golden Week” in China #1958
Strata v2.2.0
- 28 January 2019
This release contains over 25 fixed issues.
- Brazilian swaps #1828, #1878
- Update indices and conventions, #1879, #1883, #1876, #1882, #1858, #1857
- Enhanced schedule building, #1873, #1861
- Fix derived calculation functions #1856
Strata v2.1.0
- 30 October 2018
This release contains over 45 fixed issues.
- Calculation target for sensitivities -
CurveSensitivities
, #1806, #1800, #1814, #1818, #1831, #1811, #1816, #1836, #1837, #1805 - Calculate market quote sensitivities for bonds, #1809
- Trade and stub conventions, #1829, #1825, #1810
- Extend legal entity support, #1791
- Enhance holiday calendars, #1801, #1797, #1795
- Add thread-safe
NumberFormatter
, #1793, - Abstract tenor-based parameter metadata instances -
TenoredParameterMetadata
, #1799, #1826 - Find curve names in curve definition, #1817
- Additional methods on
MapStream
, #1788, #1798, #1808, #1813, #1824, #1832 - Enhanced parsing, #1812, #1819, #1822, #1827, #1802
- Build reliably on Java 11, #1830, #1789, #1834
Compatibility
The default stub convention has been changed from ‘ShortInitial’ to ‘SmartInitial’ (except when loading from FpML). The new “smart” stub conventions create a long stub when the extra period is less than 7 days. We believe this better matches market practice.
All existing trade conventions now use a roll convention of ‘EOM’, which means that a swap with 1 month frequency starting on the 30th November will now roll at the end of the month where previously it would have rolled on the 30th of each month. We believe this better matches market practice.
The interface LegalEntity
has two new methods.
In the unlikely event that you have implemented the interface you will need to implement the new methods.
The interface IborFutureTemplate
has one new method.
In the unlikely event that you have implemented the interface you will need to implement the new method.
Strata v2.0.0
This is a major release with a number of backwards incompatible changes.
There are over 115 fixed issues.
- Add Bills and LegalEntityId, #1748, #1754, #1758, #1762, #1761
- Add OvernightFutureSecurity, #1763
- Allow FX to have split payment dates, #1729, #1732
- Extended support for positions, #1723, #1734, #1733, #1730, #1728, #1721, #1722, #1719, #1711, #1720
- Link trades and positions better, #1712, #1713, #1724, #1712, #1731
- Add Product/Security/Trade model, #1697, #1695, #1691, #1696, #1689, #1674, #1667 #1666
- Rename rates classes, #1750, #1751, #1766
- Move configuration to META-INF, #1736
- Gamma calculation with a combined curve, #1680, #1677, #1699, #1625, #1624
- Add USD-SOFR, ZAR-SABOR, CNY-REPO-1W, use CHF-SARON in preference to CHF-TOIS, add more inactive indices, #1765, #1775, #1681, #1693 #1694
- Ability to lookup any index by name, #1708
- Remove deprecations, #1716, #1718, #1743,
- Fix NZD and INR FX index definitions, #1726, #1772
- Fix Ibor-OIS swap conventions, #1678
- Make Trade/Position/Security easier to modify, #1674
- Make FX and FX trades easier to work with, #1666, #1691
- Enhanced CSV loaders, #1745, #1735, #1670, #1709, #1702, #1705
- Enhanced ETD options to support underlying expiry month, #1668, #1669
- Additional interpolator, #1664
Compatibility
This is a major release with a number of incompatibilities.
All deprecated classes and methods have been removed.
All configuration files in com/opengamma/strata/config
have been moved to
META-INF/com/opengamma/strata/config
. This is necessary to support Java 9.
If you have your own configuration files, they will also need to move.
The rates curve classes have been renamed to be specifically about rates. If you refer to these classes, you will need to change your code:
CurveGroup
becomesRatesCurveGroup
.CurveGroupId
becomesRatesCurveGroupId
.CurveGroupInputs
becomesRatesCurveGroupInputs
.CurveGroupInputsId
becomesRatesCurveGroupInputsId
.CurveGroupDefinition
becomesRatesCurveGroupDefinition
.CurveGroupDefinitionBuilder
becomesRatesCurveGroupDefinitionBuilder
.CurveGroupEntry
becomesRatesCurveGroupEntry
.CurveCalibrator
becomesRatesCurveCalibrator
.SyntheticCurveCalibrator
becomesRatesSyntheticCurveCalibrator
.CurveGroupDefinitionCsvLoader
becomesRatesCurveGroupDefinitionCsvLoader
.
If you are using bonds, you will likely use classes like LegalEntityCurveGroup
and
LegalEntityCurveGroupDefinitionCsvLoader
instead.
The FxRateLookup
interface has moved package to com.opengamma.strata.calc.runner
.
If you refer to it, you will need to change your import.
The FxSingle
class has been altered to support split payment dates.
If you use it, you will need to adapt.
A Joda-Beans mapper will handle deserialization of the old format transparently.
The LegalEntityDiscountingProvider
implementations and lookup have been altered to
support a new type-safe LegalEntityId
class. The previous combined security and legal
entity identifier maps have been separated.
If you use bond pricing, you will need to adapt.
The resolved trade classes for security-based products like ResolvedBondFutureTrade
have been refactored to allow them to be used as positions.
If you use these classes directly you will need to adapt.
The ResolvedTrade
interface now exposes PortfolioItemInfo
instead of TradeInfo
.
If you use the interface directly you will need to adapt.
The Trade
and Position
interfaces have new methods.
If you have implemented your own trades/positions you will need to adapt.
The SwapLeg
interface has a new method.
If you have implemented your own leg you will need to adapt.
The Curve
interface has new methods.
If you have implemented your own curves you will need to adapt.
The RatesProvider
interface has a new method.
If you have implemented your own provider you will need to adapt.
The method ValueWithFailures.combinedWith
has changed from taking BinaryOperator
to BiFunction
.
This is source compatible if using lambdas, but not binary compatible.
The TradeAttributeType
, PositionAttributeType
and SecuirtyAttributeType
classes have been
merged to become AttributeType
.
A Joda-Convert rename mapper will handle deserialization of the old class names transparently.
Strata v1.7.1
6 June 2018
This minor release contains around 11 fixes. These include:
- Parse zero length periods from CSV format, #1670
- Add ZAR-SABOR, CNY-REPO-1W, use CHF-SARON in preference to CHF-TOIS, add more inactive indices, #1681, #1693 #1694
- Fix Ibor-OIS swap conventions, #1678
- Summarizer should handle short periods, #1663
Strata v1.7.0
19 February 2018
This release contains over 30 fixed issues.
- Provide summaries for trades and positions, #1626, #1627, #1631
- Additional floating rate index names, #1632, #1656
- Better failure messages, #1649, #1651, #1655
- Add Montreal holiday calendar, #1645
- Add roll conventions, #1647
- Enhance schedule builder, #1652, #1646
Compatibility
The single method on the interface FpmlPartySelector
has changed return type.
In the unlikely event that you have implemented the interface you will need to implement the new method.
Strata v1.6.0
28 November 2017
This release contains 31 fixed issues. This includes the issues fixed in v1.5.1 and v1.5.2 (see below).
- Add index data for HKD, SGD, KRW, INR and NZD #1603, #1612, #1615, #1617, #1618, #1619
- Swap schedules treat single stub period differently from single term period #1615
- Improve par spread for swaps with only one period #1608
- Lenient mode for extended enum parsing #1606
- Conventional currency pair for EUR/GBP swap #1595
- Add Quote object #1611
- Validate price index fixings in the loader #1598
- A repo curve can be looked up without specifying a security #1621
Compatibility
A method was added to the interface LegalEntityDiscountingProvider
.
In the unlikely event that you have implemented the interface you will need to implement the new method.
The fixed day count associated with various indices has been updated, see #1592.
Strata v1.5.2
31 October 2017
This minor release contains 1 bug fix.
- Return EOM when calculating roll convention from stub #1590
Strata v1.5.1
26 October 2017
This minor release contains 1 bug fix.
- Fix for CSV outputter when numeric value is prefixed with a sign
Strata v1.5.0
26 October 2017
This release contains 19 fixed issues. This includes the issues fixed in v1.4.1 and v1.4.2 (see below).
- Enhance payment schedule stub handling #1581
- Extended handling of pre-adjusted schedule dates #1580
- Trade CSV loader extended to support FX forward/spot #1578
- Trade CSV loader extended to support counterparty #1583
- Position CSV loader extended to avoid using reference data #1584
- Extended quoting of CSV #1586
- Reset dates optional in FpML #1585
- Plus/minus methods on CurrencyScenarioArray #1577
- Fix Interpolator-based curve extrapolator #1588
- Add IntArray.of(IntStream) #1587
- Upgrade Guava to v23.2-jre #1589
Compatibility
There are no compatibility issues with this release.
Strata v1.4.2
5 October 2017
This minor release contains 3 fixed issues.
- Enhancement - Add DoubleArray.of(DoubleStream) #1576
- Enhancement - Update to Joda-Beans v2.0.2 #1575
- Enhancement - Handle single digit hours in loader #1574
Strata v1.4.1
4 October 2017
This minor release contains 7 fixed issues.
- Enhancement - Parse variable notional/rates #1572
- Enhancement - New Asian Exchanges #1571
- Enhancement - CsvInfoResolver #1570
- Enhancement - Synthetic calibrator: typed market data object #1568
- Bug fix - Fix CurrencyAmountArray minus() bug #1569
- Bug fix - Remove duplicate dependency
- Bug fix - Update Joda-Convert dependency #
Strata v1.4.0
21 September 2017
This release contains 35 fixed issues. This includes the issues fixed in v1.3.1, v1.3.2 and v1.3.3 (see below).
- Standard CSV format for trades and positions #1540, #1556, #1559, #1551
- Loader for legal entity rates #1516
- Add
CHF-SARON
overnight index #1557 - Add
DEFR
Frankfurt holidays #1560 - Default fixed leg day count from index #1553
- Allow
FxIndex
to return fixing and maturity days offset, using it to default onFxResetCalculation
#1536 - Allow notional exchange to be set separately from FX reset #1542
- Support fixed initial notional of FX reset swaps #1543
- Abstraction over swap conventions #1533
- Enhance
FloatingRateName
parsing to better link with the indices #1549 - Add
NamedEnum
to mark standard enums and make parsing more lenient #1532 - Custom logic when resolving a swap trade #1544
- Code from CERN Clot is now included (shaded) to reduce dependencies #1529, #1530
- Update dependencies. The
strata-parent
project can now be used as a BOM.
Compatibility
The classes RepoGroup
and LegalEntityGroup
moved packages.
The Joda-Beans dependency was updated to v2.0. This is major version upgrade and any beans you have will need to be regenerated.
In the unlikely event that you have a swap convention implementation, you may need
to change it to extend SingleCurrencySwapConvention
.
In the unlikely event that you have an FxIndex
implementation, you will need to
implement the two new methods.
In the unlikely event that you have a ScenarioPerturbation
implementation, you will
need to implement one additional method.
Strata v1.3.3
31 July 2017
This minor release contains 1 fixed issue.
Strata v1.3.2
28 June 2017
This minor release contains 2 fixed issues - 1 bug fix and 1 enhancement.
- Bug fix - Schedule generation enhancements: #1526, #1527
- Enhancement - Update Joda-Convert to v1.8.2
Strata v1.3.1
26 June 2017
This minor release contains 2 fixed issues - 1 bug fix and 1 enhancement.
- Bug fix - Floating rate names for MXN were not processed correctly: #1523
- Enhancement - Add low level ArrayByteSource utility class: #1524
Strata v1.3
5 May 2017
This release contains 19 fixed issues.
- Domain model for ETD futures/options #1488, #1496, #1497, #1508
- More lenient schedule calculator #1515
- Better support for Unicode file formats #1511, #1514
Compatibility
The method DiscountingCapitalIndexedBondProductPricer::zSpreadFromCurvesAndPV
was renamed to
DiscountingCapitalIndexedBondProductPricer::zSpreadFromCurvesAndPv
, with the old name deprecated.
The Joda-Beans dependency was updated, and some methods are now deprecated. It is unlikely that these methods were in use, but if they were, consult the Joda-Beans documentation.
The quantile calculation methods have changed return type, but these are in an internal package and should not have been used directly.
Strata v1.2
8 March 2017
This release contains 61 fixed issues - 9 of which are bug fixes.
- Refactor CDS #1466, #1474
- Caplet stripping: direct and SABR: #1448, #1422
- Enhance CalculationListener: #1454, #1455, #1458
- Remove Easter Monday from CATO calendar: #1440
- Add inflation seasonality in curves: #1465
- Smith-Wilson method: #1484
- Add holidays and indices for CZK, ZAR, HUF, MXN, BRL and DKK-CIBOR2-DKNA13: #1428, #1429, #1445, #1435, #1491
- Enhance indices, FloatingRateName and enum lookup: #1438, #1442, #1436
- Allow base sensitivity to be split: #1424
- Interpolator calculations supplied on demand: #1463, #1464
- Add support for overriding first fixing offset and first rate: #1447, #1453
Compatibility
The following incompatible changes have been made:
- CDS code has been rewritten from scratch and has an entirely new API (as warned in advance in v1.1)
- A new interface
CurveDefinition
has been added aboveNodalCurveDefinition
, withCurveGroupDefinition
making use of it. Only code that queriedCurveGroupDefinition
will break. - A number of methods have moved from
IborIndex
andOvernightIndex
to the parent interfaceRateIndex
. Only code that implementedRateIndex
will break. - A new method was added to an interface,
FloatingRateName.normalized()
. Only code that implementedFloatingRateName
will break. - A new method was added to an interface,
RateIndex.getFloatingRateName()
. Only code that implementedRateIndex
will break. - A new method was added to an interface,
PriceIndex.getFloatingRateName()
. Only code that implementedPriceIndex
will break. - A new method was added to an interface,
DiscountFactors.discountFactorTimeDerivative()
. Only code that implementedDiscountFactors
will break.
In general, we try to maintain backwards compatibility. We break compatibility mainly in areas where a change is likely to have minimal impact yet produce clearer, cleaner code.
Strata v1.1.2
3 November 2016
This minor release contains 5 fixed issues - 1 bug fix and 4 enhancements.
- Bug fix - Example should output to target directory: #1404
- Enhancement - Inflation seasonality: #1407
- Enhancement - Enhance schedule generation: #1403
- Enhancement - Add SCALED shift type: #1402
- Enhancement - More example: #1391
Strata v1.1.1
20 October 2016
This minor release contains 8 fixed issues - 3 bug fixes and 5 enhancements.
- Bug fix - No scaling is applied to single-node bucketed gamma in the measures API: #1383
- Bug fix - ExplainKey.FROM_FIXING_SERIES is only populated if the fixing date equals the valuation date: #1380
- Bug fix - Measure is not Joda-convertible: #1386
- Enhancement - Add serializable interface: #1393
- Enhancement - Added GBP/EUR cross-currency convention: #1390
- Enhancement - Support single-node bucketed gamma for BulletPaymentTrade: #1382
- Enhancement - Add ValueWithFailures: #1396
- Enhancement - Allow Strata to be on the classpath more than once: #1394
Strata v1.1
7 October 2016
This release contains 62 fixed issues - 15 of which are bug fixes.
The key features are:
- Measure-level and Calc-level API support for all asset classes: #1263, #1344, #1331
- Additional holiday calendars and indices for SEK, DKK and PLN: #1373, #1326
- Enhanced performance for swap pricing: #1293, #1329
- More flexible loaders: #1267, #1269, #1245, #1249, #1282
- Support FpML parameterized notional schedule: #1242
- Enhanced explain present value: #1256, #1270, #1362
- Better error messages: #1280, #1275, #1225, #1254
- FRA payment dates are now calculated correctly: #1301
Feel free to give us feedback or ask a question in the forums.
Compatibility
This release is backwards compatible except for bond pricing. A total of 14 methods were marked as deprecated, all with documented replacements.
The backwards incompatibility in bond pricing is unfortunate. The changes were necessary to enable bond pricing integration into the calculation-level API. It also allow us to add pricing for Bills in the future. Migration will mostly consist of simple renames, see this pull request for more details.
As an advance warning, the CDS code is likely to change in a backwards incompatible way in release v1.2. However, it remains our goal to avoid incompatibility as far as reasonably possible.
Strata v1.0
15 July 2016
The first full release of Strata, after two years of development. Strata is already in use in production and has now reached the point where v1.0 is appropriate.
The key features are:
- Measure-level API - a high level API calculating measures for one trade
- Calc-level API - a high level API calculating measures for a mixed portfolio of trades
- Pricer-level API - a low level API performing calculations for one trade
- Market data structures - representations of curves, surfaces and other kinds of market data
- Product domain model - beans representing different financial instruments
- Conventions, indices, and holiday calendars for common markets
The supported asset classes are:
- Swap - including Vanilla, OIS, Basis, Inflation, Cross Currency and Variable Notional
- Deliverable Swap Future (DSF)
- Constant Maturity Swap (CMS)
- Ibor cap/floor
- Swaptions
- Forward Rate Agreement (FRA)
- FX forward/spot - including Non-Delivered Forward (NDF)
- FX swap
- FX options - vanilla and single barrier
- STIR futures/options
- Bonds - Fixed coupon and Capital indexed
- Bond futures/option
- Term deposit
- Bullet payment
- CDS - currently being reviewed and subject to incompatible change
Feel free to give us feedback or ask a question in the forums.
Strata v0.16
5 July 2016
This release prepares the way for v1.0, which will be the next release. This primarily involved fixing bugs and mistakes in the API.
- Calculation API tightened to clearly separate scenario from non-scenario
- DSF based on standard market price, not decimal/fractional price
- Curve calibration with a Fed-Fund swap
- More control over IborFuture curve nodes
- Add calendar and indices for Norway
- Fixed inflation swap conventions
- Scenario generation API refactored
- New surface interpolators - surface data must now be sorted
- Renamed term deposit conventions
- Renamed scenario return types, eg. CurrencyValuesArray to CurrencyScenarioArray
- Restructured examples
- Removed implementation-specific classes from public API
Feel free to ask a question in the forums if you have difficulty porting code from v0.15 to v0.16.
Strata v0.15
17 June 2016
This release contains a new measures API. The measures API is intended to be the main access to the functionality of Strata. Applications currently using the pricer API should consider using the measures API instead.
For example, consider using SwapTradeCalculations
instead of DiscountingSwapTradePricer
.
- New measures API
- Extended set of measures access via the calculation API
- Renamed PV01 measures
- Add a calculator to obtain the notional equivalent
- Add currency exposure and current cash to some instruments
- Add support for known amount stubs on swaps (fixed and ibor legs)
Feel free to ask a question in the forums if you have difficulty porting code from v0.14 to v0.15.
Strata v0.14
9 June 2016
This release contains a major simplification of the calculation API.
The “rules” part of the calculation API has been replaced with a “parameter” concept,
for example RatesMarketDataLookup
that selects from the complete set of market data.
The new design is far simpler, with logic moved out of the framework and into code that applications
can control and extend. The results model now includes column headers.
The calculation runner and market data factory are both affected.
There has also been significant refactoring of packages, module structure and market data.
Separate curve and surface sensitivity objects have been combined.
Scenario market data is now more widely available, with the MarketDataKey
concept removed.
The strata-function
project has been renamed to strata-measure
.
The goal has been to provide a structure that will last Strata in the long term.
v1.0 is approaching and expected at the end of June and will provide backwards compatible API stability.
- Simplified and extensible calculation API
- Curve sensitivity rebucketing
- FX single barrier option trade model and pricer
- FX vanilla option Vanna Volga pricer
- SABR swaption calibrator
- Additional swap conventions
- Abstraction for market data parameters
Feel free to ask a question in the forums if you have difficulty porting code from v0.12 to v0.14.
Strata v0.12
11 April 2016
This release contains a major rework of the security model to introduce positions.
GenericFuture
and GenericFutureOption
have gone, with GenericSecurity
in use instead.
A new Security
interface is added, with implementations that refer to other securities by identifier.
There is also a new Position
interface with SecurityPosition
and GenericSecurityPosition
implementations.
The next release will be v0.14, not v1.0.
- New security and position domain model
- Replaced generic future/option by generic security
- Inflation swap conventions
- Canadian holidays and indices
- Improved FX rate triangulation
- Enhanced examples
Feel free to ask a question in the forums if you have difficulty porting code from v0.11 to v0.12.
Strata v0.11
18 March 2016
This release contains a major rework of the trade model to introduce reference data.
Holiday calendars are now treated as data, referenced by an identifier.
Securities can also now be referenced by identifier, although only for mark-to-market pricing at present.
While there will no doubt be further trade model tweaks before v1.0, this set of changes should be by far the largest.
The holiday calendar data provided with Strata is now available using ReferenceData.standard()
.
These changes also caused StandardId
to change package.
The next release will be v0.12, not v1.0.
- New asset classes - Capital Indexed Bonds
- Refactored trade model treating holidays and securities as reference data
- Added dedicated index observation objects for querying market data
- Type-safe attributes can be attached to trades
- Add Canadian holidays and indices
- Allow holiday calendars to be queried beyond known dates
Feel free to ask a question in the forums if you have difficulty porting code from v0.10 to v0.11.
Strata v0.10
29 February 2016
Additional preparatory work for v1.0. The next release will be v0.11, not v1.0. The next release will contain a significant refactoring of the trade model to allow holidays to be managed as reference data.
- New asset classes - CMS, CMS cap/floor and Ibor cap/floor
- Calculation function design simplified, with all functions operating as multi-measure
- Enhance FX conversion of function results
- Enhanced FpML parsing, including inflation swaps
- Control over the date generated for each node in curve calibration
- Synthetic curve calibrator, calibrating on synthetic instruments
- Schedule generation handling all-stub schedules, plus performance tweaks
Strata v0.9
14 January 2016
Additional preparatory work for v1.0.
- Simpler calculation runner concept for calculations with many trades, many measures or many scenarios
- Unified pricing for Swaptions, with present value available via the calculation runner
- Add currency exposure to pricers
- Use data files to define holidays and indices
- Update interpolators and extrapolators
- Efficient data structures for large scenarios
Strata v0.8
19 November 2015
A major update that brings functionality much closer to that needed for v1.0.
- Curve calibration
- New asset classes - FX Forward, FX Swap, FX NDF, Term Deposit, Deliverable Swap Futures, Ibor STIR Futures, Bullet Payment
- Pricing level support for Swaptions, Bonds, FX vanilla options, Bond Futures, Bond Future Options, STIR Future Options (Ibor)
- Loader project, allowing data to be loaded from XML and CSV formats
- Reporting framework promoted from Beta
- Removed dependency on legacy Analytics codebase
Strata v0.7
25 June 2015
The initial release.
- Calculation engine, calculating risk measures, managing market data and scenarios
- Product definitions
- Foundations, including day counts, schedules, holidays and indices
- Asset classes - FRA, Interest Rate Swap, Generic Futures, Generic Future Options, Credit Default Swap