Learn / explore scenarios
Explore price and volatility scenarios
Revalue a sample bull call spread before expiry. Each line applies a different volatility shock. This is mark-to-market P&L, not an expiration payoff or a forecast.
Try it
Sample dataRevalue a sample bull call spread before expiry. Each line applies a different volatility shock. This is mark-to-market P&L, not an expiration payoff or a forecast.
-5 volatility points0 volatility points+5 volatility pointsP&L · USD / spread
Exact chart data
| Series | Scenario underlying price · USD | P&L · USD / spread |
|---|---|---|
| -5 volatility points | 75 | -309.15971829940537 |
| -5 volatility points | 76.5 | -309.15451659372417 |
| -5 volatility points | 78 | -309.1377688305849 |
| -5 volatility points | 79.5 | -309.08890427810115 |
| -5 volatility points | 81 | -308.9589980835264 |
| -5 volatility points | 82.5 | -308.64270087216204 |
| -5 volatility points | 84 | -307.9339559694936 |
| -5 volatility points | 85.5 | -306.46573589182515 |
| -5 volatility points | 87 | -303.64175076511816 |
| -5 volatility points | 88.5 | -298.57814945130065 |
| -5 volatility points | 90 | -290.08172851873684 |
| -5 volatility points | 91.5 | -276.69274621104915 |
| -5 volatility points | 93 | -256.8109670719094 |
| -5 volatility points | 94.5 | -228.90298555921694 |
| -5 volatility points | 96 | -191.76253645836437 |
| -5 volatility points | 97.5 | -144.7726529733082 |
| -5 volatility points | 99 | -88.10851292487672 |
| -5 volatility points | 100.5 | -22.827760256890713 |
| -5 volatility points | 102 | 49.18049945213147 |
| -5 volatility points | 103.5 | 125.38352452639288 |
| -5 volatility points | 105 | 202.89335248201496 |
| -5 volatility points | 106.5 | 278.7987197289947 |
| -5 volatility points | 108 | 350.47837480200906 |
| -5 volatility points | 109.5 | 415.8440038019588 |
| -5 volatility points | 111 | 473.4817812028889 |
| -5 volatility points | 112.5 | 522.6858298862485 |
| -5 volatility points | 114 | 563.3980511415589 |
| -5 volatility points | 115.5 | 596.0825297569347 |
| -5 volatility points | 117 | 621.5676124533818 |
| -5 volatility points | 118.5 | 640.8859419186685 |
| -5 volatility points | 120 | 655.1349028021239 |
| -5 volatility points | 121.5 | 665.3702022180914 |
| -5 volatility points | 123 | 672.5362568957596 |
| -5 volatility points | 124.5 | 677.4302917128571 |
| -5 volatility points | 126 | 680.6931233168445 |
| -5 volatility points | 127.5 | 682.8182532547503 |
| -5 volatility points | 129 | 684.1714228062049 |
| -5 volatility points | 130.5 | 685.0143659647604 |
| -5 volatility points | 132 | 685.5284314250387 |
| -5 volatility points | 133.5 | 685.8355449755197 |
| -5 volatility points | 135 | 686.0153982049699 |
| 0 volatility points | 75 | -309.0816845973512 |
| 0 volatility points | 76.5 | -308.9691954808905 |
| 0 volatility points | 78 | -308.72736156899276 |
| 0 volatility points | 79.5 | -308.23934277886474 |
| 0 volatility points | 81 | -307.3117379949824 |
| 0 volatility points | 82.5 | -305.645667347892 |
| 0 volatility points | 84 | -302.8094834864841 |
| 0 volatility points | 85.5 | -298.2205842294764 |
| 0 volatility points | 87 | -291.145030526875 |
| 0 volatility points | 88.5 | -280.7227688468027 |
| 0 volatility points | 90 | -266.0227750248115 |
| 0 volatility points | 91.5 | -246.1267381856737 |
| 0 volatility points | 93 | -220.23318882446824 |
| 0 volatility points | 94.5 | -187.76798827139967 |
| 0 volatility points | 96 | -148.48358501417655 |
| 0 volatility points | 97.5 | -102.52957660099702 |
| 0 volatility points | 99 | -50.481087762670654 |
| 0 volatility points | 100.5 | 6.68156600128475 |
| 0 volatility points | 102 | 67.64014071684096 |
| 0 volatility points | 103.5 | 130.84308619458153 |
| 0 volatility points | 105 | 194.63236983687756 |
| 0 volatility points | 106.5 | 257.37491492750064 |
| 0 volatility points | 108 | 317.5819521343665 |
| 0 volatility points | 109.5 | 374.0031883834614 |
| 0 volatility points | 111 | 425.68794462411404 |
| 0 volatility points | 112.5 | 472.01107671415093 |
| 0 volatility points | 114 | 512.6664972483911 |
| 0 volatility points | 115.5 | 547.6347362031563 |
| 0 volatility points | 117 | 577.1329108273196 |
| 0 volatility points | 118.5 | 601.5557957031508 |
| 0 volatility points | 120 | 621.41573453139 |
| 0 volatility points | 121.5 | 637.2873871666927 |
| 0 volatility points | 123 | 649.7612343973747 |
| 0 volatility points | 124.5 | 659.4077609723699 |
| 0 volatility points | 126 | 666.7525685475032 |
| 0 volatility points | 127.5 | 672.2614651252816 |
| 0 volatility points | 129 | 676.3338544208611 |
| 0 volatility points | 130.5 | 679.3024477909514 |
| 0 volatility points | 132 | 681.4373418444609 |
| 0 volatility points | 133.5 | 682.952734710381 |
| 0 volatility points | 135 | 684.0148917109548 |
| +5 volatility points | 75 | -308.4730132869864 |
| +5 volatility points | 76.5 | -307.8582156902168 |
| +5 volatility points | 78 | -306.8028832699947 |
| +5 volatility points | 79.5 | -305.0699655230848 |
| +5 volatility points | 81 | -302.3414735638093 |
| +5 volatility points | 82.5 | -298.2130913020563 |
| +5 volatility points | 84 | -292.197984604638 |
| +5 volatility points | 85.5 | -283.74229931033415 |
| +5 volatility points | 87 | -272.25339253925426 |
| +5 volatility points | 88.5 | -257.13986109378055 |
| +5 volatility points | 90 | -237.86027413357823 |
| +5 volatility points | 91.5 | -213.97562961101718 |
| +5 volatility points | 93 | -185.19935563368497 |
| +5 volatility points | 94.5 | -151.4384570840415 |
| +5 volatility points | 96 | -112.82024755228514 |
| +5 volatility points | 97.5 | -69.70086722024297 |
| +5 volatility points | 99 | -22.65414525532492 |
| +5 volatility points | 100.5 | 27.55810588478022 |
| +5 volatility points | 102 | 80.0310084769095 |
| +5 volatility points | 103.5 | 133.77173401502552 |
| +5 volatility points | 105 | 187.75895122979483 |
| +5 volatility points | 106.5 | 241.00075193253087 |
| +5 volatility points | 108 | 292.5859541624593 |
| +5 volatility points | 109.5 | 341.7249742969101 |
| +5 volatility points | 111 | 387.7780283326215 |
| +5 volatility points | 112.5 | 430.2700107386645 |
| +5 volatility points | 114 | 468.8927958945602 |
| +5 volatility points | 115.5 | 503.4967707737553 |
| +5 volatility points | 117 | 534.0740733048126 |
| +5 volatility points | 118.5 | 560.7362824816637 |
| +5 volatility points | 120 | 583.6892390741116 |
| +5 volatility points | 121.5 | 603.2073556188243 |
| +5 volatility points | 123 | 619.6092977281696 |
| +5 volatility points | 124.5 | 633.2363765729772 |
| +5 volatility points | 126 | 644.4344593519991 |
| +5 volatility points | 127.5 | 653.5397338509231 |
| +5 volatility points | 129 | 660.8682859153109 |
| +5 volatility points | 130.5 | 666.7091764543359 |
| +5 volatility points | 132 | 671.3205340952929 |
| +5 volatility points | 133.5 | 674.9280974981832 |
| +5 volatility points | 135 | 677.7256290318467 |
Assumptions & conventions
{
"conventionsVersion": "0.0.1",
"marketSource": "construction"
}Diagnostics & warnings
{
"engine": "black-scholes-merton",
"method": "closed-form",
"converged": true,
"warnings": []
}Full result · JSON
{
"value": [
{
"underlyingPrice": 75,
"volatilityShock": -0.05,
"daysForward": 7,
"pnl": -309.15971829940537,
"delta": 0.0017455766681017681,
"gamma": 0.0014946301376381561,
"theta": -0.0004748103834219129,
"vega": 0.001934829424750764
},
{
"underlyingPrice": 75,
"volatilityShock": 0,
"daysForward": 7,
"pnl": -309.0816845973512,
"delta": 0.048606776682314265,
"gamma": 0.02711672515693952,
"theta": -0.013449956151831378,
"vega": 0.04387894738580111
},
{
"underlyingPrice": 75,
"volatilityShock": 0.05,
"daysForward": 7,
"pnl": -308.4730132869864,
"delta": 0.30364453301615496,
"gamma": 0.11930239081898969,
"theta": -0.08515563354539418,
"vega": 0.2316590945012574
},
{
"underlyingPrice": 76.5,
"volatilityShock": -0.05,
"daysForward": 7,
"pnl": -309.15451659372417,
"delta": 0.005977794883993395,
"gamma": 0.0046969776060838304,
"theta": -0.001555520267074673,
"vega": 0.006325979518896284
},
{
"underlyingPrice": 76.5,
"volatilityShock": 0,
"daysForward": 7,
"pnl": -308.9691954808905,
"delta": 0.10846954528608696,
"gamma": 0.05562621293895088,
"theta": -0.02875971872957386,
"vega": 0.09364806298782849
},
{
"underlyingPrice": 76.5,
"volatilityShock": 0.05,
"daysForward": 7,
"pnl": -307.8582156902168,
"delta": 0.5345337395569769,
"gamma": 0.19320360199965467,
"theta": -0.1437368394499966,
"vega": 0.39031547467154065
},
{
"underlyingPrice": 78,
"volatilityShock": -0.05,
"daysForward": 7,
"pnl": -309.1377688305849,
"delta": 0.018472671771226214,
"gamma": 0.013286046173378953,
"theta": -0.004584454863042627,
"vega": 0.018602503049814673
},
{
"underlyingPrice": 78,
"volatilityShock": 0,
"daysForward": 7,
"pnl": -308.72736156899276,
"delta": 0.22667080327239889,
"gamma": 0.106598932144992,
"theta": -0.05741633912471339,
"vega": 0.18656857488455836
},
{
"underlyingPrice": 78,
"volatilityShock": 0.05,
"daysForward": 7,
"pnl": -306.8028832699947,
"delta": 0.8987834642003496,
"gamma": 0.2981217823916386,
"theta": -0.23104009797197775,
"vega": 0.6261243518709915
},
{
"underlyingPrice": 79.5,
"volatilityShock": -0.05,
"daysForward": 7,
"pnl": -309.08890427810115,
"delta": 0.051811050584052075,
"gamma": 0.034011788316549926,
"theta": -0.012222218771558942,
"vega": 0.04947093816176623
},
{
"underlyingPrice": 79.5,
"volatilityShock": 0,
"daysForward": 7,
"pnl": -308.23934277886474,
"delta": 0.44518059023052753,
"gamma": 0.1914589731308939,
"theta": -0.10737924764972874,
"vega": 0.34810191881563257
},
{
"underlyingPrice": 79.5,
"volatilityShock": 0.05,
"daysForward": 7,
"pnl": -305.0699655230848,
"delta": 1.4470404564882116,
"gamma": 0.4392341307014595,
"theta": -0.3544138352479605,
"vega": 0.9583144077679544
},
{
"underlyingPrice": 81,
"volatilityShock": -0.05,
"daysForward": 7,
"pnl": -308.9589980835264,
"delta": 0.13261139637934127,
"gamma": 0.07919577860397108,
"theta": -0.029626370831527103,
"vega": 0.11957998434886287
},
{
"underlyingPrice": 81,
"volatilityShock": 0,
"daysForward": 7,
"pnl": -307.3117379949824,
"delta": 0.8245192721905985,
"gamma": 0.32324591213247916,
"theta": -0.18869304060573533,
"vega": 0.6100978769797961
},
{
"underlyingPrice": 81,
"volatilityShock": 0.05,
"daysForward": 7,
"pnl": -302.3414735638093,
"delta": 2.235911001032346,
"gamma": 0.6190583455584323,
"theta": -0.5198504828980292,
"vega": 1.4021010067296389
},
{
"underlyingPrice": 82.5,
"volatilityShock": -0.05,
"daysForward": 7,
"pnl": -308.64270087216204,
"delta": 0.31133194463033204,
"gamma": 0.16850753156657605,
"theta": -0.0656019880113724,
"vega": 0.2639451191367142
},
{
"underlyingPrice": 82.5,
"volatilityShock": 0,
"daysForward": 7,
"pnl": -305.645667347892,
"delta": 1.4446525868762774,
"gamma": 0.5143708238119048,
"theta": -0.3124136377524579,
"vega": 1.0071186960406209
},
{
"underlyingPrice": 82.5,
"volatilityShock": 0.05,
"daysForward": 7,
"pnl": -298.2130913020563,
"delta": 3.322861755192278,
"gamma": 0.8359974651335029,
"theta": -0.730350275341429,
"vega": 1.9642218524114465
},
{
"underlyingPrice": 84,
"volatilityShock": -0.05,
"daysForward": 7,
"pnl": -307.9339559694936,
"delta": 0.6736543593881784,
"gamma": 0.32901154790463,
"theta": -0.13327255058660162,
"vega": 0.534264275313057
},
{
"underlyingPrice": 84,
"volatilityShock": 0,
"daysForward": 7,
"pnl": -302.8094834864841,
"delta": 2.4016421231355265,
"gamma": 0.7732502963359716,
"theta": -0.488540059322632,
"vega": 1.569549806984643
},
{
"underlyingPrice": 84,
"volatilityShock": 0.05,
"daysForward": 7,
"pnl": -292.197984604638,
"delta": 4.759134975505526,
"gamma": 1.083204944632146,
"theta": -0.9842503598875817,
"vega": 2.6384379596024035
},
{
"underlyingPrice": 85.5,
"volatilityShock": -0.05,
"daysForward": 7,
"pnl": -306.46573589182515,
"delta": 1.3495351062486733,
"gamma": 0.5917334697847794,
"theta": -0.24937524900386665,
"vega": 0.9955080717520862
},
{
"underlyingPrice": 85.5,
"volatilityShock": 0,
"daysForward": 7,
"pnl": -298.2205842294764,
"delta": 3.7987117690776726,
"gamma": 1.1003563862221566,
"theta": -0.7230827686816441,
"vega": 2.3139929550683687
},
{
"underlyingPrice": 85.5,
"volatilityShock": 0.05,
"daysForward": 7,
"pnl": -283.74229931033415,
"delta": 6.58141103403803,
"gamma": 1.3480998036503018,
"theta": -1.2738746539174395,
"vega": 3.401981562449211
},
{
"underlyingPrice": 87,
"volatilityShock": -0.05,
"daysForward": 7,
"pnl": -303.64175076511816,
"delta": 2.5136942199292176,
"gamma": 0.9836009755115918,
"theta": -0.4312996603462668,
"vega": 1.713341276236625
},
{
"underlyingPrice": 87,
"volatilityShock": 0,
"daysForward": 7,
"pnl": -291.145030526875,
"delta": 5.731535942610641,
"gamma": 1.484650696561716,
"theta": -1.0147708652327607,
"vega": 3.2326540214765513
},
{
"underlyingPrice": 87,
"volatilityShock": 0.05,
"daysForward": 7,
"pnl": -272.25339253925426,
"delta": 8.803392362640132,
"gamma": 1.6127757450884026,
"theta": -1.5848738581284307,
"vega": 4.213957675168052
},
{
"underlyingPrice": 88.5,
"volatilityShock": -0.05,
"daysForward": 7,
"pnl": -298.57814945130065,
"delta": 4.3707952769436815,
"gamma": 1.5153976759188232,
"theta": -0.6915856017540299,
"vega": 2.7314897796330877
},
{
"underlyingPrice": 88.5,
"volatilityShock": 0,
"daysForward": 7,
"pnl": -280.7227688468027,
"delta": 8.269202957443923,
"gamma": 1.9015791741821353,
"theta": -1.3522240619974895,
"vega": 4.284472783928063
},
{
"underlyingPrice": 88.5,
"volatilityShock": 0.05,
"daysForward": 7,
"pnl": -257.13986109378055,
"delta": 11.408734806204668,
"gamma": 1.8553858241020387,
"theta": -1.8965454877595718,
"vega": 5.016472734859514
},
{
"underlyingPrice": 90,
"volatilityShock": -0.05,
"daysForward": 7,
"pnl": -290.08172851873684,
"delta": 7.121361350696058,
"gamma": 2.1688445486741887,
"theta": -1.0307575926738577,
"vega": 4.042963920323064
},
{
"underlyingPrice": 90,
"volatilityShock": 0,
"daysForward": 7,
"pnl": -266.0227750248115,
"delta": 11.434003363616915,
"gamma": 2.313645532320745,
"theta": -1.712543514838866,
"vega": 5.39111102805149
},
{
"underlyingPrice": 90,
"volatilityShock": 0.05,
"daysForward": 7,
"pnl": -237.86027413357823,
"delta": 14.346725166770122,
"gamma": 2.0523822256551054,
"theta": -2.1832588417931116,
"vega": 5.738798080831783
},
{
"underlyingPrice": 91.5,
"volatilityShock": -0.05,
"daysForward": 7,
"pnl": -276.69274621104915,
"delta": 10.910768419024418,
"gamma": 2.8878814225024674,
"theta": -1.4306738670972088,
"vega": 5.564267068827089
},
{
"underlyingPrice": 91.5,
"volatilityShock": 0,
"daysForward": 7,
"pnl": -246.1267381856737,
"delta": 15.184354525550635,
"gamma": 2.6740363303088834,
"theta": -2.062106814669366,
"vega": 6.4402974519862966
},
{
"underlyingPrice": 91.5,
"volatilityShock": 0.05,
"daysForward": 7,
"pnl": -213.97562961101718,
"delta": 17.531775114188505,
"gamma": 2.181299674511214,
"theta": -2.416893795990542,
"vega": 6.304275784084221
},
{
"underlyingPrice": 93,
"volatilityShock": -0.05,
"daysForward": 7,
"pnl": -256.8109670719094,
"delta": 15.771625951831117,
"gamma": 3.5792994883195943,
"theta": -1.8512976634265639,
"vega": 7.124433827550682
},
{
"underlyingPrice": 93,
"volatilityShock": 0,
"daysForward": 7,
"pnl": -220.23318882446824,
"delta": 19.405302775158624,
"gamma": 2.932974665004057,
"theta": -2.359886704081317,
"vega": 7.297441855205779
},
{
"underlyingPrice": 93,
"volatilityShock": 0.05,
"daysForward": 7,
"pnl": -185.19935563368497,
"delta": 20.84722619510544,
"gamma": 2.223640160788332,
"theta": -2.569986462707524,
"vega": 6.639082828994365
},
{
"underlyingPrice": 94.5,
"volatilityShock": -0.05,
"daysForward": 7,
"pnl": -228.90298555921694,
"delta": 21.57606058403144,
"gamma": 4.125444230910777,
"theta": -2.2333483006282497,
"vega": 8.47853386525929
},
{
"underlyingPrice": 94.5,
"volatilityShock": 0,
"daysForward": 7,
"pnl": -187.76798827139967,
"delta": 23.909943281587974,
"gamma": 3.0456800632840784,
"theta": -2.562966374269727,
"vega": 7.824279069698569
},
{
"underlyingPrice": 94.5,
"volatilityShock": 0.05,
"daysForward": 7,
"pnl": -151.4384570840415,
"delta": 24.153256226466237,
"gamma": 2.1673790744002623,
"theta": -2.619112452929371,
"vega": 6.6815338613000845
},
{
"underlyingPrice": 96,
"volatilityShock": -0.05,
"daysForward": 7,
"pnl": -191.76253645836437,
"delta": 28.015433068780226,
"gamma": 4.407441296871592,
"theta": -2.507569530737827,
"vega": 9.34792941185031
},
{
"underlyingPrice": 96,
"volatilityShock": 0,
"daysForward": 7,
"pnl": -148.48358501417655,
"delta": 28.452965164001306,
"gamma": 2.9802766763914006,
"theta": -2.6332930051192864,
"vega": 7.901244203316247
},
{
"underlyingPrice": 96,
"volatilityShock": 0.05,
"daysForward": 7,
"pnl": -112.82024755228514,
"delta": 27.297993134123598,
"gamma": 2.0086764559595043,
"theta": -2.5479696925757147,
"vega": 6.390430793105401
},
{
"underlyingPrice": 97.5,
"volatilityShock": -0.05,
"daysForward": 7,
"pnl": -144.7726529733082,
"delta": 34.61933249928579,
"gamma": 4.333079451919224,
"theta": -2.608949501643216,
"vega": 9.479650052996705
},
{
"underlyingPrice": 97.5,
"volatilityShock": 0,
"daysForward": 7,
"pnl": -102.52957660099702,
"delta": 32.7549143490739,
"gamma": 2.723903180519998,
"theta": -2.5443004178622797,
"vega": 7.448988997344972
},
{
"underlyingPrice": 97.5,
"volatilityShock": 0.05,
"daysForward": 7,
"pnl": -69.70086722024297,
"delta": 30.130419620836218,
"gamma": 1.7525239838523339,
"theta": -2.3496633044243462,
"vega": 5.7510995104343205
},
{
"underlyingPrice": 99,
"volatilityShock": -0.05,
"daysForward": 7,
"pnl": -88.10851292487672,
"delta": 40.8147638858894,
"gamma": 3.861102724916363,
"theta": -2.492158071453992,
"vega": 8.708997522685054
},
{
"underlyingPrice": 99,
"volatilityShock": 0,
"daysForward": 7,
"pnl": -50.481087762670654,
"delta": 36.53338366919927,
"gamma": 2.285667133324584,
"theta": -2.2859779834427143,
"vega": 6.4443602061369765
},
{
"underlyingPrice": 99,
"volatilityShock": 0.05,
"daysForward": 7,
"pnl": -22.65414525532492,
"delta": 32.513389896233605,
"gamma": 1.4122515996364782,
"theta": -2.027833509584802,
"vega": 4.778154024473091
},
{
"underlyingPrice": 100.5,
"volatilityShock": -0.05,
"daysForward": 7,
"pnl": -22.827760256890713,
"delta": 46.014191485020156,
"gamma": 3.0143555220690037,
"theta": -2.1436673475427126,
"vega": 7.006691853121388
},
{
"underlyingPrice": 100.5,
"volatilityShock": 0,
"daysForward": 7,
"pnl": 6.68156600128475,
"delta": 39.53582905357973,
"gamma": 1.6958285328232399,
"theta": -1.8672861203440312,
"vega": 4.9273169165973485
},
{
"underlyingPrice": 100.5,
"volatilityShock": 0.05,
"daysForward": 7,
"pnl": 27.55810588478022,
"delta": 34.335114398629315,
"gamma": 1.008012793323779,
"theta": -1.5964699309429191,
"vega": 3.5145995429776224
},
{
"underlyingPrice": 102,
"volatilityShock": -0.05,
"daysForward": 7,
"pnl": 49.18049945213147,
"delta": 49.71210602285297,
"gamma": 1.8777152149373317,
"theta": -1.5868676409775309,
"vega": 4.495898422141018
},
{
"underlyingPrice": 102,
"volatilityShock": 0,
"daysForward": 7,
"pnl": 67.64014071684096,
"delta": 41.56843811785764,
"gamma": 1.0014639024138816,
"theta": -1.315419472882145,
"vega": 2.997312866506773
},
{
"underlyingPrice": 102,
"volatilityShock": 0.05,
"daysForward": 7,
"pnl": 80.0310084769095,
"delta": 35.51777141439932,
"gamma": 0.5645243751897042,
"theta": -1.078476228617732,
"vega": 2.027499346667623
},
{
"underlyingPrice": 103.5,
"volatilityShock": -0.05,
"daysForward": 7,
"pnl": 125.38352452639288,
"delta": 51.56725181640502,
"gamma": 0.5815634442844955,
"theta": -0.8786402084851419,
"vega": 1.4337195959097873
},
{
"underlyingPrice": 103.5,
"volatilityShock": 0,
"daysForward": 7,
"pnl": 130.84308619458153,
"delta": 42.516442329535,
"gamma": 0.2596077370474177,
"theta": -0.6721194531398482,
"vega": 0.8000088028069872
},
{
"underlyingPrice": 103.5,
"volatilityShock": 0.05,
"daysForward": 7,
"pnl": 133.77173401502552,
"delta": 36.02239618996158,
"gamma": 0.10842834408663071,
"theta": -0.5032422030293544,
"vega": 0.4009601442375157
},
{
"underlyingPrice": 105,
"volatilityShock": -0.05,
"daysForward": 7,
"pnl": 202.89335248201496,
"delta": 51.45214540406031,
"gamma": -0.724199994056828,
"theta": -0.09844030779650925,
"vega": -1.8374838753315856
},
{
"underlyingPrice": 105,
"volatilityShock": 0,
"daysForward": 7,
"pnl": 194.63236983687756,
"delta": 42.35313553570525,
"gamma": -0.4706905567348465,
"theta": 0.012153964331730549,
"vega": -1.4928305636717205
},
{
"underlyingPrice": 105,
"volatilityShock": 0.05,
"daysForward": 7,
"pnl": 187.75895122979483,
"delta": 35.849771922671486,
"gamma": -0.334338881395408,
"theta": 0.09638810703776546,
"vega": -1.2724571427135096
},
{
"underlyingPrice": 106.5,
"volatilityShock": -0.05,
"daysForward": 7,
"pnl": 278.7987197289947,
"delta": 49.46101151340587,
"gamma": -1.8983535835132885,
"theta": 0.6669767779633946,
"vega": -4.955217748873158
},
{
"underlyingPrice": 106.5,
"volatilityShock": 0,
"daysForward": 7,
"pnl": 257.37491492750064,
"delta": 41.13711355687319,
"gamma": -1.1358926145879376,
"theta": 0.6850114278120536,
"vega": -3.7062347693700097
},
{
"underlyingPrice": 106.5,
"volatilityShock": 0.05,
"daysForward": 7,
"pnl": 241.00075193253087,
"delta": 35.03759554827109,
"gamma": -0.7408334929882994,
"theta": 0.6873114505952778,
"vega": -2.9006645326483937
},
{
"underlyingPrice": 108,
"volatilityShock": -0.05,
"daysForward": 7,
"pnl": 350.47837480200906,
"delta": 45.87824452951762,
"gamma": -2.831766079680476,
"theta": 1.3391396582327166,
"vega": -7.601360116397312
},
{
"underlyingPrice": 108,
"volatilityShock": 0,
"daysForward": 7,
"pnl": 317.5819521343665,
"delta": 38.99933201409582,
"gamma": -1.6938530047534819,
"theta": 1.2986357522729883,
"vega": -5.683549731456669
},
{
"underlyingPrice": 108,
"volatilityShock": 0.05,
"daysForward": 7,
"pnl": 292.5859541624593,
"delta": 33.654628250359735,
"gamma": -1.0928070947839976,
"theta": 1.2391082125963955,
"vega": -4.400162318215418
},
{
"underlyingPrice": 109.5,
"volatilityShock": -0.05,
"daysForward": 7,
"pnl": 415.8440038019588,
"delta": 41.11848903773415,
"gamma": -3.461294489019044,
"theta": 1.8601012840233708,
"vega": -9.551096012999151
},
{
"underlyingPrice": 109.5,
"volatilityShock": 0,
"daysForward": 7,
"pnl": 374.0031883834614,
"delta": 36.123068829288336,
"gamma": -2.1173219843876403,
"theta": 1.814953901996763,
"vega": -7.303172854649068
},
{
"underlyingPrice": 109.5,
"volatilityShock": 0.05,
"daysForward": 7,
"pnl": 341.7249742969101,
"delta": 31.792814104644343,
"gamma": -1.3777026547832425,
"theta": 1.72640521999785,
"vega": -5.702449058413324
},
{
"underlyingPrice": 111,
"volatilityShock": -0.05,
"daysForward": 7,
"pnl": 473.4817812028889,
"delta": 35.654165835699864,
"gamma": -3.7726424459703556,
"theta": 2.199056964482573,
"vega": -10.697394839592501
},
{
"underlyingPrice": 111,
"volatilityShock": 0,
"daysForward": 7,
"pnl": 425.68794462411404,
"delta": 32.7205616952127,
"gamma": -2.3948907063663096,
"theta": 2.2088286348118875,
"vega": -8.488444058300344
},
{
"underlyingPrice": 111,
"volatilityShock": 0.05,
"daysForward": 7,
"pnl": 387.7780283326215,
"delta": 29.558445847533704,
"gamma": -1.5889366496142387,
"theta": 2.130454980351062,
"vega": -6.758187249169934
},
{
"underlyingPrice": 112.5,
"volatilityShock": -0.05,
"daysForward": 7,
"pnl": 522.6858298862485,
"delta": 29.946227147923594,
"gamma": -3.7936426421831437,
"theta": 2.3528264942326524,
"vega": -11.049633791701247
},
{
"underlyingPrice": 112.5,
"volatilityShock": 0,
"daysForward": 7,
"pnl": 472.01107671415093,
"delta": 29.00997887635195,
"gamma": -2.5296854423624624,
"theta": 2.4690749570119737,
"vega": -9.210177520245178
},
{
"underlyingPrice": 112.5,
"volatilityShock": 0.05,
"daysForward": 7,
"pnl": 430.2700107386645,
"delta": 27.063392629545277,
"gamma": -1.7255552259179685,
"theta": 2.439861983343019,
"vega": -7.538962600907016
},
{
"underlyingPrice": 114,
"volatilityShock": -0.05,
"daysForward": 7,
"pnl": 563.3980511415589,
"delta": 24.390103595517147,
"gamma": -3.58138022214742,
"theta": 2.341248938501857,
"vega": -10.711407832411894
},
{
"underlyingPrice": 114,
"volatilityShock": 0,
"daysForward": 7,
"pnl": 512.6664972483911,
"delta": 25.19565519388307,
"gamma": -2.5364418755007976,
"theta": 2.597516149194811,
"vega": -9.48267905334487
},
{
"underlyingPrice": 114,
"volatilityShock": 0.05,
"daysForward": 7,
"pnl": 468.8927958945602,
"delta": 24.41722126574696,
"gamma": -1.7914152688783302,
"theta": 2.6505071944436085,
"vega": -8.03680914281422
},
{
"underlyingPrice": 115.5,
"volatilityShock": -0.05,
"daysForward": 7,
"pnl": 596.0825297569347,
"delta": 19.2830532699695,
"gamma": -3.2071891333991873,
"theta": 2.1994963215948062,
"vega": -9.846343030941357
},
{
"underlyingPrice": 115.5,
"volatilityShock": 0,
"daysForward": 7,
"pnl": 547.6347362031563,
"delta": 21.4534548276458,
"gamma": -2.4377238667828123,
"theta": 2.6065810284649666,
"vega": -9.355024138230654
},
{
"underlyingPrice": 115.5,
"volatilityShock": 0.05,
"daysForward": 7,
"pnl": 503.4967707737553,
"delta": 21.72079055021632,
"gamma": -1.7940697996074502,
"theta": 2.7648125151809984,
"vega": -8.261919986769517
},
{
"underlyingPrice": 117,
"volatilityShock": -0.05,
"daysForward": 7,
"pnl": 621.5676124533818,
"delta": 14.813365630273466,
"gamma": -2.7430060278683204,
"theta": 1.9695419430705754,
"vega": -8.6414158884962
},
{
"underlyingPrice": 117,
"volatilityShock": 0,
"daysForward": 7,
"pnl": 577.1329108273196,
"delta": 17.921985755078254,
"gamma": -2.2600131664632808,
"theta": 2.5160771124053767,
"vega": -8.899777054110041
},
{
"underlyingPrice": 117,
"volatilityShock": 0.05,
"daysForward": 7,
"pnl": 534.0740733048126,
"delta": 19.061627378751666,
"gamma": -1.7435347983130294,
"theta": 2.790540180265666,
"vega": -8.239104738678053
},
{
"underlyingPrice": 118.5,
"volatilityShock": -0.05,
"daysForward": 7,
"pnl": 640.8859419186685,
"delta": 11.067526228385617,
"gamma": -2.2513218877489516,
"theta": 1.6926419848810117,
"vega": -7.2754643325270925
},
{
"underlyingPrice": 118.5,
"volatilityShock": 0,
"daysForward": 7,
"pnl": 601.5557957031508,
"delta": 14.699407947112235,
"gamma": -2.0302391525055774,
"theta": 2.349763515270034,
"vega": -8.201255349653428
},
{
"underlyingPrice": 118.5,
"volatilityShock": 0.05,
"daysForward": 7,
"pnl": 560.7362824816637,
"delta": 16.51114450210352,
"gamma": -1.6510891863344286,
"theta": 2.7393381167890953,
"vega": -8.0035915013079
},
{
"underlyingPrice": 120,
"volatilityShock": -0.05,
"daysForward": 7,
"pnl": 655.1349028021239,
"delta": 8.049156846106172,
"gamma": -1.7795581254295982,
"theta": 1.4039689011973024,
"vega": -5.897406872656553
},
{
"underlyingPrice": 120,
"volatilityShock": 0,
"daysForward": 7,
"pnl": 621.41573453139,
"delta": 11.84488115266484,
"gamma": -1.7731035274766258,
"theta": 2.1322308295218124,
"vega": -7.345020639848378
},
{
"underlyingPrice": 120,
"volatilityShock": 0.05,
"daysForward": 7,
"pnl": 583.6892390741116,
"delta": 14.123560233952418,
"gamma": -1.5282207604969738,
"theta": 2.625227393985063,
"vega": -7.5967225968375605
},
{
"underlyingPrice": 121.5,
"volatilityShock": -0.05,
"daysForward": 7,
"pnl": 665.3702022180914,
"delta": 5.70323128200971,
"gamma": -1.3585244822327587,
"theta": 1.1297565215821452,
"vega": -4.615369192270152
},
{
"underlyingPrice": 121.5,
"volatilityShock": 0,
"daysForward": 7,
"pnl": 637.2873871666927,
"delta": 9.383329575193244,
"gamma": -1.5093402084097414,
"theta": 1.8864226737702503,
"vega": -6.409676812651107
},
{
"underlyingPrice": 121.5,
"volatilityShock": 0.05,
"daysForward": 7,
"pnl": 603.2073556188243,
"delta": 11.936243795856782,
"gamma": -1.3857873894442672,
"theta": 2.4631915341958024,
"vega": -7.061985824980212
},
{
"underlyingPrice": 123,
"volatilityShock": -0.05,
"daysForward": 7,
"pnl": 672.5362568957596,
"delta": 3.940177438760017,
"gamma": -1.0039038308217243,
"theta": 0.8866944218347514,
"vega": -3.49533459930454
},
{
"underlyingPrice": 123,
"volatilityShock": 0,
"daysForward": 7,
"pnl": 649.7612343973747,
"delta": 7.312128804900837,
"gamma": -1.254874790168313,
"theta": 1.6319520907056475,
"vega": -5.461438557665541
},
{
"underlyingPrice": 123,
"volatilityShock": 0.05,
"daysForward": 7,
"pnl": 619.6092977281696,
"delta": 9.971137315971973,
"gamma": -1.2334219703062348,
"theta": 2.267979962661361,
"vega": -6.441686478312717
},
{
"underlyingPrice": 124.5,
"volatilityShock": -0.05,
"daysForward": 7,
"pnl": 677.4302917128571,
"delta": 2.656290402689365,
"gamma": -0.7194727879924293,
"theta": 0.6829466100472061,
"vega": -2.5664895312183313
},
{
"underlyingPrice": 124.5,
"volatilityShock": 0,
"daysForward": 7,
"pnl": 659.4077609723699,
"delta": 5.6084697104173244,
"gamma": -1.0207304314887955,
"theta": 1.3842106138422297,
"vega": -4.551412524443402
},
{
"underlyingPrice": 124.5,
"volatilityShock": 0.05,
"daysForward": 7,
"pnl": 633.2363765729772,
"delta": 8.236888910207838,
"gamma": -1.079176265605794,
"theta": 2.0531884927277506,
"vega": -5.774425317206801
},
{
"underlyingPrice": 126,
"volatilityShock": -0.05,
"daysForward": 7,
"pnl": 680.6931233168445,
"delta": 1.7487579421077015,
"gamma": -0.5008941951366499,
"theta": 0.5200667816623448,
"vega": -1.8300944776085322
},
{
"underlyingPrice": 126,
"volatilityShock": 0,
"daysForward": 7,
"pnl": 666.7525685475032,
"delta": 4.2364337285449665,
"gamma": -0.8134698352989216,
"theta": 1.1541579845211696,
"vega": -3.7151724549221825
},
{
"underlyingPrice": 126,
"volatilityShock": 0.05,
"daysForward": 7,
"pnl": 644.4344593519991,
"delta": 6.731357607940012,
"gamma": -0.9293750821367583,
"theta": 1.8306354733499202,
"vega": -5.093423587135343
},
{
"underlyingPrice": 127.5,
"volatilityShock": -0.05,
"daysForward": 7,
"pnl": 682.8182532547503,
"delta": 1.125115815152327,
"gamma": -0.33924349334296083,
"theta": 0.39517163235221675,
"vega": -1.2691656746497166
},
{
"underlyingPrice": 127.5,
"volatilityShock": 0,
"daysForward": 7,
"pnl": 672.2614651252816,
"delta": 3.1531399389010772,
"gamma": -0.6359562317460148,
"theta": 0.9486209441484041,
"vega": -2.9740210046403317
},
{
"underlyingPrice": 127.5,
"volatilityShock": 0.05,
"daysForward": 7,
"pnl": 653.5397338509231,
"delta": 5.444205170622752,
"gamma": -0.788638537237039,
"theta": 1.610017379423451,
"vega": -4.4256396105230476
},
{
"underlyingPrice": 129,
"volatilityShock": -0.05,
"daysForward": 7,
"pnl": 684.1714228062049,
"delta": 0.7079254392291006,
"gamma": -0.22380431659176445,
"theta": 0.3029232324833233,
"vega": -0.8571055373202693
},
{
"underlyingPrice": 129,
"volatilityShock": 0,
"daysForward": 7,
"pnl": 676.3338544208611,
"delta": 2.313632308220818,
"gamma": -0.4882441511059559,
"theta": 0.7709142280376715,
"vega": -2.3372916341046364
},
{
"underlyingPrice": 129,
"volatilityShock": 0.05,
"daysForward": 7,
"pnl": 660.8682859153109,
"delta": 4.359357958716458,
"gamma": -0.6600251561306884,
"theta": 1.3988039670543468,
"vega": -3.7915570041630655
},
{
"underlyingPrice": 130.5,
"volatilityShock": -0.05,
"daysForward": 7,
"pnl": 685.0143659647604,
"delta": 0.4359140690111474,
"gamma": -0.14398640647209487,
"theta": 0.23707961297889302,
"vega": -0.5643245421945126
},
{
"underlyingPrice": 130.5,
"volatilityShock": 0,
"daysForward": 7,
"pnl": 679.3024477909514,
"delta": 1.6744260829405704,
"gamma": -0.36845684383113225,
"theta": 0.6216138752511708,
"vega": -1.8051117185994239
},
{
"underlyingPrice": 130.5,
"volatilityShock": 0.05,
"daysForward": 7,
"pnl": 666.7091764543359,
"delta": 3.457192317378059,
"gamma": -0.5452502285294054,
"theta": 1.2023203710207027,
"vega": -3.205490988372674
},
{
"underlyingPrice": 132,
"volatilityShock": -0.05,
"daysForward": 7,
"pnl": 685.5284314250387,
"delta": 0.2628627343306391,
"gamma": -0.09043421695759919,
"theta": 0.19154576303461845,
"vega": -0.362632785990722
},
{
"underlyingPrice": 132,
"volatilityShock": 0,
"daysForward": 7,
"pnl": 681.4373418444609,
"delta": 1.1958089904380103,
"gamma": -0.273557728606375,
"theta": 0.4993486876519253,
"vega": -1.3711762620272199
},
{
"underlyingPrice": 132,
"volatilityShock": 0.05,
"daysForward": 7,
"pnl": 671.3205340952929,
"delta": 2.716361147650403,
"gamma": -0.44493995146157644,
"theta": 1.0239600471471957,
"vega": -2.676251638349535
},
{
"underlyingPrice": 133.5,
"volatilityShock": -0.05,
"daysForward": 7,
"pnl": 685.8355449755197,
"delta": 0.15532999177438,
"gamma": -0.05550466332463699,
"theta": 0.16097201349099066,
"vega": -0.22765564607876979
},
{
"underlyingPrice": 133.5,
"volatilityShock": 0,
"daysForward": 7,
"pnl": 682.952734710381,
"delta": 0.843096665241589,
"gamma": -0.1999687619602888,
"theta": 0.40151809144863604,
"vega": -1.0252295702024918
},
{
"underlyingPrice": 133.5,
"volatilityShock": 0.05,
"daysForward": 7,
"pnl": 674.9280974981832,
"delta": 2.1152324079273797,
"gamma": -0.35889028757269037,
"theta": 0.8654759113705979,
"vega": -2.2080144818883287
},
{
"underlyingPrice": 135,
"volatilityShock": -0.05,
"daysForward": 7,
"pnl": 686.0153982049699,
"delta": 0.09000261684617783,
"gamma": -0.03332033350868964,
"theta": 0.14100364088674722,
"vega": -0.13975369470809032
},
{
"underlyingPrice": 135,
"volatilityShock": 0,
"daysForward": 7,
"pnl": 684.0148917109548,
"delta": 0.5870843862445554,
"gamma": -0.14402404437714758,
"theta": 0.32488493032713883,
"vega": -0.7550904436197782
},
{
"underlyingPrice": 135,
"volatilityShock": 0.05,
"daysForward": 7,
"pnl": 677.7256290318467,
"delta": 1.6329501360973353,
"gamma": -0.2863084646322249,
"theta": 0.7273049028640208,
"vega": -1.8012724459129033
}
],
"assumptions": {
"conventionsVersion": "0.0.1",
"marketSource": "construction"
},
"diagnostics": {
"engine": "black-scholes-merton",
"method": "closed-form",
"converged": true,
"warnings": []
}
}Use it in your project
Returns scenario rows in value, plus assumptions and diagnostics. Each row names its underlying price, volatility shock and P&L. These three price scenarios use the same market and time advance as the chart, with no volatility shock.
import { legs, strategy } from '@insiderfinance/totalfinance/strategy';
const market = {
"spot": 100,
"volatility": 0.25,
"riskFreeRate": 0.04,
"asOf": "2026-01-02T21:00:00Z",
"expiry": "2026-02-20T21:00:00Z"
};
const position = strategy([
legs.call({ strike: 100, quantity: 1 }),
legs.call({ strike: 110, quantity: -1 }),
], { premiums: 'model', market, multiplier: 100 });
const underlyingPrices = [90, 100, 110];
const result = position.scenarioTable({
prices: underlyingPrices,
volatilityShocks: [0],
daysForward: [7],
});
console.log(result);
Output of this example
{
"value": [
{
"underlyingPrice": 90,
"volatilityShock": 0,
"daysForward": 7,
"pnl": -266.0227750248115,
"delta": 11.434003363616915,
"gamma": 2.313645532320745,
"theta": -1.712543514838866,
"vega": 5.39111102805149
},
{
"underlyingPrice": 100,
"volatilityShock": 0,
"daysForward": 7,
"pnl": -12.865453876559855,
"delta": 38.63467859251617,
"gamma": 1.9066587050305426,
"theta": -2.023336198040153,
"vega": 5.4849086035125225
},
{
"underlyingPrice": 110,
"volatilityShock": 0,
"daysForward": 7,
"pnl": 391.7953512007746,
"delta": 35.03651104419351,
"gamma": -2.2261780297847213,
"theta": 1.9606882151464209,
"vega": -7.748929279017776
}
],
"assumptions": {
"conventionsVersion": "0.0.1",
"marketSource": "construction"
},
"diagnostics": {
"engine": "black-scholes-merton",
"method": "closed-form",
"converged": true,
"warnings": []
}
}
Reproduce this entire playground
This complete example reproduces every chart point and the full playground result. Sample generation and chart mapping are example setup, not required conversions of library outputs.
import { legs, strategy } from '@insiderfinance/totalfinance/strategy';
const market = {
"spot": 100,
"volatility": 0.25,
"riskFreeRate": 0.04,
"asOf": "2026-01-02T21:00:00Z",
"expiry": "2026-02-20T21:00:00Z"
};
const position = strategy([legs.call({ strike: 100, quantity: 1 }), legs.call({ strike: 110, quantity: -1 })], { premiums: 'model', market, multiplier: 100 });
const result = position.scenarioTable({
"prices": {
"from": 75,
"to": 135,
"steps": 41
},
"volatilityShocks": [
-0.05,
0,
0.05
],
"daysForward": [
7
]
});
console.log(result);Both examples use the last successfully calculated inputs. The first call may show fewer scenarios or selected report fields, as labeled above. Displayed metrics are rounded; copied calculations retain exact values.
Continue with the full API reference or the API levels guide.