<html>
<head>
<!-- Include the CanvasXpress library in your HTML file -->
<link rel="stylesheet" href="https://www.canvasxpress.org/dist/canvasXpress.css" type="text/css"/>
<script src="https://www.canvasxpress.org/dist/canvasXpress.min.js"></script>
</head>
<body>
<!-- Create a canvas element for the chart with the desired dimensions -->
<div>
<canvas id="canvasId" width="600" height="600"></canvas>
</div>
<!-- Create a script to initialize the chart -->
<script>
// Use a data frame (2D-array) for the graph
var data =
// Create the configuration for the graph
var config = {
"graphType": "OptionsWall",
"title": "OptionsWall: IBM implied-volatility wall (real)",
"optionsWallSpot": 235.59,
"optionsWallExpiry": "2026-09-18",
"optionsWallFlankMetric": "iv",
"optionsWallChain": {
"strikes": [
200.0,
205.0,
207.5,
210.0,
212.5,
215.0,
217.5,
220.0,
222.5,
225.0,
227.5,
230.0,
232.5,
235.0,
237.5,
240.0,
242.5,
245.0,
247.5,
250.0,
252.5,
255.0,
257.5,
260.0,
265.0,
270.0,
275.0,
280.0,
285.0,
290.0,
295.0,
300.0,
305.0,
310.0,
315.0,
320.0,
325.0,
330.0
],
"expiry": "2026-09-18",
"call": {
"premium": [
38.1,
29.2,
29.2,
27.51,
24.5,
20.08,
23.02,
18.18,
15.2,
13.63,
12.95,
8.64,
7.35,
6.1,
4.9,
4.05,
3.24,
2.73,
2.0,
1.55,
1.25,
1.11,
0.89,
0.6,
0.43,
0.29,
0.18,
0.14,
0.17,
0.07,
0.25,
0.07,
0.16,
0.08,
0.06,
0.03,
0.16,
0.01
],
"iv": [
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
0.2457,
0.2541,
0.2573,
0.2688,
0.2623,
0.2648,
0.2715,
0.2863,
0.2915,
0.2841,
0.3023,
0.315,
0.3222,
0.3403,
0.3805,
0.3632,
0.4644,
0.4144,
0.4884,
0.4706,
0.4781,
0.4652,
0.5891,
0.4584
],
"volume": [
307.0,
313.0,
0.0,
717.0,
0.0,
671.0,
1.0,
3763.0,
1.0,
937.0,
35.0,
5354.0,
99.0,
1715.0,
88.0,
2555.0,
183.0,
1210.0,
162.0,
4460.0,
85.0,
1914.0,
217.0,
4602.0,
1192.0,
4783.0,
686.0,
4317.0,
2913.0,
2208.0,
306.0,
6066.0,
348.0,
1285.0,
221.0,
2651.0,
463.0,
1379.0
]
},
"put": {
"premium": [
0.17,
0.28,
0.5,
0.51,
0.6,
0.8,
1.0,
1.44,
2.45,
2.43,
3.2,
4.26,
5.2,
6.6,
7.5,
9.44,
11.14,
13.87,
11.9,
17.92,
20.15,
21.18,
24.8,
25.0,
28.75,
36.99,
39.48,
41.3,
50.46,
54.27,
62.62,
64.27,
86.77,
74.46,
79.48,
82.2,
87.22,
111.55
],
"iv": [
0.3521,
0.3353,
0.3507,
0.3262,
0.3119,
0.3073,
0.2977,
0.3025,
0.3349,
0.2971,
0.3,
0.3098,
0.3067,
0.318,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null
],
"volume": [
3652.0,
2019.0,
19.0,
2399.0,
37.0,
2047.0,
74.0,
3454.0,
46.0,
1717.0,
45.0,
3788.0,
44.0,
832.0,
141.0,
2310.0,
7.0,
217.0,
3.0,
2441.0,
0.0,
135.0,
0.0,
820.0,
485.0,
761.0,
99.0,
440.0,
9.0,
56.0,
5.0,
88.0,
3.0,
13.0,
0.0,
2.0,
0.0,
0.0
]
}
}
}
// Event used to create graph (optional)
var events = false
// Call the CanvasXpress function to create the graph
var cX = new CanvasXpress("canvasId", data, config, events);
</script>
</body>
</html>
<html>
<head>
<!-- Include the CanvasXpress library in your HTML file -->
<link rel="stylesheet" href="https://www.canvasxpress.org/dist/canvasXpress.css" type="text/css"/>
<script src="https://www.canvasxpress.org/dist/canvasXpress.min.js"></script>
</head>
<body>
<!-- Create a canvas element for the chart with the desired dimensions -->
<div>
<canvas id="canvasId" width="600" height="600"></canvas>
</div>
<!-- Create a script to initialize the chart -->
<script>
// Create the data for the graph
var data = {
"y": {
"vars": [
"Open",
"High",
"Low",
"Close"
],
"smps": [
"2026-04-08",
"2026-04-09",
"2026-04-10",
"2026-04-13",
"2026-04-14",
"2026-04-15",
"2026-04-16",
"2026-04-17",
"2026-04-20",
"2026-04-21",
"2026-04-22",
"2026-04-23",
"2026-04-24",
"2026-04-27",
"2026-04-28",
"2026-04-29",
"2026-04-30",
"2026-05-01",
"2026-05-04",
"2026-05-05",
"2026-05-06",
"2026-05-07",
"2026-05-08",
"2026-05-11",
"2026-05-12",
"2026-05-13",
"2026-05-14",
"2026-05-15",
"2026-05-18",
"2026-05-19",
"2026-05-20",
"2026-05-21",
"2026-05-22",
"2026-05-26",
"2026-05-27",
"2026-05-28",
"2026-05-29",
"2026-06-01",
"2026-06-02",
"2026-06-03",
"2026-06-04",
"2026-06-05",
"2026-06-08",
"2026-06-09",
"2026-06-10",
"2026-06-11",
"2026-06-12",
"2026-06-15",
"2026-06-16",
"2026-06-17",
"2026-06-18",
"2026-06-22",
"2026-06-23",
"2026-06-24",
"2026-06-25",
"2026-06-26",
"2026-06-29",
"2026-06-30",
"2026-07-01",
"2026-07-02",
"2026-07-06",
"2026-07-07",
"2026-07-08",
"2026-07-09",
"2026-07-10",
"2026-07-13",
"2026-07-14",
"2026-07-15",
"2026-07-16",
"2026-07-17",
"2026-07-20",
"2026-07-21",
"2026-07-22",
"2026-07-23",
"2026-07-24",
"2026-07-27",
"2026-07-28",
"2026-07-29",
"2026-07-30",
"2026-07-31",
"2026-08-03",
"2026-08-04",
"2026-08-05",
"2026-08-06",
"2026-08-07",
"2026-08-10",
"2026-08-11",
"2026-08-12",
"2026-08-13",
"2026-08-14",
"2026-08-17",
"2026-08-18",
"2026-08-19",
"2026-08-20",
"2026-08-21",
"2026-08-24",
"2026-08-25",
"2026-08-26",
"2026-08-27",
"2026-08-28"
],
"data": [
[
248.63,
240.88,
239.19,
233.63,
238.75,
242.25,
248.75,
254.67,
255.0,
254.0,
254.51,
232.27,
231.93,
229.95,
230.5,
230.34,
226.53,
234.55,
232.0,
230.16,
228.75,
227.5,
229.73,
228.66,
224.43,
218.27,
215.545,
218.2,
218.55,
224.5,
221.05,
232.58,
262.05,
254.55,
250.455,
261.0,
277.3,
322.55,
313.75,
318.295,
307.425,
300.0,
286.44,
281.135,
273.82,
268.0,
278.94,
272.0,
270.87,
266.35,
251.38,
248.43,
261.58,
261.843,
267.67,
258.94,
274.3,
273.21,
279.66,
283.14,
288.345,
305.66,
300.77,
285.835,
297.26,
290.5,
226.365,
220.965,
208.82,
215.62,
210.07,
210.72,
207.68,
202.64,
209.28,
217.75,
219.73,
227.7,
222.0,
221.15,
228.33,
224.76,
236.1,
229.61,
235.38,
235.0,
236.31,
236.95,
238.92,
238.37,
231.59,
229.73,
232.26,
236.0,
233.71,
234.37,
230.0,
230.7,
232.8,
238.3
],
[
250.0,
241.74,
239.2674,
238.07,
241.5375,
246.06,
251.22,
255.65,
258.5,
258.09,
257.54,
232.91,
232.7999,
231.32,
233.555,
231.48,
231.6,
235.95,
234.09,
231.0,
229.0,
231.82,
230.705,
230.23,
224.43,
218.31,
220.96,
220.91,
223.33,
227.35,
225.0,
253.63,
264.38,
254.55,
257.62,
268.89,
300.9999,
327.98,
332.46,
318.295,
310.44,
302.3,
290.5,
283.59,
280.51,
276.4799,
278.94,
272.25,
276.62,
268.87,
252.47,
253.31,
267.53,
265.07,
268.7559,
273.135,
278.15,
282.5694,
294.49,
290.93,
300.8199,
311.8,
303.82,
297.2838,
298.77,
297.5,
229.92,
223.813,
219.95,
217.1699,
216.2762,
214.97,
212.3417,
207.55,
216.1,
219.63,
228.98,
230.97,
224.86,
224.76,
228.55,
235.31,
238.9627,
234.47,
237.315,
240.735,
241.8,
237.46,
239.71,
239.15,
233.65,
234.4499,
238.615,
237.5,
238.72,
234.49,
234.435,
234.23,
240.8065,
239.08
],
[
240.8,
233.76,
230.51,
231.7,
238.12,
240.985,
246.125,
251.04,
252.56,
251.865,
247.21,
221.73,
225.0,
227.12,
228.46,
226.82,
224.9,
231.75,
228.615,
227.15,
224.38,
227.41,
224.83,
222.55,
219.22,
212.34,
215.0,
217.615,
217.75,
221.92,
216.78,
230.935,
253.39,
245.45,
250.455,
257.0,
273.33,
308.0,
310.109,
302.5301,
300.18,
281.0701,
279.43,
271.29,
271.33,
266.5,
267.68,
264.8,
268.61,
261.88,
243.68,
243.81,
255.26,
256.1836,
256.0,
258.28,
269.06,
271.12,
278.96,
282.28,
287.65,
300.4901,
295.59,
284.4381,
287.5,
289.1,
213.22,
211.03,
204.44,
210.22,
208.82,
209.18,
204.73,
199.19,
206.8,
215.29,
215.1101,
223.95,
220.2,
216.585,
224.87,
223.3,
233.46,
228.44,
232.72,
234.13,
235.44,
231.68,
233.61,
233.73,
227.4,
229.415,
230.51,
233.03,
233.12,
230.47,
229.51,
228.96,
231.45,
235.09
],
[
241.74,
237.18,
230.76,
237.82,
240.27,
244.8,
251.0,
253.47,
253.71,
255.68,
251.86,
231.08,
231.98,
228.05,
233.04,
227.1,
230.98,
232.2,
229.48,
229.03,
225.74,
231.31,
229.76,
223.55,
219.22,
214.64,
218.37,
219.3,
222.75,
222.33,
225.0,
252.97,
253.84,
250.69,
255.2,
264.22,
297.8,
320.42,
329.23,
305.63,
301.77,
284.84,
280.82,
277.49,
272.36,
274.85,
272.24,
268.71,
270.81,
262.35,
249.1,
252.22,
264.94,
262.96,
258.27,
271.63,
278.0,
281.21,
286.25,
289.52,
299.52,
306.13,
302.05,
295.3,
287.56,
290.23,
217.07,
211.2,
219.05,
212.67,
213.0,
210.5,
205.77,
206.65,
214.19,
216.28,
227.55,
226.44,
221.74,
223.65,
226.31,
235.15,
235.92,
233.43,
237.28,
236.31,
238.42,
235.98,
237.14,
234.32,
228.85,
232.67,
237.16,
233.69,
235.68,
231.04,
234.19,
229.87,
238.79,
235.59
]
]
}
}
// Create the configuration for the graph
var config = {
"graphType": "OptionsWall",
"title": "OptionsWall: IBM implied-volatility wall (real)",
"optionsWallSpot": 235.59,
"optionsWallExpiry": "2026-09-18",
"optionsWallFlankMetric": "iv",
"optionsWallChain": {
"strikes": [
200.0,
205.0,
207.5,
210.0,
212.5,
215.0,
217.5,
220.0,
222.5,
225.0,
227.5,
230.0,
232.5,
235.0,
237.5,
240.0,
242.5,
245.0,
247.5,
250.0,
252.5,
255.0,
257.5,
260.0,
265.0,
270.0,
275.0,
280.0,
285.0,
290.0,
295.0,
300.0,
305.0,
310.0,
315.0,
320.0,
325.0,
330.0
],
"expiry": "2026-09-18",
"call": {
"premium": [
38.1,
29.2,
29.2,
27.51,
24.5,
20.08,
23.02,
18.18,
15.2,
13.63,
12.95,
8.64,
7.35,
6.1,
4.9,
4.05,
3.24,
2.73,
2.0,
1.55,
1.25,
1.11,
0.89,
0.6,
0.43,
0.29,
0.18,
0.14,
0.17,
0.07,
0.25,
0.07,
0.16,
0.08,
0.06,
0.03,
0.16,
0.01
],
"iv": [
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
0.2457,
0.2541,
0.2573,
0.2688,
0.2623,
0.2648,
0.2715,
0.2863,
0.2915,
0.2841,
0.3023,
0.315,
0.3222,
0.3403,
0.3805,
0.3632,
0.4644,
0.4144,
0.4884,
0.4706,
0.4781,
0.4652,
0.5891,
0.4584
],
"volume": [
307.0,
313.0,
0.0,
717.0,
0.0,
671.0,
1.0,
3763.0,
1.0,
937.0,
35.0,
5354.0,
99.0,
1715.0,
88.0,
2555.0,
183.0,
1210.0,
162.0,
4460.0,
85.0,
1914.0,
217.0,
4602.0,
1192.0,
4783.0,
686.0,
4317.0,
2913.0,
2208.0,
306.0,
6066.0,
348.0,
1285.0,
221.0,
2651.0,
463.0,
1379.0
]
},
"put": {
"premium": [
0.17,
0.28,
0.5,
0.51,
0.6,
0.8,
1.0,
1.44,
2.45,
2.43,
3.2,
4.26,
5.2,
6.6,
7.5,
9.44,
11.14,
13.87,
11.9,
17.92,
20.15,
21.18,
24.8,
25.0,
28.75,
36.99,
39.48,
41.3,
50.46,
54.27,
62.62,
64.27,
86.77,
74.46,
79.48,
82.2,
87.22,
111.55
],
"iv": [
0.3521,
0.3353,
0.3507,
0.3262,
0.3119,
0.3073,
0.2977,
0.3025,
0.3349,
0.2971,
0.3,
0.3098,
0.3067,
0.318,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null
],
"volume": [
3652.0,
2019.0,
19.0,
2399.0,
37.0,
2047.0,
74.0,
3454.0,
46.0,
1717.0,
45.0,
3788.0,
44.0,
832.0,
141.0,
2310.0,
7.0,
217.0,
3.0,
2441.0,
0.0,
135.0,
0.0,
820.0,
485.0,
761.0,
99.0,
440.0,
9.0,
56.0,
5.0,
88.0,
3.0,
13.0,
0.0,
2.0,
0.0,
0.0
]
}
}
}
// Event used to create graph (optional)
var events = false
// Call the CanvasXpress function to create the graph
var cX = new CanvasXpress("canvasId", data, config, events);
</script>
</body>
</html>
library(canvasXpress)
y=read.table("https://www.canvasxpress.org/data/r/cX-optionswall1-dat.txt", header=TRUE, sep="\t", quote="", row.names=1, fill=TRUE, check.names=FALSE, stringsAsFactors=FALSE)
canvasXpress(
data=y,
graphType="OptionsWall",
optionsWallChain=list(call=list(iv=list("None", "None", "None", "None", "None", "None", "None", "None", "None", "None", "None", "None", "None", "None", "0.2457", "0.2541", "0.2573", "0.2688", "0.2623", "0.2648", "0.2715", "0.2863", "0.2915", "0.2841", "0.3023", "0.315", "0.3222", "0.3403", "0.3805", "0.3632", "0.4644", "0.4144", "0.4884", "0.4706", "0.4781", "0.4652", "0.5891", "0.4584"), premium=list(38.1, 29.2, 29.2, 27.51, 24.5, 20.08, 23.02, 18.18, 15.2, 13.63, 12.95, 8.64, 7.35, 6.1, 4.9, 4.05, 3.24, 2.73, 2.0, 1.55, 1.25, 1.11, 0.89, 0.6, 0.43, 0.29, 0.18, 0.14, 0.17, 0.07, 0.25, 0.07, 0.16, 0.08, 0.06, 0.03, 0.16, 0.01), volume=list(307.0, 313.0, 0.0, 717.0, 0.0, 671.0, 1.0, 3763.0, 1.0, 937.0, 35.0, 5354.0, 99.0, 1715.0, 88.0, 2555.0, 183.0, 1210.0, 162.0, 4460.0, 85.0, 1914.0, 217.0, 4602.0, 1192.0, 4783.0, 686.0, 4317.0, 2913.0, 2208.0, 306.0, 6066.0, 348.0, 1285.0, 221.0, 2651.0, 463.0, 1379.0)), expiry="2026-09-18", put=list(iv=list("0.3521", "0.3353", "0.3507", "0.3262", "0.3119", "0.3073", "0.2977", "0.3025", "0.3349", "0.2971", "0.3", "0.3098", "0.3067", "0.318", "None", "None", "None", "None", "None", "None", "None", "None", "None", "None", "None", "None", "None", "None", "None", "None", "None", "None", "None", "None", "None", "None", "None", "None"), premium=list(0.17, 0.28, 0.5, 0.51, 0.6, 0.8, 1.0, 1.44, 2.45, 2.43, 3.2, 4.26, 5.2, 6.6, 7.5, 9.44, 11.14, 13.87, 11.9, 17.92, 20.15, 21.18, 24.8, 25.0, 28.75, 36.99, 39.48, 41.3, 50.46, 54.27, 62.62, 64.27, 86.77, 74.46, 79.48, 82.2, 87.22, 111.55), volume=list(3652.0, 2019.0, 19.0, 2399.0, 37.0, 2047.0, 74.0, 3454.0, 46.0, 1717.0, 45.0, 3788.0, 44.0, 832.0, 141.0, 2310.0, 7.0, 217.0, 3.0, 2441.0, 0.0, 135.0, 0.0, 820.0, 485.0, 761.0, 99.0, 440.0, 9.0, 56.0, 5.0, 88.0, 3.0, 13.0, 0.0, 2.0, 0.0, 0.0)), strikes=list(200.0, 205.0, 207.5, 210.0, 212.5, 215.0, 217.5, 220.0, 222.5, 225.0, 227.5, 230.0, 232.5, 235.0, 237.5, 240.0, 242.5, 245.0, 247.5, 250.0, 252.5, 255.0, 257.5, 260.0, 265.0, 270.0, 275.0, 280.0, 285.0, 290.0, 295.0, 300.0, 305.0, 310.0, 315.0, 320.0, 325.0, 330.0)),
optionsWallExpiry="2026-09-18",
optionsWallFlankMetric="iv",
optionsWallSpot=235.59,
title="OptionsWall: IBM implied-volatility wall (real)"
)