I have a stock market future and option data which has a expiry date every which is changing. I want to subtract the opening price on 1st day of expiry from closing price of expiry date, I want to self join the table
SELECT *FROM XYZ AS A, XYZ AS B,
where A.date is = B.date and A.expiry is equal to B.expiry and A.Otype not <> to B.Otype and A.vals =B.val
TRIED MIN DATE ROW OVER BY PARTITIION ORDER BY DATE GROUP BY EXPIRY
FIRST OPEN VALUE ROW OVER BY PARTITIION ORDER BY DATE GROUP BY EXPIRY LAST CLOSE VALUE OPEN VALUE ROW OVER BY PARTITIION ORDER BY DATE GROUP BY EXPIRY
Date Expiry Otype Strike Open Close vals
31-05-2024 06-Jun-2024 CALL ME 22500 496 486.85 50
31-05-2024 06-Jun-2024 CALL ME 22550 557 460.4 0
31-05-2024 06-Jun-2024 CALL ME 22600 450 430 -50
06-Mar-2024 06-Jun-2024 CALL ME 22500 767.5 865 50
06-Mar-2024 06-Jun-2024 CALL ME 22550 610 815.9 0
06-Mar-2024 06-Jun-2024 CALL ME 22600 651 781.4 -50
06-Apr-2024 06-Jun-2024 CALL ME 22500 700 99.65 50
06-Apr-2024 06-Jun-2024 CALL ME 22550 560.75 95.45 0
06-Apr-2024 06-Jun-2024 CALL ME 22600 570 90.4 -50
06-May-2024 06-Jun-2024 CALL ME 22500 118.05 193.8 50
06-May-2024 06-Jun-2024 CALL ME 22550 100.05 164.7 0
06-May-2024 06-Jun-2024 CALL ME 22600 92.55 142.5 -50
06-Jun-2024 06-Jun-2024 CALL ME 22500 235 307.95 50
06-Jun-2024 06-Jun-2024 CALL ME 22550 205 256.45 0
06-Jun-2024 06-Jun-2024 CALL ME 22600 165 206.35 -50
06-Jul-2024 13-06-2024 CALL ME 23250 65 237.6 50
06-Jul-2024 13-06-2024 CALL ME 23300 55.05 209.6 0
06-Jul-2024 13-06-2024 CALL ME 23350 54.45 183.55 -50
06-Oct-2024 13-06-2024 CALL ME 23250 237.6 158.4 50
06-Oct-2024 13-06-2024 CALL ME 23300 209.9 135.3 0
06-Oct-2024 13-06-2024 CALL ME 23350 179 114.75 -50
06-Nov-2024 13-06-2024 CALL ME 23250 168 133.2 50
06-Nov-2024 13-06-2024 CALL ME 23300 135.3 108.45 0
06-Nov-2024 13-06-2024 CALL ME 23350 120.1 85.9 -50
06-Dec-2024 13-06-2024 CALL ME 23250 165 127.35 50
06-Dec-2024 13-06-2024 CALL ME 23300 109 97.35 0
06-Dec-2024 13-06-2024 CALL ME 23350 75.85 72.25 -50
13-06-2024 13-06-2024 CALL ME 23250 200 145.3 50
13-06-2024 13-06-2024 CALL ME 23300 130 95.2 0
13-06-2024 13-06-2024 CALL ME 23350 111 44.9 -50
31-05-2024 06-Jun-2024 PULL ME 22500 407 382 50
31-05-2024 06-Jun-2024 PULL ME 22550 500 400.85 0
31-05-2024 06-Jun-2024 PULL ME 22600 420 420.7 -50
06-Mar-2024 06-Jun-2024 PULL ME 22500 110.55 88.6 50
06-Mar-2024 06-Jun-2024 PULL ME 22550 134.55 97.3 0
06-Mar-2024 06-Jun-2024 PULL ME 22600 150 103.3 -50
06-Apr-2024 06-Jun-2024 PULL ME 22500 89.9 785.45 50
06-Apr-2024 06-Jun-2024 PULL ME 22550 102 877.9 0
06-Apr-2024 06-Jun-2024 PULL ME 22600 110.6 878.3 -50
06-May-2024 06-Jun-2024 PULL ME 22500 480 138.3 50
06-May-2024 06-Jun-2024 PULL ME 22550 667.4 164.5 0
06-May-2024 06-Jun-2024 PULL ME 22600 714.25 187.5 -50
06-Jun-2024 06-Jun-2024 PULL ME 22500 70 0.2 50
06-Jun-2024 06-Jun-2024 PULL ME 22550 78.1 0.25 0
06-Jun-2024 06-Jun-2024 PULL ME 22600 98 0.35 -50
06-Jul-2024 13-06-2024 PULL ME 23250 473.2 189.1 50
06-Jul-2024 13-06-2024 PULL ME 23300 506.15 210.95 0
06-Jul-2024 13-06-2024 PULL ME 23350 561.2 235.65 -50
06-Oct-2024 13-06-2024 PULL ME 23250 163.05 184.4 50
06-Oct-2024 13-06-2024 PULL ME 23300 208.95 209.75 0
06-Oct-2024 13-06-2024 PULL ME 23350 220 238.8 -50
06-Nov-2024 13-06-2024 PULL ME 23250 194 103.35 50
06-Nov-2024 13-06-2024 PULL ME 23300 195 124.4 0
06-Nov-2024 13-06-2024 PULL ME 23350 230.35 149.15 -50
06-Dec-2024 13-06-2024 PULL ME 23250 78.3 53.85 50
06-Dec-2024 13-06-2024 PULL ME 23300 120.1 73.75 0
06-Dec-2024 13-06-2024 PULL ME 23350 131.8 98.1 -50
13-06-2024 13-06-2024 PULL ME 23250 18 0.2 50
13-06-2024 13-06-2024 PULL ME 23300 23.5 0.2 0
13-06-2024 13-06-2024 PULL ME 23350 47.7 0.45 -50
DESIRED RESULT
Date Expiry Otype Strike Open Close vals Otype Strike Open Close vals Otype Strike Open Close vals 1STDAY LAST DAY FIRST OPEN VALUE LAST CLOSE VALUE FIRST OPEN VALUE - CLOSE VALUE
31-05-2024 06-Jun-2024 CALL ME 22500 496 486.85 50 CALL ME 22500 496 486.85 50 PULL ME 22500 407 382 50 1STDAY LAST DAY FIRST OPEN VALUE LAST CLOSE VALUE FIRST OPEN VALUE - CLOSE VALUE
31-05-2024 06-Jun-2024 CALL ME 22550 557 460.4 0 CALL ME 22550 557 460.4 0 PULL ME 22550 500 400.85 0 1STDAY LAST DAY FIRST OPEN VALUE LAST CLOSE VALUE FIRST OPEN VALUE - CLOSE VALUE
31-05-2024 06-Jun-2024 CALL ME 22600 450 430 -50 CALL ME 22600 450 430 -50 PULL ME 22600 420 420.7 -50 1STDAY LAST DAY FIRST OPEN VALUE LAST CLOSE VALUE FIRST OPEN VALUE - CLOSE VALUE
06-Mar-2024 06-Jun-2024 CALL ME 22500 767.5 865 50 CALL ME 22500 767.5 865 50 PULL ME 22500 110.55 88.6 50 1STDAY LAST DAY FIRST OPEN VALUE LAST CLOSE VALUE FIRST OPEN VALUE - CLOSE VALUE
06-Mar-2024 06-Jun-2024 CALL ME 22550 610 815.9 0 CALL ME 22550 610 815.9 0 PULL ME 22550 134.55 97.3 0 1STDAY LAST DAY FIRST OPEN VALUE LAST CLOSE VALUE FIRST OPEN VALUE - CLOSE VALUE
06-Mar-2024 06-Jun-2024 CALL ME 22600 651 781.4 -50 CALL ME 22600 651 781.4 -50 PULL ME 22600 150 103.3 -50 1STDAY LAST DAY FIRST OPEN VALUE LAST CLOSE VALUE FIRST OPEN VALUE - CLOSE VALUE
06-Apr-2024 06-Jun-2024 CALL ME 22500 700 99.65 50 CALL ME 22500 700 99.65 50 PULL ME 22500 89.9 785.45 50 1STDAY LAST DAY FIRST OPEN VALUE LAST CLOSE VALUE FIRST OPEN VALUE - CLOSE VALUE
06-Apr-2024 06-Jun-2024 CALL ME 22550 560.75 95.45 0 CALL ME 22550 560.75 95.45 0 PULL ME 22550 102 877.9 0 1STDAY LAST DAY FIRST OPEN VALUE LAST CLOSE VALUE FIRST OPEN VALUE - CLOSE VALUE
06-Apr-2024 06-Jun-2024 CALL ME 22600 570 90.4 -50 CALL ME 22600 570 90.4 -50 PULL ME 22600 110.6 878.3 -50 1STDAY LAST DAY FIRST OPEN VALUE LAST CLOSE VALUE FIRST OPEN VALUE - CLOSE VALUE
06-May-2024 06-Jun-2024 CALL ME 22500 118.05 193.8 50 CALL ME 22500 118.05 193.8 50 PULL ME 22500 480 138.3 50 1STDAY LAST DAY FIRST OPEN VALUE LAST CLOSE VALUE FIRST OPEN VALUE - CLOSE VALUE
06-May-2024 06-Jun-2024 CALL ME 22550 100.05 164.7 0 CALL ME 22550 100.05 164.7 0 PULL ME 22550 667.4 164.5 0 1STDAY LAST DAY FIRST OPEN VALUE LAST CLOSE VALUE FIRST OPEN VALUE - CLOSE VALUE
06-May-2024 06-Jun-2024 CALL ME 22600 92.55 142.5 -50 CALL ME 22600 92.55 142.5 -50 PULL ME 22600 714.25 187.5 -50 1STDAY LAST DAY FIRST OPEN VALUE LAST CLOSE VALUE FIRST OPEN VALUE - CLOSE VALUE
06-Jun-2024 06-Jun-2024 CALL ME 22500 235 307.95 50 CALL ME 22500 235 307.95 50 PULL ME 22500 70 0.2 50 1STDAY LAST DAY FIRST OPEN VALUE LAST CLOSE VALUE FIRST OPEN VALUE - CLOSE VALUE
06-Jun-2024 06-Jun-2024 CALL ME 22550 205 256.45 0 CALL ME 22550 205 256.45 0 PULL ME 22550 78.1 0.25 0 1STDAY LAST DAY FIRST OPEN VALUE LAST CLOSE VALUE FIRST OPEN VALUE - CLOSE VALUE
06-Jun-2024 06-Jun-2024 CALL ME 22600 165 206.35 -50 CALL ME 22600 165 206.35 -50 PULL ME 22600 98 0.35 -50 1STDAY LAST DAY FIRST OPEN VALUE LAST CLOSE VALUE FIRST OPEN VALUE - CLOSE VALUE
06-Jul-2024 13-06-2024 CALL ME 23250 65 237.6 50 CALL ME 23250 65 237.6 50 PULL ME 23250 473.2 189.1 50 1STDAY LAST DAY FIRST OPEN VALUE LAST CLOSE VALUE FIRST OPEN VALUE - CLOSE VALUE
06-Jul-2024 13-06-2024 CALL ME 23300 55.05 209.6 0 CALL ME 23300 55.05 209.6 0 PULL ME 23300 506.15 210.95 0 1STDAY LAST DAY FIRST OPEN VALUE LAST CLOSE VALUE FIRST OPEN VALUE - CLOSE VALUE
06-Jul-2024 13-06-2024 CALL ME 23350 54.45 183.55 -50 CALL ME 23350 54.45 183.55 -50 PULL ME 23350 561.2 235.65 -50 1STDAY LAST DAY FIRST OPEN VALUE LAST CLOSE VALUE FIRST OPEN VALUE - CLOSE VALUE
06-Oct-2024 13-06-2024 CALL ME 23250 237.6 158.4 50 CALL ME 23250 237.6 158.4 50 PULL ME 23250 163.05 184.4 50 1STDAY LAST DAY FIRST OPEN VALUE LAST CLOSE VALUE FIRST OPEN VALUE - CLOSE VALUE
06-Oct-2024 13-06-2024 CALL ME 23300 209.9 135.3 0 CALL ME 23300 209.9 135.3 0 PULL ME 23300 208.95 209.75 0 1STDAY LAST DAY FIRST OPEN VALUE LAST CLOSE VALUE FIRST OPEN VALUE - CLOSE VALUE
06-Oct-2024 13-06-2024 CALL ME 23350 179 114.75 -50 CALL ME 23350 179 114.75 -50 PULL ME 23350 220 238.8 -50 1STDAY LAST DAY FIRST OPEN VALUE LAST CLOSE VALUE FIRST OPEN VALUE - CLOSE VALUE
06-Nov-2024 13-06-2024 CALL ME 23250 168 133.2 50 CALL ME 23250 168 133.2 50 PULL ME 23250 194 103.35 50 1STDAY LAST DAY FIRST OPEN VALUE LAST CLOSE VALUE FIRST OPEN VALUE - CLOSE VALUE
06-Nov-2024 13-06-2024 CALL ME 23300 135.3 108.45 0 CALL ME 23300 135.3 108.45 0 PULL ME 23300 195 124.4 0 1STDAY LAST DAY FIRST OPEN VALUE LAST CLOSE VALUE FIRST OPEN VALUE - CLOSE VALUE
06-Nov-2024 13-06-2024 CALL ME 23350 120.1 85.9 -50 CALL ME 23350 120.1 85.9 -50 PULL ME 23350 230.35 149.15 -50 1STDAY LAST DAY FIRST OPEN VALUE LAST CLOSE VALUE FIRST OPEN VALUE - CLOSE VALUE
06-Dec-2024 13-06-2024 CALL ME 23250 165 127.35 50 CALL ME 23250 165 127.35 50 PULL ME 23250 78.3 53.85 50 1STDAY LAST DAY FIRST OPEN VALUE LAST CLOSE VALUE FIRST OPEN VALUE - CLOSE VALUE
06-Dec-2024 13-06-2024 CALL ME 23300 109 97.35 0 CALL ME 23300 109 97.35 0 PULL ME 23300 120.1 73.75 0 1STDAY LAST DAY FIRST OPEN VALUE LAST CLOSE VALUE FIRST OPEN VALUE - CLOSE VALUE
06-Dec-2024 13-06-2024 CALL ME 23350 75.85 72.25 -50 CALL ME 23350 75.85 72.25 -50 PULL ME 23350 131.8 98.1 -50 1STDAY LAST DAY FIRST OPEN VALUE LAST CLOSE VALUE FIRST OPEN VALUE - CLOSE VALUE
13-06-2024 13-06-2024 CALL ME 23250 200 145.3 50 CALL ME 23250 200 145.3 50 PULL ME 23250 18 0.2 50 1STDAY LAST DAY FIRST OPEN VALUE LAST CLOSE VALUE FIRST OPEN VALUE - CLOSE VALUE
13-06-2024 13-06-2024 CALL ME 23300 130 95.2 0 CALL ME 23300 130 95.2 0 PULL ME 23300 23.5 0.2 0 1STDAY LAST DAY FIRST OPEN VALUE LAST CLOSE VALUE FIRST OPEN VALUE - CLOSE VALUE
13-06-2024 13-06-2024 CALL ME 23350 111 44.9 -50 CALL ME 23350 111 44.9 -50 PULL ME 23350 47.7 0.45 -50 1STDAY LAST DAY FIRST OPEN VALUE LAST CLOSE VALUE FIRST OPEN VALUE - CLOSE VALUE
I WANT TO SUBRACT OPEN PRICE ON 1ST DAY OF EXPIRY MINUS CLOSING PRICE ON THE EXPIRY DAY.
Pravin Thakur is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
1