Skip to content
Published on

증권사 리스크관리와 컴플라이언스 직무: 빠른 시장 속도를 통제하는 일

Authors

이 글을 읽으면 좋은 사람

증권사 리스크관리, 준법감시, 내부통제, 운영리스크, 신용관리 직무를 준비하는 사람을 위한 글이다. 단순히 채용공고의 키워드를 외우는 대신, 그 단어가 실제 산출물(VaR 리포트, ECL 계산서, 한도 초과 알림, SAR 보고서)로 어떻게 바뀌는지 이해하는 데 초점을 둔다. JD에 적힌 "시장위험 모니터링", "Basel III 대응", "내부자거래 탐지"가 실제로 책상 위에서 어떤 엑셀, 어떤 SQL, 어떤 회의로 나타나는지 한 번에 정리한다. FRM/CFA를 따고 싶은데 진로가 모호한 사람, 거래소나 금감원으로 가는 길을 보고 싶은 사람에게도 맞다.

왜 리스크/컴플라이언스가 "통제하는 일"인가

증권사의 다른 직무가 돈을 만드는 일이라면 리스크와 컴플라이언스는 돈이 잘못 새지 않게 막는 일이다. 트레이더는 1초에 1억을 벌 수도, 잃을 수도 있다. PB는 고객 자산을 운용하지만 이해상충에 빠지면 회사 전체가 흔들린다. IB는 큰 딜을 성사시키지만 기재오류 하나로 손해배상에 휘말릴 수 있다. 통제 부서는 이 모든 직무 뒤에서 한도, 절차, 증적, 보고를 만든다.

"통제"라는 단어가 답답하게 들릴 수 있지만 실제로는 회사가 망하지 않게 하는 마지막 안전벨트다. Barings Bank가 1995년에 닉 리슨 한 명 때문에 233년 역사를 끝낸 것도, MF Global이 2011년에 유럽 국채 베팅으로 무너진 것도, Archegos가 2021년 3월에 단 며칠 만에 100억 달러를 날린 것도 결국 한도 관리와 통제 실패의 이야기다. 리스크/컴플라이언스 직무는 이 사건들이 우리 회사에서 일어나지 않도록 매일 데이터를 보고, 한도를 조정하고, 거래를 검증한다.

4 종류 리스크: Market / Credit / Operational / Liquidity

리스크를 4가지로 나누는 것은 Basel 문서의 분류와 같다. 각각 측정 방법과 통제 도구가 다르다.

  • 시장위험(Market Risk): 주가, 금리, 환율, 변동성, 신용스프레드가 움직이면서 포지션 가치가 변하는 위험. 트레이딩 북에서 가장 자주 본다. 예: KOSPI200 선물 100계약 보유 중 코스피가 2% 빠지면 약 5억 원 손실.
  • 신용위험(Credit Risk): 거래상대방이 약속한 돈을 갚지 못할 위험. 채권 발행사 부도, 신용공여 미상환, 대차거래 미결제, OTC 파생 카운터파티 부도가 여기 들어간다. 예: B등급 회사채 100억 보유 중 발행사가 부도나면 회수율 40% 가정 시 60억 손실.
  • 운영위험(Operational Risk): 사람, 시스템, 프로세스, 외부 사건에서 발생하는 손실. 주문 사고(fat finger), 시스템 장애, 내부 사기, 외부 해킹, 천재지변. Basel은 7가지 손실 유형으로 분류한다. 예: 삼성증권 2018년 우리사주 잘못 입력 사건.
  • 유동성위험(Liquidity Risk): 자금조달 유동성과 시장 유동성으로 나눈다. 단기 자금이 막혀 만기 상환을 못 하거나, 시장이 얼어붙어 보유 자산을 제값에 팔지 못하는 위험. 예: 2020년 3월 코로나 충격 직후 회사채 시장이 닫혔던 며칠.

면접에서 "4가지 리스크를 설명하라"는 질문이 나오면 정의보다 예시를 같이 말해야 한다. 정의만 외우면 책에서 가져온 답이 되고, 예시를 붙이면 현장을 본 답이 된다.

Market Risk: VaR (Historical/Parametric/MC), Expected Shortfall, FRTB

시장위험의 핵심 지표는 VaR(Value at Risk)다. "내일 95% 확률로 손실이 X원을 넘지 않는다"는 의미다. 측정 방법은 3가지로 나뉜다.

  • Historical Simulation: 과거 250일 또는 500일의 일일 수익률을 그대로 가져와서 분포를 본다. 분포 가정이 필요 없다는 장점, 과거에 없던 사건은 포착 못 한다는 단점.
  • Parametric (Variance-Covariance): 수익률이 정규분포라고 가정하고 평균, 표준편차, 상관계수로 계산. 빠르지만 fat tail을 무시한다.
  • Monte Carlo: 모형을 정해 수십만 번 시뮬레이션. 옵션이나 비선형 상품에 강하지만 계산이 무겁다.

VaR의 약점은 꼬리 너머는 안 본다는 점이다. 그래서 ES(Expected Shortfall, CVaR)를 같이 본다. ES는 "95% VaR을 넘는 손실의 평균"이다. Basel의 FRTB(Fundamental Review of the Trading Book)는 2023년부터 VaR 대신 ES를 표준 지표로 쓰도록 바꿨고, 유동성 horizon을 자산군별로 다르게 적용한다. 한국은 2025년부터 단계 적용 중이다.

실무에서는 일일 VaR 한도, 월간 ES 한도, 위기 시나리오 시 stressed VaR를 같이 본다. 한도 초과가 나면 리스크 부서가 트레이더에게 포지션 축소를 요구하거나 헤지 추가를 요청한다.

Credit Risk: PD/LGD/EAD, IFRS 9 Stage 1/2/3, Basel III/IV

신용위험은 3가지 파라미터로 분해한다.

  • PD (Probability of Default): 1년 안에 부도날 확률. 등급별로 다르다. AAA는 0.02%, BBB는 0.3%, B는 5% 안팎.
  • LGD (Loss Given Default): 부도 났을 때 손실률. 담보가 있으면 낮고, 무담보 후순위면 높다. 보통 무담보 시니어는 60% 안팎.
  • EAD (Exposure at Default): 부도 시점의 익스포저. 한도 약정이면 인출분과 미인출분의 일부를 더한다.

ECL(Expected Credit Loss) = PD × LGD × EAD. 이게 IFRS 9의 핵심 공식이다.

IFRS 9는 자산을 3개 Stage로 나눈다.

  • Stage 1: 신용 위험이 처음과 비슷. 12개월 ECL만 잡는다.
  • Stage 2: 신용 위험이 유의하게 증가(SICR). lifetime ECL을 잡지만 이자수익은 총액 기준.
  • Stage 3: 손상(impaired). lifetime ECL + 이자수익은 순액 기준(원금에서 ECL 차감 후).

Basel III/IV는 자기자본비율(CAR)을 8% 이상 유지하라고 한다. RWA(Risk-Weighted Assets) 계산 시 표준방법 또는 IRB(Internal Ratings-Based) 모형을 쓴다. Basel IV는 IRB 모형의 floor를 표준방법의 72.5%로 묶었다. 한국은 2023년부터 적용, 일본은 2024년부터 단계적 적용 중이다.

Operational + Liquidity Risk: KRI, RCSA + LCR + NSFR

운영리스크는 사고가 터지기 전에 신호를 본다.

  • KRI (Key Risk Indicator): 시스템 장애 횟수, 주문 정정/취소 비율, 직원 이직률, 미결제 건수, 고객 민원 수 같은 지표를 매주 본다.
  • RCSA (Risk and Control Self-Assessment): 각 부서가 자기 업무의 위험과 통제를 자체 평가한다. 분기별로 갱신.
  • 손실 데이터베이스: 사고가 나면 금액, 원인, 조치를 적는다. Basel 표준방법은 이 데이터로 자본 요구를 계산.

유동성위험은 Basel III가 만든 2개 지표로 본다.

  • LCR (Liquidity Coverage Ratio): 30일 스트레스 상황에서 빠져나갈 현금을 고유동성 자산(HQLA)이 100% 이상 커버해야 한다. 한국은 2015년부터, 일본은 같은 시기 적용.
  • NSFR (Net Stable Funding Ratio): 1년 만기 기준 안정적 자금조달이 자금 사용을 100% 이상 커버해야 한다.

증권사는 은행보다 단기 RP(환매조건부채권), 콜, CP에 의존도가 높아서 유동성 위기가 빠르게 온다. 2020년 3월 미국 증권사들이 머니마켓 펀드 환매에 시달리며 LCR이 흔들렸던 게 대표적이다.

실제 하루: 7am→9am Risk Committee→11am stress test→2pm trade review→4pm reg report

리스크/컴플라이언스 실무자의 평범한 하루는 이렇다.

  • 7:00 출근, 야간에 미국/유럽 시장에서 일어난 사건을 본다. 어제 종가 대비 옵션 변동성, 금리, 환율 변화 체크. 자체 시스템의 overnight VaR 리포트와 한도 사용률을 확인.
  • 8:30 부서 모닝미팅. 어제 한도 초과 건, 신규 상품 출시 일정, 감독원 자료 요청 공유.
  • 9:00 Risk Committee. CRO, 트레이딩 헤드, 자금부장, IT 헤드가 모인다. 어제 VaR 한도 95% 사용, 일부 종목 집중 노출, 회사채 스프레드 확대 같은 이슈를 토론. 30분.
  • 9:30 시장 개장. 실시간 모니터링 모드. 한도 초과 알람이 뜨면 트레이더에게 연락해 5분 내에 사유와 처리 계획을 받는다.
  • 11:00 stress test 작업. "Lehman 시나리오"(2008년 9월 한 달치 가격 변동 적용), "Black Monday"(1987년 10월), "Taper Tantrum"(2013년 5-6월) 같은 시나리오를 현재 포지션에 적용. 결과를 PPT로 정리.
  • 12:30 점심.
  • 14:00 trade review. 전날 큰 거래(notional 50억 이상), 비정상 거래(가격이 시장 대비 0.5% 이상 차이), 임직원 자기매매를 본다. 이상하면 트레이더에게 사유서를 요구.
  • 15:00 신상품 출시 검토회의. 새 ELS의 기초자산 변동성, 워스트 시나리오, 고객 손실 가능성, 설명서 적합성을 본다.
  • 16:00 감독원 정기 보고서 작성. 월말이면 BIS 비율, NCR(영업용순자본비율), 한도 사용률 보고서를 만든다. Excel에서 데이터 받아 SQL로 검증하고 표준 양식에 채운다.
  • 17:30 다음 날 준비. 내일 만기 예정 거래, 임박한 한도 초과 가능성, 컴플라이언스 알람을 메모.

실제 회사마다 차이는 있지만 모니터링 → 위원회 → 시나리오 → 검토 → 보고의 사이클은 비슷하다.

Compliance: KYC/eKYC/AML/CTR/SAR/Sanctions/Market Surveillance

컴플라이언스는 거래 자체를 막는 부서가 아니라 거래가 합법적이고 윤리적으로 일어나는지 확인하는 부서다.

  • KYC (Know Your Customer): 고객 신원 확인. 신분증, 실명, 주소, 직업, 자금 출처를 받는다.
  • eKYC: 비대면 신원 확인. 영상통화, 신분증 OCR, 안면인식, 1원 이체 인증.
  • AML (Anti-Money Laundering): 자금세탁 방지. 의심 거래를 탐지하고 보고한다.
  • CTR (Currency Transaction Report): 한국 1천만원 이상 현금 거래는 KOFIU에 보고.
  • STR / SAR (Suspicious Activity Report): 의심 거래 보고. 분할 입금, 단기 회전, 비활동 계좌 갑작스러운 활성화 등을 본다.
  • Sanctions Screening: 미국 OFAC, UN, EU 제재 명단과 고객/거래상대방을 매칭. 매일 명단이 업데이트되므로 자동화 필수.
  • Market Surveillance: 내부자거래, 시세조종, 가장매매 같은 불공정거래를 탐지. NICE Actimize, Nasdaq SMARTS 같은 솔루션이 알람을 띄우면 사람이 검토한다.

KYC가 처음 한 번이라면 ongoing monitoring은 평생 한다. 고객의 거래 패턴이 KYC 단계에서 적은 직업/소득과 안 맞으면 알람이 뜬다.

규제 frameworks: Basel III/IV, MiFID II, Dodd-Frank, Volcker, FATCA, CRS

글로벌 증권사가 따라야 하는 주요 규제 프레임워크다.

  • Basel III/IV: BCBS(Basel Committee on Banking Supervision)가 만든 자본/유동성 규제. CAR, LCR, NSFR, FRTB가 여기 들어간다.
  • MiFID II / MiFIR: EU의 금융상품시장 지침. 2018년 발효. best execution, transaction reporting, research unbundling이 핵심. 한국 회사도 EU 고객을 상대하면 영향받는다.
  • Dodd-Frank Act: 2010년 미국. Volcker Rule(자기자본 트레이딩 제한), CFTC swap 규제, Title VII이 핵심.
  • Volcker Rule: Dodd-Frank Section 619. 은행 holding 회사의 proprietary trading과 헤지펀드/PE 지분 보유를 제한.
  • FATCA (Foreign Account Tax Compliance Act): 미국 시민/거주자 계좌 정보를 IRS에 보고. 2010년 제정, 2014년 시행.
  • CRS (Common Reporting Standard): OECD가 만든 자동 정보교환. 100개 이상 국가가 참여. FATCA의 글로벌판.

이 규제들은 "한국 회사니까 상관없다"가 안 통한다. 미국 시민이 한국 증권 계좌를 열면 FATCA, EU 거주자가 한국 ETF를 사면 MiFID II 영향이 일부 들어온다. 글로벌 IB는 4-5개 규제를 동시에 본다.

한국 규제 (FSS/FSC/KOFIU/KRX) + 일본 (SESC/FSA/JPX) + 글로벌 (SEC/FINRA/FCA)

한국:

  • FSC (금융위원회): 정책 제정. 자본시장법, 금융소비자보호법, 전자금융거래법.
  • FSS (금융감독원): 검사와 감독. 종합검사, 부문검사, 상시감시.
  • KOFIU (금융정보분석원): AML 보고기관. CTR/STR 접수.
  • KRX (한국거래소): 시장감시본부가 불공정거래 탐지. 거래소 자율규제기관.

일본:

  • FSA (Financial Services Agency, 金融庁): 금융청. 규제 제정과 감독.
  • SESC (Securities and Exchange Surveillance Commission, 証券取引等監視委員会): 증권거래 감시. FSA 소속이지만 독립성.
  • JPX (Japan Exchange Group): 일본거래소그룹. 도쿄증권거래소(TSE), 오사카거래소(OSE).

글로벌:

  • SEC (US Securities and Exchange Commission): 미국 증권 규제. 등록, 공시, 시장조작 단속.
  • FINRA (Financial Industry Regulatory Authority): 미국 자율규제기관. 브로커-딜러 감독.
  • FCA (Financial Conduct Authority): 영국 금융행위감독청. MiFID II, Senior Managers Regime.
  • BaFin: 독일 연방금융감독청.
  • MAS (Monetary Authority of Singapore): 싱가포르 금융감독청.
  • HKMA / SFC: 홍콩 금융관리국, 증권선물위원회.

면접에서 "지원 직무와 관련된 규제 3개를 말해보라"는 질문에 자본시장법, Basel III, AML 정도로 답할 수 있으면 평균 이상이다.

내부통제 (COSO/SOX-K/J-SOX/Three Lines of Defense)

내부통제 프레임워크는 COSO ERM이 사실상 표준이다. 통제 환경, 위험 평가, 통제 활동, 정보와 의사소통, 모니터링의 5개 요소.

SOX(Sarbanes-Oxley Act)는 2002년 엔론 사태 후 미국 의회가 만들었다. Section 404가 핵심으로, 경영진이 내부통제의 효과성을 평가하고 회계법인이 검증한다. 한국은 외부감사법으로 K-SOX, 일본은 금융상품거래법(金融商品取引法)으로 J-SOX가 있다.

Three Lines of Defense 모델:

  • 1선: 영업/운영 부서. 일상 통제. 트레이더 본인이 한도 안에서 거래하는 것.
  • 2선: 리스크관리, 컴플라이언스, 재무. 1선의 통제를 설계하고 모니터링.
  • 3선: 내부감사. 1선과 2선을 독립적으로 검증.

이 모델을 면접에서 설명할 수 있으면 "통제 직무가 왜 여러 부서로 나뉘는지" 답할 수 있다.

Tools 스택: Bloomberg PORT, MSCI RiskMetrics, Numerix, Murex, NICE Actimize

리스크/컴플라이언스 실무에서 자주 쓰는 도구다.

  • Bloomberg PORT: 포트폴리오 분석, VaR, 시나리오, 신용 분석.
  • MSCI RiskMetrics: 시장위험 분석의 클래식. 1994년 JPMorgan이 RiskMetrics를 공개하면서 VaR이 업계 표준이 됐다.
  • Numerix: OTC 파생 가치평가, XVA(CVA/DVA/FVA) 계산.
  • Murex MX.3: 트레이딩, 리스크, 컬래터럴, 결제를 통합한 ITS. 글로벌 IB 다수가 채택.
  • Calypso: Murex 경쟁 ITS.
  • NICE Actimize: AML, 시장감시, 거래 감시.
  • Nasdaq SMARTS: 시장감시(불공정거래 탐지).
  • Refinitiv World-Check: 제재 명단, PEP(Politically Exposed Persons) 데이터.
  • SAS Risk Management: 신용리스크 모형, 자본 계산.
  • Python, R: 모형 개발, 백테스트.
  • SQL: 데이터 조회와 검증. 거의 매일 쓴다.

신입은 모든 도구를 다 알 필요는 없지만 Bloomberg와 SQL은 면접에서 자주 물어본다.

실패 사례: Barings, MF Global, SocGen Kerviel, Archegos, 옵티머스/라임

리스크 통제 실패의 고전적 사례들이다.

  • Barings Bank (1995): 닉 리슨이 싱가포르 지점에서 일본 닛케이 선물에 베팅하다 14억 달러 손실. 233년 역사의 은행이 파산. front office와 back office를 한 사람이 겸직한 게 핵심 원인. 이 사건 이후 "front/back office 분리"가 모든 규제의 기본이 됐다.
  • LTCM (1998): 노벨상 수상자들이 만든 헤지펀드가 러시아 외환위기로 무너짐. Fed 주도로 14개 IB가 36억 달러 구제. 레버리지와 모델 리스크의 교훈.
  • SocGen Kerviel (2008): Jérôme Kerviel이 유럽 주가지수 선물에 49억 유로 손실. 가짜 헤지 거래로 한도 점검을 우회. 이 사건 이후 "두 사람 통제(four-eyes principle)"가 강화됨.
  • MF Global (2011): Jon Corzine 회장이 유럽 국채에 63억 달러 베팅. 마진콜이 들어오면서 고객 자산까지 손댐. 16억 달러 고객 자금 부족 발생.
  • Archegos Capital (2021): Bill Hwang의 패밀리오피스가 TRS(Total Return Swap)로 100억 달러 손실. Credit Suisse 55억 달러, 노무라 28억 달러 손실. 카운터파티 리스크 관리의 교훈.
  • 옵티머스 자산운용 (2020 한국): 공공기관 매출채권 펀드라고 속여 5천억 원 손실. 사모펀드 규제 강화의 계기.
  • 라임자산운용 (2019-2020 한국): 1조 6천억 원 환매 중단. 사모펀드 운용 부실, 판매사 불완전판매가 문제.

면접에서 "최근 리스크 사건 하나를 골라 분석해보라"는 질문이 자주 나온다. Archegos는 2021년 사건이지만 카운터파티/집중리스크/TRS 등 교과서 주제가 다 들어 있어서 좋은 답변 소재다.

KPI: RWA, CAR, VaR limit breach, compliance training, 사고 수

리스크/컴플라이언스 부서의 KPI는 회사마다 다르지만 자주 보는 것은 다음과 같다.

  • RWA (Risk-Weighted Assets) 증가율과 자본 효율성.
  • CAR (Capital Adequacy Ratio): BIS 8% 이상, 권고는 10.5% 이상.
  • NCR (Net Capital Ratio, 영업용순자본비율): 한국 증권사 100% 이상, 권고는 150% 이상.
  • LCR, NSFR: 100% 이상.
  • VaR limit breach 횟수: 월 0건이 목표지만 1-2건은 보통.
  • 한도 초과 평균 해소 시간.
  • 컴플라이언스 교육 이수율 100%.
  • AML 알람 처리 속도.
  • 감독원 검사 지적사항 수.
  • 운영손실 사고 건수와 금액.
  • 임직원 자기매매 위반 건수.

KPI를 어떻게 설정하는지에 따라 부서 행동이 바뀐다. 너무 보수적이면 영업 발목을 잡고, 너무 느슨하면 사고를 못 막는다.

인터뷰 질문 20개 (가장 무서운 리스크, KRI 5개, Archegos 의견)

  • 4가지 리스크를 정의하고 증권사 예시를 하나씩 들어보세요.
  • VaR과 ES의 차이를 설명하고 어느 쪽이 더 좋은지 본인 의견을 말해보세요.
  • 시장위험을 측정하는 3가지 방법 중 어떤 상황에서 무엇을 쓰는지 설명해보세요.
  • IFRS 9의 Stage 1/2/3과 ECL 계산 공식을 설명해보세요.
  • Basel III와 Basel IV의 차이를 한 문장으로 정리해보세요.
  • KRI 5개를 직접 골라보고 왜 그것이 신호가 되는지 설명해보세요.
  • 운영손실 데이터베이스의 입력 항목을 설계해보세요.
  • KYC와 ongoing monitoring의 차이를 설명해보세요.
  • 의심 거래 5가지 패턴을 골라보세요.
  • Archegos 사건의 원인 3가지와 우리가 배워야 할 점을 말해보세요.
  • 옵티머스/라임 사태가 한국 증권사 컴플라이언스에 어떤 변화를 만들었는지 설명해보세요.
  • 한도 초과 알람이 떴을 때 30분 안에 무엇을 하겠는지 답해보세요.
  • 트레이더가 "이번만 한도 풀어달라"고 요청하면 어떻게 응대하시겠어요.
  • Volcker Rule이 무엇인지 설명하고 한국 증권사가 받는 영향을 말해보세요.
  • 자본시장법에서 가장 중요한 조항 3개를 골라보세요.
  • Three Lines of Defense를 설명하고 본인이 어느 선에 가장 맞는지 답해보세요.
  • 최근 6개월 안에 발생한 금융 사고 하나를 골라 분석해보세요.
  • 가장 무서운 리스크는 무엇이라고 생각하시는지, 이유와 함께 답해보세요.
  • 회사가 새 ELS를 출시할 때 컴플라이언스가 점검할 항목 10개를 만들어보세요.
  • 입사 후 90일 학습 계획을 말해보세요.

질문은 정답이 정해진 것이 아니라 사고 구조를 보는 것이다. 결론 한 문장, 근거 2-3개, 현장 적용 1개를 묶어서 답하면 점수가 잘 나온다.

연봉: 한국 신입 5-7천만→1.5억+, 일본 700-1300만엔, 美 $150K-180K

대략적인 수준이다. 회사와 연차에 따라 편차가 크다.

  • 한국 증권사 신입(리스크/컴플라이언스): 5,000~7,000만원 (대형사 기준).
  • 5년차: 8,000만~1억 2,000만원.
  • 차장/팀장: 1억 5,000만~2억 5,000만원.
  • 부장/실장: 2억 5,000만~4억원+ 성과급.
  • CRO/CCO: 5억~10억+, 대형사는 더 받는다.

일본:

  • 신입(증券会社 リスク/コンプライアンス): 600~800만엔.
  • 5-10년차: 800~1,500만엔.
  • 부장급: 1,500~2,500만엔.
  • 외국계는 일본 로컬보다 1.3~1.5배 높다.

미국:

  • Analyst (Risk/Compliance): $80K-120K + 보너스.
  • Associate (3-5년차): $120K-180K + 보너스.
  • VP: $200K-350K + 보너스.
  • Director: $300K-500K + 보너스.
  • MD: $500K+ + RSU.

런던/홍콩/싱가포르는 미국과 비슷하거나 약간 낮은 수준. 컴플라이언스보다 quant risk가 보너스가 좀 더 높은 경향.

커리어 패스: Risk Analyst→Senior→VP→Director→CRO

전형적인 경로다.

  • Analyst (0-3년): 리포트 작성, 데이터 정리, 한도 모니터링, KYC 처리.
  • Senior Analyst (3-6년): 시나리오 분석, 신상품 검토, 감독원 보고 작성.
  • VP / 차장 (6-10년): 팀 운영, 리스크 위원회 발표, 모델 검증 책임.
  • Director / 부장 (10-15년): 한도 정책 설계, 신규 사업 리스크 검토, CRO 보좌.
  • CRO (Chief Risk Officer) / CCO (Chief Compliance Officer): C-Level. 이사회 보고. 통상 15-25년차.

대안 경로:

  • 거래소나 감독기관으로 이직(FSS, FSC, KRX). 안정성 높고 권위 있음.
  • 컨설팅(Deloitte, KPMG, EY) 리스크 어드바이저리.
  • 핀테크/크립토 회사의 리스크/컴플라이언스 헤드.
  • 자산운용사 리스크 부서로 이직.

리스크/컴플라이언스는 한 번 들어가면 산업 안에서 이동하기 좋은 직무다. 데이터, 규제, 상품 지식이 회사가 바뀌어도 그대로 쓰인다.

자격증: FRM, CFA, PRM, CAIA, CIA, CAMS

가장 추천되는 자격증 순서.

  • FRM (Financial Risk Manager): GARP. Part 1(시장/신용/운영/투자)과 Part 2(시장 측정, 신용 측정, 운영, 통합 리스크, 투자, 최신 이슈). 리스크 직무의 사실상 표준.
  • CFA (Chartered Financial Analyst): CFA Institute. Level 1/2/3. 운용에 가깝지만 리스크/컴플 직무에서도 가산.
  • PRM (Professional Risk Manager): PRMIA. FRM의 대안.
  • CAIA (Chartered Alternative Investment Analyst): 대체투자(헤지펀드, PE, 부동산) 분야.
  • CIA (Certified Internal Auditor): 내부감사 직무.
  • CAMS (Certified Anti-Money Laundering Specialist): AML 직무의 표준.
  • 한국: 투자자산운용사, 금융투자분석사, 신용분석사, 자산관리사(FP), 위험관리사(KIRMA).
  • 일본: 証券外務員一種(증권외무원 1종), 金融商品取引責任者.

신입은 FRM Part 1 또는 투자자산운용사를 가장 먼저 보는 게 좋다. 둘 다 6개월 안에 가능하고 면접에서 신호가 된다.

90일 학습 루틴

  • Day 1-15: 4가지 리스크와 정의를 자기 언어로 설명할 수 있게 한다. Basel 문서의 introduction을 한 번 읽는다.
  • Day 16-30: VaR, ES, PD/LGD/EAD를 직접 엑셀이나 파이썬으로 계산해본다. 코스피200 5년치 데이터로 Historical VaR 95% 1일을 계산해보자.
  • Day 31-45: 최근 5년 안에 일어난 금융 사고 5개를 골라 1쪽 분석을 만든다. Archegos, GameStop, 옵티머스, FTX, Credit Suisse가 후보.
  • Day 46-60: 컴플라이언스 측면에서 KYC, AML, 시장감시 케이스를 본다. KOFIU의 STR 사례집을 읽는다.
  • Day 61-75: 규제 프레임워크 한 개를 깊게 본다. Basel III 또는 자본시장법을 추천. FSS 검사 매뉴얼도 좋다.
  • Day 76-90: 모의 인터뷰. 20개 질문에 답을 써보고, 그중 5개는 실제로 사람 앞에서 말해본다.

루틴의 목표는 자료를 다 읽는 것이 아니라 내 언어의 답변을 만드는 것이다. 일주일에 산출물 하나(분석 글, 엑셀, 차트)를 남기면 90일 후 12개의 근거가 생긴다.

References

# VaR 계산 예시
# Historical VaR과 Monte Carlo VaR 두 가지

import numpy as np
import pandas as pd

# 가정: KOSPI200 5년치 일별 수익률 (1,250 거래일)
np.random.seed(42)
returns = np.random.normal(0.0005, 0.015, 1250)  # 평균 0.05%, std 1.5%
portfolio_value = 10_000_000_000  # 100억 KRW

# 1. Historical VaR (95% 1-day)
sorted_returns = np.sort(returns)
percentile_5 = sorted_returns[int(0.05 * len(sorted_returns))]
historical_var = -percentile_5 * portfolio_value
print(f"Historical 1-day 95% VaR: {historical_var:,.0f} KRW")

# 2. Expected Shortfall (CVaR)
tail_returns = sorted_returns[:int(0.05 * len(sorted_returns))]
expected_shortfall = -np.mean(tail_returns) * portfolio_value
print(f"95% Expected Shortfall: {expected_shortfall:,.0f} KRW")

# 3. Monte Carlo VaR (정규분포 가정)
mu = np.mean(returns)
sigma = np.std(returns)
n_simulations = 100_000
mc_returns = np.random.normal(mu, sigma, n_simulations)
mc_var = -np.percentile(mc_returns, 5) * portfolio_value
print(f"Monte Carlo 1-day 95% VaR: {mc_var:,.0f} KRW")
# IFRS 9 ECL 계산 예시
# Expected Credit Loss = PD x LGD x EAD

import pandas as pd

# 채권 포트폴리오
portfolio = pd.DataFrame({
    "bond_id": ["B001", "B002", "B003", "B004"],
    "rating": ["AAA", "BBB", "BB", "B"],
    "pd_1y": [0.0002, 0.003, 0.015, 0.05],   # 1년 부도 확률
    "lgd": [0.45, 0.60, 0.70, 0.75],          # 손실률
    "ead": [10_000_000_000, 5_000_000_000, 2_000_000_000, 1_000_000_000],
    "stage": [1, 1, 2, 3],                     # IFRS 9 Stage
})

# Stage별 ECL 계산
# Stage 1: 12개월 ECL
# Stage 2/3: Lifetime ECL (3년 가정)
def calc_ecl(row):
    if row["stage"] == 1:
        return row["pd_1y"] * row["lgd"] * row["ead"]
    else:
        # 단순화: 3년 누적 PD = 1 - (1 - PD_1y)^3
        pd_lifetime = 1 - (1 - row["pd_1y"]) ** 3
        return pd_lifetime * row["lgd"] * row["ead"]

portfolio["ecl"] = portfolio.apply(calc_ecl, axis=1)
print(portfolio)
print(f"Total ECL: {portfolio['ecl'].sum():,.0f} KRW")
-- 한도 초과 거래 탐지 쿼리
-- 일일 트레이딩 한도와 실제 거래 비교

WITH daily_position AS (
    SELECT
        trader_id,
        trade_date,
        instrument_type,
        SUM(notional_amount) AS gross_notional,
        SUM(CASE WHEN side = 'BUY' THEN notional_amount ELSE -notional_amount END) AS net_notional
    FROM trades
    WHERE trade_date = CURRENT_DATE
    GROUP BY trader_id, trade_date, instrument_type
),
limits AS (
    SELECT trader_id, instrument_type, daily_limit
    FROM trader_limits
    WHERE effective_date <= CURRENT_DATE
      AND (expiry_date IS NULL OR expiry_date > CURRENT_DATE)
)
SELECT
    p.trader_id,
    p.instrument_type,
    p.gross_notional,
    l.daily_limit,
    ROUND(p.gross_notional / l.daily_limit * 100, 2) AS utilization_pct,
    CASE
        WHEN p.gross_notional > l.daily_limit THEN 'BREACH'
        WHEN p.gross_notional > l.daily_limit * 0.9 THEN 'WARNING'
        ELSE 'OK'
    END AS status
FROM daily_position p
JOIN limits l
  ON p.trader_id = l.trader_id
 AND p.instrument_type = l.instrument_type
WHERE p.gross_notional > l.daily_limit * 0.8
ORDER BY utilization_pct DESC;

참고 자료: