@lagoon-protocol/lagoon-mcp 0.4.0 → 0.6.0
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/dist/config.d.ts +1 -1
- package/dist/config.js +1 -1
- package/dist/core/cache-invalidation.d.ts +7 -1
- package/dist/core/cache-invalidation.d.ts.map +1 -1
- package/dist/core/cache-invalidation.js +17 -1
- package/dist/core/cache-invalidation.js.map +1 -1
- package/dist/core/container.js +1 -1
- package/dist/graphql/client.d.ts.map +1 -1
- package/dist/graphql/client.js +6 -0
- package/dist/graphql/client.js.map +1 -1
- package/dist/graphql/fragments/transaction-base.fragment.d.ts +1 -1
- package/dist/graphql/fragments/transaction-base.fragment.d.ts.map +1 -1
- package/dist/graphql/fragments/transaction-base.fragment.js +0 -1
- package/dist/graphql/fragments/transaction-base.fragment.js.map +1 -1
- package/dist/graphql/fragments/vault.fragment.d.ts +2 -1
- package/dist/graphql/fragments/vault.fragment.d.ts.map +1 -1
- package/dist/graphql/fragments/vault.fragment.js +1 -0
- package/dist/graphql/fragments/vault.fragment.js.map +1 -1
- package/dist/graphql/queries/export.queries.d.ts +5 -7
- package/dist/graphql/queries/export.queries.d.ts.map +1 -1
- package/dist/graphql/queries/export.queries.js +22 -28
- package/dist/graphql/queries/export.queries.js.map +1 -1
- package/dist/graphql/queries/index.d.ts +3 -3
- package/dist/graphql/queries/index.d.ts.map +1 -1
- package/dist/graphql/queries/index.js +3 -3
- package/dist/graphql/queries/index.js.map +1 -1
- package/dist/graphql/queries/performance.queries.d.ts +6 -4
- package/dist/graphql/queries/performance.queries.d.ts.map +1 -1
- package/dist/graphql/queries/performance.queries.js +5 -11
- package/dist/graphql/queries/performance.queries.js.map +1 -1
- package/dist/graphql/queries/portfolio.queries.d.ts +5 -11
- package/dist/graphql/queries/portfolio.queries.d.ts.map +1 -1
- package/dist/graphql/queries/portfolio.queries.js +14 -87
- package/dist/graphql/queries/portfolio.queries.js.map +1 -1
- package/dist/graphql/queries/prediction.queries.d.ts +13 -15
- package/dist/graphql/queries/prediction.queries.d.ts.map +1 -1
- package/dist/graphql/queries/prediction.queries.js +12 -31
- package/dist/graphql/queries/prediction.queries.js.map +1 -1
- package/dist/graphql/queries/risk.queries.d.ts +3 -3
- package/dist/graphql/queries/risk.queries.d.ts.map +1 -1
- package/dist/graphql/queries/risk.queries.js +7 -22
- package/dist/graphql/queries/risk.queries.js.map +1 -1
- package/dist/graphql/queries/search.queries.d.ts.map +1 -1
- package/dist/graphql/queries/search.queries.js +6 -2
- package/dist/graphql/queries/search.queries.js.map +1 -1
- package/dist/graphql/queries/transaction.queries.d.ts +6 -26
- package/dist/graphql/queries/transaction.queries.d.ts.map +1 -1
- package/dist/graphql/queries/transaction.queries.js +227 -59
- package/dist/graphql/queries/transaction.queries.js.map +1 -1
- package/dist/graphql/queries/vault.queries.d.ts +21 -3
- package/dist/graphql/queries/vault.queries.d.ts.map +1 -1
- package/dist/graphql/queries/vault.queries.js +38 -0
- package/dist/graphql/queries/vault.queries.js.map +1 -1
- package/dist/index.js +7 -1
- package/dist/index.js.map +1 -1
- package/dist/prompts/competitor-comparison.d.ts.map +1 -1
- package/dist/prompts/competitor-comparison.js +3 -1
- package/dist/prompts/competitor-comparison.js.map +1 -1
- package/dist/prompts/curator-performance.d.ts.map +1 -1
- package/dist/prompts/curator-performance.js +3 -1
- package/dist/prompts/curator-performance.js.map +1 -1
- package/dist/prompts/financial-analysis.d.ts.map +1 -1
- package/dist/prompts/financial-analysis.js +7 -3
- package/dist/prompts/financial-analysis.js.map +1 -1
- package/dist/prompts/onboarding-first-vault.d.ts.map +1 -1
- package/dist/prompts/onboarding-first-vault.js +5 -1
- package/dist/prompts/onboarding-first-vault.js.map +1 -1
- package/dist/prompts/portfolio-optimization.d.ts.map +1 -1
- package/dist/prompts/portfolio-optimization.js +5 -1
- package/dist/prompts/portfolio-optimization.js.map +1 -1
- package/dist/prompts/protocol-overview.d.ts.map +1 -1
- package/dist/prompts/protocol-overview.js +3 -1
- package/dist/prompts/protocol-overview.js.map +1 -1
- package/dist/resources/schema.d.ts +8 -3
- package/dist/resources/schema.d.ts.map +1 -1
- package/dist/resources/schema.js +34 -30
- package/dist/resources/schema.js.map +1 -1
- package/dist/server.d.ts +4 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +5 -2
- package/dist/server.js.map +1 -1
- package/dist/services/analytics/risk.service.d.ts +10 -12
- package/dist/services/analytics/risk.service.d.ts.map +1 -1
- package/dist/services/analytics/risk.service.js +41 -42
- package/dist/services/analytics/risk.service.js.map +1 -1
- package/dist/skills/loader.d.ts.map +1 -1
- package/dist/skills/loader.js +18 -8
- package/dist/skills/loader.js.map +1 -1
- package/dist/tools/compare-vaults.d.ts.map +1 -1
- package/dist/tools/compare-vaults.js +6 -3
- package/dist/tools/compare-vaults.js.map +1 -1
- package/dist/tools/discover-tools.d.ts +3 -3
- package/dist/tools/discover-tools.d.ts.map +1 -1
- package/dist/tools/discover-tools.js +16 -3
- package/dist/tools/discover-tools.js.map +1 -1
- package/dist/tools/export-data.d.ts.map +1 -1
- package/dist/tools/export-data.js +10 -16
- package/dist/tools/export-data.js.map +1 -1
- package/dist/tools/get-price-history.d.ts.map +1 -1
- package/dist/tools/get-price-history.js +55 -63
- package/dist/tools/get-price-history.js.map +1 -1
- package/dist/tools/get-transactions.d.ts.map +1 -1
- package/dist/tools/get-transactions.js +3 -1
- package/dist/tools/get-transactions.js.map +1 -1
- package/dist/tools/optimize-portfolio.d.ts.map +1 -1
- package/dist/tools/optimize-portfolio.js +6 -17
- package/dist/tools/optimize-portfolio.js.map +1 -1
- package/dist/tools/predict-yield.d.ts.map +1 -1
- package/dist/tools/predict-yield.js +61 -38
- package/dist/tools/predict-yield.js.map +1 -1
- package/dist/tools/query-graphql.d.ts.map +1 -1
- package/dist/tools/query-graphql.js +139 -0
- package/dist/tools/query-graphql.js.map +1 -1
- package/dist/tools/search-vaults.d.ts.map +1 -1
- package/dist/tools/search-vaults.js +9 -2
- package/dist/tools/search-vaults.js.map +1 -1
- package/dist/tools/vault-performance.d.ts.map +1 -1
- package/dist/tools/vault-performance.js +7 -19
- package/dist/tools/vault-performance.js.map +1 -1
- package/dist/types/generated.d.ts +811 -19
- package/dist/types/generated.d.ts.map +1 -1
- package/dist/utils/comparison-metrics.d.ts.map +1 -1
- package/dist/utils/comparison-metrics.js +6 -3
- package/dist/utils/comparison-metrics.js.map +1 -1
- package/dist/utils/csv-generator.d.ts +4 -1
- package/dist/utils/csv-generator.d.ts.map +1 -1
- package/dist/utils/csv-generator.js +8 -4
- package/dist/utils/csv-generator.js.map +1 -1
- package/dist/utils/drawdown.d.ts +62 -0
- package/dist/utils/drawdown.d.ts.map +1 -0
- package/dist/utils/drawdown.js +132 -0
- package/dist/utils/drawdown.js.map +1 -0
- package/dist/utils/portfolio-optimization.d.ts +3 -1
- package/dist/utils/portfolio-optimization.d.ts.map +1 -1
- package/dist/utils/portfolio-optimization.js +13 -9
- package/dist/utils/portfolio-optimization.js.map +1 -1
- package/dist/utils/risk-scoring.d.ts.map +1 -1
- package/dist/utils/risk-scoring.js +24 -7
- package/dist/utils/risk-scoring.js.map +1 -1
- package/dist/utils/tool-error-handler.d.ts.map +1 -1
- package/dist/utils/tool-error-handler.js +9 -2
- package/dist/utils/tool-error-handler.js.map +1 -1
- package/dist/utils/tool-handler.d.ts +0 -9
- package/dist/utils/tool-handler.d.ts.map +1 -1
- package/dist/utils/tool-handler.js +0 -13
- package/dist/utils/tool-handler.js.map +1 -1
- package/dist/utils/validators.d.ts +9 -3
- package/dist/utils/validators.d.ts.map +1 -1
- package/dist/utils/validators.js +49 -3
- package/dist/utils/validators.js.map +1 -1
- package/dist/utils/var.d.ts +65 -0
- package/dist/utils/var.d.ts.map +1 -0
- package/dist/utils/var.js +134 -0
- package/dist/utils/var.js.map +1 -0
- package/dist/utils/yield-prediction.d.ts +3 -0
- package/dist/utils/yield-prediction.d.ts.map +1 -1
- package/dist/utils/yield-prediction.js +46 -11
- package/dist/utils/yield-prediction.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Value at Risk (VaR) and Conditional VaR (CVaR) Utility
|
|
3
|
+
*
|
|
4
|
+
* Risk quantification for DeFi vault returns using historical simulation.
|
|
5
|
+
* Provides tail-risk metrics (VaR, CVaR) and downside-adjusted performance
|
|
6
|
+
* measurement (Sortino ratio) for vault assessment.
|
|
7
|
+
*/
|
|
8
|
+
/** Minimum number of return observations required for meaningful analysis */
|
|
9
|
+
const MIN_DATA_POINTS = 10;
|
|
10
|
+
/**
|
|
11
|
+
* Calculate Value at Risk (VaR) and Conditional VaR (CVaR) using historical simulation.
|
|
12
|
+
*
|
|
13
|
+
* Historical simulation sorts observed returns and reads off percentiles directly,
|
|
14
|
+
* making no distributional assumptions. This is appropriate for DeFi returns which
|
|
15
|
+
* often exhibit fat tails and skewness that parametric methods underestimate.
|
|
16
|
+
*
|
|
17
|
+
* @param returns - Array of periodic returns as decimal fractions (e.g., -0.02 = -2% loss)
|
|
18
|
+
* @returns VaR analysis with loss magnitudes as positive percentages
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```ts
|
|
22
|
+
* const dailyReturns = [-0.01, 0.005, -0.03, 0.02, ...]; // 30+ observations
|
|
23
|
+
* const analysis = calculateVaR(dailyReturns);
|
|
24
|
+
* // analysis.var95 = 2.5 means "95% of the time, daily loss does not exceed 2.5%"
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
export function calculateVaR(returns) {
|
|
28
|
+
const emptyResult = {
|
|
29
|
+
var95: 0,
|
|
30
|
+
var99: 0,
|
|
31
|
+
cvar95: 0,
|
|
32
|
+
cvar99: 0,
|
|
33
|
+
dataPoints: 0,
|
|
34
|
+
};
|
|
35
|
+
if (returns.length < MIN_DATA_POINTS) {
|
|
36
|
+
return emptyResult;
|
|
37
|
+
}
|
|
38
|
+
// Sort returns ascending (worst losses first)
|
|
39
|
+
const sorted = [...returns].sort((a, b) => a - b);
|
|
40
|
+
const n = sorted.length;
|
|
41
|
+
// VaR at confidence level X = the value at the (1-X) percentile of sorted returns.
|
|
42
|
+
// For 95% confidence, we take the 5th percentile (index = floor(0.05 * n)).
|
|
43
|
+
// For 99% confidence, we take the 1st percentile (index = floor(0.01 * n)).
|
|
44
|
+
const var95Index = Math.floor(0.05 * n);
|
|
45
|
+
const var99Index = Math.floor(0.01 * n);
|
|
46
|
+
const var95Value = sorted[var95Index];
|
|
47
|
+
const var99Value = sorted[var99Index];
|
|
48
|
+
// CVaR (Expected Shortfall) = mean of all returns at or below the VaR threshold.
|
|
49
|
+
// This captures the average severity of tail losses, not just the boundary.
|
|
50
|
+
const cvar95 = calculateExpectedShortfall(sorted, var95Index);
|
|
51
|
+
const cvar99 = calculateExpectedShortfall(sorted, var99Index);
|
|
52
|
+
// Convert to positive percentage loss magnitudes.
|
|
53
|
+
// A return of -0.02 becomes 2.0 (representing 2% loss).
|
|
54
|
+
return {
|
|
55
|
+
var95: toPositiveLossPercentage(var95Value),
|
|
56
|
+
var99: toPositiveLossPercentage(var99Value),
|
|
57
|
+
cvar95: toPositiveLossPercentage(cvar95),
|
|
58
|
+
cvar99: toPositiveLossPercentage(cvar99),
|
|
59
|
+
dataPoints: n,
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Calculate the Sortino ratio for a return series.
|
|
64
|
+
*
|
|
65
|
+
* Sortino ratio improves on Sharpe by penalizing only downside volatility,
|
|
66
|
+
* which better reflects investor preferences in asymmetric return distributions
|
|
67
|
+
* typical of DeFi strategies.
|
|
68
|
+
*
|
|
69
|
+
* Formula: (mean return - risk-free rate) / downside deviation
|
|
70
|
+
*
|
|
71
|
+
* @param returns - Array of periodic returns as decimal fractions
|
|
72
|
+
* @param riskFreeRate - Per-period risk-free rate as decimal (default: 0.02 = 2% per period).
|
|
73
|
+
* Callers must convert annualized rates to match the return period
|
|
74
|
+
* (e.g., annual 5% → daily 0.05/365 ≈ 0.000137).
|
|
75
|
+
* @returns Sortino ratio, or 0 if insufficient data or no downside deviation
|
|
76
|
+
*
|
|
77
|
+
* @example
|
|
78
|
+
* ```ts
|
|
79
|
+
* const weeklyReturns = [0.01, -0.005, 0.015, -0.02, ...];
|
|
80
|
+
* const weeklyRiskFree = 0.05 / 52; // 5% annual → per-week
|
|
81
|
+
* const sortino = calculateSortinoRatio(weeklyReturns, weeklyRiskFree);
|
|
82
|
+
* ```
|
|
83
|
+
*/
|
|
84
|
+
export function calculateSortinoRatio(returns, riskFreeRate = 0.02) {
|
|
85
|
+
if (returns.length < 2) {
|
|
86
|
+
return 0;
|
|
87
|
+
}
|
|
88
|
+
const meanReturn = returns.reduce((sum, r) => sum + r, 0) / returns.length;
|
|
89
|
+
// Downside deviation: sqrt of mean squared negative excess returns.
|
|
90
|
+
// Only returns below the risk-free rate (per period) contribute.
|
|
91
|
+
const negativeExcessReturns = returns.filter((r) => r < riskFreeRate);
|
|
92
|
+
if (negativeExcessReturns.length === 0) {
|
|
93
|
+
return 0;
|
|
94
|
+
}
|
|
95
|
+
const sumSquaredDownside = negativeExcessReturns.reduce((sum, r) => sum + (r - riskFreeRate) ** 2, 0);
|
|
96
|
+
const downsideDeviation = Math.sqrt(sumSquaredDownside / returns.length);
|
|
97
|
+
if (downsideDeviation === 0) {
|
|
98
|
+
return 0;
|
|
99
|
+
}
|
|
100
|
+
return (meanReturn - riskFreeRate) / downsideDeviation;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Calculate Expected Shortfall (mean of returns at or below the VaR index).
|
|
104
|
+
*
|
|
105
|
+
* @param sortedReturns - Returns sorted ascending (worst first)
|
|
106
|
+
* @param varIndex - Index of the VaR threshold in the sorted array
|
|
107
|
+
* @returns Mean of all returns from index 0 through varIndex (inclusive)
|
|
108
|
+
*/
|
|
109
|
+
function calculateExpectedShortfall(sortedReturns, varIndex) {
|
|
110
|
+
// Include all returns from the worst up to and including the VaR threshold
|
|
111
|
+
const tailCount = varIndex + 1;
|
|
112
|
+
if (tailCount === 0) {
|
|
113
|
+
return sortedReturns[0];
|
|
114
|
+
}
|
|
115
|
+
let sum = 0;
|
|
116
|
+
for (let i = 0; i < tailCount; i++) {
|
|
117
|
+
sum += sortedReturns[i];
|
|
118
|
+
}
|
|
119
|
+
return sum / tailCount;
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Convert a return value to a positive loss percentage.
|
|
123
|
+
* Negative returns become positive loss magnitudes; positive returns become 0 (no loss).
|
|
124
|
+
*
|
|
125
|
+
* @param returnValue - Return as decimal fraction (e.g., -0.025)
|
|
126
|
+
* @returns Positive percentage loss (e.g., 2.5), or 0 if return is non-negative
|
|
127
|
+
*/
|
|
128
|
+
function toPositiveLossPercentage(returnValue) {
|
|
129
|
+
if (returnValue >= 0) {
|
|
130
|
+
return 0;
|
|
131
|
+
}
|
|
132
|
+
return Math.abs(returnValue) * 100;
|
|
133
|
+
}
|
|
134
|
+
//# sourceMappingURL=var.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"var.js","sourceRoot":"","sources":["../../src/utils/var.ts"],"names":[],"mappings":"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"}
|
|
@@ -65,6 +65,9 @@ export declare function predictYield(historicalData: YieldDataPoint[], feeParams
|
|
|
65
65
|
* will be omitted entirely (no placeholder assumptions).
|
|
66
66
|
*/
|
|
67
67
|
actualProfitMargin?: number;
|
|
68
|
+
}, dataQualityFlags?: {
|
|
69
|
+
droppedShortPeriods: number;
|
|
70
|
+
clampedPeriods: number;
|
|
68
71
|
}): YieldPrediction;
|
|
69
72
|
/**
|
|
70
73
|
* Calculate compound APR from multiple yield sources
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"yield-prediction.d.ts","sourceRoot":"","sources":["../../src/utils/yield-prediction.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,YAAY,GAAG,YAAY,GAAG,QAAQ,CAAC;IAC9C,gBAAgB,EAAE;QAChB,SAAS,EAAE,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC;QACvC,cAAc,EAAE,MAAM,CAAC;QACvB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;KACnB,EAAE,CAAC;IACJ,kBAAkB,CAAC,EAAE;QACnB,SAAS,EAAE,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC;QACvC,cAAc,EAAE,MAAM,CAAC;QACvB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;KACnB,EAAE,CAAC;IACJ,SAAS,CAAC,EAAE;QACV,aAAa,EAAE,MAAM,CAAC;QACtB,cAAc,EAAE,MAAM,CAAC;QACvB,kBAAkB,EAAE,MAAM,CAAC;QAC3B,oBAAoB,EAAE,OAAO,CAAC;KAC/B,CAAC;IACF,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;CACb;
|
|
1
|
+
{"version":3,"file":"yield-prediction.d.ts","sourceRoot":"","sources":["../../src/utils/yield-prediction.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,YAAY,GAAG,YAAY,GAAG,QAAQ,CAAC;IAC9C,gBAAgB,EAAE;QAChB,SAAS,EAAE,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC;QACvC,cAAc,EAAE,MAAM,CAAC;QACvB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;KACnB,EAAE,CAAC;IACJ,kBAAkB,CAAC,EAAE;QACnB,SAAS,EAAE,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC;QACvC,cAAc,EAAE,MAAM,CAAC;QACvB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;KACnB,EAAE,CAAC;IACJ,SAAS,CAAC,EAAE;QACV,aAAa,EAAE,MAAM,CAAC;QACtB,cAAc,EAAE,MAAM,CAAC;QACvB,kBAAkB,EAAE,MAAM,CAAC;QAC3B,oBAAoB,EAAE,OAAO,CAAC;KAC/B,CAAC;IACF,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;CACb;AAuGD;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAC1B,cAAc,EAAE,cAAc,EAAE,EAChC,SAAS,CAAC,EAAE;IACV,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,oBAAoB,EAAE,OAAO,CAAC;IAC9B;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B,EACD,gBAAgB,CAAC,EAAE;IACjB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,cAAc,EAAE,MAAM,CAAC;CACxB,GACA,eAAe,CA2LjB;AAoID;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAW7D"}
|
|
@@ -37,10 +37,10 @@ function calculateEMA(values, period) {
|
|
|
37
37
|
function calculateLinearRegression(data) {
|
|
38
38
|
const n = data.length;
|
|
39
39
|
if (n < 2) {
|
|
40
|
-
return { slope: 0, intercept: data[0]?.apr
|
|
40
|
+
return { slope: 0, intercept: data[0]?.apr ?? 0, r2: 0 };
|
|
41
41
|
}
|
|
42
42
|
// Normalize timestamps to prevent overflow
|
|
43
|
-
const minTimestamp =
|
|
43
|
+
const minTimestamp = data.reduce((min, d) => (d.timestamp < min ? d.timestamp : min), data[0].timestamp);
|
|
44
44
|
const x = data.map((d) => (d.timestamp - minTimestamp) / (24 * 60 * 60)); // Convert to days
|
|
45
45
|
const y = data.map((d) => d.apr);
|
|
46
46
|
// Calculate means
|
|
@@ -90,7 +90,7 @@ function calculateVolatility(values) {
|
|
|
90
90
|
* @param feeParams - Optional fee parameters for calculating net returns
|
|
91
91
|
* @returns Yield prediction with confidence intervals and insights
|
|
92
92
|
*/
|
|
93
|
-
export function predictYield(historicalData, feeParams) {
|
|
93
|
+
export function predictYield(historicalData, feeParams, dataQualityFlags) {
|
|
94
94
|
if (historicalData.length === 0) {
|
|
95
95
|
return {
|
|
96
96
|
currentAPR: 0,
|
|
@@ -116,25 +116,42 @@ export function predictYield(historicalData, feeParams) {
|
|
|
116
116
|
const emaShort = calculateEMA(aprValues, Math.min(7, aprValues.length)); // 7-day EMA
|
|
117
117
|
const emaLong = calculateEMA(aprValues, Math.min(30, aprValues.length)); // 30-day EMA
|
|
118
118
|
// Weighted prediction: 40% regression, 40% short EMA, 20% long EMA
|
|
119
|
-
|
|
119
|
+
// Use 1-step-ahead forecast in days (consistent with regression x = days-since-minTimestamp)
|
|
120
|
+
const minTimestamp = sortedData[0].timestamp;
|
|
121
|
+
const lastTimestamp = sortedData[sortedData.length - 1].timestamp;
|
|
122
|
+
const lastXDays = (lastTimestamp - minTimestamp) / (24 * 60 * 60);
|
|
123
|
+
const nextXDays = lastXDays + 1; // one day ahead
|
|
124
|
+
const regressionPrediction = regression.slope * nextXDays + regression.intercept;
|
|
120
125
|
const predictedAPR = regressionPrediction * 0.4 + emaShort * 0.4 + emaLong * 0.2;
|
|
126
|
+
// Regime change detection: if short EMA diverges >50% from long EMA,
|
|
127
|
+
// the yield source may have fundamentally changed (e.g., incentive program ended).
|
|
128
|
+
// Reduce confidence significantly when detected.
|
|
129
|
+
const emaLongMagnitude = Math.max(Math.abs(emaLong), 1e-8);
|
|
130
|
+
const emaDivergence = Math.abs(emaShort - emaLong) / emaLongMagnitude;
|
|
131
|
+
const regimeChangeDetected = emaDivergence > 0.5;
|
|
121
132
|
// Calculate confidence based on R² and data quantity
|
|
122
133
|
const dataQualityScore = Math.min(1, sortedData.length / 30); // More data = higher confidence
|
|
123
134
|
const trendStrengthScore = regression.r2; // Strong trend = higher confidence
|
|
124
|
-
const
|
|
125
|
-
|
|
126
|
-
|
|
135
|
+
const baseConfidence = (dataQualityScore * 0.4 + trendStrengthScore * 0.6) * 0.9; // Max 90%
|
|
136
|
+
const confidence = regimeChangeDetected ? baseConfidence * 0.5 : baseConfidence;
|
|
137
|
+
// Calculate volatility of APR *changes* (not absolute values) for confidence intervals
|
|
138
|
+
// This measures how much APR typically moves period-to-period
|
|
139
|
+
const aprChanges = [];
|
|
140
|
+
for (let i = 1; i < aprValues.length; i++) {
|
|
141
|
+
aprChanges.push(aprValues[i] - aprValues[i - 1]);
|
|
142
|
+
}
|
|
143
|
+
const changeVolatility = aprChanges.length >= 2 ? calculateVolatility(aprChanges) : calculateVolatility(aprValues);
|
|
127
144
|
// Project returns for different timeframes
|
|
145
|
+
// Confidence intervals use ±1 standard deviation (68% confidence level)
|
|
128
146
|
const projectedReturns = [
|
|
129
147
|
{ timeframe: '7d', days: 7 },
|
|
130
148
|
{ timeframe: '30d', days: 30 },
|
|
131
149
|
{ timeframe: '90d', days: 90 },
|
|
132
150
|
{ timeframe: '1y', days: 365 },
|
|
133
151
|
].map(({ timeframe, days }) => {
|
|
134
|
-
// Annualized to period conversion
|
|
135
152
|
const expectedReturn = (predictedAPR / 100) * (days / 365) * 100;
|
|
136
|
-
//
|
|
137
|
-
const timeScaledVolatility =
|
|
153
|
+
// Scale change volatility by sqrt(time) for confidence intervals (68% CI)
|
|
154
|
+
const timeScaledVolatility = changeVolatility * Math.sqrt(days / 365);
|
|
138
155
|
const minReturn = expectedReturn - timeScaledVolatility;
|
|
139
156
|
const maxReturn = expectedReturn + timeScaledVolatility;
|
|
140
157
|
return {
|
|
@@ -206,11 +223,13 @@ export function predictYield(historicalData, feeParams) {
|
|
|
206
223
|
predictedAPR,
|
|
207
224
|
trend,
|
|
208
225
|
confidence,
|
|
209
|
-
volatility,
|
|
226
|
+
volatility: changeVolatility,
|
|
210
227
|
dataPoints: sortedData.length,
|
|
211
228
|
regression,
|
|
212
229
|
feeAdjustedAPR,
|
|
213
230
|
feeImpact,
|
|
231
|
+
regimeChangeDetected,
|
|
232
|
+
dataQualityFlags,
|
|
214
233
|
});
|
|
215
234
|
return {
|
|
216
235
|
currentAPR,
|
|
@@ -229,6 +248,22 @@ export function predictYield(historicalData, feeParams) {
|
|
|
229
248
|
*/
|
|
230
249
|
function generateInsights(params) {
|
|
231
250
|
const insights = [];
|
|
251
|
+
// Regime change warning (highest priority)
|
|
252
|
+
if (params.regimeChangeDetected) {
|
|
253
|
+
insights.push('REGIME CHANGE DETECTED: Short-term and long-term yield trends have diverged >50%. ' +
|
|
254
|
+
'Prediction confidence reduced — yield source may have fundamentally changed');
|
|
255
|
+
}
|
|
256
|
+
// Data sanitation flags — explain why some periods were excluded so users
|
|
257
|
+
// don't compare dataPoints to the raw history count and conclude data is missing.
|
|
258
|
+
if (params.dataQualityFlags) {
|
|
259
|
+
const { droppedShortPeriods, clampedPeriods } = params.dataQualityFlags;
|
|
260
|
+
if (droppedShortPeriods > 0) {
|
|
261
|
+
insights.push(`${droppedShortPeriods} period(s) shorter than 6 hours excluded — increases prediction stability`);
|
|
262
|
+
}
|
|
263
|
+
if (clampedPeriods > 0) {
|
|
264
|
+
insights.push(`${clampedPeriods} period(s) had outlier APR clamped to [-100%, 500%] range — may indicate reporting anomaly or extreme yield event`);
|
|
265
|
+
}
|
|
266
|
+
}
|
|
232
267
|
// Data quality insight
|
|
233
268
|
if (params.dataPoints < 7) {
|
|
234
269
|
insights.push(`Limited data (${params.dataPoints} points) - predictions have higher uncertainty`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"yield-prediction.js","sourceRoot":"","sources":["../../src/utils/yield-prediction.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"yield-prediction.js","sourceRoot":"","sources":["../../src/utils/yield-prediction.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lagoon-protocol/lagoon-mcp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"description": "MCP server for Lagoon DeFi vault analytics - FOR INFORMATIONAL USE ONLY, NOT FINANCIAL ADVICE. Natural language access to vault data, portfolios, and performance metrics",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|