주식 서비스를 만들어 보자 #2
내가 MTS를 만드는 건지 뱅킹 앱을 만드는 건지…
운이 좋게도 무의 상태에서 주식 거래를 위한 증권 서비스 전체를 만들게 되는 기회가 있었다. 처음 시작할 때는 주식 매매라는 것이 호가와 주문 화면 몇 개만 있으면 될 것이라고 생각했는데, 생각보다 너무 많은 화면과 기능이 뒷받침되어야 주식 매매 기능을 제공할 수 있었다.
계정(약정)
고객이 주식 거래에 대해서 동의하고 계약하는 단계가 필요하다. 이를 증권에서는 약정이라고 말하는데, 일반적인 IT서비스에서 서비스 신청이라 말하는 단계와 같다. 예금, 적금에 가입하거나, 대출을 받는 것도 약정이라고 부르지만, 주식 거래에서의 약정은 거래 자체와 관계없이 거래를 할 수 있는 상태가 되는 것에 가깝다.
이 과정을 거치면 고객은 주식 거래가 가능하게 되며, 반대로 거래 시에는 고객이 이 단계를 거쳤는지 체크하게 된다. 약정은 주식 거래 약정 하나로 끝나는 것이 아니라, 해외 주식 거래, 파생 상품, 신용 거래등 세분화하여 신청하게 되며 신청 과정에서는 고객의 투자 성향을 체크하는 추가적인 절차가 있다. (부적합 확인서)
약정은 사람 단위로 이뤄지기도 하며, 계좌 단위로 다시 맺어야 하는 경우도 있다.
출납
계좌에는 돈이 담긴다. 국내 주식을 사려거든 원화가, 해외 주식을 사려거든 외화가 담겨야 한다.
돈이 외부에서 들어오고(원화/외화 입금), 외부 계좌로 나가고(원화/외화 이체) 계좌에 존재하는 원화와 외화의 통화가 바뀌게 된다. (환전) 이 과정에서 외화는 증권사의 계좌로 바로 입금할 수 없기 때문에 은행의 외화 입금용 가상계좌를 연결하게 된다.
계좌에는 상품도 담긴다. 주식 잔고가 쌓이고, 펀드와 어음, 채권의 잔고가 쌓인다.
매수를 통해서 돈이 나가고 잔고가 들어오며, 매도를 통해서 잔고가 나가고 돈이 들어온다. 잔고는 매수/매도를 통해서 이동하기도 하지만 대체 출고, 권리 출고 등을 통해 외부에서 입고되기도 한다.
그리고 이런 행동은 계좌의 거래 내역에 남는다.
권리
주식을 보유하면 주주의 당연한 권리가 생긴다. 신주를 구매할 수 있는 권리인 신주인수권이 지급되기도 하고 유상증사를 신청하여 주식을 정해진 가격에 구매할 수 있다. 기업의 의사결정에 동의하지 않는다면 반대의사, 매수청구를 신청할 수 있다.
배당으로 주식, 현금을 받는 것도 중요한 권리 중 하나다. 이런 권리는 사소하고, 쉽게 접할 수 없는 것이지만, 고객의 당연한 권리이므로 서비스 내에서 구현하거나, 고객센터를 통한 대응은 반드시 필요하다.
지금까지 말한 것 만으로도 주식 거래 자체 기능과 정보성 기능 외의 아래와 같은 기능이 필요하다는 말이 된다. 이 것만으로도 간단한 뱅킹앱을 하나 만들 수 있었을 것이다.
- 여러 종류의 약정 및 해지
- 원화 이체
- 외화 이체
- 환전
- 외화 입금
- 대체 출고
- 계좌 거래 내역
- 대출 상환