import kquant as kqkquant API document (0.3.6)
handle_stock_merge
액면병합을 처리하는 함수
handle_stock_merge(
ratio: 'int',
df_position: 'pd.DataFrame',
) -> tuple[pd.DataFrame, float]ratio(int): 병합비율df_position(pd.DataFrame): 변환 전 포지션 정보 데이터프레임- 반환값 (
tuple[pd.DataFrame, float]): 변환 후 포지션 정보 데이터프레임과 병합되지 못한 잔여 주식수(병합비율로 나눈 값)
예제 코드
df_result1, df_position1 = kq.backtest_update_stock_daily(
"111870",
30,
"2023-08-16",
init_cash=100_000,
)[2023-08-16] 종목: 111870, 주문전 보유수량: 0 주문수량: 30, 매매수량: 30, 주문후 보유수량: 30
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-08-16 | 111870 | 2,970 | 30 | 30 | 2,970 | 30 | 2,970.0000 | 0 | 0 | 0 | -89,100 | 10,900 | 89,100 | 89,100 | 100,000 | 0 | 0 | 0 | 100,000 | 0 |
df_position1| DATE | SYMBOL | QTY | TRADE_PRICE | HIST_VALUE | FEE | NOT_DELETE | |
|---|---|---|---|---|---|---|---|
| 0 | 2023-08-16 | 111870 | 30 | 2,970 | 89,100 | 0 | True |
df_position1_adj, remainder = kq.handle_stock_merge(15, df_position1)df_position1_adj| DATE | SYMBOL | QTY | TRADE_PRICE | HIST_VALUE | FEE | NOT_DELETE | |
|---|---|---|---|---|---|---|---|
| 0 | 2023-08-16 | 111870 | 2 | 44,550 | 89,100 | 0 | True |
remainder0.0
df_result2, df_position2 = kq.backtest_update_stock_daily(
"111870",
0,
"2023-08-17",
df_result1,
df_position1_adj,
)[2023-08-17] 종목: 111870, 주문전 보유수량: 2 주문수량: 0, 매매수량: 0, 주문후 보유수량: 2
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-08-16 | 111870 | 2,970 | 30 | 30 | 2,970 | 30 | 2,970.0000 | 0 | 0 | 0 | -89,100 | 10,900 | 89,100 | 89,100 | 100,000 | 0 | 0 | 0 | 100,000 | 0 |
| 1 | 2023-08-17 | 111870 | 2,970 | 0 | 0 | 0 | 2 | 44,550.0000 | 0 | 0 | 0 | 0 | 10,900 | 89,100 | 5,940 | 16,840 | 0 | -83,160 | -83,160 | 100,000 | 83,160 |
df_position2| DATE | SYMBOL | QTY | TRADE_PRICE | HIST_VALUE | FEE | NOT_DELETE | |
|---|---|---|---|---|---|---|---|
| 0 | 2023-08-16 | 111870 | 2 | 44,550 | 89,100 | 0 | True |