Table of Contents

Class ConvertibleBond

Namespace
NanoQL.Instruments
Assembly
NanoQL.dll

The convertible bond base class: a bond its holder may convert into shares at the conversion ratio, under an exercise, with a schedule of calls, soft calls and puts.

public abstract class ConvertibleBond : Bond
Inheritance
ConvertibleBond
Derived
Inherited Members

Remarks

Its engine (BinomialConvertibleEngine) reads what QuantLib's setupArguments computes for the settlement date of the context it prices under: the callabilities not yet occurred there, their clean prices made dirty with the bond's accrued amount at the call date, and each one's trigger, a soft call's own or none. A plain bond's engine (DiscountingBondEngine) refuses a convertible bond, as QuantLib's refuses it when it sets up its arguments, with "wrong argument type".

Most members inherited from Bond, such as the yield and the yield-based prices, refer to the underlying plain-vanilla bond and don't take convertibility and callability into account, as QuantLib warns of its own.

Unsealed, an extension point, as QuantLib's base is: the zero-coupon, fixed-coupon and floating-rate convertibles derive from it. Its protected constructor follows Bond's construction contract: a derived constructor writes the cash flows and builds the redemption, QuantLib's notional of 100.

Constructors

ConvertibleBond(Exercise, double, IEnumerable<Callability>, Date?, int, Schedule, double)

Initializes a new instance of the ConvertibleBond class, with no cash flows yet.

protected ConvertibleBond(Exercise exercise, double conversionRatio, IEnumerable<Callability> callability, Date? issueDate, int settlementDays, Schedule schedule, double redemption)

Parameters

exercise Exercise

The conversion's exercise.

conversionRatio double

The number of shares one bond converts into.

callability IEnumerable<Callability>

The calls, soft calls and puts, copied, the last one the latest.

issueDate Date?

The issue date, or null for none.

settlementDays int

The settlement days.

schedule Schedule

The schedule, whose calendar is the bond's and whose end date its maturity.

redemption double

The redemption, per 100 of notional.

Remarks

QuantLib checks the last callability's date only, not the latest's, as here. Its exercise and its conversion ratio are checked when the bond is priced, as QuantLib's are, but the exercise's null, which is refused here.

Exceptions

ArgumentNullException

The exercise, the callabilities or the schedule is null.

ArgumentOutOfRangeException

settlementDays is negative.

ArgumentException

The issue date is default(Date); a callability is null; or the last callability is after the maturity date.

NanoQLException

The schedule is empty.

Properties

Callability

Gets the calls, soft calls and puts.

public ImmutableArray<Callability> Callability { get; }

Property Value

ImmutableArray<Callability>

ConversionRatio

Gets the number of shares one bond converts into.

public double ConversionRatio { get; }

Property Value

double