𝗦𝗰𝗮𝗿𝗮𝗯 𝗗𝗶𝗮𝗴𝗻𝗼𝘀𝘁𝗶𝗰 𝗙𝗶𝗲𝗹𝗱 𝗧𝗲𝘀𝘁 #𝟬𝟯𝟮: 𝗢𝗽𝘁𝗶𝗼𝗻 𝗧𝗮𝗿𝗴𝗲𝘁 𝗣𝗿𝗶𝗰𝗶𝗻𝗴 𝗕𝗼𝘂𝗻𝗱𝗮𝗿𝘆

QuantConnect Lean의 옵션 목표 사이즈 결정(option target sizing) 과정에서 심각한 버그가 발견되었습니다.

옵션 포지션에 대해 10%의 목표 비중을 요청하더라도, 엔진이 요청한 것보다 더 많은 비중을 할당할 수 있었습니다.

이는 시스템이 수량을 계산할 때 잘못된 가격을 사용했기 때문에 발생했습니다. 옵션을 매수하기 위해 실제로 지불해야 하는 가격 대신 중간가(mid price)나 직전가(last price)를 사용한 것입니다.

매수/매도 호가 스프레드(bid/ask spread)가 넓을수록 이 오류는 커집니다.

엔진은 증거금 계산을 위해 security.Price를 사용하고 있었습니다. 롱 옵션(long option)의 경우 매도 호가(ask)로 매수해야 합니다. 만약 엔진이 더 낮은 중간가(mid-price)를 기준으로 사이즈를 계산하면, 주문이 체결된 후 최종 포지션은 목표 비중을 초과하게 됩니다.

저희는 정확한 수정 범위를 식별했습니다.

포트폴리오 구성 엔진 전체를 다시 작성하지 않았습니다. 모든 보안 유형(security type)의 작동 방식을 변경하지 않았습니다. 실행 레이어(execution layer)를 변경하지 않았습니다.

대신, 옵션 전용 증거금 가격 책정 경로(option-specific margin pricing path)를 수정했습니다.

수정 사항은 다음 규칙을 따릅니다:

이를 통해 수정 범위를 국소화하여 안전성을 확보했습니다. 데이터가 존재할 때는 더 정확한 데이터를 사용하고, 그렇지 않을 때는 기존의 동작을 유지합니다.

검증 결과:

이번 수정으로 엔진이 사이즈 결정 시 실제 체결 가능한 가격(executable prices)을 사용함으로써 사용자의 리스크 계약(risk contract)을 준수하도록 보장합니다.

Source: https://dev.to/scarab-systems/scarab-diagnostic-field-test-031-quantconnect-lean-option-target-quote-side-pricing-boundary-4f94

Optional learning community: https://t.me/GyaanSetuAi