UNPKG

@gabriel3615/ta_analysis

Version:

stock ta analysis

76 lines (75 loc) 2.81 kB
import { Candle } from '../types.js'; /** * 计算简化版技术指标 - 新增 */ export declare function calculateTechnicalIndicators(data: Candle[]): { macdSignal: string; rsiLevel: number; bollingerStatus: string; technicalSignal: string; trendStatus?: string; }; export declare function calculateFullMACD(prices: number[]): { macdLine: number[]; signalLine: number[]; }; export declare function calculateStandardRSI(prices: number[], period: number): number; export declare function identifyTrend(prices: number[]): string; export declare function calculateSMA(data: number[], period: number): number; export declare function calculateStdDev(data: number[], period: number): number; /** * 计算成交量力量指标 */ export declare function calculateVolumeForce(data: Candle[], lookbackPeriod: number): number; /** * 计算资金流指标 (Money Flow Index, MFI) */ export declare function calculateMoneyFlowIndex(data: Candle[], period: number): number; /** * 计算蔡金摆动指标 (Chaikin Oscillator) * * 这个函数执行归一化处理,使返回值在合理范围内。 * 原因:A/D线可能会累积到非常大的值,导致蔡金摆动指标也非常大。 */ export declare function calculateChaikinOscillator(adLine: number[]): number; /** * 计算积累分布线 (A/D Line) */ export declare function calculateADLine(data: Candle[]): number[]; /** * 计算能量潮指标 (OBV) * * 注意:OBV是累积型指标,随着数据增多会累积到很大的数值。 * 在使用OBV时,应主要关注其变化趋势而非绝对值的大小。 */ export declare function calculateOBV(data: Candle[]): number[]; /** * 计算返回率序列 */ export declare function calculateReturns(prices: number[]): number[]; /** * 计算标准差 */ export declare function calculateStandardDeviation(data: number[]): number; /** * 计算最近的ATR值 */ export declare function calculateATR(data: Candle[], period: number): number; /** * 计算完整的ATR序列 */ export declare function calculateATRSeries(data: Candle[], period: number): number[]; export declare function rollingMin(prices: number[], window: number): number[]; export declare function rollingMax(prices: number[], window: number): number[]; export declare function percentChange(prices: number[]): number[]; /** * 计算数据序列的线性回归斜率 * * 注意:对于大值序列(如OBV和A/D Line),在计算斜率前应进行归一化处理。 * 该函数默认应用在已经归一化的数据上。 */ export declare function calculateSlope(prices: number[]): number; export declare function findPriceAtCumulativePercentage(cumulativeDistribution: { price: number; cumulativePercentage: number; }[], targetPercentage: number): number;