@baguskto/saham
Version:
MCP Server untuk data saham Indonesia (IDX) - Implementasi Node.js/TypeScript
96 lines • 2.76 kB
TypeScript
/**
* Technical Analysis utilities for stock data
*/
import { StockDataPoint } from './csv-parser';
export interface TechnicalIndicators {
sma?: Record<number, number[]>;
ema?: Record<number, number[]>;
rsi?: number[];
macd?: {
macd: number[];
signal: number[];
histogram: number[];
};
bollinger?: {
upper: number[];
middle: number[];
lower: number[];
};
support?: number;
resistance?: number;
volatility?: number;
}
export interface StockAnalysis {
ticker: string;
period: string;
dataPoints: number;
priceAnalysis: {
currentPrice: number;
priceChange: number;
priceChangePercent: number;
high52Week: number;
low52Week: number;
averageVolume: number;
};
technicalIndicators: TechnicalIndicators;
summary: {
trend: 'bullish' | 'bearish' | 'neutral';
strength: 'strong' | 'moderate' | 'weak';
recommendation: 'buy' | 'sell' | 'hold';
confidence: number;
};
}
export declare class TechnicalAnalysis {
/**
* Calculate Simple Moving Average
*/
static calculateSMA(data: StockDataPoint[], period: number): number[];
/**
* Calculate Exponential Moving Average
*/
static calculateEMA(data: StockDataPoint[], period: number): number[];
/**
* Calculate Relative Strength Index
*/
static calculateRSI(data: StockDataPoint[], period?: number): number[];
/**
* Calculate MACD (Moving Average Convergence Divergence)
*/
static calculateMACD(data: StockDataPoint[], fastPeriod?: number, slowPeriod?: number, signalPeriod?: number): {
macd: number[];
signal: number[];
histogram: number[];
};
/**
* Calculate Bollinger Bands
*/
static calculateBollingerBands(data: StockDataPoint[], period?: number, stdDev?: number): {
upper: number[];
middle: number[];
lower: number[];
};
/**
* Calculate support and resistance levels
*/
static calculateSupportResistance(data: StockDataPoint[]): {
support: number;
resistance: number;
};
/**
* Calculate volatility (annualized)
*/
static calculateVolatility(data: StockDataPoint[], period?: number): number;
/**
* Perform comprehensive stock analysis
*/
static analyzeStock(data: StockDataPoint[], ticker: string, period: string): StockAnalysis;
/**
* Generate trading summary and recommendation
*/
private static generateSummary;
/**
* Helper function to calculate EMA from array of values
*/
private static calculateEMAFromValues;
}
//# sourceMappingURL=technical-analysis.d.ts.map