Amazon Web Services 한국 블로그

Amazon FinSpace – 금융 서비스를 위한 데이터 관리 및 분석 기능

데이터 관리는 금융 서비스 산업 (FSI) 의 핵심입니다. 저는 사설 은행 및 펀드 관리 회사에서 근무했으며 분석가가 포트폴리오 관리, 주문 관리 및 회계 시스템과 같은 내부 데이터 소스는 물론 실시간 시장 피드, 과거 주식 가격 및 대체 데이터 시스템과 같은 외부 데이터 소스에서 수백 페타바이트의 데이터를 수집, 집계 및 분석할 수 있도록 도왔습니다. 이 기간 동안 내부 사일로 조직의 데이터에 접근하고, 권한을 관리하고, 점점 늘어나고 복잡한 환경에서 반복되는 작업을 자동화하는 시스템을 구축하기 위해 노력했습니다.

현재 이러한 프로젝트에 소요되는 시간을 단축할 수 있는 솔루션이 필요한데요. Amazon FinSpace는 금융 서비스 산업을 위해 특별히 제작된 데이터 관리 및 분석 솔루션입니다. 데이터를 찾고 준비하는 데 걸리는 시간을 몇 개월에서 몇 분으로 단축하므로 분석가가 분석에 더 많은 시간을 할애할 수 있습니다.

고객 요청 내용
데이터를 결합하고 분석하기 전에 분석가들은 시장, 기기 또는 지역별로 특화된 여러 부서에서 데이터를 찾아 액세스하는 데 몇 주 또는 몇 개월을 소비합니다. 이러한 논리적 분리 외에도 데이터는 서로 다른 IT 시스템, 파일 시스템 또는 네트워크에서 물리적으로 격리됩니다. 데이터 액세스는 거버넌스 및 정책에 의해 엄격하게 제어되므로 분석가는 규정 준수 부서에 액세스 요청을 준비하고 설명해야 합니다. 이것은 매우 수동적이고 임시적인 프로세스입니다.

액세스 권한이 부여되면 분석을 위해 데이터를 준비하거나 정보를 추출하기 위해 점점 더 커지는 데이터 세트에 대해 계산 논리(예: 볼린저 밴드, 지수 이동 평균 또는 평균 트루 범위)를 수행해야 하는 경우가 많습니다. 이러한 계산은 현대 금융계에서 워크로드 크기를 처리하도록 설계되지 않았기 때문에 용량이 제한된 서버에서 실행되는 경우가 많습니다. 서버 측 시스템조차도 저장 및 분석에 필요한 데이터 세트의 계속 증가하는 크기에 맞추고 확장하는 데 어려움을 겪고 있습니다.

Amazon FinSpace가 도움이 되는 방법
Amazon FinSpace는 데이터에 대한 접근, 저장, 준비, 관리 및 감사하는 데 필요한 수많은 작업을 제거합니다. 또한 데이터를 찾아 분석을 위해 준비하는 작업과 관련된 단계를 자동화합니다. Amazon FinSpace는 업계 및 내부 데이터 분류 규칙을 사용하여 데이터를 저장 및 구성합니다. 분석가들은 Amazon FinSpace 웹 인터페이스에 연결하여 익숙한 비즈니스 용어(“S&P500”, “CAC40”, “유로 사모펀드” 등)를 사용하여 데이터를 검색할 수 있습니다.

데이터 분석가들은 시계열 데이터에 대해 100개 이상의 특수 함수가 포함된 내장 라이브러리를 사용하여 선택한 데이터 세트를 준비할 수 있습니다. 통합 Jupyter 노트북을 사용하여 데이터를 실험하고 클라우드 규모에 맞춰 이러한 재무 데이터 변환을 몇 분 만에 병렬화할 수 있습니다. 마지막으로, Amazon FinSpace는 데이터 액세스를 관리하고 누가 어떤 데이터에 언제 액세스하는지 감사할 수 있는 프레임워크를 제공합니다. 데이터 사용을 추적하고 규정 준수 및 감사 보고서를 생성합니다.

또한Amazon FinSpace를 사용하면 기록 데이터에 대한 작업을 쉽게 수행할 수 있습니다. 신용 리스크를 계산하기 위해 모델을 만들었다고 가정 해 봅시다. 이 모델은 이자율과 인플레이션율에 의존합니다. 이 두 요금은 자주 업데이트됩니다. 고객과 관련된 위험 수준은 물가상승과 금리가 달랐던 몇 달 전이었기 때문에 오늘과 동일하지 않습니다. 데이터 분석가가 데이터를 현재의 시점과 과거의 시점에서 볼 때 그것을 이시간(Bitemporal) 모델링이라고 부릅니다. Amazon FinSpace를 사용하면 시간을 거슬러 올라가고 모델이 여러 차원과 함께 어떻게 진화하는지 쉽게 비교할 수 있습니다.

Amazon FinSpace의 작동 방식을 보여주기 위해 분석가 및 데이터 과학자 팀이 있고 데이터를 검색, 준비 및 분석할 수 있는 도구를 제공한다고 가정해 보겠습니다.

Amazon FinSpace 환경을 만드는 방법
AWS 계정 관리자로서 재무 분석가 팀을 위한 작업 환경을 만듭니다. 한 번만 설정하면 됩니다.

Amazon FinSpace 콘솔로 이동하여 환경 만들기를 클릭합니다.

FinSpace 환경 만들기

각 환경에 이름을 부여합니다. 저장된 데이터를 암호화하는 데 사용할 KMS 암호화 키를 선택합니다. 그런 다음 AWS Single Sign-On과 통합하거나 Amazon FinSpace에서 사용자 이름과 암호를 관리하도록 선택합니다. 통합을 통해 분석가가 기업 Active Directory와 같은 외부 시스템을 인증하여 Amazon FinSpace 환경에 액세스할 수 있습니다. 이 예에서는 직접 자격 증명을 관리하도록 선택합니다.

FinSpace 환경 세부 정보 만들기

Amazon FinSpace 환경에 대한 관리 권한을 가질 수퍼 유저를 만듭니다. 수퍼 유저 추가를 클릭합니다.

Finspace 슈퍼 유저 1 만들기Finspace 슈퍼 유저 2 만들기 임시 암호를 메모합니다. 수퍼 유저에게 보낼 메시지의 텍스트를 복사합니다. 이 메시지에는 환경에 대한 초기 연결에 대한 연결 지침이 포함되어 있습니다.

수퍼 유저에게는 Amazon FinSpace 환경 자체에서 다른 사용자를 추가하고 이러한 사용자의 권한을 관리할 수 있는 권한이 있습니다.

마지막으로, 이 데모의 목적을 위해 초기 데이터 세트를 가져 오도록 선택합니다. 이를 통해 환경의 일부 데이터로 시작할 수 있습니다. 콘솔에서 한 번의 클릭만으로 이 작업을 수행할 수 있습니다. 이 데이터 세트의 스토리지 비용은 월 41.46 USD이며 언제든지 삭제할 수 있습니다.

샘플 데이터 번들, Capital Markets 샘플 데이터에서 데이터 세트 설치를 클릭합니다. 이 작업은 몇 분이 소요될 수 있습니다.

FinSpace 설치 샘플 데이터 세트

Amazon FinSpace 환경을 사용하는 방법
AWS 계정 관리자가 관련 자격 증명과 함께 Amazon FinSpace 환경에 연결할 URL이 포함된 이메일을 재무 분석가인 나에게 보냅니다. 그리고, Amazon FinSpace 환경에 연결합니다.

환영 페이지의 몇 가지 사항에 주목할 필요가 있습니다. 먼저 오른쪽 상단에서 톱니바퀴 아이콘을 클릭하여 환경 설정에 액세스합니다. 여기에서 다른 사용자를 추가하고 권한을 관리 할 수 있습니다. 둘째, 왼쪽의 범주별로 다른 데이터를 찾아보거나 화면 상단의 검색 창에 검색 쿼리를 입력하여 특정 용어를 검색하고 왼쪽에서 검색을 구체화할 수 있습니다.

Amazon FinSpace를 데이터 허브로 사용할 수 있습니다. 데이터는 API를 통해 제공되거나 워크스테이션에서 직접 데이터를 로드할 수 있습니다. 태그를 사용하여 데이터 세트를 설명합니다. 데이터 세트는 데이터를 위한 컨테이너입니다. 변경 내용은 버전이 지정되며 데이터의 기록 보기를 만들거나 Amazon FinSpace에서 유지 관리하는 자동 업데이트 데이터 보기를 사용할 수 있습니다.

이 데모에서는 AMZN 재고에 대해 5분 시간 막대를 사용하여 실현 변동성을 보여주는 차트를 원하는 포트폴리오 관리자로부터 요청을 받았다고 가정해 보겠습니다. 검색 창을 사용하여 데이터를 찾은 다음 노트북에서 해당 데이터를 분석하는 방법을 보여 드리겠습니다.

먼저 데이터 세트에서 주가 타임바 요약을 5분 간격으로 검색합니다. 검색 상자에 “주식”을 입력합니다. I’m lucky: 첫 번째 결과는 내가 원하는 것입니다. 필요한 경우 왼쪽의 패싯을 사용하여 결과를 다듬을 수 있습니다.

finspace 주식 검색

데이터 세트를 찾으면 해당 설명, 스키마 및 기타 정보를 탐색합니다. 이를 바탕으로 포트폴리오 관리자의 요청에 답하기 위한 올바른 데이터 세트인지 결정합니다.

finspace 데이터 세트 상세 정보

노트북에서 분석을 클릭하여 PySpark로 데이터를 더 자세히 탐색할 수 있는 Jupyter 노트북을 시작합니다. 노트북이 열리면 먼저 Amazon FinSpace PySpark 커널을 사용하도록 올바르게 구성되었는지 확인합니다(커널을 시작하는 데 5-8 분 소요).

Finspace 커널 선택

첫 번째 코드 상자에서 “재생”을 클릭하여 Spark 클러스터에 연결합니다.

Finspace 클러스터에 연결

내 데이터 세트를 분석하고 PM의 특정 질문에 대답하려면 PySpark 코드를 일부 입력해야 합니다. 이 데모의 목적을 위해 Amazon FinSpace GitHub 리포지토리샘플 코드를 사용하고 있습니다. 노트북을 사용자 환경에 업로드할 수 있습니다. 위 화면 왼쪽 위에 표시된 위쪽 화살표를 클릭하여 로컬 컴퓨터에서 파일을 선택합니다.

이 노트북은 앞서 찾은 Amazon FinSpace 카탈로그 “미국 주식 타임바 요약” 데이터에서 데이터를 가져온 다음 Amazon FinSpace의 기본 제공 분석 함수 realized_volatility()를 사용하여 티커 그룹 및 교환 이벤트 유형에 대한 실현된 변동성을 계산할 수 있습니다.

그래프를 만들기 전에 데이터 세트를 이해해 봅시다. 데이터의 시간 범위는 얼마입니까? 이 데이터 세트에는 어떤 시세 표시기들이 있습니까? Amazon FinSpace에서제공하는 간단한 select () 또는 groupby () 함수로 이러한 질문에 답합니다. FinSpaceAnalyticsAnalyser 클래스를 아래 코드로 준비합니다.

from aws.finspace.analytics import FinSpaceAnalyticsManager
finspace = FinSpaceAnalyticsManager(spark = spark, endpoint=hfs_endpoint)

sumDF = finspace.read_data_view(dataset_id = dataset_id, data_view_id = view_id)

완료되면 데이터 세트를 탐색할 수 있습니다.
finspace 분석 1

2019년 10월 1일부터 2020년 3월 31일 사이에 561778건의 AMZN 거래와 가격 시세가 있다는 것을 알 수 있습니다.

실현된 변동성을 플롯하기 위해 Panda를 사용하여 값을 플롯합니다.

finspace 실현 변동성 코드 플롯

이 코드 블록을 실행하면 다음과 같은 메시지가 나타납니다.

finspace 실현 변동성 그래프 플롯

마찬가지로, 볼린저 밴드 분석을 시작하여 변동성 급증으로 인해 AMZN 주식의 과매도 상태가 발생했는지 확인할 수 있습니다. 또한 값을 플롯하기 위해 Panda를 사용하고 있습니다.

finspace 볼린저 밴드 코드 플롯

이제 그래프를 생성합니다.

finspace 실현 변동성 볼린저 그래프 플롯

포트폴리오 관리자의 질문에 대답할 준비가 되었습니다. 그런데 왜 2020년 1월 30일에 급등이 있었습니까? 답은 다음 뉴스 있습니다. “Amazon, 수입 실적 발표 후 주가 급등”፦)

가용성 및 요금
Amazon FinSpace는 현재 미국 동부(버지니아 북부), 미국 동부(오하이오), 미국 서부(오레곤), 유럽(아일랜드), 캐나다 (중부)에서 이용 가능합니다.

평소와 같이 프로젝트에서 사용하는 리소스에 대해서만 요금이 부과됩니다. 가격은 서비스에 대한 액세스 권한이 있는 분석가의 수, 수집된 데이터의 양 및 변환을 적용하는 데 사용된 계산 시간의 3가지 차원을 기준으로 결정됩니다. 자세한 요금 정보는 서비스 요금 페이지에서 확인할 수 있습니다.

지금 시도해보고 의견을 보내주십시오.

— seb