kquant 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.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 pandas as pd
import kquant as kq
df = 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