nse-bse-api 0.1.0 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +0 -1
- package/dist/bse/BSE.d.ts +0 -0
- package/dist/bse/BSE.d.ts.map +0 -0
- package/dist/bse/BSE.js +0 -0
- package/dist/bse/BSE.js.map +0 -0
- package/dist/bse/constants/index.d.ts +0 -0
- package/dist/bse/constants/index.d.ts.map +0 -0
- package/dist/bse/constants/index.js +0 -0
- package/dist/bse/constants/index.js.map +0 -0
- package/dist/bse/index.d.ts +0 -0
- package/dist/bse/index.d.ts.map +0 -0
- package/dist/bse/index.js +0 -0
- package/dist/bse/index.js.map +0 -0
- package/dist/bse/types/index.d.ts +0 -0
- package/dist/bse/types/index.d.ts.map +0 -0
- package/dist/bse/types/index.js +0 -0
- package/dist/bse/types/index.js.map +0 -0
- package/dist/bse/utils/SymbolParser.d.ts +0 -0
- package/dist/bse/utils/SymbolParser.d.ts.map +0 -0
- package/dist/bse/utils/SymbolParser.js +0 -0
- package/dist/bse/utils/SymbolParser.js.map +0 -0
- package/dist/bse/utils/helpers.d.ts +0 -0
- package/dist/bse/utils/helpers.d.ts.map +0 -0
- package/dist/bse/utils/helpers.js +0 -0
- package/dist/bse/utils/helpers.js.map +0 -0
- package/dist/bse/utils/throttle.d.ts +0 -0
- package/dist/bse/utils/throttle.d.ts.map +0 -0
- package/dist/bse/utils/throttle.js +0 -0
- package/dist/bse/utils/throttle.js.map +0 -0
- package/dist/index.d.ts +0 -0
- package/dist/index.d.ts.map +0 -0
- package/dist/index.js +0 -0
- package/dist/index.js.map +0 -0
- package/dist/nse/api/corporate-api.d.ts +0 -0
- package/dist/nse/api/corporate-api.d.ts.map +0 -0
- package/dist/nse/api/corporate-api.js +0 -0
- package/dist/nse/api/corporate-api.js.map +0 -0
- package/dist/nse/api/download-api.d.ts +0 -0
- package/dist/nse/api/download-api.d.ts.map +0 -0
- package/dist/nse/api/download-api.js +0 -0
- package/dist/nse/api/download-api.js.map +0 -0
- package/dist/nse/api/equity-api.d.ts +0 -0
- package/dist/nse/api/equity-api.d.ts.map +0 -0
- package/dist/nse/api/equity-api.js +0 -0
- package/dist/nse/api/equity-api.js.map +0 -0
- package/dist/nse/api/historical-api.d.ts +1 -5
- package/dist/nse/api/historical-api.d.ts.map +1 -1
- package/dist/nse/api/historical-api.js +26 -42
- package/dist/nse/api/historical-api.js.map +1 -1
- package/dist/nse/api/index.d.ts +0 -0
- package/dist/nse/api/index.d.ts.map +0 -0
- package/dist/nse/api/index.js +0 -0
- package/dist/nse/api/index.js.map +0 -0
- package/dist/nse/api/ipo-api.d.ts +0 -0
- package/dist/nse/api/ipo-api.d.ts.map +0 -0
- package/dist/nse/api/ipo-api.js +0 -0
- package/dist/nse/api/ipo-api.js.map +0 -0
- package/dist/nse/api/market-api.d.ts +0 -0
- package/dist/nse/api/market-api.d.ts.map +0 -0
- package/dist/nse/api/market-api.js +0 -0
- package/dist/nse/api/market-api.js.map +0 -0
- package/dist/nse/api/options-api.d.ts +45 -7
- package/dist/nse/api/options-api.d.ts.map +1 -1
- package/dist/nse/api/options-api.js +146 -35
- package/dist/nse/api/options-api.js.map +1 -1
- package/dist/nse/constants/index.d.ts +0 -0
- package/dist/nse/constants/index.d.ts.map +0 -0
- package/dist/nse/constants/index.js +0 -0
- package/dist/nse/constants/index.js.map +0 -0
- package/dist/nse/http/http-client.d.ts +0 -0
- package/dist/nse/http/http-client.d.ts.map +0 -0
- package/dist/nse/http/http-client.js +0 -0
- package/dist/nse/http/http-client.js.map +0 -0
- package/dist/nse/index.d.ts +0 -0
- package/dist/nse/index.d.ts.map +0 -0
- package/dist/nse/index.js +0 -0
- package/dist/nse/index.js.map +0 -0
- package/dist/nse/nse/nse-client.d.ts +10 -2
- package/dist/nse/nse/nse-client.d.ts.map +1 -1
- package/dist/nse/nse/nse-client.js +12 -1
- package/dist/nse/nse/nse-client.js.map +1 -1
- package/dist/nse/types/index.d.ts +40 -9
- package/dist/nse/types/index.d.ts.map +1 -1
- package/dist/nse/types/index.js +0 -0
- package/dist/nse/types/index.js.map +0 -0
- package/dist/nse/utils/date-formatter.d.ts +0 -0
- package/dist/nse/utils/date-formatter.d.ts.map +0 -0
- package/dist/nse/utils/date-formatter.js +0 -0
- package/dist/nse/utils/date-formatter.js.map +0 -0
- package/dist/nse/utils/file-operations.d.ts +0 -0
- package/dist/nse/utils/file-operations.d.ts.map +0 -0
- package/dist/nse/utils/file-operations.js +0 -0
- package/dist/nse/utils/file-operations.js.map +0 -0
- package/dist/nse/utils/index.d.ts +0 -0
- package/dist/nse/utils/index.d.ts.map +0 -0
- package/dist/nse/utils/index.js +0 -0
- package/dist/nse/utils/index.js.map +0 -0
- package/dist/types/index.d.ts +0 -0
- package/dist/types/index.d.ts.map +0 -0
- package/dist/types/index.js +0 -0
- package/dist/types/index.js.map +0 -0
- package/dist-cjs/bse/BSE.js +0 -0
- package/dist-cjs/bse/BSE.js.map +0 -0
- package/dist-cjs/bse/constants/index.js +0 -0
- package/dist-cjs/bse/constants/index.js.map +0 -0
- package/dist-cjs/bse/index.js +0 -0
- package/dist-cjs/bse/index.js.map +0 -0
- package/dist-cjs/bse/types/index.js +0 -0
- package/dist-cjs/bse/types/index.js.map +0 -0
- package/dist-cjs/bse/utils/SymbolParser.js +0 -0
- package/dist-cjs/bse/utils/SymbolParser.js.map +0 -0
- package/dist-cjs/bse/utils/helpers.js +0 -0
- package/dist-cjs/bse/utils/helpers.js.map +0 -0
- package/dist-cjs/bse/utils/throttle.js +0 -0
- package/dist-cjs/bse/utils/throttle.js.map +0 -0
- package/dist-cjs/index.js +0 -0
- package/dist-cjs/index.js.map +0 -0
- package/dist-cjs/nse/api/corporate-api.js +0 -0
- package/dist-cjs/nse/api/corporate-api.js.map +0 -0
- package/dist-cjs/nse/api/download-api.js +0 -0
- package/dist-cjs/nse/api/download-api.js.map +0 -0
- package/dist-cjs/nse/api/equity-api.js +0 -0
- package/dist-cjs/nse/api/equity-api.js.map +0 -0
- package/dist-cjs/nse/api/historical-api.js +26 -42
- package/dist-cjs/nse/api/historical-api.js.map +1 -1
- package/dist-cjs/nse/api/index.js +0 -0
- package/dist-cjs/nse/api/index.js.map +0 -0
- package/dist-cjs/nse/api/ipo-api.js +0 -0
- package/dist-cjs/nse/api/ipo-api.js.map +0 -0
- package/dist-cjs/nse/api/market-api.js +0 -0
- package/dist-cjs/nse/api/market-api.js.map +0 -0
- package/dist-cjs/nse/api/options-api.js +146 -35
- package/dist-cjs/nse/api/options-api.js.map +1 -1
- package/dist-cjs/nse/constants/index.js +0 -0
- package/dist-cjs/nse/constants/index.js.map +0 -0
- package/dist-cjs/nse/http/http-client.js +0 -0
- package/dist-cjs/nse/http/http-client.js.map +0 -0
- package/dist-cjs/nse/index.js +0 -0
- package/dist-cjs/nse/index.js.map +0 -0
- package/dist-cjs/nse/nse/nse-client.js +12 -1
- package/dist-cjs/nse/nse/nse-client.js.map +1 -1
- package/dist-cjs/nse/types/index.js +0 -0
- package/dist-cjs/nse/types/index.js.map +0 -0
- package/dist-cjs/nse/utils/date-formatter.js +0 -0
- package/dist-cjs/nse/utils/date-formatter.js.map +0 -0
- package/dist-cjs/nse/utils/file-operations.js +0 -0
- package/dist-cjs/nse/utils/file-operations.js.map +0 -0
- package/dist-cjs/nse/utils/index.js +0 -0
- package/dist-cjs/nse/utils/index.js.map +0 -0
- package/dist-cjs/package.json +0 -0
- package/dist-cjs/types/index.js +0 -0
- package/dist-cjs/types/index.js.map +0 -0
- package/package.json +1 -1
package/LICENSE
CHANGED
package/README.md
CHANGED
|
@@ -142,7 +142,6 @@ const results = await bse.lookupSymbol('reliance');
|
|
|
142
142
|
- `actions(options)` - Corporate actions
|
|
143
143
|
- `announcements(options)` - Corporate announcements
|
|
144
144
|
- `lookupSymbol(text)` - Search symbols
|
|
145
|
-
- `fetchHistoricalIndexData(options)` - Historical index data
|
|
146
145
|
|
|
147
146
|
## Configuration
|
|
148
147
|
|
package/dist/bse/BSE.d.ts
CHANGED
|
File without changes
|
package/dist/bse/BSE.d.ts.map
CHANGED
|
File without changes
|
package/dist/bse/BSE.js
CHANGED
|
File without changes
|
package/dist/bse/BSE.js.map
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/dist/bse/index.d.ts
CHANGED
|
File without changes
|
package/dist/bse/index.d.ts.map
CHANGED
|
File without changes
|
package/dist/bse/index.js
CHANGED
|
File without changes
|
package/dist/bse/index.js.map
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/dist/bse/types/index.js
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/dist/index.d.ts
CHANGED
|
File without changes
|
package/dist/index.d.ts.map
CHANGED
|
File without changes
|
package/dist/index.js
CHANGED
|
File without changes
|
package/dist/index.js.map
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Historical data API methods for NSE
|
|
3
3
|
*/
|
|
4
4
|
import { HttpClient } from "../http/http-client.js";
|
|
5
|
-
import { EquityHistoricalParams, VixHistoricalParams, FnoHistoricalParams,
|
|
5
|
+
import { EquityHistoricalParams, VixHistoricalParams, FnoHistoricalParams, FnoUnderlyingData } from "../types/index.js";
|
|
6
6
|
export declare class HistoricalApi {
|
|
7
7
|
private httpClient;
|
|
8
8
|
constructor(httpClient: HttpClient);
|
|
@@ -18,10 +18,6 @@ export declare class HistoricalApi {
|
|
|
18
18
|
* Fetch F&O historical data
|
|
19
19
|
*/
|
|
20
20
|
fetchHistoricalFnoData(params: FnoHistoricalParams): Promise<Record<string, any>[]>;
|
|
21
|
-
/**
|
|
22
|
-
* Fetch index historical data
|
|
23
|
-
*/
|
|
24
|
-
fetchHistoricalIndexData(params: IndexHistoricalParams): Promise<IndexHistoricalData>;
|
|
25
21
|
/**
|
|
26
22
|
* Fetch F&O underlying information
|
|
27
23
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"historical-api.d.ts","sourceRoot":"","sources":["../../../src/nse/api/historical-api.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,
|
|
1
|
+
{"version":3,"file":"historical-api.d.ts","sourceRoot":"","sources":["../../../src/nse/api/historical-api.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,mBAAmB,CAAC;AAQ3B,qBAAa,aAAa;IACZ,OAAO,CAAC,UAAU;gBAAV,UAAU,EAAE,UAAU;IAE1C;;OAEG;IACG,yBAAyB,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;IA+B/F;;OAEG;IACG,sBAAsB,CAAC,MAAM,GAAE,mBAAwB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;IAmB9F;;OAEG;IACG,sBAAsB,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;IAmDzF;;OAEG;IACG,kBAAkB,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAKtD;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;CAG1E"}
|
|
@@ -13,25 +13,26 @@ export class HistoricalApi {
|
|
|
13
13
|
*/
|
|
14
14
|
async fetchEquityHistoricalData(params) {
|
|
15
15
|
const { symbol, from_date, to_date, series = ["EQ"] } = params;
|
|
16
|
-
// Simple case - no date range and EQ series only
|
|
17
|
-
if (!from_date && !to_date && JSON.stringify(series) === JSON.stringify(["EQ"])) {
|
|
18
|
-
const data = await this.httpClient.request(`${BASE_URL}/historical/cm/equity`, { symbol });
|
|
19
|
-
return data.data.slice().reverse();
|
|
20
|
-
}
|
|
21
16
|
const to = to_date ?? new Date();
|
|
22
17
|
const from = from_date ?? new Date(to.getTime() - 30 * 86400000);
|
|
23
18
|
validateDateRange(from, to);
|
|
24
19
|
const chunks = splitDateRange(from, to, 100);
|
|
25
20
|
const results = [];
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
21
|
+
// Fetch data for each series type
|
|
22
|
+
for (const seriesType of series) {
|
|
23
|
+
for (const [cFrom, cTo] of chunks) {
|
|
24
|
+
const response = await this.httpClient.request(`${BASE_URL}/NextApi/apiClient/GetQuoteApi`, {
|
|
25
|
+
functionName: "getHistoricalTradeData",
|
|
26
|
+
symbol,
|
|
27
|
+
series: seriesType,
|
|
28
|
+
fromDate: formatDateDMY(cFrom),
|
|
29
|
+
toDate: formatDateDMY(cTo),
|
|
30
|
+
});
|
|
31
|
+
// Handle different response structures
|
|
32
|
+
const data = response?.data ?? response ?? [];
|
|
33
|
+
const arr = Array.isArray(data) ? data.slice().reverse() : [];
|
|
34
|
+
results.push(...arr);
|
|
35
|
+
}
|
|
35
36
|
}
|
|
36
37
|
return results;
|
|
37
38
|
}
|
|
@@ -45,7 +46,7 @@ export class HistoricalApi {
|
|
|
45
46
|
const chunks = splitDateRange(from, to, 365);
|
|
46
47
|
const data = [];
|
|
47
48
|
for (const [cFrom, cTo] of chunks) {
|
|
48
|
-
const result = await this.httpClient.request(`${BASE_URL}/
|
|
49
|
+
const result = await this.httpClient.request(`${BASE_URL}/historicalOR/vixhistory`, {
|
|
49
50
|
from: formatDateDMY(cFrom),
|
|
50
51
|
to: formatDateDMY(cTo),
|
|
51
52
|
});
|
|
@@ -63,12 +64,13 @@ export class HistoricalApi {
|
|
|
63
64
|
const from = from_date ?? new Date(to.getTime() - 30 * 86400000);
|
|
64
65
|
validateDateRange(from, to);
|
|
65
66
|
const query = {
|
|
66
|
-
|
|
67
|
+
functionName: "getDerivativesHistoricalData",
|
|
67
68
|
symbol: symbol.toUpperCase(),
|
|
69
|
+
instrumentType,
|
|
68
70
|
};
|
|
69
71
|
if (expiry) {
|
|
70
72
|
query.expiryDate = formatDateExpiry(expiry);
|
|
71
|
-
query.year = expiry.getFullYear();
|
|
73
|
+
query.year = expiry.getFullYear().toString();
|
|
72
74
|
}
|
|
73
75
|
if (instrumentType === "OPTIDX" || instrumentType === "OPTSTK") {
|
|
74
76
|
if (!option_type) {
|
|
@@ -81,34 +83,16 @@ export class HistoricalApi {
|
|
|
81
83
|
const chunks = splitDateRange(from, to, 365);
|
|
82
84
|
const data = [];
|
|
83
85
|
for (const [cFrom, cTo] of chunks) {
|
|
84
|
-
query.
|
|
85
|
-
query.
|
|
86
|
-
const
|
|
87
|
-
|
|
86
|
+
query.fromDate = formatDateDMY(cFrom);
|
|
87
|
+
query.toDate = formatDateDMY(cTo);
|
|
88
|
+
const response = await this.httpClient.request(`${BASE_URL}/NextApi/apiClient/GetQuoteApi`, query);
|
|
89
|
+
const result = response?.data ?? response ?? [];
|
|
90
|
+
if (Array.isArray(result)) {
|
|
91
|
+
data.push(...result);
|
|
92
|
+
}
|
|
88
93
|
}
|
|
89
94
|
return data;
|
|
90
95
|
}
|
|
91
|
-
/**
|
|
92
|
-
* Fetch index historical data
|
|
93
|
-
*/
|
|
94
|
-
async fetchHistoricalIndexData(params) {
|
|
95
|
-
const { index, from_date, to_date } = params;
|
|
96
|
-
const to = to_date ?? new Date();
|
|
97
|
-
const from = from_date ?? new Date(to.getTime() - 30 * 86400000);
|
|
98
|
-
validateDateRange(from, to);
|
|
99
|
-
const chunks = splitDateRange(from, to, 365);
|
|
100
|
-
const result = { price: [], turnover: [] };
|
|
101
|
-
for (const [cFrom, cTo] of chunks) {
|
|
102
|
-
const data = await this.httpClient.request(`${BASE_URL}/historical/indicesHistory`, {
|
|
103
|
-
indexType: index.toUpperCase(),
|
|
104
|
-
from: formatDateDMY(cFrom),
|
|
105
|
-
to: formatDateDMY(cTo),
|
|
106
|
-
});
|
|
107
|
-
result.price.push(...data.data.indexCloseOnlineRecords);
|
|
108
|
-
result.turnover.push(...data.data.indexTurnoverRecords);
|
|
109
|
-
}
|
|
110
|
-
return result;
|
|
111
|
-
}
|
|
112
96
|
/**
|
|
113
97
|
* Fetch F&O underlying information
|
|
114
98
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"historical-api.js","sourceRoot":"","sources":["../../../src/nse/api/historical-api.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"historical-api.js","sourceRoot":"","sources":["../../../src/nse/api/historical-api.ts"],"names":[],"mappings":"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"}
|
package/dist/nse/api/index.d.ts
CHANGED
|
File without changes
|
|
File without changes
|
package/dist/nse/api/index.js
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/dist/nse/api/ipo-api.js
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Options and derivatives API methods for NSE
|
|
3
3
|
*/
|
|
4
4
|
import { HttpClient } from "../http/http-client.js";
|
|
5
|
-
import { OptionChainData, CompiledOptionChain, FnoIndex } from "../types/index.js";
|
|
5
|
+
import { OptionChainData, CompiledOptionChain, FnoIndex, OptionChainV3Params, OptionChainV3Response } from "../types/index.js";
|
|
6
6
|
export declare class OptionsApi {
|
|
7
7
|
private httpClient;
|
|
8
8
|
constructor(httpClient: HttpClient);
|
|
@@ -11,25 +11,63 @@ export declare class OptionsApi {
|
|
|
11
11
|
*/
|
|
12
12
|
getFnoLots(): Promise<Record<string, number>>;
|
|
13
13
|
/**
|
|
14
|
-
* Get option chain
|
|
14
|
+
* Get option chain contract info including expiry dates
|
|
15
|
+
* @param symbol - The symbol to get contract info for
|
|
16
|
+
* @returns Contract info with expiry dates
|
|
15
17
|
*/
|
|
16
|
-
|
|
18
|
+
getOptionChainContractInfo(symbol: string): Promise<any>;
|
|
19
|
+
/**
|
|
20
|
+
* Get available expiry dates for a symbol
|
|
21
|
+
* @param symbol - The symbol to get expiry dates for
|
|
22
|
+
* @returns Array of expiry dates in "DD-Mon-YYYY" format
|
|
23
|
+
*/
|
|
24
|
+
getExpiryDatesV3(symbol: string): Promise<string[]>;
|
|
25
|
+
/**
|
|
26
|
+
* Get option chain data (uses v3 API, auto-fetches nearest expiry if not provided)
|
|
27
|
+
* @param symbol - The symbol to get option chain for
|
|
28
|
+
*/
|
|
29
|
+
getOptionChain(symbol: string): Promise<OptionChainV3Response>;
|
|
30
|
+
/**
|
|
31
|
+
* Get option chain data using v3 API
|
|
32
|
+
* @param params - Symbol, type (Indices/Equity), and expiry date
|
|
33
|
+
* @returns Option chain data with all strikes for the given expiry
|
|
34
|
+
*/
|
|
35
|
+
getOptionChainV3(params: OptionChainV3Params): Promise<OptionChainV3Response>;
|
|
17
36
|
/**
|
|
18
37
|
* Get filtered option chain data with only essential information for LLM processing
|
|
19
|
-
* Reduces data volume by ~90% while retaining key metrics
|
|
38
|
+
* Reduces data volume by ~90% while retaining key metrics (uses v3 API internally)
|
|
20
39
|
*/
|
|
21
40
|
getFilteredOptionChain(symbol: string, strikeRange?: number): Promise<any>;
|
|
22
41
|
/**
|
|
23
|
-
*
|
|
42
|
+
* Get filtered option chain data using v3 API with essential information
|
|
43
|
+
* @param symbol - The symbol to get option chain for
|
|
44
|
+
* @param expiry - Optional expiry date in "DD-Mon-YYYY" format
|
|
45
|
+
* @param strikeRange - Number of strikes above/below ATM to include (default: 10)
|
|
24
46
|
*/
|
|
25
|
-
|
|
47
|
+
getFilteredOptionChainV3(symbol: string, expiry?: string, strikeRange?: number): Promise<any>;
|
|
48
|
+
/**
|
|
49
|
+
* Calculate max pain for option chain (supports both legacy and v3 format)
|
|
50
|
+
*/
|
|
51
|
+
static calculateMaxPain(optionChain: OptionChainData | OptionChainV3Response, expiryDate: Date): number;
|
|
26
52
|
/**
|
|
27
53
|
* Get futures expiry dates
|
|
28
54
|
*/
|
|
29
55
|
getFuturesExpiry(index?: FnoIndex): Promise<string[]>;
|
|
30
56
|
/**
|
|
31
|
-
* Compile option chain with calculated metrics
|
|
57
|
+
* Compile option chain with calculated metrics (uses v3 API internally)
|
|
58
|
+
* @param symbol - The symbol to get option chain for
|
|
59
|
+
* @param expiryDate - Expiry date as Date object
|
|
32
60
|
*/
|
|
33
61
|
compileOptionChain(symbol: string, expiryDate: Date): Promise<CompiledOptionChain>;
|
|
62
|
+
/**
|
|
63
|
+
* Compile option chain with calculated metrics using v3 API
|
|
64
|
+
* @param symbol - The symbol to get option chain for
|
|
65
|
+
* @param expiry - Expiry date in "DD-Mon-YYYY" format (e.g., "09-Dec-2025")
|
|
66
|
+
*/
|
|
67
|
+
compileOptionChainV3(symbol: string, expiry: string): Promise<CompiledOptionChain>;
|
|
68
|
+
/**
|
|
69
|
+
* Calculate max pain for option chain using v3 data
|
|
70
|
+
*/
|
|
71
|
+
static calculateMaxPainV3(optionChain: OptionChainV3Response, expiry: string): number;
|
|
34
72
|
}
|
|
35
73
|
//# sourceMappingURL=options-api.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options-api.d.ts","sourceRoot":"","sources":["../../../src/nse/api/options-api.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAGpD,OAAO,
|
|
1
|
+
{"version":3,"file":"options-api.d.ts","sourceRoot":"","sources":["../../../src/nse/api/options-api.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAGpD,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,QAAQ,EACR,mBAAmB,EACnB,qBAAqB,EACtB,MAAM,mBAAmB,CAAC;AAG3B,qBAAa,UAAU;IACT,OAAO,CAAC,UAAU;gBAAV,UAAU,EAAE,UAAU;IAE1C;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAiCnD;;;;OAIG;IACG,0BAA0B,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAM9D;;;;OAIG;IACG,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAoBzD;;;OAGG;IACG,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IASpE;;;;OAIG;IACG,gBAAgB,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAyBnF;;;OAGG;IACG,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,GAAE,MAAW,GAAG,OAAO,CAAC,GAAG,CAAC;IAIpF;;;;;OAKG;IACG,wBAAwB,CAC5B,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,EACf,WAAW,GAAE,MAAW,GACvB,OAAO,CAAC,GAAG,CAAC;IA4Df;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,eAAe,GAAG,qBAAqB,EAAE,UAAU,EAAE,IAAI,GAAG,MAAM;IA4BvG;;OAEG;IACG,gBAAgB,CAAC,KAAK,GAAE,QAAkB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAkBpE;;;;OAIG;IACG,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAKxF;;;;OAIG;IACG,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAuExF;;OAEG;IACH,MAAM,CAAC,kBAAkB,CAAC,WAAW,EAAE,qBAAqB,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM;CAuBtF"}
|