네이버 블로그를 폐쇄하며 옮겨왔어요.
|
외환스왑(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에 대해서 살펴보았습니다.
행복한 하루 되세요.
'정보기술 이모저모' 카테고리의 다른 글
[IT인을 위한 금융상품 이해] 외환(4) - 외환시장과 외환거래 (0) | 2016.03.03 |
---|---|
[IT인을 위한 금융상품 이해] 외환(2) - 결제일별로 분류한 상품유형 (0) | 2016.03.03 |
[IT인을 위한 금융상품 이해] 외환(1) - 통화와 통화쌍 (0) | 2016.03.03 |
[IT인을 위한 금융상품 이해] 포지션(Position) (0) | 2016.03.03 |
[IT인을 위한 금융상품 이해] 현재가치 (0) | 2016.03.03 |