You can easily model a financial instrument into visual building blocks that represent contract code using Marlowe. The logic behind Marlowe encourages good modeling behavior because it offers you simple input choices that are used to interact with real-world inputs about your financial instruments. It follows a push and pull model and can be used both on the chain and off the chain.
Meadow, the Marlowe emulator, includes the domain specific language (DSL) itself and a set of tools that you can get started with. Your contracts can be simulated, using the Meadow interface, and rigorously tested and verified before they are executed. Here you can play around with the building blocks of your instruments and test how your financial products are represented using the emulator.