Updated by Sameer Soleja

Cascading (also called stepwise in Molecule terms) is a granular and flexible way to see a trade's volume settle out during the delivery month. However, it produces a lot more data than the alternative, Decay. The most clear way to describe cascading is by example.


In this example, consider a monthly frequency product that is set up to cascade into dailies, and then to hourlies. In this example, the trade is entered for April.

  • The trade is entered for the April (monthly) product.
  • Molecule automatically generates daily and hourly trades related to it. To make sure there is never duplication in reporting:
    • For the user-entered monthly, the trade date is set to today. The settlement date is set to the day before the flow month. This means that valuation rows will be created only for as-of dates between those two days, inclusive.
    • The Molecule-generated daily is a 30-day strip, with a tenor of the full delivery month. Its trade date is set to the first of the delivery month. Its settlement date is set to the day before flow. So, valuation rows for each leg will be created only for as-of dates between those two days.
    • The Molecule-generated hourlies are a single trade for each day in the delivery month. Each trade is a 24-hour hourly strip. Each trade's trade date is set to the delivery date. Each leg's settlement date is also set to the delivery date. So, valuation rows for each leg will be created only once.

The resulting valuation row counts will look like:


The children/grandchildren of cascading trades may need quantities and prices scaled. Molecule scales quantities today.


  • As you can imagine, cascading creates a fair number of trade and reporting rows! Molecule doesn't have an issue with this volume. What important is that the reporting rows never overlap.
  • If you view the Trades screen in grouped mode, you can avoid seeing the auto-generated trades as well.
  • Molecule has special treatment for the portions of a cascading trade that aren't all the way at the bottom. When, for example, the monthly expires, it doesn't print a proper realized row. Instead, it marks the trade as if it's still alive through its last day.
  • If you want to make a change to a cascading trade, change the highest-level trade in the series (in this example, the monthly). Molecule should take care of the rest.

Setting it Up

Cascading is set up by the Molecule Customer Success team. Of note, it takes a bit of work -- so it's likely to take longer than most requests, and likely to involve you in the process of setup and validation.

How did we do?