ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [책 리뷰] 금융 전략을 위한 머신러닝
    BOOK 2022. 2. 23. 20:29
    반응형

    Data-powered enterprise가 될 수 있는 가능성이 높은 산업군은 어디일까? IT기반 회사, 유통 회사 등 여러 산업군이 있겠지만 나는 그 중에서도 금융권을 주목하고 싶다. 금융업계는 예전부터 data가 전산화 되어 왔고, 시장 예측이나 이상 거래 탐지 등 data를 기반으로 한 task가 필요하며 숫자/통계 없이 커뮤니케이션 할 수 없는 업계이기 때문이다.

    이번 달 부터 한빛미디어 서포터즈를 통해서 1달에 1권 씩 책을 제공받아 리뷰를 쓰게 되었는데, 이 책이 그 첫번째가 되었다! 무튼, 그 전부터 나는 여의도, 월스트리트의 도시적이고 바쁜 분위기를 연상케 하는 금융권에 대한 왠지 모를 경외심과 최근 마이데이터 사업 등과 같이 Big Data/AI를 누구보다 요구하며 기술을 활용할 수 있는 양질의 data를 가지고 있는 이 산업군에 머신러닝을 적용하는 것에 대한 관심을 가져 왔었다.

    이 책은 3명의 금융권 ML 연구원들에 의해 쓰여졌고, 뉴요커 금융맨들이 소개해 주는 19가지 사례를 통해 머신 러닝에 대한 전반적인 개념부터 실전 예제까지 체험해 볼 수 있다. 다만, AI분야를 한 번도 훑지 않은 사람이라면 어려울 수 있다.

    예제 코드는 여기에서 다운받을 수 있다. 본 포스팅에서는 여러 사례 중 머신러닝 분류 기반 모델을 이용한 이상 거래 탐지를 소개하려고 한다.


    이상 거래 탐지 문제

    문제 정의

    이상 거래 탐지는 금융기관에서 중대한 문제이다. 머신러닝은 태생적으로 금융 거래 사기를 방지하는 데 이상적이다. 머신러닝 시스템은 막대한 양의 data를 읽고 이상 행동을 탐지해 바로 알려 주기 때문이다. 보안을 뚫을 수 있는 수많은 방법이 있음을 생각해 볼 때 조만간 진정한 머신러닝 시스템의 활용은 절대적으로 필요해질 것이다.

    이상 거래 탐지는 분류 기반 모델을 사용하는데, 해당 거래가 정상적인 지불인지 / 아닌지 (binary classification) 를 판별하는 작업을 한다. 즉 사기인 경우 1, 그렇지 않은 경우 0을 도출하는 task 이다.

    Dataset

    Dataset은 kaggle을 사용한다. 해당 dataset에는 2013년 9월 이틀 동안 발생한 거래 내역이 있으며 거래 284,807건 중 492건의 사기가 발생했다고 한다. 개인정보 식별화를 위해 column명이 특정되어 있지 않다.

    https://www.kaggle.com/mlg-ulb/creditcardfraud

     

    Credit Card Fraud Detection

    Anonymized credit card transactions labeled as fraudulent or genuine

    www.kaggle.com

     

    Modeling

    # Load libraries
    import numpy as np
    import pandas as pd
    from matplotlib import pyplot
    import seaborn as sns
    from sklearn.model_selection import train_test_split, KFold, cross_val_score, GridSearchCV
    from sklearn.linear_model import LogisticRegression
    from sklearn.tree import DecisionTreeClassifier
    from sklearn.neighbors import KNeighborsClassifier
    from sklearn.discriminant_analysis import LinearDiscriminantAnalysis
    from sklearn.naive_bayes import GaussianNB
    from sklearn.svm import SVC
    from sklearn.neural_network import MLPClassifier
    from sklearn.pipeline import Pipeline
    from sklearn.ensemble import AdaBoostClassifier, GradientBoostingClassifier, RandomForestClassifier, ExtraTreesClassifier
    from sklearn.metrics import classification_report, confusion_matrix, accuracy_score
    
    #Libraries for Deep Learning Models
    from tensorflow.keras.models import Sequential
    from tensorflow.keras.layers import Dense
    from tensorflow.keras.wrappers.scikit_learn import KerasClassifier
    from tensorflow.keras.optimizers import SGD

    import 부분에서 keras가 tensorflow v2.0부터는 tensorflow 안에 있는데, 코드에 반영되지 않아서 변경한 후 import 해 주었다.

    Scikit-learn, keras의 여러 분류 알고리즘을 테스팅한 결과와 box plot 그래프를 얻을 수 있다.

    모델 튜닝을 별도로 진행하지 않은 상태에서는 false negative (predicted 1 but actual 0) 와 false positive (predicted 0 but actual 1) 가 아직 많이 나온다.

    파라미터 튜닝을 거친 후 false negative가 눈에 띄게 줄어든 것을 확인할 수 있다.

     


    목차

    PART 1 프레임워크
    CHAPTER 1 금융머신러닝
    1.1 현재와미래의금융머신러닝활용
    1.2 인공지능, 머신러닝, 딥러닝, 데이터과학
    1.3 머신러닝의다양한유형
    1.4 자연어처리
    1.5 맺음말
    CHAPTER 2 머신러닝모델개발
    2.1 왜파이썬인가?
    2.2 머신러닝을위한파이썬패키지
    2.3 모델개발단계
    2.4 맺음말
    CHAPTER 3 인공신경망
    3.1 구조, 학습, 하이퍼파라미터
    3.2 인공신경망모델생성
    3.3 맺음말

    PART 2 지도학습
    CHAPTER 4 지도학습: 모델및개념
    4.1 지도학습모델: 개념
    4.2 모델성능
    4.3 모델선택
    4.4 맺음말
    CHAPTER 5 지도학습: 회귀(시계열모델)
    5.1 시계열모델
    5.2 실전문제 1: 주가예측
    5.3 실전문제 2: 파생상품가격책정
    5.4 실전문제 3: 투자자위험감수및로보어드바이저
    5.5 실전문제 4: 수익률곡선예측
    5.6 맺음말
    5.7 연습문제
    CHAPTER 6 지도학습: 분류
    6.1 실전문제 1: 사기탐지
    6.2 실전문제 2: 채무불이행확률
    6.3 실전문제 3: 비트코인거래전략
    6.4 맺음말
    6.5 연습문제

    PART 3 비지도학습
    CHAPTER 7 비지도학습: 차원축소
    7.1 차원축소기술
    7.2 실전문제 1: 포트폴리오관리(고유포트폴리오찾기)
    7.3 실전문제 2: 수익률곡선구축및이자율모델링
    7.4 실전문제 3: 비트코인거래(속도와정확성향상)
    7.5 맺음말
    7.6 연습문제
    CHAPTER 8 비지도학습: 군집화
    8.1 군집화기술
    8.2 실전문제 1: 쌍거래를위한군집화
    8.3 실전문제 2: 포트폴리오관리(투자자군집화)
    8.4 실전문제 3: 계층적위험패리티
    8.5 맺음말
    8.6 연습문제

    PART 4 강화학습과자연어처리
    CHAPTER 9 강화학습
    9.1 강화학습: 이론및개념
    9.2 실전문제 1: 강화학습기반거래전략
    9.3 실전문제 2: 파생상품헤징
    9.4 실전문제 3: 포트폴리오배분
    9.5 맺음말
    9.6 연습문제
    CHAPTER 10 자연어처리
    10.1 자연어처리: 파이썬패키지
    10.2 자연어처리: 이론및개념
    10.3 실전문제 1: NLP 및감정분석기반거래전략
    10.4 실전문제 2: 챗봇-디지털어시스턴트
    10.5 실전문제 3: 문서요약
    10.6 맺음말
    10.7 연습문제

     

     

     

    반응형

    댓글

Written by Emily.