Skip to content

Commit

Permalink
Prepare for v1.0 (#1219)
Browse files Browse the repository at this point in the history
* Update README for v1.0

* Enhance Javadoc

* Fix Javadoc mistakes

* Update README for v1.0
  • Loading branch information
jodastephen authored and jonathansenior committed Jul 14, 2016
1 parent 4c363a2 commit 96fb01e
Show file tree
Hide file tree
Showing 45 changed files with 196 additions and 272 deletions.
28 changes: 21 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,27 +1,42 @@
Strata
======

[![Build Status](https://travis-ci.org/OpenGamma/Strata.svg?branch=master)](https://travis-ci.org/OpenGamma/Strata)
[![License](http://img.shields.io/:license-apache-blue.svg)](http://www.apache.org/licenses/LICENSE-2.0.html)
[![Build Status](https://travis-ci.org/OpenGamma/Strata.svg?branch=master)](https://travis-ci.org/OpenGamma/Strata) [![License](http://img.shields.io/:license-apache-blue.svg)](http://www.apache.org/licenses/LICENSE-2.0.html)

This repository contains the source code of Strata, OpenGamma's next-generation, open source toolkit for market risk.
This repository contains the source code of Strata, the open source analytics and market risk library from OpenGamma.

Strata is released as Open Source Software under the
[Apache v2.0 license](http://www.apache.org/licenses/LICENSE-2.0.html).
Commercial support is [available](http://www.opengamma.com/) from the authors.

[![OpenGamma](http://developers.opengamma.com/res/display/default/chrome/masthead_logo.png "OpenGamma")](http://www.opengamma.com)


Documentation
-------------
Using Strata
------------

Documentation for Strata can be found at http://opengamma.github.io/StrataDocs.

To use Strata Java SE 8u40 or later is required.
The JAR files are available in [Maven Central](http://search.maven.org/#search|ga|1|opengamma):

```
<dependency>
<groupId>com.opengamma.strata</groupId>
<artifactId>strata-measure</artifactId>
<version>1.0.0</version>
</dependency>
```

The JAR files, along with the command line tool and examples, can also be obtained from
the [Strata Releases](https://github.com/OpenGamma/Strata/releases) page on GitHub.


Building Strata
---------------

The source code can be cloned using [git](http://git-scm.com/) from GitHub:

```
git clone https://github.com/OpenGamma/Strata.git
```
Expand All @@ -45,8 +60,7 @@ Status
------

Strata is well-maintained, tested, functional, and is being used in production.
We are currently making the final enhancements to Strata's APIs and functionality in preparation for version 1.0, expected in June 2016.
Until then, please be aware that breaking changes to classes and methods are possible at any time.
The API will be maintained with backwards compatibility in mind.


Strata modules
Expand Down
4 changes: 0 additions & 4 deletions modules/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,4 @@ This module is released as Open Source Software using the
[Apache v2.0 license](http://www.apache.org/licenses/LICENSE-2.0.html).
Commercial support is [available](http://www.opengamma.com/) from the authors.

Code in this directory is not currently released.
Classes and Methods may change at any time.
Once released it will be maintained with backwards compatibility in mind.

[![OpenGamma](http://developers.opengamma.com/res/display/default/chrome/masthead_logo.png "OpenGamma")](http://www.opengamma.com)
4 changes: 1 addition & 3 deletions modules/basics/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,6 @@ This module is released as Open Source Software using the
[Apache v2.0 license](http://www.apache.org/licenses/LICENSE-2.0.html).
Commercial support is [available](http://www.opengamma.com/) from the authors.

Code in this directory is not currently released.
Classes and Methods may change at any time.
Once released it will be maintained with backwards compatibility in mind.
Code in this module will be maintained with backwards compatibility in mind.

[![OpenGamma](http://developers.opengamma.com/res/display/default/chrome/masthead_logo.png "OpenGamma")](http://www.opengamma.com)
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,7 @@ public final class DayCounts {
* The denominator is determined by examining the frequency and the period end date (the date of the next coupon).
* If the frequency is annual then the denominator is 366 if the period contains February 29th,
* if not it is 365. The first day in the period is excluded, the last day is included.
* If the frequency is not annual, the the denominator is 366 if the period end date
* If the frequency is not annual, the denominator is 366 if the period end date
* is in a leap year, if not it is 365.
* <p>
* The method {@link DayCount#yearFraction(LocalDate, LocalDate)} will throw an
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ public final class HolidayCalendars {
* Obtains an instance from the set of standard holiday calendars.
* <p>
* The unique name identifies the calendar in the <i>standard</i> source of calendars.
* The standard source is loaded at startup based on the the {@code HolidayCalendar.ini} file.
* The standard source is loaded at startup based on the {@code HolidayCalendar.ini} file.
* <p>
* Applications should generally avoid using this method.
* Instead, applications should refer to holidays using {@link HolidayCalendarId},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
* The FpML concept provides a single key for floating rates of a variety of
* types, mixing Ibor, Overnight, Price and Swap indices.
* It also sometimes includes a source, such as 'Bloomberg' or 'Reuters'.
* This class matches the single concept and provided a bridge the the more
* This class matches the single concept and provided a bridge the more
* specific index implementations used for pricing.
* <p>
* The most common implementations are provided in {@link FloatingRateNames}.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -266,7 +266,7 @@ public final class PeriodicSchedule
* <p>
* During schedule generation, if this is present it will be used to override the start date
* of the first generated schedule period.
* If not present, then the the start of the first period will be the normal start date.
* If not present, then the start of the first period will be the normal start date.
*/
@PropertyDefinition(get = "optional")
private final AdjustableDate overrideStartDate;
Expand Down Expand Up @@ -1017,7 +1017,7 @@ public Optional<LocalDate> getLastRegularEndDate() {
* <p>
* During schedule generation, if this is present it will be used to override the start date
* of the first generated schedule period.
* If not present, then the the start of the first period will be the normal start date.
* If not present, then the start of the first period will be the normal start date.
* @return the optional value of the property, not null
*/
public Optional<AdjustableDate> getOverrideStartDate() {
Expand Down Expand Up @@ -1715,7 +1715,7 @@ public Builder lastRegularEndDate(LocalDate lastRegularEndDate) {
* <p>
* During schedule generation, if this is present it will be used to override the start date
* of the first generated schedule period.
* If not present, then the the start of the first period will be the normal start date.
* If not present, then the start of the first period will be the normal start date.
* @param overrideStartDate the new value
* @return this, for chaining, not null
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
/**
* Mock for serialization testing.
*/
@BeanDefinition
@BeanDefinition(style = "minimal")
public class MockSerBean implements Bean {

@PropertyDefinition
Expand Down Expand Up @@ -86,14 +86,6 @@ public void setBdConvention(BusinessDayConvention bdConvention) {
this.bdConvention = bdConvention;
}

/**
* Gets the the {@code bdConvention} property.
* @return the property, not null
*/
public final Property<BusinessDayConvention> bdConvention() {
return metaBean().bdConvention().createProperty(this);
}

//-----------------------------------------------------------------------
/**
* Gets the holidayCalendar.
Expand All @@ -111,14 +103,6 @@ public void setHolidayCalendar(HolidayCalendar holidayCalendar) {
this.holidayCalendar = holidayCalendar;
}

/**
* Gets the the {@code holidayCalendar} property.
* @return the property, not null
*/
public final Property<HolidayCalendar> holidayCalendar() {
return metaBean().holidayCalendar().createProperty(this);
}

//-----------------------------------------------------------------------
/**
* Gets the dayCount.
Expand All @@ -136,14 +120,6 @@ public void setDayCount(DayCount dayCount) {
this.dayCount = dayCount;
}

/**
* Gets the the {@code dayCount} property.
* @return the property, not null
*/
public final Property<DayCount> dayCount() {
return metaBean().dayCount().createProperty(this);
}

//-----------------------------------------------------------------------
/**
* Gets the objects.
Expand All @@ -161,14 +137,6 @@ public void setObjects(List<Object> objects) {
this.objects = objects;
}

/**
* Gets the the {@code objects} property.
* @return the property, not null
*/
public final Property<List<Object>> objects() {
return metaBean().objects().createProperty(this);
}

//-----------------------------------------------------------------------
@Override
public MockSerBean clone() {
Expand Down Expand Up @@ -297,39 +265,6 @@ public Map<String, MetaProperty<?>> metaPropertyMap() {
return metaPropertyMap$;
}

//-----------------------------------------------------------------------
/**
* The meta-property for the {@code bdConvention} property.
* @return the meta-property, not null
*/
public final MetaProperty<BusinessDayConvention> bdConvention() {
return bdConvention;
}

/**
* The meta-property for the {@code holidayCalendar} property.
* @return the meta-property, not null
*/
public final MetaProperty<HolidayCalendar> holidayCalendar() {
return holidayCalendar;
}

/**
* The meta-property for the {@code dayCount} property.
* @return the meta-property, not null
*/
public final MetaProperty<DayCount> dayCount() {
return dayCount;
}

/**
* The meta-property for the {@code objects} property.
* @return the meta-property, not null
*/
public final MetaProperty<List<Object>> objects() {
return objects;
}

//-----------------------------------------------------------------------
@Override
protected Object propertyGet(Bean bean, String propertyName, boolean quiet) {
Expand Down
4 changes: 1 addition & 3 deletions modules/calc/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,6 @@ This module is released as Open Source Software using the
[Apache v2.0 license](http://www.apache.org/licenses/LICENSE-2.0.html).
Commercial support is [available](http://www.opengamma.com/) from the authors.

Code in this directory is not currently released.
Classes and Methods may change at any time.
Once released it will be maintained with backwards compatibility in mind.
Code in this module will be maintained with backwards compatibility in mind.

[![OpenGamma](http://developers.opengamma.com/res/display/default/chrome/masthead_logo.png "OpenGamma")](http://www.opengamma.com)
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ public interface MarketDataFilter<T, I extends MarketDataId<T>> {
/**
* Obtains a filter that matches any value with the specified identifier type.
*
* @param <T> the type of market data handled by the filter
* @param type the type that is matched by this filter
* @return a filter matching the specified type
*/
Expand All @@ -40,6 +41,7 @@ public static <T> MarketDataFilter<T, MarketDataId<T>> ofIdType(Class<? extends
/**
* Obtains a filter that matches the specified identifier.
*
* @param <T> the type of market data handled by the filter
* @param id the identifier that is matched by this filter
* @return a filter matching the specified identifier
*/
Expand All @@ -50,6 +52,7 @@ public static <T> MarketDataFilter<T, MarketDataId<T>> ofId(MarketDataId<T> id)
/**
* Obtains a filter that matches the specified name.
*
* @param <T> the type of market data handled by the filter
* @param name the name that is matched by this filter
* @return a filter matching the specified name
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
import static com.opengamma.strata.calc.TestingMeasures.CASH_FLOWS;
import static com.opengamma.strata.calc.TestingMeasures.PAR_RATE;
import static com.opengamma.strata.calc.TestingMeasures.PRESENT_VALUE_MULTI_CCY;
import static com.opengamma.strata.collect.CollectProjectAssertions.assertThat;
import static org.assertj.core.api.Assertions.assertThat;

import java.util.Map;

Expand Down Expand Up @@ -68,7 +68,7 @@ public void multipleDerivedFunctionsForSameTargetTypeWithDependencyBetweenDerive
PAR_RATE, Result.success(5));
DelegateFn delegateFn = new DelegateFn(delegateResults);
DerivedFn derivedFn1 = new DerivedFn();
// This depends on the the measure calculated by derivedFn1
// This depends on the measure calculated by derivedFn1
DerivedFn derivedFn2 = new DerivedFn(PRESENT_VALUE_MULTI_CCY, ImmutableSet.of(BUCKETED_PV01));

CalculationFunctions calculationFunctions = CalculationFunctions.of(delegateFn);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
import static com.opengamma.strata.calc.TestingMeasures.CASH_FLOWS;
import static com.opengamma.strata.calc.TestingMeasures.PAR_RATE;
import static com.opengamma.strata.calc.TestingMeasures.PRESENT_VALUE_MULTI_CCY;
import static com.opengamma.strata.collect.CollectProjectAssertions.assertThat;
import static org.assertj.core.api.Assertions.assertThat;

import java.util.Map;

Expand Down Expand Up @@ -69,7 +69,7 @@ public void multipleDerivedFunctionsForSameTargetTypeWithDependencyBetweenDerive
PAR_RATE, Result.success(5));
DelegateFn delegateFn = new DelegateFn(delegateResults);
DerivedFn derivedFn1 = new DerivedFn();
// This depends on the the measure calculated by derivedFn1
// This depends on the measure calculated by derivedFn1
DerivedFn derivedFn2 = new DerivedFn(PRESENT_VALUE_MULTI_CCY, ImmutableSet.of(BUCKETED_PV01));

CalculationFunctions calculationFunctions = CalculationFunctions.of(delegateFn);
Expand Down
4 changes: 1 addition & 3 deletions modules/collect/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,6 @@ This module is released as Open Source Software using the
[Apache v2.0 license](http://www.apache.org/licenses/LICENSE-2.0.html).
Commercial support is [available](http://www.opengamma.com/) from the authors.

Code in this directory is not currently released.
Classes and Methods may change at any time.
Once released it will be maintained with backwards compatibility in mind.
Code in this module will be maintained with backwards compatibility in mind.

[![OpenGamma](http://developers.opengamma.com/res/display/default/chrome/masthead_logo.png "OpenGamma")](http://www.opengamma.com)
Original file line number Diff line number Diff line change
Expand Up @@ -600,7 +600,7 @@ public boolean isFailure() {
* Returns the actual result value if calculated successfully, throwing an
* exception if a failure occurred.
* <p>
* If this result is a failure then an an IllegalStateException will be thrown.
* If this result is a failure then an {@code IllegalStateException} will be thrown.
* To avoid this, call {@link #isSuccess()} or {@link #isFailure()} first.
* <p>
* Application code is recommended to use {@link #map(Function)} and
Expand Down
4 changes: 1 addition & 3 deletions modules/data/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,6 @@ This module is released as Open Source Software using the
[Apache v2.0 license](http://www.apache.org/licenses/LICENSE-2.0.html).
Commercial support is [available](http://www.opengamma.com/) from the authors.

Code in this directory is not currently released.
Classes and Methods may change at any time.
Once released it will be maintained with backwards compatibility in mind.
Code in this module will be maintained with backwards compatibility in mind.

[![OpenGamma](http://developers.opengamma.com/res/display/default/chrome/masthead_logo.png "OpenGamma")](http://www.opengamma.com)
5 changes: 2 additions & 3 deletions modules/loader/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,7 @@ This module is released as Open Source Software using the
[Apache v2.0 license](http://www.apache.org/licenses/LICENSE-2.0.html).
Commercial support is [available](http://www.opengamma.com/) from the authors.

Code in this directory is not currently released.
Classes and Methods may change at any time.
Once released it will be maintained with backwards compatibility in mind.
Code in this module will be maintained with backwards compatibility in mind.
Implementation packages, with "impl" in the name, are private and may change at any time.

[![OpenGamma](http://developers.opengamma.com/res/display/default/chrome/masthead_logo.png "OpenGamma")](http://www.opengamma.com)
4 changes: 1 addition & 3 deletions modules/market/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,6 @@ This module is released as Open Source Software using the
[Apache v2.0 license](http://www.apache.org/licenses/LICENSE-2.0.html).
Commercial support is [available](http://www.opengamma.com/) from the authors.

Code in this directory is not currently released.
Classes and Methods may change at any time.
Once released it will be maintained with backwards compatibility in mind.
Code in this module will be maintained with backwards compatibility in mind.

[![OpenGamma](http://developers.opengamma.com/res/display/default/chrome/masthead_logo.png "OpenGamma")](http://www.opengamma.com)
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,7 @@ public PointSensitivities mapSensitivities(DoubleUnaryOperator operator) {
* <p>
* This instance is immutable and unaffected by this method.
*
* @return a {@code PointSensitivities} based on this one, with the the sensitivities normalized
* @return a {@code PointSensitivities} based on this one, with the sensitivities normalized
*/
public PointSensitivities normalized() {
if (sensitivities.isEmpty()) {
Expand Down
5 changes: 1 addition & 4 deletions modules/math/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,8 @@ This module is released as Open Source Software using the
[Apache v2.0 license](http://www.apache.org/licenses/LICENSE-2.0.html).
Commercial support is [available](http://www.opengamma.com/) from the authors.

Code in this directory is not currently released.
Classes and Methods may change at any time.

This module is primarily intended to be internal implementation code.
Applications should avoid referencing this module directly.
No guarantee of backwards compatibility is given.
It may change at any point and in any way with NO GUARANTEES of backwards compatibility.

[![OpenGamma](http://developers.opengamma.com/res/display/default/chrome/masthead_logo.png "OpenGamma")](http://www.opengamma.com)
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ public class PSplineFitter {
* @param degree The degree of the basis function - 0 is piecewise constant, 1 is a sawtooth function (i.e. two straight lines joined in the middle), 2 gives three
* quadratic sections joined together, etc. For a large value of degree, the basis function tends to a gaussian
* @param lambda The weight given to the penalty function
* @param differenceOrder applies the penalty the the nth order difference in the weights, so a differenceOrder of 2 will penalise large 2nd derivatives etc
* @param differenceOrder applies the penalty the nth order difference in the weights, so a differenceOrder of 2 will penalise large 2nd derivatives etc
* @return The results of the fit
*/
public GeneralizedLeastSquareResults<Double> solve(List<Double> x, List<Double> y, List<Double> sigma, double xa, double xb, int nKnots, int degree, double lambda, int differenceOrder) {
Expand All @@ -53,7 +53,7 @@ public GeneralizedLeastSquareResults<Double> solve(List<Double> x, List<Double>
* (i.e. two straight lines joined in the middle), 2 gives three quadratic sections joined together, etc. For a large
* value of degree, the basis function tends to a gaussian
* @param lambda The weight given to the penalty function in each dimension
* @param differenceOrder applies the penalty the the nth order difference in the weights, so a differenceOrder of 2
* @param differenceOrder applies the penalty the nth order difference in the weights, so a differenceOrder of 2
* will penalise large 2nd derivatives etc. A difference differenceOrder can be used in each dimension
* @return The results of the fit
*/
Expand Down
Loading

0 comments on commit 96fb01e

Please sign in to comment.