My road ends here. I'm giving up calendars and instead continue using just the verticals. Calendars are in my case not worth the much much extra programming work required. Bye bye, fking calendars! And thanks for all the fish...
Conclusions from my research on vertical and calendar spreads (using Puts, both with 2 legs): Code: Disadvantages of calendars (vs. verticals) [using Puts]: 1) PnL% depends (highly) also on IV of the longer LongPut at expiration of the shorter ShortPut. This is of course not the case with verticals, as then only the price of the underlying matters, not any IV. 2) Though the PnL% for "same Spot" at expiration (of the shorter ShortPut) is much higher, it's formed much like via an internal leverage factor: it affects of course also the loss side... ie. PnL% higher on the win side (especially for Sx near SP.K), but also higher on the loss side than with verticals. It's not linear (unlike with verticals). Example: Vertical spread: SP(S=100.0000 DTE=60.00 K=100.0000 Pr=23.8934 IV=150.0000) LP(S=100.0000 DTE=60.00 K=90.0000 Pr=18.0278 IV=150.0000): SP_S*0.25=25.0000(dPct=-75.00 PL=-4.1344 PLpct=-4.39) SP_S*0.50=50.0000(dPct=-50.00 PL=-4.1344 PLpct=-4.39) SP_S*0.75=75.0000(dPct=-25.00 PL=-4.1344 PLpct=-4.39) SP_S*1.00=100.0000(dPct=0.00 PL=5.8656 PLpct=6.23) SP_S*1.25=125.0000(dPct=25.00 PL=5.8656 PLpct=6.23) SP_S*1.50=150.0000(dPct=50.00 PL=5.8656 PLpct=6.23) SP_S*1.75=175.0000(dPct=75.00 PL=5.8656 PLpct=6.23) Calendar spread: SP(S=100.0000 DTE=60.00 K=100.0000 Pr=23.8934 IV=150.0000) LP(S=100.0000 DTE=90.00 K=90.0000 Pr=22.8528 IV=150.0000): SP_S*0.25=25.0000(dPct=-75.00 PL=-8.9511 PLpct=-10.25) SP_S*0.50=50.0000(dPct=-50.00 PL=-7.8402 PLpct=-8.98) SP_S*0.75=75.0000(dPct=-25.00 PL=-1.1935 PLpct=-1.37) SP_S*1.00=100.0000(dPct=0.00 PL=12.6889 PLpct=14.53) SP_S*1.25=125.0000(dPct=25.00 PL=6.8032 PLpct=7.79) SP_S*1.50=150.0000(dPct=50.00 PL=3.8701 PLpct=4.43) SP_S*1.75=175.0000(dPct=75.00 PL=2.4388 PLpct=2.79) Calendar result when LongPut.IV drops to 100 at expiration of the ShortPut: SP_S*0.25=25.0000(dPct=-75.00 PL=-8.9594 PLpct=-9.69) SP_S*0.50=50.0000(dPct=-50.00 PL=-8.8180 PLpct=-9.54) SP_S*0.75=75.0000(dPct=-25.00 PL=-5.2347 PLpct=-5.66) SP_S*1.00=100.0000(dPct=0.00 PL=7.5861 PLpct=8.21) SP_S*1.25=125.0000(dPct=25.00 PL=2.9320 PLpct=3.17) SP_S*1.50=150.0000(dPct=50.00 PL=1.5345 PLpct=1.66) SP_S*1.75=175.0000(dPct=75.00 PL=1.1640 PLpct=1.26)
New insights: in some corner cases it makes very well sense to use calendars. I now decided to add also calendars to my program, by this reverting my above decision to leave them out.