kquant API document (0.3.6)

handle_stock_split

액면분할을 처리하는 함수

handle_stock_split(
    ratio: 'int',
    df_position: 'pd.DataFrame',
) -> pd.DataFrame
  • ratio (int): 분할비율
  • df_position (pd.DataFrame): 변환 전 포지션 정보 데이터프레임
  • 반환값 (pd.DataFrame): 변환 후 포지션 정보 데이터프레임
예제 코드
import kquant as kq
df_result1, df_position1 = kq.backtest_update_stock_daily(
    "158430",
    3,
    "2023-09-05",
    init_cash=100_000,
)
[2023-09-05] 종목: 158430, 주문전 보유수량:      0 주문수량:      3, 매매수량:      3, 주문후 보유수량:      3
df_result1
DATE SYMBOL PRICE ORDER QTY TRADE_PRICE POSITION AVG_PRICE FEE TRADE_TAX SLIPPAGE CASHFLOW CASH HIST_VALUE STOCK_VALUE TOTAL_VALUE REAL_PROFIT UNREAL_PROFIT PROFIT HIGHWATERMARK DRAWDOWN
0 2023-09-05 158430 4,490 3 3 4,490 3 4,490.0000 0 0 0 -13,470 86,530 13,470 13,470 100,000 0 0 0 100,000 0
df_position1
DATE SYMBOL QTY TRADE_PRICE HIST_VALUE FEE NOT_DELETE
0 2023-09-05 158430 3 4,490 13,470 0 True
df_position1_adj = kq.handle_stock_split(5, df_position1)
df_position1_adj
DATE SYMBOL QTY TRADE_PRICE HIST_VALUE FEE NOT_DELETE
0 2023-09-05 158430 15 898 13,470 0 True
df_result2, df_position2 = kq.backtest_update_stock_daily(
   "158430",
   0,
   "2023-09-06",
   df_result1,
   df_position1_adj,
)
[2023-09-06] 종목: 158430, 주문전 보유수량:     15 주문수량:      0, 매매수량:      0, 주문후 보유수량:     15
df_result2
DATE SYMBOL PRICE ORDER QTY TRADE_PRICE POSITION AVG_PRICE FEE TRADE_TAX SLIPPAGE CASHFLOW CASH HIST_VALUE STOCK_VALUE TOTAL_VALUE REAL_PROFIT UNREAL_PROFIT PROFIT HIGHWATERMARK DRAWDOWN
0 2023-09-05 158430 4,490 3 3 4,490 3 4,490.0000 0 0 0 -13,470 86,530 13,470 13,470 100,000 0 0 0 100,000 0
1 2023-09-06 158430 4,100 0 0 0 15 898.0000 0 0 0 0 86,530 13,470 61,500 148,030 0 48,030 48,030 148,030 0
df_position2
DATE SYMBOL QTY TRADE_PRICE HIST_VALUE FEE NOT_DELETE
0 2023-09-05 158430 15 898 13,470 0 True