0% found this document useful (0 votes)
29 views

Index Excel Code

The document contains code for retrieving live price data from the National Stock Exchange of India (NSE) website for the Nifty 50 and Banknifty indices, as well as futures data for Nifty. The code uses the NSE API to request data in JSON format, which is then parsed and transformed into tables containing columns for various price and metadata fields like last traded price, change, expiry date, etc.

Uploaded by

uttam singh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
29 views

Index Excel Code

The document contains code for retrieving live price data from the National Stock Exchange of India (NSE) website for the Nifty 50 and Banknifty indices, as well as futures data for Nifty. The code uses the NSE API to request data in JSON format, which is then parsed and transformed into tables containing columns for various price and metadata fields like last traded price, change, expiry date, etc.

Uploaded by

uttam singh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 10

LTP – nifty50

=SUMIFS(Nifty50[Column1.CE.lastPrice],Nifty50[Column1.CE.expiryDate],
$AA$5,Nifty50[Column1.CE.strikePrice],'LIVE DATA'!N7)

LTP – Banknifty

=SUMIFS(Banknifty[Column1.CE.lastPrice],Banknifty[Column1.CE.expiryDate],
$AA$39,Banknifty[Column1.CE.strikePrice],'LIVE DATA'!N41)

Cookie : nsit=DLFz48Cr9ExY8yu6u_bGQ1Yl; AKA_A2=A;


ak_bmsc=1BB458148404B0A9F3155C482632F41C~000000000000000000000000000000~YAAQTEo5
F/1DqX9+AQAAV0zxuA6eTRVxrmYGjhn+
+SObG74ODOA223JZez8OJ3NKoI9ObHTawG2lOoUEMuRvFUiUvx+FzHm+Za0WZ4QG3hO/
VUv02hwHNC1CierlNxiNq5nc87QmCzadZbPdvrmHq2my4Aiigm8D17ursPrCd/
6uuop3IFBUmxKhKvv3dh4TwByKEwhMEKfBAwIxy4iGhcbduKZ8tB9SIw/+
+rm5ruvIzZLIZ19+Qz7Kh4qv+9bw7Lb2idlb2aC32TjECFBMfp0hiEsBGArv2EtBC/
guiLbIlNxVLRMGC2GzmpyVJx5UyRsBFoU525lGa9aYa8QTLJu0yz0rP0q1QAxo1a1FGUUVzRQT9wyHWS
pIp7I1EWH6BT0mkfqXffnhKROA3sG00HqYD5rC6/qV7N42Egkp1LNasfReol4aHSqBgmH/
M4VnYly7ZRv1SHXCqwro3XIyGwToPwi0t52x1qWvdPm0KPsCNSoTMlgVt3S6ctA=;
_ga=GA1.2.797595986.1643780326; _gid=GA1.2.478843103.1643780330; _gat_UA-143761337-1=1;
nseappid=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJhcGkubnNlIiwiYXVkIjoiYXBpLm5zZSIsI
mlhdCI6MTY0Mzc4MTQ2MiwiZXhwIjoxNjQzNzg1MDYyfQ.-LANrVoTV3_eGZT44sOlr-
EpTddRfO2tr_YdqRKBdv4; nseQuoteSymbols=[{"symbol":"NIFTY","identifier":"OPTIDXNIFTY03-02-
2022CE18000.00","type":"equity"}]; RT="z=1&dm=nseindia.com&si=...

Nifty50 : let

Source = Json.Document(Web.Contents("https://www.nseindia.com/api/option-chain-indices?
symbol=NIFTY", [Headers=[#"Accept-Encoding"="gzip, deflate", #"Accept-Language"="en-US,en",
#"User-Agent"="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like
Gecko) Chrome/81.0.4044.138 Safari/537.36 OPR/68.0.3618.206"]])),

records = Source[records],

data = records[data],

#"Converted to Table" = Table.FromList(data, Splitter.SplitByNothing(), null, null,


ExtraValues.Error),

#"Expanded Column1" = Table.ExpandRecordColumn(#"Converted to Table", "Column1",


{"strikePrice", "expiryDate", "PE", "CE"}, {"Column1.strikePrice", "Column1.expiryDate",
"Column1.PE", "Column1.CE"}),
#"Filtered Rows" = Table.SelectRows(#"Expanded Column1", each true),

#"Reordered Columns" = Table.ReorderColumns(#"Filtered Rows",{"Column1.strikePrice",


"Column1.expiryDate", "Column1.CE", "Column1.PE"}),

#"Expanded Column1.CE" = Table.ExpandRecordColumn(#"Reordered Columns", "Column1.CE",


{"strikePrice", "expiryDate", "underlying", "openInterest", "changeinOpenInterest",
"pchangeinOpenInterest", "totalTradedVolume", "impliedVolatility", "lastPrice", "change",
"pChange", "underlyingValue"}, {"Column1.CE.strikePrice", "Column1.CE.expiryDate",
"Column1.CE.underlying", "Column1.CE.openInterest", "Column1.CE.changeinOpenInterest",
"Column1.CE.pchangeinOpenInterest", "Column1.CE.totalTradedVolume",
"Column1.CE.impliedVolatility", "Column1.CE.lastPrice", "Column1.CE.change",
"Column1.CE.pChange", "Column1.CE.underlyingValue"}),

#"Expanded Column1.PE" = Table.ExpandRecordColumn(#"Expanded Column1.CE", "Column1.PE",


{"strikePrice", "expiryDate", "underlying", "openInterest", "changeinOpenInterest",
"pchangeinOpenInterest", "totalTradedVolume", "impliedVolatility", "lastPrice", "change",
"pChange", "underlyingValue"}, {"Column1.PE.strikePrice", "Column1.PE.expiryDate",
"Column1.PE.underlying", "Column1.PE.openInterest", "Column1.PE.changeinOpenInterest",
"Column1.PE.pchangeinOpenInterest", "Column1.PE.totalTradedVolume",
"Column1.PE.impliedVolatility", "Column1.PE.lastPrice", "Column1.PE.change",
"Column1.PE.pChange", "Column1.PE.underlyingValue"}),

#"Filtered Rows1" = Table.SelectRows(#"Expanded Column1.PE", each true)

in

#"Filtered Rows1"

Banknifty - let

Source = Json.Document(Web.Contents("https://www.nseindia.com/api/option-chain-indices?
symbol=BANKNIFTY", [Headers=[#"Accept-Encoding"="gzip, deflate", #"Accept-Language"="en-
US,en", #"User-Agent"="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML,
like Gecko) Chrome/81.0.4044.138 Safari/537.36 OPR/68.0.3618.206"]])),

records = Source[records],

data = records[data],

#"Converted to Table" = Table.FromList(data, Splitter.SplitByNothing(), null, null,


ExtraValues.Error),

#"Expanded Column1" = Table.ExpandRecordColumn(#"Converted to Table", "Column1",


{"strikePrice", "expiryDate", "PE", "CE"}, {"Column1.strikePrice", "Column1.expiryDate",
"Column1.PE", "Column1.CE"}),
#"Filtered Rows" = Table.SelectRows(#"Expanded Column1", each true),

#"Reordered Columns" = Table.ReorderColumns(#"Filtered Rows",{"Column1.strikePrice",


"Column1.expiryDate", "Column1.CE", "Column1.PE"}),

#"Expanded Column1.CE" = Table.ExpandRecordColumn(#"Reordered Columns", "Column1.CE",


{"strikePrice", "expiryDate", "underlying", "openInterest", "changeinOpenInterest",
"pchangeinOpenInterest", "totalTradedVolume", "impliedVolatility", "lastPrice", "change",
"pChange", "underlyingValue"}, {"Column1.CE.strikePrice", "Column1.CE.expiryDate",
"Column1.CE.underlying", "Column1.CE.openInterest", "Column1.CE.changeinOpenInterest",
"Column1.CE.pchangeinOpenInterest", "Column1.CE.totalTradedVolume",
"Column1.CE.impliedVolatility", "Column1.CE.lastPrice", "Column1.CE.change",
"Column1.CE.pChange", "Column1.CE.underlyingValue"}),

#"Expanded Column1.PE" = Table.ExpandRecordColumn(#"Expanded Column1.CE", "Column1.PE",


{"strikePrice", "expiryDate", "identifier", "openInterest", "changeinOpenInterest",
"pchangeinOpenInterest", "totalTradedVolume", "impliedVolatility", "lastPrice", "change",
"pChange", "underlyingValue"}, {"Column1.PE.strikePrice", "Column1.PE.expiryDate",
"Column1.PE.identifier", "Column1.PE.openInterest", "Column1.PE.changeinOpenInterest",
"Column1.PE.pchangeinOpenInterest", "Column1.PE.totalTradedVolume",
"Column1.PE.impliedVolatility", "Column1.PE.lastPrice", "Column1.PE.change",
"Column1.PE.pChange", "Column1.PE.underlyingValue"}),

#"Filtered Rows1" = Table.SelectRows(#"Expanded Column1.PE", each true)

in

#"Filtered Rows1"

FUTURE………………………………………NIFTY

let

Source = Json.Document(Web.Contents("https://www.nseindia.com/api/quote-derivative?
symbol=NIFTY", [Headers=[#"Accept-Encoding"="gzip, deflate", #"Accept-Language"="en-US,en",
#"User-Agent"="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like
Gecko) Chrome/81.0.4044.138 Safari/537.36 OPR/68.0.3618.206"]])),

#"Converted to Table" = Record.ToTable(Source),

Value = #"Converted to Table"{6}[Value],

#"Converted to Table1" = Table.FromList(Value, Splitter.SplitByNothing(), null, null,


ExtraValues.Error),

#"Expanded Column1" = Table.ExpandRecordColumn(#"Converted to Table1", "Column1",


{"metadata", "underlyingValue", "volumeFreezeQuantity", "marketDeptOrderBook"},
{"Column1.metadata", "Column1.underlyingValue", "Column1.volumeFreezeQuantity",
"Column1.marketDeptOrderBook"}),
#"Expanded Column1.marketDeptOrderBook" = Table.ExpandRecordColumn(#"Expanded
Column1", "Column1.marketDeptOrderBook", {"totalBuyQuantity", "totalSellQuantity", "bid", "ask",
"carryOfCost", "tradeInfo", "otherInfo"}, {"Column1.marketDeptOrderBook.totalBuyQuantity",
"Column1.marketDeptOrderBook.totalSellQuantity", "Column1.marketDeptOrderBook.bid",
"Column1.marketDeptOrderBook.ask", "Column1.marketDeptOrderBook.carryOfCost",
"Column1.marketDeptOrderBook.tradeInfo", "Column1.marketDeptOrderBook.otherInfo"}),

#"Extracted Values" = Table.TransformColumns(#"Expanded Column1.marketDeptOrderBook",


{"Column1.marketDeptOrderBook.bid", each Text.Combine(List.Transform(_, Text.From)), type
text}),

#"Extracted Values1" = Table.TransformColumns(#"Extracted Values",


{"Column1.marketDeptOrderBook.ask", each Text.Combine(List.Transform(_, Text.From), ":"), type
text}),

#"Expanded Column1.marketDeptOrderBook.tradeInfo" =
Table.ExpandRecordColumn(#"Extracted Values1", "Column1.marketDeptOrderBook.tradeInfo",
{"tradedVolume", "value", "vmap", "premiumTurnover", "openInterest", "changeinOpenInterest",
"pchangeinOpenInterest", "marketLot"},
{"Column1.marketDeptOrderBook.tradeInfo.tradedVolume",
"Column1.marketDeptOrderBook.tradeInfo.value",
"Column1.marketDeptOrderBook.tradeInfo.vmap",
"Column1.marketDeptOrderBook.tradeInfo.premiumTurnover",
"Column1.marketDeptOrderBook.tradeInfo.openInterest",
"Column1.marketDeptOrderBook.tradeInfo.changeinOpenInterest",
"Column1.marketDeptOrderBook.tradeInfo.pchangeinOpenInterest",
"Column1.marketDeptOrderBook.tradeInfo.marketLot"}),

#"Expanded Column1.marketDeptOrderBook.otherInfo" =
Table.ExpandRecordColumn(#"Expanded Column1.marketDeptOrderBook.tradeInfo",
"Column1.marketDeptOrderBook.otherInfo", {"settlementPrice", "dailyvolatility",
"annualisedVolatility", "impliedVolatility", "clientWisePositionLimits", "marketWidePositionLimits"},
{"Column1.marketDeptOrderBook.otherInfo.settlementPrice",
"Column1.marketDeptOrderBook.otherInfo.dailyvolatility",
"Column1.marketDeptOrderBook.otherInfo.annualisedVolatility",
"Column1.marketDeptOrderBook.otherInfo.impliedVolatility",
"Column1.marketDeptOrderBook.otherInfo.clientWisePositionLimits",
"Column1.marketDeptOrderBook.otherInfo.marketWidePositionLimits"}),

#"Expanded Column1.metadata" = Table.ExpandRecordColumn(#"Expanded


Column1.marketDeptOrderBook.otherInfo", "Column1.metadata", {"instrumentType", "expiryDate",
"optionType", "strikePrice", "identifier", "openPrice", "highPrice", "lowPrice", "closePrice",
"prevClose", "lastPrice", "change", "pChange", "numberOfContractsTraded", "totalTurnover"},
{"Column1.metadata.instrumentType", "Column1.metadata.expiryDate",
"Column1.metadata.optionType", "Column1.metadata.strikePrice", "Column1.metadata.identifier",
"Column1.metadata.openPrice", "Column1.metadata.highPrice", "Column1.metadata.lowPrice",
"Column1.metadata.closePrice", "Column1.metadata.prevClose", "Column1.metadata.lastPrice",
"Column1.metadata.change", "Column1.metadata.pChange",
"Column1.metadata.numberOfContractsTraded", "Column1.metadata.totalTurnover"}),
#"Filtered Rows" = Table.SelectRows(#"Expanded Column1.metadata", each
([Column1.metadata.instrumentType] = "Index Futures")),

#"Expanded Column1.marketDeptOrderBook.carryOfCost" =
Table.ExpandRecordColumn(#"Filtered Rows", "Column1.marketDeptOrderBook.carryOfCost",
{"price", "carry"}, {"Column1.marketDeptOrderBook.carryOfCost.price",
"Column1.marketDeptOrderBook.carryOfCost.carry"}),

#"Removed Columns" = Table.RemoveColumns(#"Expanded


Column1.marketDeptOrderBook.carryOfCost",{"Column1.marketDeptOrderBook.ask"}),

#"Expanded Column1.marketDeptOrderBook.carryOfCost.price" =
Table.ExpandRecordColumn(#"Removed Columns",
"Column1.marketDeptOrderBook.carryOfCost.price", {"bestBuy", "bestSell", "lastPrice"},
{"Column1.marketDeptOrderBook.carryOfCost.price.bestBuy",
"Column1.marketDeptOrderBook.carryOfCost.price.bestSell",
"Column1.marketDeptOrderBook.carryOfCost.price.lastPrice"}),

#"Removed Columns1" = Table.RemoveColumns(#"Expanded


Column1.marketDeptOrderBook.carryOfCost.price",{"Column1.marketDeptOrderBook.bid"}),

#"Expanded Column1.marketDeptOrderBook.carryOfCost.carry" =
Table.ExpandRecordColumn(#"Removed Columns1",
"Column1.marketDeptOrderBook.carryOfCost.carry", {"bestBuy", "bestSell", "lastPrice"},
{"Column1.marketDeptOrderBook.carryOfCost.carry.bestBuy",
"Column1.marketDeptOrderBook.carryOfCost.carry.bestSell",
"Column1.marketDeptOrderBook.carryOfCost.carry.lastPrice"}),

#"Removed Columns2" = Table.RemoveColumns(#"Expanded


Column1.marketDeptOrderBook.carryOfCost.carry",{"Column1.metadata.optionType",
"Column1.metadata.strikePrice"}),

#"Renamed Columns" = Table.RenameColumns(#"Removed Columns2",


{{"Column1.metadata.openPrice", "Open price"}, {"Column1.metadata.highPrice", "High"},
{"Column1.metadata.lowPrice", "Low"}, {"Column1.metadata.closePrice", "Close"},
{"Column1.metadata.prevClose", "prevClose"}, {"Column1.metadata.lastPrice", "LastPrice"},
{"Column1.metadata.change", "Change"}, {"Column1.metadata.pChange", "pChange"},
{"Column1.metadata.numberOfContractsTraded", "ContractsTraded"},
{"Column1.metadata.totalTurnover", "totalTurnover"}, {"Column1.underlyingValue", "Spot"}}),

#"Removed Columns3" = Table.RemoveColumns(#"Renamed Columns",


{"Column1.volumeFreezeQuantity", "Column1.marketDeptOrderBook.totalBuyQuantity",
"Column1.marketDeptOrderBook.totalSellQuantity",
"Column1.marketDeptOrderBook.carryOfCost.price.bestBuy",
"Column1.marketDeptOrderBook.carryOfCost.price.bestSell",
"Column1.marketDeptOrderBook.carryOfCost.price.lastPrice",
"Column1.marketDeptOrderBook.carryOfCost.carry.bestBuy",
"Column1.marketDeptOrderBook.carryOfCost.carry.bestSell",
"Column1.marketDeptOrderBook.carryOfCost.carry.lastPrice",
"Column1.marketDeptOrderBook.tradeInfo.tradedVolume",
"Column1.marketDeptOrderBook.tradeInfo.value"}),
#"Renamed Columns1" = Table.RenameColumns(#"Removed Columns3",
{{"Column1.marketDeptOrderBook.tradeInfo.vmap", "Vwap"}}),

#"Removed Columns4" = Table.RemoveColumns(#"Renamed Columns1",


{"Column1.marketDeptOrderBook.tradeInfo.premiumTurnover"}),

#"Renamed Columns2" = Table.RenameColumns(#"Removed Columns4",


{{"Column1.marketDeptOrderBook.tradeInfo.openInterest", "Oi"},
{"Column1.marketDeptOrderBook.tradeInfo.changeinOpenInterest", "C Oi"}}),

#"Removed Columns5" = Table.RemoveColumns(#"Renamed Columns2",


{"Column1.marketDeptOrderBook.tradeInfo.pchangeinOpenInterest",
"Column1.marketDeptOrderBook.tradeInfo.marketLot",
"Column1.marketDeptOrderBook.otherInfo.settlementPrice",
"Column1.marketDeptOrderBook.otherInfo.dailyvolatility"}),

#"Renamed Columns3" = Table.RenameColumns(#"Removed Columns5",


{{"Column1.marketDeptOrderBook.otherInfo.annualisedVolatility", "AIV"},
{"Column1.marketDeptOrderBook.otherInfo.impliedVolatility", "IV"}}),

#"Removed Columns6" = Table.RemoveColumns(#"Renamed Columns3",


{"Column1.marketDeptOrderBook.otherInfo.clientWisePositionLimits",
"Column1.marketDeptOrderBook.otherInfo.marketWidePositionLimits"}),

#"Renamed Columns4" = Table.RenameColumns(#"Removed Columns6",


{{"Column1.metadata.instrumentType", "Type"}, {"Column1.metadata.expiryDate", "expiryDate"},
{"Column1.metadata.identifier", "identifier"}})

in

#"Renamed Columns4"

FUTURE………………bANKNIFTY ===================================

let

Source = Json.Document(Web.Contents("https://www.nseindia.com/api/quote-derivative?
symbol=BANKNIFTY", [Headers=[#"Accept-Encoding"="gzip, deflate", #"Accept-Language"="en-
US,en", #"User-Agent"="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML,
like Gecko) Chrome/81.0.4044.138 Safari/537.36 OPR/68.0.3618.206"]])),

#"Converted to Table" = Record.ToTable(Source),

Value = #"Converted to Table"{6}[Value],

#"Converted to Table1" = Table.FromList(Value, Splitter.SplitByNothing(), null, null,


ExtraValues.Error),

#"Expanded Column1" = Table.ExpandRecordColumn(#"Converted to Table1", "Column1",


{"metadata", "underlyingValue", "volumeFreezeQuantity", "marketDeptOrderBook"},
{"Column1.metadata", "Column1.underlyingValue", "Column1.volumeFreezeQuantity",
"Column1.marketDeptOrderBook"}),

#"Expanded Column1.marketDeptOrderBook" = Table.ExpandRecordColumn(#"Expanded


Column1", "Column1.marketDeptOrderBook", {"totalBuyQuantity", "totalSellQuantity", "bid", "ask",
"carryOfCost", "tradeInfo", "otherInfo"}, {"Column1.marketDeptOrderBook.totalBuyQuantity",
"Column1.marketDeptOrderBook.totalSellQuantity", "Column1.marketDeptOrderBook.bid",
"Column1.marketDeptOrderBook.ask", "Column1.marketDeptOrderBook.carryOfCost",
"Column1.marketDeptOrderBook.tradeInfo", "Column1.marketDeptOrderBook.otherInfo"}),

#"Extracted Values" = Table.TransformColumns(#"Expanded Column1.marketDeptOrderBook",


{"Column1.marketDeptOrderBook.bid", each Text.Combine(List.Transform(_, Text.From)), type
text}),

#"Extracted Values1" = Table.TransformColumns(#"Extracted Values",


{"Column1.marketDeptOrderBook.ask", each Text.Combine(List.Transform(_, Text.From), ":"), type
text}),

#"Expanded Column1.marketDeptOrderBook.tradeInfo" =
Table.ExpandRecordColumn(#"Extracted Values1", "Column1.marketDeptOrderBook.tradeInfo",
{"tradedVolume", "value", "vmap", "premiumTurnover", "openInterest", "changeinOpenInterest",
"pchangeinOpenInterest", "marketLot"},
{"Column1.marketDeptOrderBook.tradeInfo.tradedVolume",
"Column1.marketDeptOrderBook.tradeInfo.value",
"Column1.marketDeptOrderBook.tradeInfo.vmap",
"Column1.marketDeptOrderBook.tradeInfo.premiumTurnover",
"Column1.marketDeptOrderBook.tradeInfo.openInterest",
"Column1.marketDeptOrderBook.tradeInfo.changeinOpenInterest",
"Column1.marketDeptOrderBook.tradeInfo.pchangeinOpenInterest",
"Column1.marketDeptOrderBook.tradeInfo.marketLot"}),

#"Expanded Column1.marketDeptOrderBook.otherInfo" =
Table.ExpandRecordColumn(#"Expanded Column1.marketDeptOrderBook.tradeInfo",
"Column1.marketDeptOrderBook.otherInfo", {"settlementPrice", "dailyvolatility",
"annualisedVolatility", "impliedVolatility", "clientWisePositionLimits", "marketWidePositionLimits"},
{"Column1.marketDeptOrderBook.otherInfo.settlementPrice",
"Column1.marketDeptOrderBook.otherInfo.dailyvolatility",
"Column1.marketDeptOrderBook.otherInfo.annualisedVolatility",
"Column1.marketDeptOrderBook.otherInfo.impliedVolatility",
"Column1.marketDeptOrderBook.otherInfo.clientWisePositionLimits",
"Column1.marketDeptOrderBook.otherInfo.marketWidePositionLimits"}),

#"Expanded Column1.metadata" = Table.ExpandRecordColumn(#"Expanded


Column1.marketDeptOrderBook.otherInfo", "Column1.metadata", {"instrumentType", "expiryDate",
"optionType", "strikePrice", "identifier", "openPrice", "highPrice", "lowPrice", "closePrice",
"prevClose", "lastPrice", "change", "pChange", "numberOfContractsTraded", "totalTurnover"},
{"Column1.metadata.instrumentType", "Column1.metadata.expiryDate",
"Column1.metadata.optionType", "Column1.metadata.strikePrice", "Column1.metadata.identifier",
"Column1.metadata.openPrice", "Column1.metadata.highPrice", "Column1.metadata.lowPrice",
"Column1.metadata.closePrice", "Column1.metadata.prevClose", "Column1.metadata.lastPrice",
"Column1.metadata.change", "Column1.metadata.pChange",
"Column1.metadata.numberOfContractsTraded", "Column1.metadata.totalTurnover"}),

#"Filtered Rows" = Table.SelectRows(#"Expanded Column1.metadata", each


([Column1.metadata.instrumentType] = "Index Futures")),

#"Expanded Column1.marketDeptOrderBook.carryOfCost" =
Table.ExpandRecordColumn(#"Filtered Rows", "Column1.marketDeptOrderBook.carryOfCost",
{"price", "carry"}, {"Column1.marketDeptOrderBook.carryOfCost.price",
"Column1.marketDeptOrderBook.carryOfCost.carry"}),

#"Removed Columns" = Table.RemoveColumns(#"Expanded


Column1.marketDeptOrderBook.carryOfCost",{"Column1.marketDeptOrderBook.ask"}),

#"Expanded Column1.marketDeptOrderBook.carryOfCost.price" =
Table.ExpandRecordColumn(#"Removed Columns",
"Column1.marketDeptOrderBook.carryOfCost.price", {"bestBuy", "bestSell", "lastPrice"},
{"Column1.marketDeptOrderBook.carryOfCost.price.bestBuy",
"Column1.marketDeptOrderBook.carryOfCost.price.bestSell",
"Column1.marketDeptOrderBook.carryOfCost.price.lastPrice"}),

#"Removed Columns1" = Table.RemoveColumns(#"Expanded


Column1.marketDeptOrderBook.carryOfCost.price",{"Column1.marketDeptOrderBook.bid"}),

#"Expanded Column1.marketDeptOrderBook.carryOfCost.carry" =
Table.ExpandRecordColumn(#"Removed Columns1",
"Column1.marketDeptOrderBook.carryOfCost.carry", {"bestBuy", "bestSell", "lastPrice"},
{"Column1.marketDeptOrderBook.carryOfCost.carry.bestBuy",
"Column1.marketDeptOrderBook.carryOfCost.carry.bestSell",
"Column1.marketDeptOrderBook.carryOfCost.carry.lastPrice"}),

#"Removed Columns2" = Table.RemoveColumns(#"Expanded


Column1.marketDeptOrderBook.carryOfCost.carry",{"Column1.metadata.optionType",
"Column1.metadata.strikePrice"}),

#"Renamed Columns" = Table.RenameColumns(#"Removed Columns2",


{{"Column1.metadata.openPrice", "Open price"}, {"Column1.metadata.highPrice", "High"},
{"Column1.metadata.lowPrice", "Low"}, {"Column1.metadata.closePrice", "Close"},
{"Column1.metadata.prevClose", "prevClose"}, {"Column1.metadata.lastPrice", "LastPrice"},
{"Column1.metadata.change", "Change"}, {"Column1.metadata.pChange", "pChange"},
{"Column1.metadata.numberOfContractsTraded", "ContractsTraded"},
{"Column1.metadata.totalTurnover", "totalTurnover"}, {"Column1.underlyingValue", "Spot"}}),

#"Removed Columns3" = Table.RemoveColumns(#"Renamed Columns",


{"Column1.volumeFreezeQuantity", "Column1.marketDeptOrderBook.totalBuyQuantity",
"Column1.marketDeptOrderBook.totalSellQuantity",
"Column1.marketDeptOrderBook.carryOfCost.price.bestBuy",
"Column1.marketDeptOrderBook.carryOfCost.price.bestSell",
"Column1.marketDeptOrderBook.carryOfCost.price.lastPrice",
"Column1.marketDeptOrderBook.carryOfCost.carry.bestBuy",
"Column1.marketDeptOrderBook.carryOfCost.carry.bestSell",
"Column1.marketDeptOrderBook.carryOfCost.carry.lastPrice",
"Column1.marketDeptOrderBook.tradeInfo.tradedVolume",
"Column1.marketDeptOrderBook.tradeInfo.value"}),

#"Renamed Columns1" = Table.RenameColumns(#"Removed Columns3",


{{"Column1.marketDeptOrderBook.tradeInfo.vmap", "Vwap"}}),

#"Removed Columns4" = Table.RemoveColumns(#"Renamed Columns1",


{"Column1.marketDeptOrderBook.tradeInfo.premiumTurnover"}),

#"Renamed Columns2" = Table.RenameColumns(#"Removed Columns4",


{{"Column1.marketDeptOrderBook.tradeInfo.openInterest", "Oi"},
{"Column1.marketDeptOrderBook.tradeInfo.changeinOpenInterest", "C Oi"}}),

#"Removed Columns5" = Table.RemoveColumns(#"Renamed Columns2",


{"Column1.marketDeptOrderBook.tradeInfo.pchangeinOpenInterest",
"Column1.marketDeptOrderBook.tradeInfo.marketLot",
"Column1.marketDeptOrderBook.otherInfo.settlementPrice",
"Column1.marketDeptOrderBook.otherInfo.dailyvolatility"}),

#"Renamed Columns3" = Table.RenameColumns(#"Removed Columns5",


{{"Column1.marketDeptOrderBook.otherInfo.annualisedVolatility", "AIV"},
{"Column1.marketDeptOrderBook.otherInfo.impliedVolatility", "IV"}}),

#"Removed Columns6" = Table.RemoveColumns(#"Renamed Columns3",


{"Column1.marketDeptOrderBook.otherInfo.clientWisePositionLimits",
"Column1.marketDeptOrderBook.otherInfo.marketWidePositionLimits"}),

#"Renamed Columns4" = Table.RenameColumns(#"Removed Columns6",


{{"Column1.metadata.instrumentType", "Type"}, {"Column1.metadata.expiryDate", "expiryDate"},
{"Column1.metadata.identifier", "identifier"}})

in

#"Renamed Columns4"

—------------------------------------------------------------------------------------------------------

………………………………………………….
Sub alldataoi()

Workbooks("New market oi data.xlsm").Activate

Sheet14.Select

Range("o1").Copy

Sheet9.Select

Cells(Sheet9.Rows.Count, "A").End(xlUp).Offset(1, 0).Select

Selection.PasteSpecial Paste:=xlPasteValues

Application.CutCopyMode = False

Application.OnTime Now + TimeValue("00:05:00"), "alldataoi"

You might also like