import kquant as kq
kquant API document (0.3.6)
handle_stock_merge
액면병합을 처리하는 함수
handle_stock_merge('int',
ratio: 'pd.DataFrame',
df_position: -> tuple[pd.DataFrame, float] )
ratio
(int
): 병합비율df_position
(pd.DataFrame
): 변환 전 포지션 정보 데이터프레임- 반환값 (
tuple[pd.DataFrame, float]
): 변환 후 포지션 정보 데이터프레임과 병합되지 못한 잔여 주식수(병합비율로 나눈 값)
예제 코드
= kq.backtest_update_stock_daily(
df_result1, df_position1 "111870",
30,
"2023-08-16",
=100_000,
init_cash )
[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 |
= kq.handle_stock_merge(15, df_position1) df_position1_adj, remainder
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 |
remainder
0.0
= kq.backtest_update_stock_daily(
df_result2, df_position2 "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 |