{
  "version": "1.0.0",
  "convention": "Regular noncallable fixed-coupon bullet bond, valued on a coupon date before the next full coupon period; nominal annual yield compounded at coupon frequency; no accrued interest, default, optionality, tax, costs or reinvestment.",
  "bond": {
    "face": 1000,
    "couponPct": 4,
    "years": 5,
    "yieldPct": 5,
    "frequency": 2,
    "shockBp": 100,
    "price": 956.2396803451462,
    "pricePer100": 95.62396803451462,
    "annualCoupon": 40,
    "totalCoupons": 200,
    "macaulay": 4.569507732461663,
    "modified": 4.458056324352842,
    "convexity": 23.19440990761669,
    "dv01": 0.42629703545598197,
    "schedule": [
      {
        "period": 1,
        "years": 0.5,
        "coupon": 20,
        "principal": 0,
        "amount": 20,
        "presentValue": 19.512195121951223
      },
      {
        "period": 2,
        "years": 1,
        "coupon": 20,
        "principal": 0,
        "amount": 20,
        "presentValue": 19.03628792385485
      },
      {
        "period": 3,
        "years": 1.5,
        "coupon": 20,
        "principal": 0,
        "amount": 20,
        "presentValue": 18.57198821839498
      },
      {
        "period": 4,
        "years": 2,
        "coupon": 20,
        "principal": 0,
        "amount": 20,
        "presentValue": 18.119012895995105
      },
      {
        "period": 5,
        "years": 2.5,
        "coupon": 20,
        "principal": 0,
        "amount": 20,
        "presentValue": 17.677085752190347
      },
      {
        "period": 6,
        "years": 3,
        "coupon": 20,
        "principal": 0,
        "amount": 20,
        "presentValue": 17.245937319210096
      },
      {
        "period": 7,
        "years": 3.5,
        "coupon": 20,
        "principal": 0,
        "amount": 20,
        "presentValue": 16.825304701668387
      },
      {
        "period": 8,
        "years": 4,
        "coupon": 20,
        "principal": 0,
        "amount": 20,
        "presentValue": 16.414931416261844
      },
      {
        "period": 9,
        "years": 4.5,
        "coupon": 20,
        "principal": 0,
        "amount": 20,
        "presentValue": 16.01456723537741
      },
      {
        "period": 10,
        "years": 5,
        "coupon": 20,
        "principal": 1000,
        "amount": 1020,
        "presentValue": 796.8223697602419
      }
    ],
    "shiftedYieldPct": 6,
    "shiftedPrice": 914.6979716322415,
    "pnl": -41.541708712904665,
    "exactPct": -4.344277859073009,
    "durationOnlyPct": -4.458056324352842,
    "quadraticPct": -4.342084274814758,
    "approximationErrorPp": 0.0021935842582507803
  },
  "zero": {
    "face": 1000,
    "couponPct": 0,
    "years": 10,
    "yieldPct": 4,
    "frequency": 1,
    "shockBp": 100,
    "price": 675.5641688257987,
    "pricePer100": 67.55641688257987,
    "annualCoupon": 0,
    "totalCoupons": 0,
    "macaulay": 10,
    "modified": 9.615384615384615,
    "convexity": 101.70118343195263,
    "dv01": 0.649580931563268,
    "schedule": [
      {
        "period": 1,
        "years": 1,
        "coupon": 0,
        "principal": 0,
        "amount": 0,
        "presentValue": 0
      },
      {
        "period": 2,
        "years": 2,
        "coupon": 0,
        "principal": 0,
        "amount": 0,
        "presentValue": 0
      },
      {
        "period": 3,
        "years": 3,
        "coupon": 0,
        "principal": 0,
        "amount": 0,
        "presentValue": 0
      },
      {
        "period": 4,
        "years": 4,
        "coupon": 0,
        "principal": 0,
        "amount": 0,
        "presentValue": 0
      },
      {
        "period": 5,
        "years": 5,
        "coupon": 0,
        "principal": 0,
        "amount": 0,
        "presentValue": 0
      },
      {
        "period": 6,
        "years": 6,
        "coupon": 0,
        "principal": 0,
        "amount": 0,
        "presentValue": 0
      },
      {
        "period": 7,
        "years": 7,
        "coupon": 0,
        "principal": 0,
        "amount": 0,
        "presentValue": 0
      },
      {
        "period": 8,
        "years": 8,
        "coupon": 0,
        "principal": 0,
        "amount": 0,
        "presentValue": 0
      },
      {
        "period": 9,
        "years": 9,
        "coupon": 0,
        "principal": 0,
        "amount": 0,
        "presentValue": 0
      },
      {
        "period": 10,
        "years": 10,
        "coupon": 0,
        "principal": 1000,
        "amount": 1000,
        "presentValue": 675.5641688257987
      }
    ],
    "shiftedYieldPct": 5,
    "shiftedPrice": 613.9132535407591,
    "pnl": -61.65091528503956,
    "exactPct": -9.125841501066478,
    "durationOnlyPct": -9.615384615384615,
    "quadraticPct": -9.106878698224852,
    "approximationErrorPp": 0.018962802841626214
  },
  "spread": {
    "face": 1000,
    "couponPct": 4,
    "years": 5,
    "yieldPct": 5,
    "frequency": 2,
    "shockBp": 75,
    "price": 956.2396803451462,
    "pricePer100": 95.62396803451462,
    "annualCoupon": 40,
    "totalCoupons": 200,
    "macaulay": 4.569507732461663,
    "modified": 4.458056324352842,
    "convexity": 23.19440990761669,
    "dv01": 0.42629703545598197,
    "schedule": [
      {
        "period": 1,
        "years": 0.5,
        "coupon": 20,
        "principal": 0,
        "amount": 20,
        "presentValue": 19.512195121951223
      },
      {
        "period": 2,
        "years": 1,
        "coupon": 20,
        "principal": 0,
        "amount": 20,
        "presentValue": 19.03628792385485
      },
      {
        "period": 3,
        "years": 1.5,
        "coupon": 20,
        "principal": 0,
        "amount": 20,
        "presentValue": 18.57198821839498
      },
      {
        "period": 4,
        "years": 2,
        "coupon": 20,
        "principal": 0,
        "amount": 20,
        "presentValue": 18.119012895995105
      },
      {
        "period": 5,
        "years": 2.5,
        "coupon": 20,
        "principal": 0,
        "amount": 20,
        "presentValue": 17.677085752190347
      },
      {
        "period": 6,
        "years": 3,
        "coupon": 20,
        "principal": 0,
        "amount": 20,
        "presentValue": 17.245937319210096
      },
      {
        "period": 7,
        "years": 3.5,
        "coupon": 20,
        "principal": 0,
        "amount": 20,
        "presentValue": 16.825304701668387
      },
      {
        "period": 8,
        "years": 4,
        "coupon": 20,
        "principal": 0,
        "amount": 20,
        "presentValue": 16.414931416261844
      },
      {
        "period": 9,
        "years": 4.5,
        "coupon": 20,
        "principal": 0,
        "amount": 20,
        "presentValue": 16.01456723537741
      },
      {
        "period": 10,
        "years": 5,
        "coupon": 20,
        "principal": 1000,
        "amount": 1020,
        "presentValue": 796.8223697602419
      }
    ],
    "shiftedYieldPct": 5.75,
    "shiftedPrice": 924.8823150475425,
    "pnl": -31.35736529760368,
    "exactPct": -3.2792369886057715,
    "durationOnlyPct": -3.3435422432646313,
    "quadraticPct": -3.2783079653994593,
    "approximationErrorPp": 0.0009290232063121628
  },
  "ladder": {
    "version": "1.0.0",
    "convention": "Regular noncallable fixed-coupon bullet bond, valued on a coupon date before the next full coupon period; nominal annual yield compounded at coupon frequency; no accrued interest, default, optionality, tax, costs or reinvestment.",
    "frequency": 2,
    "rows": [
      {
        "label": "Two-year rung",
        "face": 10000,
        "couponPct": 3,
        "years": 2,
        "yieldPct": 4,
        "shockBp": 100,
        "frequency": 2,
        "price": 9809.613565066285,
        "pricePer100": 98.09613565066286,
        "annualCoupon": 300,
        "totalCoupons": 600,
        "macaulay": 1.9556111232432731,
        "modified": 1.917265807101248,
        "convexity": 4.663860161550672,
        "dv01": 1.8807636669178163,
        "schedule": [
          {
            "period": 1,
            "years": 0.5,
            "coupon": 150,
            "principal": 0,
            "amount": 150,
            "presentValue": 147.05882352941177
          },
          {
            "period": 2,
            "years": 1,
            "coupon": 150,
            "principal": 0,
            "amount": 150,
            "presentValue": 144.17531718569782
          },
          {
            "period": 3,
            "years": 1.5,
            "coupon": 150,
            "principal": 0,
            "amount": 150,
            "presentValue": 141.34835018205666
          },
          {
            "period": 4,
            "years": 2,
            "coupon": 150,
            "principal": 10000,
            "amount": 10150,
            "presentValue": 9377.03107416912
          }
        ],
        "shiftedYieldPct": 5,
        "shiftedPrice": 9623.802579199022,
        "pnl": -185.8109858672633,
        "exactPct": -1.894172330385857,
        "durationOnlyPct": -1.9172658071012478,
        "quadraticPct": -1.8939465062934944,
        "approximationErrorPp": 0.00022582409236271417
      },
      {
        "label": "Five-year rung",
        "face": 10000,
        "couponPct": 4,
        "years": 5,
        "yieldPct": 4.5,
        "shockBp": 75,
        "frequency": 2,
        "price": 9778.344591278288,
        "pricePer100": 97.78344591278288,
        "annualCoupon": 400,
        "totalCoupons": 2000,
        "macaulay": 4.575345624627525,
        "modified": 4.474665647557482,
        "convexity": 23.346234284870835,
        "dv01": 4.375482263257247,
        "schedule": [
          {
            "period": 1,
            "years": 0.5,
            "coupon": 200,
            "principal": 0,
            "amount": 200,
            "presentValue": 195.59902200488997
          },
          {
            "period": 2,
            "years": 1,
            "coupon": 200,
            "principal": 0,
            "amount": 200,
            "presentValue": 191.29488704634718
          },
          {
            "period": 3,
            "years": 1.5,
            "coupon": 200,
            "principal": 0,
            "amount": 200,
            "presentValue": 187.08546410400703
          },
          {
            "period": 4,
            "years": 2,
            "coupon": 200,
            "principal": 0,
            "amount": 200,
            "presentValue": 182.96866905037365
          },
          {
            "period": 5,
            "years": 2.5,
            "coupon": 200,
            "principal": 0,
            "amount": 200,
            "presentValue": 178.94246361894733
          },
          {
            "period": 6,
            "years": 3,
            "coupon": 200,
            "principal": 0,
            "amount": 200,
            "presentValue": 175.00485439505852
          },
          {
            "period": 7,
            "years": 3.5,
            "coupon": 200,
            "principal": 0,
            "amount": 200,
            "presentValue": 171.15389182890806
          },
          {
            "period": 8,
            "years": 4,
            "coupon": 200,
            "principal": 0,
            "amount": 200,
            "presentValue": 167.38766927032574
          },
          {
            "period": 9,
            "years": 4.5,
            "coupon": 200,
            "principal": 0,
            "amount": 200,
            "presentValue": 163.7043220247685
          },
          {
            "period": 10,
            "years": 5,
            "coupon": 200,
            "principal": 10000,
            "amount": 10200,
            "presentValue": 8165.203347934662
          }
        ],
        "shiftedYieldPct": 5.25,
        "shiftedPrice": 9456.512335260928,
        "pnl": -321.8322560173601,
        "exactPct": -3.2912754609242922,
        "durationOnlyPct": -3.3559992356681114,
        "quadraticPct": -3.290337951741912,
        "approximationErrorPp": 0.0009375091823802251
      },
      {
        "label": "Ten-year rung",
        "face": 10000,
        "couponPct": 5,
        "years": 10,
        "yieldPct": 5,
        "shockBp": 50,
        "frequency": 2,
        "price": 10000.000000000015,
        "pricePer100": 100.00000000000016,
        "annualCoupon": 500,
        "totalCoupons": 5000,
        "macaulay": 7.989445671393992,
        "modified": 7.794581142823407,
        "convexity": 73.62873142656363,
        "dv01": 7.794581142823419,
        "schedule": [
          {
            "period": 1,
            "years": 0.5,
            "coupon": 250,
            "principal": 0,
            "amount": 250,
            "presentValue": 243.90243902439028
          },
          {
            "period": 2,
            "years": 1,
            "coupon": 250,
            "principal": 0,
            "amount": 250,
            "presentValue": 237.95359904818562
          },
          {
            "period": 3,
            "years": 1.5,
            "coupon": 250,
            "principal": 0,
            "amount": 250,
            "presentValue": 232.14985272993724
          },
          {
            "period": 4,
            "years": 2,
            "coupon": 250,
            "principal": 0,
            "amount": 250,
            "presentValue": 226.4876611999388
          },
          {
            "period": 5,
            "years": 2.5,
            "coupon": 250,
            "principal": 0,
            "amount": 250,
            "presentValue": 220.96357190237933
          },
          {
            "period": 6,
            "years": 3,
            "coupon": 250,
            "principal": 0,
            "amount": 250,
            "presentValue": 215.5742164901262
          },
          {
            "period": 7,
            "years": 3.5,
            "coupon": 250,
            "principal": 0,
            "amount": 250,
            "presentValue": 210.31630877085482
          },
          {
            "period": 8,
            "years": 4,
            "coupon": 250,
            "principal": 0,
            "amount": 250,
            "presentValue": 205.18664270327304
          },
          {
            "period": 9,
            "years": 4.5,
            "coupon": 250,
            "principal": 0,
            "amount": 250,
            "presentValue": 200.1820904422176
          },
          {
            "period": 10,
            "years": 5,
            "coupon": 250,
            "principal": 0,
            "amount": 250,
            "presentValue": 195.29960043143183
          },
          {
            "period": 11,
            "years": 5.5,
            "coupon": 250,
            "principal": 0,
            "amount": 250,
            "presentValue": 190.53619554286033
          },
          {
            "period": 12,
            "years": 6,
            "coupon": 250,
            "principal": 0,
            "amount": 250,
            "presentValue": 185.88897126132716
          },
          {
            "period": 13,
            "years": 6.5,
            "coupon": 250,
            "principal": 0,
            "amount": 250,
            "presentValue": 181.35509391348995
          },
          {
            "period": 14,
            "years": 7,
            "coupon": 250,
            "principal": 0,
            "amount": 250,
            "presentValue": 176.9317989399902
          },
          {
            "period": 15,
            "years": 7.5,
            "coupon": 250,
            "principal": 0,
            "amount": 250,
            "presentValue": 172.61638920974656
          },
          {
            "period": 16,
            "years": 8,
            "coupon": 250,
            "principal": 0,
            "amount": 250,
            "presentValue": 168.4062333753625
          },
          {
            "period": 17,
            "years": 8.5,
            "coupon": 250,
            "principal": 0,
            "amount": 250,
            "presentValue": 164.29876426864635
          },
          {
            "period": 18,
            "years": 9,
            "coupon": 250,
            "principal": 0,
            "amount": 250,
            "presentValue": 160.29147733526474
          },
          {
            "period": 19,
            "years": 9.5,
            "coupon": 250,
            "principal": 0,
            "amount": 250,
            "presentValue": 156.3819291075754
          },
          {
            "period": 20,
            "years": 10,
            "coupon": 250,
            "principal": 10000,
            "amount": 10250,
            "presentValue": 6255.277164303016
          }
        ],
        "shiftedYieldPct": 5.5,
        "shiftedPrice": 9619.318696655597,
        "pnl": -380.68130334441776,
        "exactPct": -3.8068130334441674,
        "durationOnlyPct": -3.8972905714117037,
        "quadraticPct": -3.8052546571284993,
        "approximationErrorPp": 0.0015583763156681307
      }
    ],
    "face": 30000,
    "price": 29587.95815634459,
    "shiftedPrice": 28699.633611115547,
    "pnl": -888.324545229043,
    "exactPct": -3.0023178366519243,
    "dv01": 14.050827072998482,
    "modified": 4.748832953850025,
    "cashflows": [
      {
        "year": 1,
        "coupon": 1200,
        "principal": 0,
        "total": 1200
      },
      {
        "year": 2,
        "coupon": 1200,
        "principal": 10000,
        "total": 11200
      },
      {
        "year": 3,
        "coupon": 900,
        "principal": 0,
        "total": 900
      },
      {
        "year": 4,
        "coupon": 900,
        "principal": 0,
        "total": 900
      },
      {
        "year": 5,
        "coupon": 900,
        "principal": 10000,
        "total": 10900
      },
      {
        "year": 6,
        "coupon": 500,
        "principal": 0,
        "total": 500
      },
      {
        "year": 7,
        "coupon": 500,
        "principal": 0,
        "total": 500
      },
      {
        "year": 8,
        "coupon": 500,
        "principal": 0,
        "total": 500
      },
      {
        "year": 9,
        "coupon": 500,
        "principal": 0,
        "total": 500
      },
      {
        "year": 10,
        "coupon": 500,
        "principal": 10000,
        "total": 10500
      }
    ]
  }
}
