[오프라인] 강화학습을 활용한 금융 데이터 분석

개강알람 신청하기

본 강의 개강을 기다리고 계신가요? 개강알람을 신청해 보세요. 

개강 시 알려 드리도록 하겠습니다!

Introduction

인공지능 강화학습을 활용하여 금융 데이터 분석을 해보세요

현대 금융시장은 다양한 상품들이 서로 복잡한 관계로 얽혀 있으며 방대한 양의 데이터를 끊임없이 쏟아내고 있습니다. 효율적인 투자를 위해서는 이를 효과적으로 분석하여 시장의 상태를 정확히 파악하는 것이 중요합니다. 데이터를 효과적으로 다루기 위해 빅데이터, 기계학습 같은 방법이 주로 사용되고 있으며, 최근에는 딥러닝 (Deep Learning) 기술이 특히 주목받고 있습니다.

금융공학, 시장미시구조론 등의 금융 이론을 이용하여 데이터로부터 다양한 Feature들을 생성한 후 학습 데이터를 구축하고, 기계학습이나 인공지능 기법 등으로 학습 데이터를 분석하여 시장의 현재 상태를 파악하고 향후 상태를 추정하여 투자 의사결정에 활용하는 것이 일반적인 절차라 할 수 있습니다.

강화학습 (Reinforcement Learning)은 기계학습이나 인공지능의 한 분야이긴 하지만 약간 다른 특성을 가지고 있습니다. 강화학습은 최적화 (Optimization)와 밀접한 관계가 있고, 금융공학 이론도 최적화 (Optimal Stochastic Control)에 큰 관심을 두고 있습니다. 따라서 최적화라는 관점에서 보면 강화학습은 금융 시장과 매우 밀접한 관계에 있다고 할 수 있습니다. 시장이 현재 어떤 상태에 있는지 추정하고, 이 상태에서 어떤 행위를 수행하는 것이 가장 합리적인지 판단하는 것이 최적화의 목표라 할 수 있습니다 (Optimal Policy).

강화학습은 크게 3가지 접근법이 있습니다.

  • Value based 접근법
  • Policy based 접근법
  • Actor, Critic 접근법

본 교육 과정은 강화학습을 통해 최적 투자의사결정 정책을 수립하는 방법에 대해 다루고 있습니다.

참고로, 본 과정은 금융 이론과 기계학습, 그리고 프로그래밍 (Python등)에 대한 기본적인 개념을 어느 정도 알고 있다는 전제하에 강화학습을 다루고 있습니다.

Lesson

강의 상세내용 

1~3장은 도입부로 기계학습의 3가지 유형인 지도학습 (Supervised Learning), 비지도학습 (Unsupervised Learning), 그리고 강화학습 (Reinforcement Learning)에 대한 일반론을 다룹니다. 그리고 금융이라는 영역에 강화학습이 어떻게 쓰일 수 있는지 등에 대해 살펴봅니다. 또한 강화학습의 성공 사례라고 볼 수 있는 알파고 (AlphaGo)의 원리에 대해 살펴봅니다.

4~7장에서는 강화학습 알고리즘에 대해 세부적으로 다룹니다. 4장에서는 Dynamic Programming으로 MDP를 학습하고, 5장에서는 몬테카를로 방법 (MC)에 의해 MDP의 각 상태 (액션)별 가치를 추정합니다. 6장에서는 MC의 단점을 보완하기 위해 Temporal Difference (TD)에 의한 Learning 방법을 다룹니다. 그리고 7장에서는 방대한 크기의 상태 공간과 연속된 상태 공간에 대한 상태 (액션)별 가치를 추정합니다. 7장의 내용은 딥러닝 이전에 주로 사용됐던 기술이며 요즘에는 딥러닝 기술을 이용합니다. 따라서 7장은 가볍게 리뷰 정도만 다룹니다.

8 ~ 9장딥러닝을 이용하여 본격적인 딥-강화학습을 다룹니다. 요즘의 강화학습은 모두 8장과 9장의 내용을 의미하므로 본 교육에서 가장 핵심적인 부분이라 할 수 있습니다. 5장과 6장의 기본 이론 위에 딥러닝을 추가로 적용하는 방법론을 다룹니다.

10~11장실제 금융 데이터 분석에 적용하는 사례들을 다룹니다. 10장에서는 단일 주가에 대한 거래 신호를 생성해 봅니다. 물론 단일 주가에 대한 예측은 쉬운 일이 아닙니다. 여기서는 예측을 통해 실제 성과를 내는 것에 초점을 두는 것이 아니라, 주가 데이터를 분석하는데 강화학습을 적용하는 방법론에 초점을 둡니다. 11장에서는 LSTM과 CNN을 이용하여 좀 더 다양한 분석을 수행합니다. 단일 주가뿐만 아니라, 페어트레이딩처럼 여러 주가를 동시에 분석하는 방법을 다룹니다. 더 확장하면 다수의 종목을 이용한 포트폴리오 최적화, 고빈도매매 전략등에 활용할 수 있습니다.

본 과정의 예시 및 실습은 파이썬 (Python)으로 작성되었으며, 실제 실습을 통해 각 알고리즘의 세부 특성을 확인할 수 있도록 하였습니다. 내용에 비해 시간이 많이 부족하지만 개요나 덜 중요한 부분은 빠른 속도로 진행하고 일부 실습 과정은 Self-study로 진행하면서 24시간에 맞출 예정입니다.

시간 관계상 파이썬과 기계학습의 기초는 다룰 수가 없기 때문에 수강자는 가급적 파이썬, 기계학습, Keras 등의 기초를 익힌 후 수강할 것을 추천합니다.

Example

예제 실습

▲ 전체 실습파일

■ Linear Gradient Descent Monte Carlo Prediction
1,000 개 상태를 갖는 Random walk MDP 의 각 상태 value 를 추정함 . Binary feature 를 사용하였으므로 추정치가 계단형으로 나타남

▲ Exercise 7 2 : Linear Gradient Descent Monte Carlo Prediction (예시)

#강화학습 #금융데이터 #알고리즘트레이딩

For YOU

이런 분들께 강의를 추천드립니다!

실전 투자자

새로운 방법으로 금융 투자 분석을 시도하고 싶은 투자자

금융IT 실무자

금융 IT 관련 업무 담당자 또는 개발자 

학계 관련자

금융, 재무 관련 전공 대학생/대학원생

Review

수강 후기

촤00
2기 수강생
Read More
배운 내용을 여러 산업 분야에서 사용할 수 있을 것 같습니다. 예를 들면, 데이터를 통해 주식 예측, 바둑, 게임 만드는 것도 가능할 것으로 생각됩니다. 금융권 취업을 준비하시는 분들은 강화학습 통해서 금융데이터를 분석하고 예측하는 방법을 미리 공부함으로써 면접 또는 실무에 다양하게 활용할 수 있을 것 같습니다. 개인적으로는 직장에서 AI 프로젝트 진행하게 될 때 훌륭한 배경지식으로 활용할 수 있을 것 같습니다. AI 프로그램 개발 기회가 온다면 강의를 통해 배웠던 기법 등을 활용하여 분석, 예측 프로그램을 개발하는데 사용할 수 있을 것 같습니다.
박00
박00
3기 수강생
Read More
강의 중에 다룬 실습에 대해서는 실습파일을 전부 주시는데 이 점이 매우 좋았습니다. 강의 시간에 수업을 다 따라가지 못하더라도 집에 가서 복습 할 수 있기 때문입니다. 실습파일을 개인적으로도 공부하면서 강의를 따라가면 훨씬 얻어가는 내용이 많을 것입니다.
이00
이00
3기 수강생
Read More
강화학습 전반에 대한 내용을 다 다루기 때문에, 상당히 방대한 내용인데 20시간이라는 짧은 시간 동안 알차게 전 범위를 다룬 것 같습니다. 동시에 강화학습의 공부 방향성에 대해서도 구체적으로 잘 제시를 해 주셔서 감사했습니다.
김00
김00
4기 수강생
Read More
딥 강화학습에 대한 이론적 배경과 적용에 대해 알게 되었습니다. 특히 DQN 분야에 대해 보다 상세하게 알게 되어서 좋았습니다. R 또는 파이썬으로 분석한 내용을 oracle 데이터베이스에 저장하고 증권사 api를 이용하여 보다 자세한 데이터를 가지고 배웠던 기법들을 활용해보고 싶습니다.
Previous
Next

Professor

조성현

  • 現 핀인사이트 사외이사 인사이트 캠퍼스 연구/강의 교수
  • 現 아마추어퀀트 금융공학 전문 블로그 운영진
    前 Lucent
  • Technologies, Bell-Labs Innovations 수석 연구원

조성현 강의교수님은 물리학을 전공하고 KT에 입사하여 망관리센터 및 연구개발센터의 통신운용연구단에서 약 8년간 근무하다가, AT&T, Lucent Technologies로 이직하여 수석 연구원으로 10년간 종사한 통신 소프트웨어 전문가 입니다. 미국 Bell-lab에서 차세대 네트워크 구축에 대한 Training, 국내 KT, SKT 등의 국가기간망 구축 사업 분야에 종사했으며, 국제보안전문가 (CISSP)로 국내 VoIP 망의 보안 컨설팅 프로젝트를 수행했습니다.

이후 금융 분야에 진출하여 금융공학, 시장미시구조론, 알고리즘 트레이딩, 페어트레이딩, 금융 데이터마이닝 (기계학습), 강화학습 분야를 연구하고 있습니다.

물리학과 미국 Bell-Lab의 소프트웨어 기술에 금융 이론을 접목하여 금융 관련 시스템을 개발하고, 블로그를 통해 외국의 최신 투자 기법을 다룬 논문들의 내용을 소개하고 있습니다. 외환 전문인 갤럭시투자자문사에서 환위험관리 및 외환차익거래 시스템을 개발한 바 있으며, 여의도 금융가와 강남 지역, 그리고 코스콤 등 기업체의 직원 연수교육의 금융 강사로 활동하고 있습니다.

Curriculum

커리큘럼

Part 1 | 강화학습 알고리즘 이해

1~3장은 도입부로 기계학습의 3가지 유형인 지도학습 (Supervised Learning), 비지도학습 (Unsupervised Learning), 그리고 강화학습 (Reinforcement Learning)에 대한 일반론을 다룹니다. 그리고 금융이라는 영역에 강화학습이 어떻게 쓰일 수 있는지 등에 대해 살펴봅니다. 또한 강화학습의 성공 사례라고 볼 수 있는 알파고 (AlphaGo)의 원리에 대해 살펴봅니다.

1장 | 강화학습의 개요

  • 1-1. 기계학습의 유형 (Supervised, Unsupervised, Reinforcement Learning)
  • 1-2. 기계학습의 유형 비교
  • 1-3. 강화학습 과정
  • 1-4. 주식시장의 강화학습 예시
  • 1-5. 강화학습과 주식시장의 매매 신호 예시
  • 1-6. 강화학습과 포트폴리오 최적화 예시

2장 | Markov Decision Process (MDP)

  • 2-1. Markov Process (MP)
  • 2-2. Markov Reward Process (MRP)
  • 2-3. Markov Decision Process (MDP)
  • 2-4. Bellman 방정식과 State 및 Action value Function
  • 2-5. Grid world의 MDP 예시
  • 2-6. 주가의 기술적 분석 MDP 예시
  • 2-7. 페어 트레이딩의 MDP 예시
  • 2-8. 마켓메이킹을 위한 Micro market factor의 MDP 예시
  • 2-9. MDP 학습 방법론 (DP, MC, TD, FA)

3장 | 알파고 (AlphaGo) 알고리즘의 이해

  • 3-1. 구글 딥마인드의 알파고 논문 소개
  • 3-2. 강화학습의 유형 (Value-based, Policy-based, Actor-Critic)
  • 3-3. 바둑 게임 상태의 MDP 정의
  • 3-4. 알파고의 학습 단계 : SL 단계  RL 단계
  • 3-5. 알파고의 학습 단계 : Monte Carlo Tree Search 단계

Part 2 | 강화학습 알고리즘 심화

4~7 장에서는 강화학습 알고리즘에 대해 세부적으로 다룹니다. 4장에서는 Dynamic Programming으로 MDP를 학습하고, 5장에서는 몬테카를로 방법 (MC)에 의해 MDP의 각 상태 (액션)별 가치를 추정합니다. 6장에서는 MC의 단점을 보완하기위해 Temporal Difference (TD)에 의한 Learning 방법을 다룹니다. 그리고 7장에서는 방대한 크기의 상태 공간과 연속된 상태 공간에 대한 상태 (액션)별 가치를 추정합니다. 7장의 내용은 딥러닝 이전에 주로 사용됐던 기술이며 요즘에는 딥러닝 기술을 이용합니다. 따라서 7장은 가볍게 리뷰 정도만 다룹니다.

4장 | Dynamic Programming (DP)

  • 4-1. Dynamic Programming 개요
  • 4-2. 피보나치 수열 (단순재귀, Memoization, Bottom-up)
  • 4-3. 1-차원 Random walk의 MDP
  • 4-4. Absorbing Markov Chain에 의한 Random walk MDP 분석
  • 4-5. Planning vs. Learning
  • 4-6. Prediction vs. Control
  • 4-7. Policy Evaluation (state-value 추정)
  • 4-8. Policy Iteration (optimal policy추정)
  • 4-9. Value Iteration (optimal policy 추정)
  • 4-10. Grid world의 state-value 및 optimal policy 추정

5장 | Monte Carlo Methods

  • 5-1. Monte Carlo Methods 개요
  • 5-2. First-visit vs. Every-visit
  • 5-3. Monte Carlo Control
  • 5-4. Exploitation vs. Exploration
  • 5-5. Exploring Starts (ES) Control
  • 5-6. On-Policy MC Control (ε−greedy)
  • 5-7. Importance Sampling
  • 5-8. Off-Policy MC Prediction 과 Control
  • 5-9. Incremental Implementation (Weighted Importance Sampling)
  • 5-10. Weighted importance sampling을 활용한 control 예시
  • 5-11. Monte Carlo 방법의 문제점
  • 5-12. Blackjack 게임의 최적화 예시

6장 | Temporal Difference (TD) 방식에 의한 강화학습

  • 6-1. TD 학습의 개요 (MC 와 TD) 및 기본 원리
  • 6-2. 실시간 평균 업데이트와 지수이동평균 (EMA)
  • 6-3. TD Prediction
  • 6-4. MC와 TD의 성능 비교
  • 6-5. Sarsa : On-Policy TD Control
  • 6-6. Q-Learning : Off-Policy TD Control
  • 6-7. Sarsa와 Q-Learning의 특성 비교
  • 6-8. Cliff walking의 optimal path 찾기 예시 (Sarsa 및 Q-Learning)
  • 6-9. N-Step TD Prediction
  • 6-10. N-step TD Prediction의 성능 곡선과 최적 n의 결정 문제
  • 6-11. N-step Sarsa
  • 6-12. N-step Tree Backup Control
  • 6-13. Bias-Variance Trade off
  • 6-14. Eligibility Trace TD(λ)
  • 6-15. TD(λ)의 Forward, Backward view 예시

7장 | Function Approximation (FA) 방식에 의한 강화학습

  • 7-1. Function approximation (FA) 개요
  • 7-2. Linear Basis Function (Binary, Polynomial, Fourier basis function)
  • 7-3. MSVE 정의와 가중치 (weight) 업데이트
  • 7-4. FA의 기하학적 의미와 Error의 종류
  • 7-5. Gradient Descent
  • 7-6. Linear Gradient Descent Monte Carlo Prediction
  • 7-7. N-step semi-gradient TD Prediction
  • 7-8. Polynomial, Fourier basis function을 사용한 RW MDP 학습 예시
  • 7-9. Coarse Coding
  • 7-10. Radial Basis Function (RBF)
  • 7-11. Tile Coding
  • 7-12. N-step semi-gradient Sarsa (On-policy control)
  • 7-13. Hash Table과 Collision
  • 7-14. Tile Coding을 이용한 Mountain Car problem 학습 예시

Part 3 | 딥-강화학습

8 ~ 9 장은 딥러닝을 이용하여 본격적인 딥-강화학습을 다룹니다. 요즘의 강화학습은 모두 8장과 9장의 내용을 의미하므로 본 교육에서 가장 핵심적인 부분이라 할 수 있습니다. 5장과 6장의 기본 이론 위에 딥러닝을 추가로 적용하는 방법론을 다룹니다.

8장 | Deep Q-Network (DQN)

  • 8-1. 인공 신경망의 기본 개념
  • 8-2. 인공 신경망 알고리즘 예시 (Supervised Learning)
  • 8-3. 연결 가중치 조절 원리 (Error Backpropagation)
  • 8-4. Keras를 이용한 인공신경망 학습
  • 8-5. Deep Q-Network (DQN)
  • 8-6. TD(0) DQN Prediction 예시
  • 8-7. Target Network
  • 8-8. Target Network을 사용한 TD(0) DQN Prediction 예시
  • 8-9. TD(0) DQN Control 예시
  • 8-10. TD(0) Sarsa DQN Control 예시 : Grid world 예시
  • 8-11. TD(0) DQN Q-Learning Control 예시 : Grid world 예시
  • 8-12. Multi step TD Sarsa DQN Control 예시 : Grid world 예시
  • 8-13. Experience Replay Memory
  • 8-14. 파이썬의 Deque 활용 연습
  • 8-15. Target Network와 Experience를 이용한 TD(0) DQN Control 예시
  • 8-16. Target Network, Experience Replay, Multi-step TD, Tree-backup 예시 (Off-Policy)
  • 8-17. 학습 알고리즘 별 수렴 특성 (Convergence)

9장 | Policy Gradient (정책 기반 강화학습)

  • 9-1. Policy gradient method
  • 9-2. Short-corridor-with-switched-actions 문제
  • 9-3. DQN을 이용한 Short-corridor-with-switched-actions control
  • 9-4. Value method와의 비교
  • 9-5. Loss function 𝐽(𝜃) 정의
  • 9-6. Gradient loss function ∇𝐽(𝜃) 의 정의
  • 9-7. REINFORCE 알고리즘
  • 9-8. REINFORCE with Baseline
  • 9-9. Actor-Critic Method
  • 9-10. Keras의 custom activation 함수와 loss 함수 연습
  • 9-11. One-step Actor-Critic을 이용한 Short-corridor-with-switched-actions 문제 예시
  • 9-12. One-step Actor-Critic을 이용한 1차원 Random Walk 문제 예시
  • 9-13. Exploration 방법론
  • 9-14. N-step Actor-Critic을 이용한 1차원 Random Walk 문제의 특성 관찰
  • 9-15. One-step TD Actor-Critic을 이용한 2차원 Grid world control
  • 9-16. One-step TD Q-Actor-Critic (QAC)를 이용한 2차원 Grid world control
  • 9-17. N-step TD State-value Actor-Critic을 이용한 2차원 Grid world control
  • 9-18. 연속 action을 위한 Actor Critic
  • 9-19. A3C (Asynchronous Advantage Actor-Critic)
  • 9-20. DDPG (Deep Deterministic Policy Gradient)
  • 9-21. SAC (Soft Actor Critic)

Part 4 | 금융 데이터 분석 적용 사례

10~11장은 실제 금융 데이터 분석에 적용하는 사례들을 다룹니다. 10장에서는 단일 주가에 대한 거래 신호를 생성해 봅니다. 물론 단일 주가에 대한 예측은 쉬운 일이 아닙니다. 여기서는 예측을 통해 실제 성과를 내는 것에 초점을 두는 것이 아니라, 주가 데이터를 분석하는데 강화학습을 적용하는 방법론에 초점을 둡니다. 11장에서는 LSTM과 CNN을 이용하여 좀 더 다양한 분석을 수행합니다. 단일 주가뿐만 아니라, 페어트레이딩처럼 여러 주가를 동시에 분석하는 방법을 다룹니다. 더 확장하면 다수의 종목을 이용한 포트폴리오 최적화, 고빈도매매 전략등에 활용할 수 있습니다.

10장 | DQN과 Actor-Critic을 활용한 주가 거래 신호 생성

  • 10-1. 학습/시험 데이터의 state 정의
  • 10-2. MDP와 가능한 경로의 수
  • 10-3. Reward function
  • 10-4. 1-step TD DQN을 이용한 거래 신호 생성
  • 10-5. 1-step TD Actor-Critic을 이용한 거래 신호 생성
  • 10-6. N-step TD DQN을 이용한 거래 신호 생성
  • 10-7. N-step TD Actor-Critic을 이용한 거래 신호 생성
  • 10-8. Discussion

11장 | 순환신경망과 합성곱신경망을 이용한 순차 상태 처리

  • 11-1. 순차 상태 : Sequenced state
  • 11-2. 학습 데이터 구조
  • 11-3. 학습 데이터 생성 및 저장
  • 11-4. 순환 신경망 (Recurrent Neural Network : RNN) 구조
  • 11-5. Keras를 이용한 LSTM 연습
  • 11-6. LSTM-DQN 구조
  • 11-7. N-step TD LSTM-DQN을 이용한 거래 신호 생성
  • 11-8. LSTM-Actor-Critic 구조
  • 11-9. N-step TD LSTM-Actor-Critic을 이용한 거래 신호 생성
  • 11-10. Convolutional Neural Network (CNN) 개요
  • 11-11. Keras를 이용한 CNN 연습
  • 11-12. CNN-DQN 구조
  • 11-13. N-step TD CNN-DQN을 이용한 거래 신호 생성
  • 11-14. CNN-Actor-Critic 구조
  • 11-15. N-step TD CNN-Actor-Critic을 이용한 거래 신호 생성
  • 11-16. Discussion 및 참고사항
  • 11-17. 확률적 Reward와 Double Q-Learning
  • 11-18. 정책 Labeling과 사전 지도학습
  • 11-19. 강화학습을 활용한 페어-트레이딩 예시
  • 11-20. 강화학습과 포트폴리오 최적화 논문 사례
  • 11-21. 강화학습과 고빈도 매매

강의안내

1
개강 전에 개강안내 메일을 개별적으로 전달드립니다.
강남역 근처이며, 자세한 장소는 추후 개별적으로 알려 드립니다.
개강 당일에 강의장에서 배포해 드립니다.
환불을 원하실 경우 [ 성함, 환불하고자 하는 강의명, 환불 사유 ] 정보를 edu@fins.ai 이메일로 보내주세요. 정보 확인 후 환불 도와드리겠습니다.

결제 안내

  • 대학(원)생 / 단체 / 기수강생 할인 가능합니다. (* 타쿠폰과 중복할인은 불가)
  • 카드 결제시 최대 6개월 무이자 할부 가능합니다.
  • 세금계산서 발급 가능합니다. 담당자(bill@fininsight.co.kr)에게 연락주시면 더 자세히 안내해 드리겠습니다.


인터넷 결제환경 안내

  • Windows 7, 크롬 브라우저에 최적화 되어있습니다. 인터넷 익스플로러는 버전 9 이상을 권장합니다.
  • iOS에서는 현재 결제가 불가합니다. 타 방식 이용을 권해 드립니다.
  • 맥북에서는 Safari(사파리)에서 결제가 가능합니다.


강의 유의사항

  • 본 강의에는 교재비가 포함되어 있습니다.
  • 강의의 최소 인원(5명)이 미달될 경우 일정이 연기될 수 있습니다.
  • 일정 연기 시, 수강생 분들께 개강 3일전 개별 연락을 드립니다.


인사이트 캠퍼스 지기 모집

혜택

  • 본 강의 무료 수강
  • 본 강의 외의 수강하고 싶은 강의는 50% 할인 혜택
  • 인사이트 캠퍼스지기 활동 인증서 발급
  • 금융권 진출 희망 시 진로 상담 및 네트워킹 제공 (우수 활동지기는 추천서 제공) – 핀인사이트 취업 지원 시 우대

모집 대상

  • 해당 강의 관련 학과 전일제 대학(원)생 또는 관심이 많은 타과 전일제 대학(원)생
  • 인원: 강의 당 1명

우대사항

  • 인사이트 캠퍼스 기 수강자
  • 해당 강의 관련 프로젝트 경험자
  • 해당 강의 관련 컴퓨터 언어 활용 가능자

활동 내용

  • 수강생들이 효과적으로 강의를 수강할 수 있도록 돕는 역할
  • 운영을 위한 세부사항을 기획하며, 다음 기수 수강생 모집 준비를 지원하는 역할
  • 해당 강의 종료 후 수강생 인터뷰 작성 (A4 1장 분량) – 차기 강의 개발 전략에 참여

신청 방법

  • 아래 신청 버튼을 통해 캠퍼스지기를 신청해주시면, 신청하신 모든 분들께 해당 강의 개강 1주 전까지 개별 연락 드립니다. 
  • https://goo.gl/forms/5KsDKKkUywVKPbZB2