Files
goldenChart/frontend/src/utils/psychologicalConfig.ts
T
2026-05-29 23:03:47 +09:00

30 lines
1.1 KiB
TypeScript

/**
* 심리도 / 신심리도 / 투자심리도 (업비트)
* - 심리도: N일 중 종가 상승일 비율 × 100 (0~100)
* - 신심리도: N일 상승·하락 일수와 등락폭 반영, 0 중심 (미래에셋 공식)
* - 투자심리도: N일 중 종가 상승일 비율 × 100 (업비트·한국경제, 기본 10일)
*/
export const PSYCHOLOGICAL_DEFAULT_LENGTH = 12;
export const NEW_PSYCHOLOGICAL_DEFAULT_LENGTH = 10;
export const INVEST_PSYCHOLOGICAL_DEFAULT_LENGTH = 10;
/** 레거시 type 정규화 — NewPsychological 은 별도 지표로 유지 */
export function resolvePsychologicalIndicatorType(type: string): string {
return type;
}
export function normalizePsychologicalParams(
type: string,
params: Record<string, number | string | boolean>,
): Record<string, number | string | boolean> {
const defaultLen =
type === 'InvestPsychological'
? INVEST_PSYCHOLOGICAL_DEFAULT_LENGTH
: type === 'NewPsychological'
? NEW_PSYCHOLOGICAL_DEFAULT_LENGTH
: PSYCHOLOGICAL_DEFAULT_LENGTH;
const length = Math.max(1, Number(params.length ?? defaultLen) || defaultLen);
return { ...params, length };
}