import pandas as pdkquant API document (0.3.6)
cross
두 시그널이 교차하는 지점을 찾아내는 함수
cross(
df: 'pd.DataFrame',
column_a: 'str',
column_b: 'str',
out_column_up: 'str'='CROSS_UP',
out_column_down: 'str'='CROSS_DOWN',
inplace: 'bool'=False,
) -> pd.DataFramedf(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 kqdf = pd.DataFrame({
"A": [0,1,2,3,2,1,0,0],
"B": [1,1,1,1,1,1,1,1],
})kq.cross(df, "A", "B")| 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 |