주문유효섭 검증과 Low Latency

1.
새로운 주문수탁제도가 4월 2일부터 시행합니다. 시행일이 4월 중순으로 알고 있었는데 아니라고 하네요. 세칙을 확인해보니 이렇게 되어 있습니다. 파생상품시장 업무규정 시행세칙입니다.

제1조(시행일) 이 세칙은 2012년 4월 2일부터 시행한다. 다만, 제48조, 제49조의2, 제50조, 제165조의 개정규정은 2011년 12월 29일부터 시행한다.

다시금 2011년 12월에 KRX가 발표한 주문수탁제도로 돌아가 보죠. 이 때 주문시스템 접속과 주문유효섭에 대한 정책을 내놓았습니다. 그동안 주문시스템 접속만 관심을 두었습니다. 호가 적합성 검증이 저의 일이 아니고 고 (미니)원장을 담당하는 분들의 일이란 생각을 했기때문입니다. 그런데 관심이 가질 일이 생겼습니다.

어떤 분이 물어보더군요.

“주문적합성과 증거금처리를 1마이크로초수준으로 처리하는 것이 가능할까요?”

말이니까 쉽게 ?1마이크로초라고 하지 IPC에서 시험을 하여도 얻기 힘든 숫자가 1마이크로 초입니다.

“왜요?”
“‘어떤 업체가 1마이크로초수준에서 처리를 한다’고 합니다.”

음, 놀라운 숫자입니다. 미국이나 유럽에서 사전위험관리를 FPGA로 처리할 때 얻을 수 있는 숫자가 700나노초임을 감안하면 대단히 놀라운 숫자입니다. 다만 모든 숫자가 이면을 보아야 합니다. 어느 수준의 업무를 구현해서 어떤 환경에서 시험했고 그 결과중 제시한 숫자가 어떤 의미인지를 밝혀야 비교가 가능합니다.

2.
다시 주문유효성으로 돌아가죠. 시행세칙은 ‘호가의 적합성 점검’으로 정의합니다. 법규상에 나타난 주문유효성이 무엇인지를 살펴보죠.

먼저, 시행세칙이 정한 항목입니다.

제49조의2(호가의 적합성 등 점검 항목) 규정 제65조제2항에서 “세칙에서 정하는 사항”이란 다음 각 호를 말한다.
1. 제48조제1항제11호의 파생상품계좌번호
2. 종목에 관하여 다음 각 목의 사항
가. 제48조제1항제2호에 따른 종목코드
나. 규정 제76조부터 제78조까지에 따른 거래중단 종목 여부
3. 호가수량에 관하여 다음 각 목의 사항
가. 규정 제71조제1항에 따른 호가수량단위
나. 제61조에 따른 호가한도수량
4. 호가가격에 관하여 다음 각 목의 사항
가. 호가가격단위 부합 여부
나. 제56조, 제59조 및 제60조에 따른 호가가격제한 준수여부
5. 제50조에 따른 호가의 입력제한 준수여부
6. 거래의 수탁과 관련하여 다음 각 목의 사항
가. 위탁자가 규정 제124조의 수탁거부 사유에 해당하는지 여부
나. 제115조제1항제7호의 사전위탁증거금계좌의 경우 규정 제132조제2항에 따른 사전위탁증거금의 예탁 여부
7. 거래소가 시장관리를 위하여 거래를 제한하는 사항
8. 그 밖에 회원이 필요하다고 인정하는 사항

각 항에 담긴 연결조항들을 포함하여 나열하면 이렇습니다.

첫째. 제48조제1항제11호의 파생상품계좌번호

회원영업소번호(회원이 본점·지점, 그 밖에 영업소에 대하여 다섯자리로 부여하여 거래소에 통지하는 번호를 말한다. 이하 같다)와 파생상품계좌번호(자기거래와 관련한 계좌번호를 포함한다)

둘째. 종목에 관하여 다음 각 목의 사항

가. 제48조제1항제2호에 따른 종목코드
나. 규정 제76조부터 제78조까지에 따른 거래중단 종목 여부

제76조(거래의 임의적 중단) ① 거래소는 다음 각 호의 어느 하나에 해당하는 경우에는 관련되는 종목의 거래를 중단 또는 정지할 수 있다. <개정 2009.3.4, 2010.6.23>
1. 거래소파생상품시스템 또는 회원파생상품시스템의 장애 발생으로 정상적인 거래를 할 수 없는 경우로서 세칙이 정하는 경우
2. 주식시장의 시스템장애가 세칙이 정하는 시간 이상 발생하여 주가지수의 구성종목 중 세칙이 정하는 종목 수 이상에 대하여 매매거래를 할 수 없는 경우
3. 주식선물거래 및 주식옵션거래에 있어서 기초주권의 매매거래의 중단·정지, 그 밖에 세칙이 정하는 경우
4. 선물스프레드거래에 있어서 그 거래를 구성하는 선물거래의 2개 종목 중에서 거래가 중단된 종목이 있는 경우
5. 돈육선물거래에 있어서 품질평가원이 「돈육 대표가격 관리기준」에서 정한 축산물도매시장의 과반수가 거래를 중단하는 경우
6. 미국달러플렉스선물거래에 있어서 미국달러선물거래가 중단되는 경우
7. 그 밖에 거래상황에 이상이 있거나 그 우려가 있어 거래를 계속하는 것이 곤란하다고 거래소가 인정하는 경우
② 거래소는 제1항에 따라 거래를 중단 또는 정지한 후 그 사유가 해소되는 경우 또는 시장관리상 필요하다고 인정하는 경우에는 거래를 재개할 수 있다.

제77조(주가지수선물거래의 필요적 중단) ① 거래소는 다음 각 호의 어느 하나에 해당하는 경우에는 기초자산이 동일한 모든 종목의 주가지수선물거래를 중단한다. <개정 2009.9.23>
1. 주가지수선물거래의 약정가격의 급변 등 세칙이 정하는 경우
2. 「유가증권시장 업무규정」 제25조제1항 또는 「코스닥시장 업무규정」 제26조제1항 에 따라 주식시장의 매매거래가 중단되는 경우
② 거래소는 제1항에 따라 주가지수선물거래를 중단한 후 세칙이 정하는 시간이 경과하는 때에는 즉시 중단된 주가지수선물거래를 재개한다.

제78조(주가지수선물스프레드거래 등의 필요적 중단) ① 거래소는 제77조제1항에 따라 주가지수선물거래가 중단되는 경우에는 동일한 주가지수를 기초자산으로 하는 모든 종목의 선물스프레드거래 및 옵션거래를 중단한다.
② 거래소는 제77조제1항제2호에 따라 주식시장의 매매거래가 중단되는 경우에는 해당 유가증권시장 또는 코스닥시장의 기초주권과 관련한 모든 종목의 주식선물거래, 주식선물스프레드거래 및 주식옵션거래(이하 이 조에서 “주식선물거래등”이라 한다)를 중단한다.
③ 거래소는 제1항에 따라 선물스프레드거래 및 옵션거래를 중단한 후 주가지수선물거래가 재개되는 경우에는 즉시 재개되는 주가지수선물거래와 동일한 주가지수를 기초자산으로 하는 선물스프레드거래 및 옵션거래를 재개하고, 제2항에 따라 주식선물거래등을 중단한 후 주식시장의 매매거래가 재개되는 경우에는 즉시 주식선물거래등을 재개한다.

셋째. 호가수량에 관하여 다음 각 목의 사항

가. 규정 제71조제1항에 따른 호가수량단위

제71조(호가의 수량제한) ① 호가수량단위(호가를 할 수 있는 최소단위의 수량을 말한다. 이하 같다)는 1계약으로 한다.
② 호가한도수량(호가 당 지정할 수 있는 최대수량을 말한다. 이하 같다), 그 밖에 호가의 수량에 관하여 필요한 사항은 세칙으로 정한다.

나. 제61조에 따른 호가한도수량

제61조(호가한도수량) ① 규정 제71조제2항에 따른 호가한도수량은 다음 각 호와 같다. <개정 2009.10.26, 2010.6.18>
1. 선물거래(주식선물거래 및 통화선물거래를 제외한다)의 경우에는 1천계약. 다만, 유동성관리상품의 모든 종목의 경우에는 100계약으로 한다.
2. 주식선물거래, 통화선물거래 및 옵션거래의 경우에는 5천계약. 다만, 유동성관리상품의 모든 종목의 경우에는 500계약으로 한다.
3. 선물스프레드거래(주식선물스프레드거래 및 통화선물스프레드거래를 제외한다)의 경우에는 1천계약
4. 주식선물스프레드거래의 경우에는 5천계약
5. 통화선물스프레드거래의 경우에는 1만계약
② 회원은 제1항에도 불구하고 제1항에 따른 수량 이내로 호가한도수량을 정할 수 있다.

넷째. 호가가격에 관하여 다음 각 목의 사항

가. 호가가격단위 부합 여부
나. 제56조, 제59조 및 제60조에 따른 호가가격제한 준수여부

제56조(선물거래의 가격제한) ① 규정 제70조제2항에 따른 선물거래의 상한가는 기준가격에 가격제한폭(선물거래의 기준가격에 별표 14의 가격제한비율을 곱하여 산출되는 수치를 말한다. 이하 같다)을 더한 가격으로 한다. 다만, 그 가격이 호가가격단위에 부합되지 아니하는 경우에는 그 가격보다 낮고 호가가격단위에 부합되는 가격 중 그 가격에 가장 가까운 가격으로 한다.
② 규정 제70조제2항에 따른 선물거래의 하한가는 기준가격에서 가격제한폭을 뺀 가격으로 한다. 다만, 그 가격이 호가가격단위에 부합되지 아니하는 경우에는 그 가격보다 높고 호가가격단위에 부합되는 가격 중 그 가격에 가장 가까운 가격으로 한다.
③ 거래소는 제1항 및 제2항에도 불구하고 거래의 상황에 이상이 있거나 그 밖에 시장관리상 필요하다고 인정하는 경우에는 상한가 또는 하한가를 변경할 수 있다. <개정 2009.10.26>

제59조(옵션거래의 가격제한) ① 규정 제70조제2항에 따른 옵션거래의 상한가는 기초자산의 가격이 별표 14의 가격제한비율만큼 상승하는 경우의 상승콜옵션이론가격 및 하락하는 경우의 하락풋옵션이론가격으로 하고, 하한가는 기초자산의 가격이 별표 14의 가격제한비율만큼 하락하는 경우의 하락콜옵션이론가격 및 상승하는 경우의 상승풋옵션이론가격으로 한다.
② 제1항에도 불구하고 제1항에 따른 상승콜옵션이론가격 및 하락풋옵션이론가격이 기준가격보다 낮은 경우에는 기준가격을 상한가로 하고, 하락콜옵션이론가격 및 상승풋옵션이론가격이 기준가격보다 높은 경우에는 기준가격을 하한가로 한다.
③ 제57조제1항제1호는 제1항에 따른 상승콜옵션이론가격 및 상승풋옵션이론가격의 산출에 각각 준용한다. 이 경우 별표 15부터 별표 17까지 중 “전일의 기초자산기준가격”은 각각 “전일의 기초자산기준가격과 그 가격에 가격제한비율을 곱한 수치를 더한 가격”으로 보되, 전일에 거래가 성립된 종목의 경우에 별표 15부터 별표 17까지의 변동성은 거래소가 산출하는 해당 종목의 전일의 연 내재변동성으로 한다.
④ 제57조제1항제1호는 제1항의 하락콜옵션이론가격 및 하락풋옵션이론가격의 산출에 각각 준용한다. 이 경우 별표 15부터 별표 17까지 중 “전일의 기초자산기준가격”은 각각 “전일의 기초자산기준가격에서 그 가격에 가격제한비율을 곱한 수치를 뺀 가격”으로 보되, 전일에 거래가 성립된 종목의 경우에 별표 15부터 별표 17까지의 변동성은 거래소가 산출하는 해당 종목의 전일의 연 내재변동성으로 한다.
⑤ 제3항 및 제4항에 따라 산출되는 가격이 호가가격단위에 부합되지 아니하는 경우에 상한가는 그 산출되는 가격보다 낮고 호가가격단위에 부합되는 가격 중 그 산출되는 가격에 가장 가까운 가격으로 하고, 하한가는 그 산출되는 가격보다 높고 호가가격단위에 부합되는 가격 중 그 산출되는 가격에 가장 가까운 가격으로 한다.
⑥ 거래소는 제1항에도 불구하고 옵션거래의 상황에 이상이 있거나 시장관리상 필요하다고 인정하는 경우에는 상한가 또는 하한가의 변경, 해당 종목의 변동성 산출방법 변경, 그 밖에 상한가 또는 하한가의 산출방법을 변경할 수 있다. <개

제60조(선물스프레드거래의 가격제한) ① 규정 제70조제2항에 따른 선물스프레드거래의 상한가는 다음 각 호의 산식에 따라 산출되는 가격으로 한다. 다만, 그 가격이 호가가격단위에 부합하지 아니하는 경우에는 그 가격보다 낮고 호가가격단위에 부합하는 가격 중 그 가격에 가장 가까운 가격으로 한다. <개정 2011.7.26>
1. 금리상품의 경우
(최근월종목의 기준가격 – 원월종목의 기준가격) + (최근월종목의 기준가격 × 별표 14의 가격제한비율)
2. 금리상품 이외의 경우
(원월종목의 기준가격 – 최근월종목의 기준가격) + (최근월종목의 기준가격 × 별표 14의 가격제한비율)
② 규정 제70조제2항에 따른 선물스프레드거래의 하한가는 다음 각 호의 산식에 따라 산출되는 가격으로 한다. 다만, 그 가격이 호가가격단위에 부합하지 아니하는 경우에는 그 가격보다 높고 호가가격단위에 부합하는 가격 중 그 가격에 가장 가까운 가격으로 한다. <개정 2011.7.26>
1. 금리상품의 경우
(최근월종목의 기준가격 – 원월종목의 기준가격) – (최근월종목의 기준가격 × 별표 14의 가격제한비율)
2. 금리상품 이외의 경우
(원월종목의 기준가격 – 최근월종목의 기준가격) – (최근월종목의 기준가격 × 별표 14의 가격제한비율)
③ 거래소는 제1항 및 제2항에도 불구하고 거래의 상황에 이상이 있거나 그 밖에 시장관리상 필요하다고 인정하는 경우에는 선물스프레드거래의 상한가 또는 하한가를 변경할 수 있다. <신설 2010.6.18>

다섯째. 제50조에 따른 호가의 입력제한 준수여부

제50조(호가의 입력제한) 규정 제65조제6항 에 따라 회원은 다음 각 호에 해당하는 호가를 입력하여서는 아니된다. <개정 2009.8.21, 2010.10.20, 2011.4.21, 2011.12.28>
1. 원월종목[최근월종목의 최종거래일부터 기산하여 소급한 4거래일간은 차근월종목(최종거래일이 두 번째로 먼저 도래하는 결제월종목을 말한다. 이하 같다)을 제외한다]인 경우에는 시장가호가, 조건부지정가호가 및 최유리지정가호가
2. 단일가호가인 경우에는 최유리지정가호가. 다만, 취소호가는 그러하지 아니하다.
3. 규정 제73조제1항제3호의 최종약정가격(이하 “종가단일가”라 한다)을 결정하기 위한 제64조제1항제4호의 단일가호가시간(이하 “종가단일가호가시간”이라 한다)인 경우에는 조건부지정가호가. 다만, 취소호가는 그러하지 아니하다.
4. 최종거래일이 도래한 종목(통화상품거래 및 일반상품선물거래의 종목을 제외한다)인 경우에는 조건부지정가호가
5. 선물스프레드거래인 경우에는 다음 각 목의 어느 하나에 해당하는 호가
가. 시장가호가, 조건부지정가호가 및 최유리지정가호가
나. 제64조제1항의 단일가호가시간의 호가. 다만, 취소호가는 그러하지 아니하다.
다. 선물거래별 최근월종목의 거래시간 종료 후인 경우에는 기초자산이 동일한 선물스프레드거래의 호가
6. 일부충족조건 및 전량충족조건인 경우에는 다음 각 목의 어느 하나에 해당하는 호가
가. 조건부지정가호가
나. 단일가호가
다. 시장조성계좌를 통한 호가
7. 시장조성계좌를 통한 거래인 경우에는 다음 각 목의 어느 하나에 해당하는 호가
가. 시장가호가, 조건부지정가호가 및 최유리지정가호가
나. 일부충족조건 및 전량충족조건의 호가
다. 삭제<2011.4.21>
8. 기초주권이 정리매매종목인 주식선물거래·주식옵션거래의 경우 또는 돈육선물거래의 경우에는 시장가호가, 조건부지정가호가 및 최유리지정가호가
9. 조건부지정가호가의 경우에는 다음 각 목의 어느 하나에 해당하는 호가
가. 호가의 가격을 상한가로 지정한 매수호가
나. 호가의 가격을 하한가로 지정한 매도호가

여섯째. 거래의 수탁과 관련하여 다음 각 목의 사항

가. 위탁자가 규정 제124조의 수탁거부 사유에 해당하는지 여부

제124조(수탁의 거부) ① 회원은 다음 각 호의 어느 하나에 해당하는 경우에는 수탁을 거부하여야 한다. <개정 2009.9.23, 2011.1.26, 2011.7.6>
1. 기본예탁금을 예탁하지 아니한 위탁자로부터 거래의 위탁을 받는 경우
2. 위탁증거금의 추가예탁 또는 결제를 이행하지 아니하거나 사후위탁증거금의 예탁시한까지 사후위탁증거금을 예탁하지 아니한 위탁자로부터 신규거래 또는 위탁증거금이나 현금으로 예탁하여야 하는 위탁증거금(이하 “현금예탁필요액”이라 한다)을 증가시키는 반대거래(거래가 체결되는 경우 위탁증거금액이 증가하는 거래를 말한다)의 위탁을 받는 경우. 다만, 세칙으로 정하는 경우는 제외한다.
3. 제154조에 따른 미결제약정수량의 제한수량을 초과하게 되는 거래의 위탁을 받는 경우. 다만, 제154조제1항제1호가목의 경우에는 세칙이 정하는 바에 의한다.
4. 삭제<2011.7.6>
5. 그 밖에 세칙이 정하는 거래의 위탁을 받는 경우
② 회원이 제1항제3호에 따른 미결제약정수량 또는 매도·매수의 위탁수량을 계산함에 있어서 동일한 위탁자가 다른 투자중개업자에게 개설한 파생상품계좌에 미결제약정수량 또는 위탁수량이 있음을 알게 된 경우에는 그 수량을 합산한다.
③ 회원은 공익과 투자자 보호 또는 시장에서의 거래질서의 안정을 위하여 필요하다고 인정하는 경우나 위탁자의 신용상태 및 재산상태 등을 감안하여 거래의 수탁이 부적절하다고 인정하는 경우에는 거래의 수탁을 거부할 수 있다.
④ 회원이 제1항 및 제3항에 따라 거래의 수탁을 거부하는 경우에는 그 이유를 주문표, 전산주문표, 그 밖에 주문내용을 기록한 문서에 기재하고 그 사실을 즉시 위탁자에게 통지하여야 한다.

나. 제115조제1항제7호의 사전위탁증거금계좌의 경우 규정 제132조제2항에 따른 사전위탁증거금의 예탁 여부

제115조(위탁자관련사항) ① 규정 제114조제4호에서 “세칙이 정하는 사항”이란 다음 각 호의 사항을 말한다. <개정 2011.7.26>
7. 사전위탁증거금계좌(사전위탁증거금을 예탁하는 파생상품계좌를 말한다. 이하 같다)와 사후위탁증거금계좌(사후위탁증거금을 예탁하는 파생상품계좌를 말한다. 이하 같다)의 구분

? 제132조(파생상품계좌별 위탁증거금의 예탁) ① 회원은 위탁자의 파생상품계좌별로 위탁증거금을 예탁받아야 한다.
② 제1항의 위탁증거금은 위탁자로부터 거래의 위탁을 받기 이전에 예탁받는 위탁증거금(이하 “사전위탁증거금”이라 한다)과 정규거래시간의 종료 후에 예탁받는 위탁증거금(이하 “사후위탁증거금”이라 한다)으로 구분한다. <개정 2009.3.4>

일곱째. 거래소가 시장관리를 위하여 거래를 제한하는 사항
여덟째. 그 밖에 회원이 필요하다고 인정하는 사항

3.
이상의 규정을 시스템화하는 것은 IT의 몫입니다. 단순히 전산화하는 것이 아니라 속도를 엄청 빠르게 하여야 합니다. 속도를 떠나서 제가 아는 상식(^^)으로 보면 위탁증거금을 빼면 복잡한 것이 별로 없습니다. ?종목코드, 호가가격제한,
호가가격단위, 매매수량단위과 관련한 정보는 종목마스터에 있습니다. ?호가수량제한은 법규상으로 정해진 값이기 때문에 변수처리하면 될 듯 합니다. 종목의 거래정지 여부 역시 거래소가 장운영정보를 통해 실시간으로 보내줍니다. ?앞서 규정을 마우스로 스크롤하면 몇 초가 걸리지만 ?실제로 처리하면 마이크로초수준일 듯 합니다. 다만 세자리냐 두자리냐 한자리냐의 싸움이겠죠.

보통 데이타 유효성을 검증을 하면 순차적인(Sequencial) 방식으로 합니다. 손매매이든 기계매매이든 어디선가 주문과 관련된 시그날이 만들어집니다. 하나의 메시지죠. 이것을 공장의 컨베이어벨트처럼 유효성을 검증하는 부분이 있어서 하나씩 검증하여 갑니다. 이 때 어떤 공정을 앞에 두면 시간을 절약할지를 고민하지 않을까 합니다. 통계적으로 에러가 날 확률이 높은 부분을 먼저 배치하면 상대적으로 시간을 줄일 수 있겠죠. 순차적인 방식을 멀티쓰레드에 적용할 수 있습니다. 주문서버의 주문전문을 받아서 각 쓰레드가 독립적으로 순차처리합니다.

순차처리가 아니면 병렬처리입니다. 주문서버의 주문전문을 받습니다. 이를 받아서 유효성을 검증하는 부분을 ?각각 혹은 몇 개씩 유효성 항목을 그룹화하여 병렬 처리를 합니다. 증거금 Worker, 주문유효성 Worker, 계좌및종목유효성Worker로 구성할 수 있겠죠. 이런 구조를 가지면 Single Producer-Multi Comsumer(SPMC)모델입니다. Queue설계가 중요해집니다. 이와 관련된 글들이 아주 많습니다. 또하나 예외가 발생할 경우 Thread별 동기화가 중요합니다. 덧붙여 Worker별 처리속도가 차이가 있기때문에 유효성을 검증한 주문시그날을 확인하여 FEP로 전달하는 것 또한 머리가 아프겠죠.

순차 처리와 병렬 처리중 어느 쪽이 더 빠를까요? 병렬 방식으로 하면 1마이크로초가 나올 수 있을까요? 솔직히 저는 모르겠습니다. 앞서 지적한 바와 같이 숫자란 기준과 환경이 같을 때 비교의미가 있기때문입니다. 그렇지만 레이턴시가 화두가 되니까 다양한 시도가 있어 좋습니다.

1마이크로초를 듣고 나름대로 상상력을 발휘해 보았습니다. 제가 소프트웨어 엔지니어가 아니기때문에 오류가 있을 수 있습니다. 다만, 문제의식만 전달되기를 바랍니다.

2 Comments

  1. danakim

    정확히 1마이크로는 아니구요. 1만건 테스트에서 0마이크로4건, 1마이크로 3392건 2마이크로 6011건 나왔었습니다. 그리고 등록계좌확인,입력종목코드확인,전문별수량입력오류여부,가격기입방식오류여부,호가적합성(상하한가, 가격단위), 호가유형,매도매수구분,정정취소구분,1회주문한도,계좌주문한도,팀주문한도,호가조건,미결재약정증가주문여부판단,신규증거금산출및주문가능금액확인,정정의경우추가증거금여부확인및가능금액비교,정정취소의경우 원주문과의 비교(매도매수구분코드,종목코드,잔량등), 주문번호발급, 주문등록 후 FEP전송직전 까지의 시간이었구요. 뭐 요즘 이정도 속도는 다들 하지 않나요? 솔직히 이런 속도보다는 FEP나 CLIENT와의 주고 받는 시간을 줄이는게 관건인듯 싶어요. 비교가 안되는 수십마이크로 단위의 레이턴시가 들어가니까요. 그리고 추측하신대로 병렬처리 하면 절대 저 시간이 안나옵니다. 대량주문시 더 유리하기는 하지만, 단위 속도면에서는 비교불가더군요.

    Reply
    1. smallake

      테스트 환경과 방법이 궁금하네요. 그런데 요즘 뭐하세요? 마지막에 들었던 일을 하세요?(^^)

      연락 한번 할께요.

      Reply

Leave a Comment

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.