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



[IT인을 위한 금융상품 이해] 외환(4) - 외환시장과 외환거래


외환시장과 외환거래

앞선 포스팅에서 세 차례에 걸쳐서 외환상품에 대해서 살펴보았습니다. 
오늘은 이러한 상품들이 거래되는 외환시장과 외환거래는 왜 발생하는가에 대해서 살펴보려 합니다. 설명의 순서상 먼저 이루어졌어야 합니다만 IT인들에게 먼저 눈에 띄는 외환금융상품에 대해 개괄적으로나마 설명을 먼저 하고 이유는 나중에 언급하고 싶어 미뤄 두었습니다. 그런 한편, 거래의 경제적인 이유에 대한 설명이 빠진 채 금융상품 설명을 하면 순서가 맞지 않는다는 금융계의 한 지인의 충고가 있었기도 했습니다. 

사전적으로 외환시장(外換市場)이란 외환(외화)의 수요와 공급이 이루어지는 시장을 말합니다. '시장'이란 말을 들으면 고등교육을 받은 사람이면 누구나 수요와 공급, 그리고 가격 결정에 관한 것을 짐작할 수 있겠지요. 외환 거래에서 가격은 '환율'이라고 하는 것은 이미 말씀드렸습니다.

그렇다면 외환거래는 왜 발생하는 것일까요? 외환거래의 수요와 공급은 왜 생기는 것이며 외환거래를 통해 얻는 경제적인 효익(benefit)은 무엇일까요? 다음과 같이 세가지 관점에서 설명해 보려 합니다.

1. 구매, 구매력

우리가 미국에 가서 물건을 살 때 원화를 내밀면 받아주지 않습니다. 미국에 가면 그 나라 통화인 미국 달러를 지불통화수단으로 사용하는 건 당연하겠지요. 그래서 그 나라의 통화라고 하는 것은 그 나라의 구매력(purchasing power)을 표현한다고 할 수 있습니다. 그러니깐 우리가 미국에 여행갈 때는 누구나 달러에 대한 수요가 생기는 것이며, 반대로 달러를 공급하는 곳이 생겨나게 되는 것이겠지요. 그렇다면 그 교환 비율이 정해지게 되고 이것이 곧 환율(exchange rate)이 됩니다.
 
2. 위험회피

수출업체나 수입업체와 같은 무역업체의 경우 쉽게 생각할 수 있는 부분이겠습니다. 기업의 손익에도 매우 민감한 부분이기도 합니다. 여기서는 외환상품에 대한 리스크이니 '외환위험'이라고 할 수 있겠으며 외환거래는 이 외환위험에 대비한 수단으로써 사용될 수 있습니다.
 
1) 위험이란?
 
그런데 우리가 먼저 알아야 할 것이 있습니다. 먼저 금융과 기업경영에 있어 '위험(리스크)'란 무엇인가에 대한 올바른 정의가 필요합니다. 일반인들이 알고 있는 것과는 좀 차이가 있습니다.

예를 들어 보겠습니다. 어떤 국내기업 A 업체에서 외국 바이어와 수출 계약을 맺었습니다. 제품을 수출하고 대금 1백만 달러를 받기로 했는데 지급일자는 지금부터 3개월 뒤라고 하겠습니다. 3개월 뒤까지 두 업체가 망하지 않고 제품수출과 대금결제가 정상적으로 이뤄진다고 할 때 남아있는 리스크는 무엇일까요? 

힌트는 이 기업의 경영자가 실적평가를 원화 기준으로 계산한다는 점에 있습니다. 그렇다면 이 기업이 백만달러를 3개월 뒤에 수취할 때 원화로는 얼마일까요? 달러러는 정확히 '백만달러'라고 보고할 수 있지만 원화로는 '정확히는 모름'이 됩니다. 이 수출계약만으로는 아무도 정확히 말해줄 수가 없습니다. 현재의 환율 대비 3개월 뒤의 환율의 높고 낮음에 따라 원화금액은 현재환율로 계산한 원화금액보다 적을 수도 있고 많을 수도 있는 것이지요. 혹은 환율을 예상해서 수출대금을 조정할 수 있겠지만 그 예상의 맞고 틀림을 또한 확신할 수 없다는 점은 여전히 남아 있게 됩니다. 

위의 예시에서 위험이란 무엇인지 짐작이 되실 것입니다. 금융 그리고 경영 관점에서 우리는 이렇게 '불확실한 것'을 '위험'이라고 부릅니다.  좀 더 유식하게 말하면 '불확실성(Uncertainty)'이라고 말하죠.

불확실성(Uncertainty) -> 위험(Risk)
 

 
​2) 외환위험을 해소하기 위한 외환거래
이런 외화거래의 불확실성을 외환거래를 통해 해소할 수 있습니다. 또한 같은 맥락으로 기업경영이란 것도 달리 말하면 끊임없이 미래의 불확실성을 제거해 나가는 과정이라고 할 수 있습니다. 

그럼 여러분이 경영자라면 이 상황에서 어떻게 하겠습니까? 적은 금액도 아니고 그렇다고 환율이 올라가기를 기대하기만 할까요? 이럴 때 우리는 '3개월 선물환(FX Forward)' 계약을 체결합니다. 3개월 뒤의 시점에 예상 환율로 달러를 팔고 원화를 사는 계약을 체결합니다. 그럼 이 때 위험이 없어지는 것은 무엇일까요? 다시 말씀드리지만 손실을 볼 가능성을 없애는 것이 아닙니다. 불확실성을 없애고 받을 원화금액을 확정하는 것이라고 할 수 있겠습니다.

실제 3개월 뒤에 백만달러를 받았을 때 다음과 같은 시나리오를 생각해 볼 수 있습니다.

<시나리오 1>
선물환 계약 환율 : 1,000원
3개월뒤 실제환율: 1,100원 (1,000원보다 오른 경우)

선물환 계약을 체결하지 않았을 경우 원화 금액
       = 1,100,000,000 KRW (= 1,000,000 USD * 1,100)
선물환 계약을 체결한 경우 원화금액
       = 1,000,000,000 KRW (= 1,000,000 USD * 1,000)

*선물환 계약을 체결한 경우, 체결하지 않았을 때와 비교할 때 손익: 100,000,000원 손실

<시나리오 2>
선물환 계약 환율 : 1,000원
3개월뒤 실제환율:    950원 (1,000원보다 떨어진 경우)

선물환 계약을 체결하지 않았을 경우 원화 금액
       =   950,000,000 KRW (= 1,000,000 USD * 950)
선물환 계약을 체결한 경우 원화금액
       = 1,000,000,000 KRW (= 1,000,000 USD * 1,000)

*선물환 계약을 체결한 경우, 체결하지 않았을 때와 비교할 때 손익: 50,000,000원 이익
 
선물환 계약을 체결해 놓고도 위와 같이 보면 아예 계약을 체결하지 않았더라면 조금 더 이익을 볼 수 있는 가능성도 있게 됩니다. 소위 환율의 시나리오에 따라 '본전 생각'이 날 수도 있는 것이지요. 그러나 중요한 것은 선물환 계약을 맺음으로써 수출계약과 동시에 1,000,000,000원이라는 매출실적을 원화의 가치로 확정지었다는 점에서 위험을 없앤 것입니다. 이것을 위험회피라고 부르며 외환시장의 보험적 기능이라고도 합니다.
3. 투자

마지막으로 '투자'입니다. '투기(speculation)'라고 표현하기도 합니다. 우리나라에서는 '투기'하면 일반인에게 '도박'이라는 단어가 연상되어서 '투자'로 설명하겠습니다.

일반인들도 알고 있는 ​투자의 기본은 '싸게 사서 비싸게 파는 것'입니다. 외환거래도 마찬가지라고 할 수 있습니다. 각 나라의 구매력을 상징하는 통화의 가치가 앞으로 상승할 것인지 하락할 것인지의 예상에 따라 특정 통화를 매입하여 보유할 수도 있고 그 반대로 매도할 수도 있다는 것을 뜻합니다. 가장 단순한 형태로는 원화를 가지고 있는 내가 달러 가치가 쌀 때 사서 비쌀 때 팔면 외환투자로 이익을 보는 것이라고 할 수 있겠습니다. 이렇게 외환거래는 금융자산(financial asset)의 성격을 가지고 금융상품으로서 발전해 오늘날의 다양한 상품유형으로서 모습을 지니게 되었습니다.
일반인들의 가장 손쉬운 외환투자라면, 가까운 은행에 가서 외화통장을 만들고 외화를 사서 넣어두는 것입니다. 만일 그 외화가치가 상승할 거라고 예상한다면 말이죠^^ (참고로 저는 한번도 해 보지 못했습니다. 돈이 없어서요.)
 

금융시스템 구축시 고려사항
 
IT인에게 이 정도 상식을 갖고 있으면 도움이 될 것이라 생각됩니다. 마지막으로 이와 관련지어 전산화 고려사항으로는 다음과 같이 정리합니다.

위에서 설명한 구매력이라고 하는 것은 외환이라고 하는 특질을 설명 드린 것이라고 볼 수 있습니다. 반면 두번째와 세번째 설명한 '위험회피'와 '투자'는 대표적인 외환거래의 목적이라고 하겠습니다. 거래를 할 때는 이 목적을 구분하고 기록해야 하며 전산시스템에서도 이 거래목적을 구분할 수 있게 설계되어야 합니다. 이 구분은 거래회계처리와 다양한 보고서에서 사용됩니다. 
 
 
참고로 오늘 살펴본 '외환시장'은 '외화자금시장'과는 연관은 있으나 구분되는 것으로써 같은 것이 아닙니다. 



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



[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) 쌍방 교환 결제가 이뤄지게 됩니다.

 

+ Recent posts