Boolean
Relevant for most cash flow generating instruments, i.e., bond
, floater
, swap
, swaption
, callable_bond
If true
, interest is calculated on adjusted coupon periods, i.e., from start and end of each accrual period after adjustment according to bdc
and calendar
attributes. Refer cash flow generation for details.
String
JSON Risk recognizes unadjusted
, following
, modified following
, preceding
. For convenience, JSON Risk interprets only the first letter and ignores case. That is, for m
and M
, JSON Risk assumes the modified folling business day convention.
Relevant for most cash flow generating instruments, i.e., bond
, floater
, swap
, swaption
, callable_bond
This field determines how dates generated within schedule generation are adjusted, dependent on the field calendar
. Refer cash flow generation for details.
String
Contains the string target
, case insensitive, or the identifier of any calendar previously registered using the library.add_calendar
functionality.
Relevant for most cash flow generating instruments, i.e., bond
, floater
, swap
, swaption
, callable_bond
Reference to the calendar used to adjust dates generated within cash flow generation.
Natural
Any positive integer.
Relevant for callable_bond
The exercise dates for the instrument type callable_bond
are determined by the attribute first_exercise_date
which represents the first date the bond can be called, and the attribute call_tenor
.
If call_tenor
is not zero, the bond is callable on the date represented by first_exercise_date
and every call_tenor
months after that date. If call_tenor
is zero, the bond is callable on the date represented by first_exercise_date
only.
This field has no meaning in the current implementation but is reserved for representing a cap rate or cap rate schedule on the interest rate of floating rate instruments.
Date vector
Any array of dates or date strings representing the dates when conditions change.
Relevant for many cash flow generating instruments, i.e., bond
, floater
, callable_bond
.
Specified the dates when conditions, e.g., fixed_rate
, float_spread
or interest_capitalization
, change within a cashflow stream. Refer to cash flow generation for details.
String
Only relevant in the context of vector pricing.
Any string representing any currency the conversion rate was previously registered in the parameters object for vector pricing.
JSON Risk supports the day count conventions
act/act
according to the ISDA 2006 rules in section 4.16 (b), also recognized by JSON Risk as actual/actual
or a/a
act/365
according to the ISDA 2006 rules in section 4.16 (d), also recognized by JSON Risk as actual/365
, a/365
, actual/365 (fixed)
or act/365 (fixed)
act/360
according to the ISDA 2006 rules in section 4.16 (e), also recognized by JSON Risk as actual/360
, a/360
, or french
30u/360
according to the ISDA 2006 rules in section 4.16 (f), also recognized by JSON Risk as 30/360
, bond basis
, or bond
30e/360
according to the ISDA 2006 rules in section 4.16 (g), also recognized by JSON Risk as eurobond basis
or eurobond
30g/360
according to the ISDA 2006 rules in section 4.16 (h), also recognized by JSON Risk as 30e/360 (isda)
or 30/360 german
For convenience, JSON Risk ignores case and supports all specifications mentioned above. For example, it makes no difference if 30E/360
is specified or EuRoBoNd
.
Relevant for most cash flow generating instruments, i.e., bond
, floater
, swap
, swaption
, callable_bond
Determines how interest amounts are calculated for each accrual period generated within schedule generation.
String
Only relevant in the context of vector pricing.
Any string representing any curve previously registered in the parameters object for vector pricing.
The curve referenced by this field is applied for discounting cash flows. For the instruments bond
, floater
and callable_bond
, discounting is additionally affected by spread_curve
as well as residual_spread
.
Date
Relevant for most cash flow generating instruments, i.e., bond
, floater
, swap
, swaption
, callable_bond
Start date for schedule generation.
Boolean
Relevant for callable_bond
If true
, present value returns only the embedded option price. Defaults to false.
Date
Relevant for most cash flow generating instruments, i.e., bond
, floater
, swap
, swaption
, callable_bond
Used fo specifying an explicit initial stub for the interest schedule. Marks the end date of the initial interest rate period within schedule generation.
Date
Relevant for swaption
and callable_bond
.
For swaption
instruments, this is the expiry date, i.e., the date when the swaption is exercised. The exercise dates for the instrument type callable_bond
are determined by the attribute first_exercise_date
which represents the first date the bond can be called, and the attribute call_tenor
.
Number
or Number vector
Relevant for most cash flow generating instruments, i.e., bond
, floater
, swap
, swaption
, callable_bond
Represents the fixed rate paid on a bond
instrument, a callable_bond
instrument or the fixed leg of a swap
or swaption
instrument. For a floater
instrument, this must be left empty, otherwise the floater is treated as a fixed rate bond.
When the field conditions_valid_until
is populated with a vector of dates, fixed_rate
may contain a vector of numbers of the same length and each entry in fixed_rate
is considered the valid interest rate until the corresponding entry in conditions_valid_until
.
Date
Relevant for all instruments paying floating rate coupons, i.e., floater
, swap
, swaption
Used fo specifying an explicit initial stub for the fixing schedule. Marks the end date of the initial fixing period within schedule generation.
Date
Relevant for all instruments paying floating rate coupons, i.e., floater
, swap
, swaption
Used fo specifying an explicit final stub for the fixing schedule. Marks the start date of the final fixing period within schedule generation.
Boolean
Relevant for all instruments paying floating rate coupons, i.e., floater
, swap
, swaption
Used fo specifying an implicit final stub for the fixing schedule. A value of true
causes the fixing schedule to be rolled out forward within schedule generation. Ignored when fixing_next_to_last_date
is populated.
Boolean
Relevant for all instruments paying floating rate coupons, i.e., floater
, swap
, swaption
If start and end dates within fixing schedule generation are not aligned with fixing_tenor
, a value of true
specifies a long stub to be generated instead of a short stub.
String
JSON Risk recognizes unadjusted
, following
, modified following
, preceding
. For convenience, JSON Risk interprets only the first letter and ignores case. That is, for m
and M
, JSON Risk assumes the modified folling business day convention.
Relevant for swap
and swaption
Relevant for the floating rate leg only. This field determines how dates generated within schedule generation are adjusted, dependent on the field calendar
. Refer cash flow generation for details.
Number
Relevant for floater
, swap
and swaption
This field specifies the interest rate to be used on floating rate legs for fixing periods starting in the past.
String
JSON Risk supports the day count conventions
act/act
according to the ISDA 2006 rules in section 4.16 (b), also recognized by JSON Risk as actual/actual
or a/a
act/365
according to the ISDA 2006 rules in section 4.16 (d), also recognized by JSON Risk as actual/365
, a/365
, actual/365 (fixed)
or act/365 (fixed)
act/360
according to the ISDA 2006 rules in section 4.16 (e), also recognized by JSON Risk as actual/360
, a/360
, or french
30u/360
according to the ISDA 2006 rules in section 4.16 (f), also recognized by JSON Risk as 30/360
, bond basis
, or bond
30e/360
according to the ISDA 2006 rules in section 4.16 (g), also recognized by JSON Risk as eurobond basis
or eurobond
30g/360
according to the ISDA 2006 rules in section 4.16 (h), also recognized by JSON Risk as 30e/360 (isda)
or 30/360 german
For convenience, JSON Risk ignores case and supports all specifications mentioned above. For example, it makes no difference if 30E/360
is specified or EuRoBoNd
.
Relevant for swap
and swaption
Relevant for the floating rate leg only. Determines how interest amounts are calculated for each accrual period generated within schedule generation.
Number
or Number vector
Relevant for floater
, swap
and swaption
Relevant for the floating rate leg only. Represents a spread over the floating rate.
When the field conditions_valid_until
is populated with a vector of dates, float_spread
may contain a vector of numbers of the same length and each entry in float_spread
is considered the valid spread over float until the corresponding entry in conditions_valid_until
.
Natural
Must be zero or positive.
Relevant for swap
and swaption
Only relevant for the floating rate leg. A value of zero indicates interest is paid at maturity. Any other positive value is used within schedule generation for rolling out monthly dates.
Number
This field has no meaning in the current implementation but is reserved for representing a cap rate or cap rate schedule on the interest rate of floating rate instruments.
String
Only relevant in the context of vector pricing.
Any string representing any curve previously registered in the parameters object for vector pricing.
Number
Only relevant for callable_bond
Overrides the internal volatility parameter in the Hull-White model used to evaluate options with a constant value. In case this parameter is set, the automatic calibration against a basket of swaptions is skipped. This is useful for analysis purposes.
Boolean
or Boolean vector
Relevant for bond
, floater
, callable_bond
If true, a notional payment is generated at each interest payment date within cash flow generation. The amount of the generated notional payment is calculated by changing the sign of the interest payment.
When the field conditions_valid_until
is populated with a vector of dates, interest_capitalization
may contain a vector of booleans of the same length and each entry in interest_capitalization
is considered valid until the corresponding entry in conditions_valid_until
.
Boolean
Relevant for swap
, swaption
A value of true
marks a swap
instrument as a payer swap and marks a swaption
instrument as a payer swaption. Defaults to false
, implying a receiver swap or, respecitvely, a receiver swaption.
Boolean
Relevant for swaption
A value of true
marks a swaption as short, that is, the counterparty holds th eexercise right.
Boolean
Relevant for bond
, floater
, callable_bond
If true
, the field repay_amount
is overriden and the repayment amount is calculated by dividing the notional
by the number of repayments implied by the repayment schedule.
This field has no meaning in the current implementation but is reserved for representing the market value or, respectively, the dirty price of a position.
Date
Relevant for all cash flow generating instruments, i.e., bond
, floater
, swap
, swaption
, callable_bond
, fxterm
The date when all remaining notionals are paid back. In case of fxterm
instruments, this is the date when notional
is paid, as opposed to notional_2
which is paid at maturity_2
.
For all instruments except fxterm
, the final payment date is subject to the business day convention in bdc
, whereas the unadjusted maturity is used for schedule generation.
Date
Only relevant for fxterm
The date when notional_2
is paid, as opposed to notional
which is paid at maturity
.
Number
Only relevant for callable_bond
Overrides the internal default value of zero for the mean reversion parameter in the Hull-White model used to evaluate options.
Date
Relevant for most cash flow generating instruments, i.e., bond
, floater
, swap
, swaption
, callable_bond
Used fo specifying an explicit final stub for the interest schedule. Marks the start date of the final interest accrual period within schedule generation.
Number
Relevant for all cash flow generating instruments, i.e., bond
, floater
, swap
, swaption
, callable_bond
, fxterm
The notional of an instrument. In case of amortizing instruments, this is the initial notional. In case of fxterm
instruments, this is the near leg notional, i.e., the notional paid at maturity
as opposed to maturity_2
Number
Only relevant for fxterm
Corresponds to the far leg notional of an fxterm
instrument, i.e., the notional paid at maturity_2
.
Number
Only relevant for callable_bond
This field is used to model an additional spread the holder of a callable bond would have to pay if they replace the callable bond with a cheaper bond. Positive values of opportunity_spread
lower the value of the call option.
Number
Zero, positive and negative values accepted.
Relevant for equity
The number of pieces of equity held in the equity position.
Number
Zero, positive and negative values accepted.
Relevant for bond
, floater
, callable_bond
The amount repaid at each date implied by the repayment schedule. If notional
is positive, a positive value marks cash inflows. If notional
is negative, a positive value marks cash outflows. A zero value switsches off amortization.
When the field conditions_valid_until
is populated with a vector of dates, repay_amount
may contain a vector of numbers of the same length and each entry in repay_amount
is considered valid until the corresponding entry in conditions_valid_until
.
Date
Relevant for bond
, floater
, callable_bond
Used fo specifying an explicit initial stub for the repayment schedule. Marks first date when repayments occur within schedule generation.
Date
Relevant for bond
, floater
, callable_bond
Used fo specifying an explicit final stub for the repayment schedule. Marks the last date before maturity where repayment occors within schedule generation.
Boolean
Relevant for bond
, floater
, callable_bond
Used fo specifying an implicit final stub for the repayment schedule. A value of true
causes the repayment schedule to be rolled out forward within schedule generation. Ignored when repay_next_to_last_date
is populated.
Boolean
Relevant for bond
, floater
, callable_bond
If start and end dates within repayment schedule generation are not aligned with repay_tenor
, a value of true
specifies a long stub to be generated instead of a short stub.
Natural
Must be zero or positive.
Relevant for bond
, floater
, callable_bond
A value of zero indicates a bullet instrument, i.e., all notional is paid back at maturity. Any other positive value is used within repayment schedule generation for rolling out monthly dates.
Number
Relevant for bond
, floater
, callable_bond
Within discounted cash flow valuation, this number is interpreted as an additional spread with day count convention act/365
and annual compounding that is added on top of the discount curve and the spread curve.
Natural
Must be zero or positive
Relevant for bond
, floater
, callable_bond
Within discounted cash flow valuation, this specifies a number of business days where payments are not included in the present value.
String
Only relevant in the context of vector pricing
Relevant for bond
, floater
, callable_bond
Any string representing any curve previously registered in the parameters object for vector pricing.
The curve referenced by this field is applied for discounting cash flows, in addition to the curve specified under disc_curve
as well as the residual_spread
.
Boolean
Relevant for most cash flow generating instruments, i.e., bond
, floater
, swap
, swaption
, callable_bond
Used fo specifying an implicit final stub for the interest schedule. A value of true
causes the interest schedule to be rolled out forward within schedule generation. Ignored when next_to_last_date
is populated.
Boolean
Relevant for most cash flow generating instruments, i.e., bond
, floater
, swap
, swaption
, callable_bond
If start and end dates within interest schedule generation are not aligned with tenor
, a value of true
specifies a long stub to be generated instead of a short stub.
String
Only relevant in the context of vector pricing.
Relevant for swaption
and callable_bond
instruments.
Any string representing any surface previously registered in the parameters object for vector pricing.
Bachelier volatility curve object used for valuation.
Natural
Must be zero or positive.
Relevant for most cash flow generating instruments, i.e., bond
, floater
, swap
, swaption
, callable_bond
A value of zero indicates interest is paid at maturity. Any other positive value is used within schedule generation for rolling out monthly dates.
String
Only relevant in the context of vector pricing.
Either bond
, floater
, swap
, swaption
, callable_bond
or fxterm
The vector pricing algorithm uses this field to determine
For example,
bond
type instrument, a fixed_income
internal object is created and a discount curve and a spread curve are assigned,swap
type instrument, a swap
internal object is created and a discount curve and a forward curve are assigned,floater
type instrument, a fixed_income
internal object is created and a discount curve, a spread curve and a forward curve are assigned,callable_bond
type instrument, a callable_fixed_income
internal object is created and a discount curve, a forward curve, a spread curve and a surface are assigned.equity
type instrument, an equity
internal object is created and a quote is assigned.JSON risk is published under the MIT License.
Library
Minified Library
App (.tar.gz)
App (.tar.bz2)
App (.zip)
This project is maintained by