I’ve noticed some glaring deficiencies with ThinkorSwim’s risk platform. Relative to the risk ecosystem at my previous job, ThinkorSwim offers only a barebones conceptual understanding of risk. While undeniably UX friendly, the risk platform lacks some obvious analytics and un-intuitively organizes other risk data.
Every morning when I start my trading day, I need to know my risk and be able to reconcile against PNL. The platform has a very mark-centric PNL view and completely lacks a PNL Explain tool. Going from yesterday’s closing marks to PNL is trivial – what I want to know is how we arrived at yesterday’s marks. This helps tell a data narrative of how price action affects risk evolution and drives PNL. I have to manually calculate the mark change caused by flat price movement, theta decay, gamma whip, and vol change (simply assuming these effects are additive). This PNL explain method is pretty fuzzy and relies on questionable archives of historical risk. When the unexplained PNL is large, I seriously question trusting the on-screen risk.

The real-time risk for real and simulated positions is reasonably flexible. We can easily see the book risk and the additive effects of any simulated trades. The tools showing Risk and PNL with respect to underlying strike and time to expiry are fairly intuitive. It’s up to the user to stitch together a superview that incorporates all the necessary slices. Unfortunately, there’s no tooling to account for cross terms, eg: the effect of ddelta/dtime on PNL or dgamma/dtime on delta. While these second order effects are less pronounced, they compound as we attempt to trace the evolution through a particular price path. This evolution is important when making decisions about moneyness of strike selection and optimal tenor duration. The built-in price path analytics are limited to just price probability cones as a function of vol.
In terms of historical options data, the platform does have a thinkBack functionality that shows the historical options chain settlements as well as simplistic backtest results for hypothetical trades. However, the interface doesn’t allow easy time slicing or data export – cross-panel analysis over time is out of the question. Even idea generation of simple trades is highly manual and limited.
Ultimately, relying solely on this risk platform is a frustrating experience. If you unquestionably believe the on-screen risk, it’s useful for real-time risk monitoring. However, the platform lacks the analytics to deeply understand risk evolution for monitoring over time.
Here’s a fun screenshot of blatantly incorrect PNL post USO’s reverse-split today.
