모의투자 관리 기능 추가
This commit is contained in:
@@ -674,6 +674,14 @@ export interface PaperPositionDto {
|
||||
profitLossPct?: number;
|
||||
}
|
||||
|
||||
export interface PaperAllocationDto {
|
||||
symbol: string;
|
||||
maxInvestKrw: number;
|
||||
availableBuyKrw?: number;
|
||||
strategyId?: number | null;
|
||||
isActive?: boolean;
|
||||
}
|
||||
|
||||
export interface PaperSummaryDto {
|
||||
enabled: boolean;
|
||||
initialCapital: number;
|
||||
@@ -688,7 +696,11 @@ export interface PaperSummaryDto {
|
||||
minOrderKrw: number;
|
||||
autoTradeEnabled: boolean;
|
||||
autoTradeBudgetPct: number;
|
||||
orderableCash?: number;
|
||||
reservedCash?: number;
|
||||
initialCapitalSnapshot?: number;
|
||||
positions: PaperPositionDto[];
|
||||
allocations?: PaperAllocationDto[];
|
||||
}
|
||||
|
||||
export interface PaperTradeDto {
|
||||
@@ -704,13 +716,20 @@ export interface PaperTradeDto {
|
||||
feeAmount: number;
|
||||
netAmount: number;
|
||||
cashAfter: number;
|
||||
realizedPnlDelta?: number | null;
|
||||
createdAt?: string | null;
|
||||
}
|
||||
|
||||
export interface PaperPlaceOrderResult {
|
||||
trade?: PaperTradeDto | null;
|
||||
order?: { id: number; symbol: string; side: string; status: string } | null;
|
||||
}
|
||||
|
||||
export interface PaperOrderRequest {
|
||||
market: string;
|
||||
side: 'BUY' | 'SELL';
|
||||
orderKind?: 'limit' | 'market';
|
||||
orderType?: 'MARKET' | 'LIMIT';
|
||||
price: number;
|
||||
quantity: number;
|
||||
/** 수량 0일 때 매수 예산 비율 (가용현금 %) */
|
||||
@@ -735,8 +754,8 @@ export async function loadPaperTrades(): Promise<PaperTradeDto[]> {
|
||||
return (await request<PaperTradeDto[]>('/paper/trades')) ?? [];
|
||||
}
|
||||
|
||||
export async function placePaperOrder(body: PaperOrderRequest): Promise<PaperTradeDto | null> {
|
||||
return request<PaperTradeDto>('/paper/orders', {
|
||||
export async function placePaperOrder(body: PaperOrderRequest): Promise<PaperPlaceOrderResult | null> {
|
||||
return request<PaperPlaceOrderResult>('/paper/orders', {
|
||||
method: 'POST',
|
||||
body: JSON.stringify(body),
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user