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



[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에 대해서 살펴보았습니다.

행복한 하루 되세요.










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



[IT인을 위한 금융상품 이해] 외환(2) - 결제일별로 분류한 상품유형



외환상품의 유형

외환상품 이해 두번째로 소개할 내용은 외환상품의 유형입니다.

 

먼저 외환상품 거래에서 USD를 매입(buy)하고 KRW를 매도(sell)하는 것을 다음과 같이 표시하도록 하겠습니다.

 

+USD/KRW (= Buy USD against KRW)

 

이제 본론으로 들어가면, FX 거래는 결제일에 따라 Today, Tomorrow, Spot, Forward로 나뉩니다. (외환스왑(FX Swap)이라고 하는 것도 있는데요 이것은 나중에 설명하도록 하겠습니다.)

 

즉 외환거래를 특정환율에 따라 교환하기로 약정한 날을 D일(=거래일)이라고 하면 그 계약에 따라 실제로 통화의 교환이 일어나는 일자(=결제일)에 따라 FX 상품을 여러 유형으로 구분하여 부르는 것이라고 하겠습니다.

 

결제일 기간에 따라 상품 유형을 구분하면 다음과 같습니다.

 

  • FX Today                   당일 결제 (결제일 = 거래일) 
  • FX TOM(Tomorrow)    거래 익일에 결제 (결제일 = 거래일 + 1영업일)
  • FX Spot                     거래 후 2영업일에 결제 (결제일 = 거래일 + 2영업일) 
  • FX Forward                거래 후 2영업일이 지난 시점에 결제 (결제일 = 거래일 + 2영업일 이후)

 

우리가 흔히 은행이나 공항에서 환전하는 것은 말하자면 모두 FX Today에 해당이 되겠지요. 그러나 위의 구분은 보통 은행간 거래하는 딜러들 세계에서의 분류로써 사용됩니다. 또한 위에서는 4가지로 구분했지만 크게 구분하면 결제일이 2영업일 이내인 Today, TOM, Spot을 통칭해서 FX Spot이라고 하고 2영업일 이후인 거래를 FX Forward라고 부르는 것이 일반적이며, Spot이냐 Forward이냐에 따라 회계 처리에 차이가 있습니다.

 

자, 그럼 외환 거래를 데이터베이스 테이블로 표현한다면 어떤 필드들이 저장되어야 할까요?

 

우선 기본적으로 지난시간에 소개한 기준통화, 상대통화, 통화쌍이 있어야 하겠지요 그리고 거래방향(direction)을 구분하는 buy or sell 구분자가 있어야 할 것입니다. 그리고 거래일, 결제일, 거래가격(=체결환율)있어야 할 것입니다. 또한 위에서 설명한 상품 유형 구분이 있어야 할 것입니다.

 

  • 기준통화, 상대통화, 통화쌍
  • 거래방향(buy or sell 구분)
  • 거래일, 결제일
  • 거래가격(=체결환율=결제환율)
  • FX 상품 유형(Spot or Forward 구분)

 

예를 들어 정리하고 상품유형 구분을 마치도록 하겠습니다.

만일 어떤 트레이더가 다음과 같이 거래를 했다고 합시다.

 

Buy USD against KRW @1,205, 2014-01-20 거래, 2014-01-22 결제

 

그렇다면 거래는 다음과 같이 저장되어야 합니다.

 

  • 기준통화 = USD
  • 상대통화 = KRW
  • 통화쌍 = USD/KRW
  • 거래방향(buy or sell 구분) = BUY
  • 거래일 = 2014-01-20
  • 결제일 = 2014-01-22
  • 거래가격(=체결환율=결제환율) = 1205
  • FX 상품 유형(Spot or Forward 구분) = FX Spot

 

그리고 실제로 2014-01-22 일자가 도래하면 그 때 약정한 환율 1,205원으로 USD를 받고(=buy) KRW를 주는(sell) 쌍방 교환 결제가 이뤄지게 됩니다.

 

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



[IT인을 위한 금융상품 이해] 외환(1) - 통화와 통화쌍



Foreign Exchange - 통화와 통화쌍 살펴보기

 

 

IT인을 위한 금융상품 이해의 첫 포스트로 『외환』을 선택했습니다. 그 이유는 IMF, 외환위기 이후로 외환에 대한 관심이 매우 일반화되어 있고 그만큼 상품의 구조가 IT 종사자들이 이해하기에도 보다 쉽게 접근할 수 있다고 생각되었기 때문입니다. 그렇다고 외환이 간단하거나 다루기 쉽다는 말은 아닙니다. 게다가 외환거래로 돈 벌기 쉽다는 말은 더더욱 아닙니다.

 

오늘은 기초적으로 외환표기와 용어 몇가지를 다루려고 합니다. 용어를 잘 이해하는 것은 무엇이든 그 세계를 이해하는 첫걸음이 될 것입니다.

 

외환은 Foreign Exchange(FX)라고 하며 '외국환'의 줄임말입니다. 이후로는 외환을 FX라고 명명하도록 하겠습니다. FX는 영문자 그대로 통화를 교환하는 것입니다. 교환의 대상이 통화(currency)이므로 통화를 서로 맞바꾸는 것이라고 할 수 있겠습니다.

 

우선 가장 쉬운 예를 들어 우리나라 원화와 미국 달러를 교환하는 환율을 표기한다면 어떻게 할까요?

 

먼저 알아야 할 것은 각 나라 통화의 표기입니다. 달러와 원화는 각각 USD, KRW와 같이 세자리 문자로 표기할 수 있는데요 이것은 ISO통화 코드 체계를 따른 것입니다. 앞으로는 이렇게 세자로 코드로 통화를 표기하겠습니다. 만일 전세계 ISO통화코드 목록을 더 알고 싶으시다면 다음을 참조해 보시면 됩니다. http://kr.fxexchangerate.com/currency-codes.html

 

자, 그럼 우리는 다음과 같이 환율을 표시할 수 있습니다.

 

USD/KRW = 1,020

 

이것을 해석하면 다음과 같이 풀어서 설명할 수 있습니다.

 

1 달러와 1,020원을 교환한다.

 

그런데 좀 더 엄밀히 말한다면 '교환'이라기 보다는 한 쪽 통화를 '기준'으로 놓고 그 대가로 '지불'하는 개념이 표시되어 있다고 할 수 있습니다. 사실 이 개념이 금융에서는 더 일반적으로 통용됩니다. 그래서 다음과 같이 다시 설명할 수 있습니다.

 

1달러를 사거나 파는데 1,020원이다.

 

눈치채신 분도 있으시겠지만 이와 같이 한 쪽 통화가 기준이 되고 반대편 통화가 지불 통화가 되는 것이며 이렇게 '기준이 되는 통화'와 '그 상대가 되는 통화'를 지칭하여 각각 기준통화(Primary Currency, Base Currency, 또는 First Currency), 상대통화 또는 비교통화(Counter Currency, Quote Currency 또는 Secondary Currency )라고 부릅니다. 이 예시에서 본다면 USD가 기준통화, KRW가 상대통화가 되는 것입니다. 기억해야 할 것은USD와 KRW의 외환거래에 있어서는 전세계 어디에서든 항상 USD가 기준통화, KRW가 상대통화가 됩니다. 그리고 이것을 통화쌍(currency pair)이라고 부르며 국제적인 표기방식에서는 모두 USD/KRW로 표현하는 것입니다. 대규모의 거래가 신속히 이루어지는 은행 간 거래에서는 국경과 무관하게 환율 표시법을 통일시킬 필요가 있을 거라는 점을 생각한다면 이런 통일성을 기하는 표기 방식이 이해가 될 것입니다. 혼동하면 안 되는 것은 이런 표기법에서 '/' 가 'per'를 의미하지 않는다는 점입니다. 또한 흔히 직접법, 간접법 등을 설명하면서 표기방법을 설명하지만 괜히 혼란스럽기 때문에 저는 아예 언급을 하지 않겠습니다. 그것보다는 이런 국제적으로 통용되는 표기방식 하나만을 기억하는 것이 훨씬 실용적입니다.

 

그럼 이런 통화쌍을 부를 때는 어떻게 할까요? 물론 국제적인 거래에서는 '달러(dollar)-원(won)' 거래라고 말합니다. 혹은 주문을 낼 때 통화쌍을 'Dollar(USD) against Won(KRW)'과 같이 씁니다. 그런데 이상하게도 우리나라 뉴스나 기사에서는 '원달러' 거래라고 지칭하지요? 이것은 '원/달러'(이 때의 '/'는 'per'를 의미)에서 '/'를 생략한 표현입니다. 이것은 뒤에 오는 달러(USD)를 기준통화로 놓고 앞에 원화 통화로 환율을 표시하는 것입니다. 같은 내용이면서도 다르게 표기하는 것인데요 이 표기 방법이 국제통용방식과 다르니 좀 헛갈립니다. 그러므로 우리는 이제부터 국제적통용방식 한가지만을 기억하는게 좋습니다.

 

국제적으로 통용되는 표기방식 : 기준통화/상대통화 ('/'는 'per'가 아님)

 

그럼 다른 통화쌍은 어떨까요? 국제적인 외환 거래가 이뤄지는 통화쌍 2가지 예시를 들어 보겠습니다.

 

EUR/USD

USD/JPY

 

USD는 미국 달러, EUR는 유로통화, JPY은 일본 엔입니다. 물론 앞 쪽에 표기된 통화가 기준통화이고 그 다음 표기된 통화가 상대통화가 될 것입니다. 그런데 잘 보시면 USD 통화는 EUR 통화와 쌍이 될 때는 상대통화로, JPY 통화와 쌍이 될 때는 기준통화인 것을 보실 수 있습니다. 여기에 또 하나의 관례가 숨어 있습니다. 대부분은 USD가 기준통화입니다만, 영연방 국가 통화를 비롯 일부 통화의 경우 USD와 통화쌍이 되더라도 이 때는 USD를 상대통화로 표기합니다. 예외적으로 USD가 상대통화가 되는 몇가지 통화쌍만 기억하면 되겠습니다.

 

EUR/USD

GBP/USD

NZD/USD

AUD/USD

 

오늘은 기본적으로 외환에서 언급되는 기초 개념들을 용어 중심으로 살펴 보았습니다. 오늘의 용어를 정리해 봅니다.

 

<오늘의 용어>

  • 외환, 외국환 Foreign Exchange
  • 기준통화 Primary Currency, Base Currency, First Currency
  • 상대통화 Counter Currency, Quote Currency, Secondary Currency,
  • 통화쌍 Currency Pair
  • ISO 통화코드(3자리 영문자)

 

 

*****************************************************************

  • 이 글의 목적은 금융IT업계에 종사하는 비전문 금융인인 IT 종사자들에게 금융업과 금융정보시스템을 쉽게 이해하게끔 보탬이 되는 데 있습니다. 물론 일반인들도 참조한다면 이해의 폭을 넓힐 수 있으리라 생각됩니다. 필자는 줄곧 금융자산운용 정보시스템 구축 컨설팅에 종사해 온 사람으로서, IT 프로젝트를 진행하면서 IT개발자들 혹은 초보 컨설턴트를 대상으로 종종 금융상품과 거래의 구조를 개략적으로나마 설명해 주곤 했습니다. 그 때마다 가급적이면 복잡한 금융공학 용어를 쓰지 않으면서도 구현하고자 하는 여러 프로세스와 화면 양식을 이해시키고 의사소통을 원활히 하기 위해 애썼던 기억이 있습니다.
  • 때문에 필자는 어려운 금융전문용어의 나열을 배제하고, 금융상품의 정확한 정의와 내용에 제약을 받지 않고 금융에 문외한인 사람들을 대상으로 금융상품을 이해시키고 그 원리를 공유하려는 목적으로 내용을 정리해 글을 올리고자 합니다. 간혹 금융전문가가 본다면 내용이 부실하거나 본래의 의미와는 다르게 설명될 부분이 있을 수도 있겠으나, 이는 IT 종사자들의 관점에서 이해를 돕고자 하는 목적에 부합하여 기술하려는 목적임을 이해하고 양해를 바라겠습니다.
  • 또한 IT 종사자들을 위해서는 여러 금융상품과 관련된 사항을 전산화(Implementation)한다면 어떻게 할 수 있으며, 무엇에 유의해야 하는지도 덧붙여 설명하고자 합니다. 아울러 예전에 정리하고 교육했던 자료들을 참조하고 보충하여 내용을 보다 알차게 정리해 두고자 합니다. 

*****************************************************************


+ Recent posts