네이버 블로그를 폐쇄하며 옮겨왔어요.



[IT인을 위한 금융상품 이해] 외환(3) - 외환스왑(FX Swap)



외환스왑(FX Swap) 형태와 시스템 구현

 


이번 시간에는 FX Swap에 대해서 살펴보도록 하겠습니다.

지난번에 FX 상품을 구분할 때 FX Spot과 FX Forward로 나뉜다고 설명한 바 있습니다. 국문 용어로는 각각 '현물환', '선물환' 이라고 합니다. 이들 상품은 미래의 정해진 일자에 약정한 환율로 통화 교환을 하는 계약이라고 할 수 있습니다. Spot과 Forward의 구분은 결제일자가 거래일자로부터 어느 정도의 미래 시점이냐에 따라 구분하여 부르는 것이라고 하였습니다.

오늘 소개하는 외환스왑(FX Swap)이라고 하는 것은 쉽게 설명하면 FX 두 개를 엮어 놓은 형태입니다. 다시 말해, 2개의 서로 다른 결제일자에 통화 교환이 서로 반대 방향으로 일어나는 것이라 할 수 있겠습니다. 이것을 다음과 같이 도식으로 표현해 보겠습니다. (금융을 이해할 때 흔히 돈의 흐름(Cash Flow)의 방향으로써 상품 구조를 설명할 때 사용하는 방법입니다.)



첫번째 결제일에 계약환율 1에 따라 USD 금액을 받고 KRW 금액을 주는 것이며, 두번째 결제일에는 계약환율 2에 따라 (첫번째와는 반대방향으로) USD 금액을 주고 KRW 금액을 받는 계약인 것입니다. 이 때의 교환금액은 기준통화의 금액을 기준으로 각 계약환율을 적용하여 상대통화의 금액이 결정됩니다. 숫자를 예시로 들어 보면 다음과 같은 계약 내용입니다.

거래일           2014-02-03

결제일 1        2014-02-21
계약환율 1     1,000
교환금액        100 USD 수취,  100,000 KRW 지급

결제일 2        2014-03-11
계약환율 2     1,050
교환금액        100 USD 지급, 105,000 KRW 수취


앞서 설명한 것처럼 FX Swap은 통화 교환 방향이 서로 반대인 2개의 FX의 결합이라고 표현할 수 있으므로 위의 그림을 아래와 같이 FX 1과 FX 2로 분해해서 그려볼 수 있겠습니다. 




그렇다면 FX Swap 거래 내역 저장을 시스템으로 구현한다면 어떻게 할 수 있겠습니까? 외국에서 만들어진 금융자산운용패키지(솔루션)들을 보면 제각기 여러 방식으로 구현해 놓은 것을 볼 수 있으며 여기서 잠깐 소개하겠습니다.

첫번째 구현 방식은 FX Swap이라는 단일 상품(Product; Instrument)으로 정의하고 거래 테이블에 거래요소들을 모두 컬럼으로 구성해 놓았습니다. FX Swap 거래 테이블 예시입니다.

* FX Swap 거래 테이블의 주요 컬럼들
   - 거래번호, 거래일, 거래상대방, 상품유형(FX Swap)
   - 결제일1, 결제일1_계약환율, 결제일1_기준통화, 결제일1_상대통화, 결제일1_기준통화금액, 결제일1_상대통화금액
   - 결제일2, 결제일2_계약환율, 결제일2_기준통화, 결제일2_상대통화, 결제일2_기준통화금액, 결제일2_상대통화금액

쉽죠? 어쩌면 당연한 시스템 설계일 것입니다.

두번째 구현 방식은 FX Swap이 FX 2개를 엮어 놓은 구조와 같다는 점에 착안해 만든 설계입니다. 이 경우에는 Main과 Sub 2개의 테이블에 정보를 담게 되며, Main Table은 거래 기본 구조를 담는 데 사용하고 Sub Table은 거래 상세내역을 저장합니다. 이 때 Sub Table에 Record는 2개를 쓰며 Sub 번호를 갖고 있습니다.

* FX Swap 거래 테이블의 주요 컬럼들

   Main Table (Key: 거래번호)
   - 거래번호, 거래일, 거래상대방, 상품유형(FX Swap)
   
   Sub Table (Key: 거래번호, Sub 번호)
   - Record 1 => 거래번호, Sub 번호(=1), 결제일1, 결제일1_계약환율, 결제일1_기준통화, 결제일1_상대통화, 결제일1_기준통화금액, 결제일1_상대통화금액
   - Record 2 => 거래번호, Sub 번호(=2), 결제일2, 결제일2_계약환율, 결제일2_기준통화, 결제일2_상대통화, 결제일2_기준통화금액, 결제일2_상대통화금액


전산에서 이렇게 관리방식을 다르게 접근하는 이유는 무엇일까요?
그것은 회계처리와 평가, 그리고 다양한 보고서에서 어떤 식으로 데이터를 표현하고 거기에 알맞은 형태로 보여주는 데 편리한 것이 어떤 것이냐의 판단에 따른 것입니다. 실제로 현업(트레이더)에서도 FX Swap 거래내역 그 자체를 보여주는 보고서가 있는 반면, 통화별로 지급/수취 예정금액을 보고자 할 때는 FX Swap을 결제일 기준으로 쪼개어서 다른 FX 거래들과 합해서 보여주어야 하는 필요가 있기도 합니다.

여기까지 설명을 보시면서 궁금한 게 생기죠? FX Swap이 FX 2개의 결합이라고 한다면 같은 거래상대방과 FX 2개의 계약을 체결하면 되지 않느냐는 것이죠. 물론 그렇게 해도 됩니다만 좀 다른 이유가 있기는 합니다. IT 관점에서만 접근하다보니 FX Swap이란 거래를 왜 하는지에 대해서는 구체적인 설명은 생략합니다만, 그 부분에 궁금하신 분은 다른 글을 참조해 보시면 도움이 될 것 같습니다. ( http://blog.daum.net/xp68k0n5555/33 : 전문적인 용어가 많이 나와서 이해하기가 쉽지는 않을 수도 있습니다. 다음에 기회가 되면 제가 다시 포스팅하여 설명을 해 보겠습니다.)

오늘까지 외환거래의 기본적인 형태인 현물환_FX Spot, 선물환_FX Forward, 외환스왑_FX Swap에 대해서 살펴보았습니다.

행복한 하루 되세요.










+ Recent posts