상세투자분석 계산로직 수정
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
export type AnalysisMethod = 'MARK_TO_MARKET' | 'REALIZED_ONLY';
|
||||
|
||||
export const ANALYSIS_METHOD_OPTIONS: { value: AnalysisMethod; label: string; desc: string }[] = [
|
||||
{
|
||||
value: 'MARK_TO_MARKET',
|
||||
label: '평가손익 포함 (표준)',
|
||||
desc: '예수금 + 보유주식 시가평가. HTS·MTS 평가금액과 동일한 방식으로 수익률을 계산합니다.',
|
||||
},
|
||||
{
|
||||
value: 'REALIZED_ONLY',
|
||||
label: '실현손익만',
|
||||
desc: '청산 완료된 거래의 실현손익만 반영합니다. 기말 미청산 포지션은 수익률에 포함하지 않습니다.',
|
||||
},
|
||||
];
|
||||
|
||||
export function normalizeAnalysisMethod(raw?: string | null): AnalysisMethod {
|
||||
return raw === 'REALIZED_ONLY' ? 'REALIZED_ONLY' : 'MARK_TO_MARKET';
|
||||
}
|
||||
|
||||
export function analysisMethodLabel(method?: string | null): string {
|
||||
const m = normalizeAnalysisMethod(method);
|
||||
return ANALYSIS_METHOD_OPTIONS.find(o => o.value === m)?.label ?? '평가손익 포함 (표준)';
|
||||
}
|
||||
@@ -1151,6 +1151,11 @@ export interface BacktestStats {
|
||||
export interface BacktestAnalysis {
|
||||
initialCapital: number;
|
||||
finalEquity: number;
|
||||
analysisMethod?: 'MARK_TO_MARKET' | 'REALIZED_ONLY';
|
||||
cashBalance?: number;
|
||||
holdingsValue?: number;
|
||||
realizedPnl?: number;
|
||||
unrealizedPnl?: number;
|
||||
totalReturnPct: number;
|
||||
totalProfitLoss: number;
|
||||
grossProfit: number;
|
||||
@@ -1230,6 +1235,8 @@ export interface BacktestSettingsDto {
|
||||
partialExitPct: number;
|
||||
/** "LONG_ONLY" | "SIGNAL_ONLY" — 매도 시그널 포지션 종속성 모드 */
|
||||
positionMode?: 'LONG_ONLY' | 'SIGNAL_ONLY';
|
||||
/** MARK_TO_MARKET | REALIZED_ONLY — 투자분석 방식 */
|
||||
analysisMethod?: 'MARK_TO_MARKET' | 'REALIZED_ONLY';
|
||||
}
|
||||
|
||||
export const DEFAULT_BACKTEST_SETTINGS: BacktestSettingsDto = {
|
||||
@@ -1253,6 +1260,7 @@ export const DEFAULT_BACKTEST_SETTINGS: BacktestSettingsDto = {
|
||||
partialExitEnabled: false,
|
||||
partialExitPct: 50,
|
||||
positionMode: 'LONG_ONLY',
|
||||
analysisMethod: 'MARK_TO_MARKET',
|
||||
};
|
||||
|
||||
/** 백테스팅 설정 로드 */
|
||||
|
||||
Reference in New Issue
Block a user