상세 컨텐츠

본문 제목

확률 밀도 함수를 이용하여 slippage 문제의 기저 상황 해결

프로그래밍

by 경밤 2024. 2. 13. 22:39

본문

반응형

문제 파악

슬리피지 문제는 가상화폐, 주식 등의 실시간 가격이 변동하고, 특정 호가에 주문을 넣어 체결이 되는 상황일 때 트레이딩 봇을 이용하면서 발생한다. 슬리피지 문제란 특정한 호가에 주문을 넣었으나 실제로 체결된 가격이 다른 것이다.

본론

가정

  1. 매매하고자 하는 가격에 대한 호가가 존재할 확률은 0이다.
  2. 호가는 연속된 확률변수며, 특정 값에 대한 존재 확률을 곧 알 수 없다.
  3. 호가는 주가의 0.01%씩 변동하며, 주가의 변동폭은 5%다.

해결

확률 밀도 함수를 구하고 원하는 호가가 이전 호가보다 크고, 다음 호가보다 작을 확률을 확률 밀도 함수를 이전, 다음 호가 범위로 적분하여 구한다. 이 확률에 따라서 트레이딩 봇은 원하는 호가가 존재할 확률을 근사하여 알 수 있다. 이를 통해 트레이딩 봇은 슬리피지 문제를 대부분 해결할 수 있을 것으로 예상한다.

파이썬 코드

def pdf(x):
    mu = 현재 주식 가격  # 현재 주식 가격
    sigma = 0.025 * mu  # 표준 편차 (변동 범위의 절반)
    return norm.pdf(x, loc=mu, scale=sigma)
# 이전 호가보다 크고 다음 호가보다 작을 확률 계산
def probability_between_previous_and_next(previous_price, next_price):
    # 적분 범위 설정
    lower_limit = previous_price
    upper_limit = next_price
    def integrand(x): # 적분 함수 정의
        return pdf(x)
    # 적분 수행
    probability, _ = quad(integrand, lower_limit, upper_limit)
    return probability
 

결론

pdf를 이용, 슬리피지 문제와 같이 연속된 실수가 존재하나, 그 확률을 알 수 없는 경우에 적용하여 문제를 해결할 수 있었다. 이 문제를 해결하기 위해 확률 밀도 함수를 구하고 원하는 호가가 이전 호가보다 크고 다음 호가보다 작을 확률을 적분하여 계산하는 방법을 사용했다. 이를 통해 트레이딩 봇은 원하는 호가가 존재할 확률을 알 수 있으며, 이를 기반으로 슬리피지 문제를 대부분 해결할 수 있을 것으로 예상한다.

 

반응형

관련글 더보기