@fullstackcraftllc/floe 0.0.14 → 0.0.16
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/README.md +1 -1
- package/dist/client/FloeClient.d.ts +5 -1
- package/dist/client/FloeClient.js +54 -0
- package/dist/client/brokers/IBKRClient.d.ts +324 -0
- package/dist/client/brokers/IBKRClient.js +797 -0
- package/dist/exposure/index.d.ts +15 -10
- package/dist/exposure/index.js +164 -106
- package/dist/hedgeflow/charm.d.ts +23 -0
- package/dist/hedgeflow/charm.js +113 -0
- package/dist/hedgeflow/curve.d.ts +27 -0
- package/dist/hedgeflow/curve.js +315 -0
- package/dist/hedgeflow/index.d.ts +33 -0
- package/dist/hedgeflow/index.js +52 -0
- package/dist/hedgeflow/regime.d.ts +7 -0
- package/dist/hedgeflow/regime.js +99 -0
- package/dist/hedgeflow/types.d.ts +185 -0
- package/dist/hedgeflow/types.js +2 -0
- package/dist/impliedpdf/adjusted.d.ts +5 -2
- package/dist/impliedpdf/adjusted.js +5 -2
- package/dist/index.d.ts +6 -2
- package/dist/index.js +19 -19
- package/dist/iv/index.d.ts +52 -0
- package/dist/iv/index.js +287 -0
- package/dist/iv/types.d.ts +40 -0
- package/dist/iv/types.js +2 -0
- package/dist/rv/index.d.ts +26 -0
- package/dist/rv/index.js +81 -0
- package/dist/rv/types.d.ts +32 -0
- package/dist/rv/types.js +2 -0
- package/dist/types/index.d.ts +66 -0
- package/package.json +1 -1
package/dist/types/index.d.ts
CHANGED
|
@@ -172,6 +172,52 @@ export interface StrikeExposure {
|
|
|
172
172
|
/** Net exposure (gamma + vanna + charm) */
|
|
173
173
|
netExposure: number;
|
|
174
174
|
}
|
|
175
|
+
/**
|
|
176
|
+
* Input options for exposure calculations.
|
|
177
|
+
*/
|
|
178
|
+
export interface ExposureCalculationOptions {
|
|
179
|
+
/**
|
|
180
|
+
* Reference timestamp in milliseconds.
|
|
181
|
+
* If omitted, Date.now() is used.
|
|
182
|
+
*/
|
|
183
|
+
asOfTimestamp?: number;
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Exposure vector used by variant outputs.
|
|
187
|
+
*/
|
|
188
|
+
export interface ExposureVector {
|
|
189
|
+
gammaExposure: number;
|
|
190
|
+
vannaExposure: number;
|
|
191
|
+
charmExposure: number;
|
|
192
|
+
netExposure: number;
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* Per-strike exposure variants (canonical, state-weighted, and flow delta).
|
|
196
|
+
*/
|
|
197
|
+
export interface StrikeExposureVariants {
|
|
198
|
+
strikePrice: number;
|
|
199
|
+
canonical: ExposureVector;
|
|
200
|
+
stateWeighted: ExposureVector;
|
|
201
|
+
flowDelta: ExposureVector;
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* Full exposure breakdown for one mode.
|
|
205
|
+
*/
|
|
206
|
+
export interface ExposureModeBreakdown {
|
|
207
|
+
totalGammaExposure: number;
|
|
208
|
+
totalVannaExposure: number;
|
|
209
|
+
totalCharmExposure: number;
|
|
210
|
+
totalNetExposure: number;
|
|
211
|
+
strikeOfMaxGamma: number;
|
|
212
|
+
strikeOfMinGamma: number;
|
|
213
|
+
strikeOfMaxVanna: number;
|
|
214
|
+
strikeOfMinVanna: number;
|
|
215
|
+
strikeOfMaxCharm: number;
|
|
216
|
+
strikeOfMinCharm: number;
|
|
217
|
+
strikeOfMaxNet: number;
|
|
218
|
+
strikeOfMinNet: number;
|
|
219
|
+
strikeExposures: StrikeExposure[];
|
|
220
|
+
}
|
|
175
221
|
/**
|
|
176
222
|
* Exposure metrics per expiration
|
|
177
223
|
*/
|
|
@@ -207,6 +253,26 @@ export interface ExposurePerExpiry {
|
|
|
207
253
|
/** Per-strike exposures */
|
|
208
254
|
strikeExposures: StrikeExposure[];
|
|
209
255
|
}
|
|
256
|
+
/**
|
|
257
|
+
* Exposure variants per expiration.
|
|
258
|
+
* canonical: classic per-1% / per-vol-point / per-day definitions
|
|
259
|
+
* stateWeighted: level-weighted vanna/charm (gamma remains canonical)
|
|
260
|
+
* flowDelta: exposure deltas from intraday OI changes (liveOpenInterest - openInterest)
|
|
261
|
+
*/
|
|
262
|
+
export interface ExposureVariantsPerExpiry {
|
|
263
|
+
/** Current spot price */
|
|
264
|
+
spotPrice: number;
|
|
265
|
+
/** Expiration timestamp in milliseconds */
|
|
266
|
+
expiration: number;
|
|
267
|
+
/** Canonical exposure mode */
|
|
268
|
+
canonical: ExposureModeBreakdown;
|
|
269
|
+
/** State-weighted exposure mode */
|
|
270
|
+
stateWeighted: ExposureModeBreakdown;
|
|
271
|
+
/** Flow-delta exposure mode */
|
|
272
|
+
flowDelta: ExposureModeBreakdown;
|
|
273
|
+
/** Per-strike variants */
|
|
274
|
+
strikeExposureVariants: StrikeExposureVariants[];
|
|
275
|
+
}
|
|
210
276
|
/**
|
|
211
277
|
* Dealer Gamma Exposure (GEX) metrics
|
|
212
278
|
*/
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fullstackcraftllc/floe",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.16",
|
|
4
4
|
"description": "Production-ready options analytics toolkit. Normalize broker data structures and calculate Black-Scholes, Greeks, and exposures with a clean, type-safe API. Built for trading platforms and fintech applications.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|