import pandas as pd
kquant API document (0.3.6)
cross
두 시그널이 교차하는 지점을 찾아내는 함수
cross('pd.DataFrame',
df: 'str',
column_a: 'str',
column_b: 'str'='CROSS_UP',
out_column_up: 'str'='CROSS_DOWN',
out_column_down: 'bool'=False,
inplace: -> pd.DataFrame )
df
(pd.DataFrame
): 두개의 시그널 데이터 컬럼을 포함하는 pandas 데이터프레임column_a
(str
): A 시그널 컬럼의 이름 문자열column_b
(str
): B 시그널 컬럼의 이름 문자열out_column_up
(str
): 첫번째 시그널값이 두번째 시그널값보다 커지는 시점을 나타내는 출력 컬럼의 이름 문자열. 디폴트는 “CROSS_UP”out_column_down
(str
): 첫번째 시그널값이 두번째 시그널값보다 작아지는 시점을 나타내는 출력 컬럼의 이름 문자열. 디폴트는 “CROSS_DOWN”inplace
(bool
): inplace=True 이면 계산 결과를 입력 데이터프레임에 추가. inplace=True 이면 계산 결과를 복사된 데이터프레임에 추가. 디폴트는 False.- 반환값 (
pd.DataFrame
): 교차지점 데이터 컬럼이 포함된 pandas 데이터프레임. 교차지점인 행의 값은 True, 교차지점이 아닌 행의 값은 False
예제 코드
import kquant as kq
= pd.DataFrame({
df "A": [0,1,2,3,2,1,0,0],
"B": [1,1,1,1,1,1,1,1],
})
"A", "B") kq.cross(df,
A | B | CROSS_UP | CROSS_DOWN | |
---|---|---|---|---|
0 | 0 | 1 | False | False |
1 | 1 | 1 | False | False |
2 | 2 | 1 | True | False |
3 | 3 | 1 | False | False |
4 | 2 | 1 | False | False |
5 | 1 | 1 | False | False |
6 | 0 | 1 | False | True |
7 | 0 | 1 | False | False |