강의

멘토링

로드맵

Career

/

Finance

Python Algorithm Trading Part 1: Python Data Analysis for Algorithm Trading

Learn a systematic approach to S&P 500 pair trading with Python. Lay the foundation for an investment strategy that excludes emotions through professional data analysis.

(5.0) 24 reviews

159 learners

  • danielyouk
투자
이론 실습 모두
백테스팅
Python
oop
Quant
Pandas
Machine Learning(ML)

Reviews from Early Learners

What you will learn!

  • Financial Data Statistical Analysis

  • Interactive Visualization with Plotly

  • Python Object-Oriented Programming

  • Pandas Time Series Analysis

  • Accelerating Interpretation Through Data Parallel Processing

  • Python Package Management with Anaconda

Conquer the stock market with a statistical approach!
A strategic investment journey starting with object-oriented Python and Pandas

Notes before taking the course 📢

IMPORTANT NOTICE :

This course is designed to educate algorithmic trading and coding automation from a developer's perspective . The course content focuses on developing investment strategies and simulating them , and does not cover account opening, legal procedures, tax-related matters related to actual investments, etc. In addition, it does not serve as investment advice or financial counseling , and matters related to actual financial transactions should be carried out at one's own risk.

All trading strategies covered in the course are based on simulations and are for educational purposes only. If students have questions related to investing or trading, please understand that we cannot answer questions that are outside the scope of the course.


[Python Algorithm Trading Lecture] is a three-part series , and this lecture is 'Part 1'.

  • Part 1 - 'Python Data Analysis for Algorithmic Trading' (this lecture)

    • Covers the fundamentals of Python data analysis required for algorithmic trading.

  • Part 2 - 'Real-time algorithmic trading using Interactive Brokers API'

    • Learn how to implement real-time trading using the #1 global market share Interactive Brokers API.

  • Part 3 - 'Cloud Automation'

    • Learn how to automatically launch virtual machines to match your stock trading schedule with cloud automation.

Why You Should Learn Python at This Point 🤔

Where to start with Python data analysis? 🤔

Why study Python for financial analysis ? ❓

Why do we need object-oriented programming ? ❓

Why is parallel processing necessary ? ❓

Why set up a Python analytics environment in Azure ? ❓

If you don't have basic knowledge of Python 🤔

...

If you are curious about the questions above, read the introduction below!

First, popularity in the job market!

As of now (2024), the undisputed #1 programming popularity is Python. Programming popularity is also linked to opportunities in the job market. Learning Python will provide you with more opportunities.

PYPL (Popularity of Programming Language)

Second, then why Pandas?

This is a question about the essence of data analysis. The essence of data analysis, called EDA (Exploratory Data Analysis), is the ability to process raw data into a desired form. The tool that can do this EDA most effectively is Pandas.


Third, why study Python with financial data?

Did you know that Wes McKinney , the creator of the Pandas library essential for data analysis in Python, was a quant working in the financial sector? Stock data is an ideal analysis target for applying complex and diverse analysis techniques and statistical models.

Pairs Trading, which will be implemented in this lecture, defines stock pairs that show similar patterns and uses statistical methodology and machine learning to determine algorithmic investments.

Fourth, in general data analysis classes, we write scripts in a functional manner.
Why study object-oriented data analysis?

  • Data is dynamic: investment strategies that worked in the past may not be suitable today.

  • Respond to continuous change: Your code needs to be updated periodically to accommodate changing data characteristics.


Advantages of Object Oriented Programming (OOP)

Easy to maintain : Modularize code to make it easier to modify and maintain code written by individuals or teams.

Improved readability : Block-based coding using classes greatly improves the readability of your code.

Prevent Spaghetti Code : Avoid 'spaghetti code' with a systematic structure instead of one-off scripts.

Increased Productivity : Writing object-oriented code can significantly increase analyst productivity.

For this reason, learning object-oriented programming in data analysis is an important skill for effective code management and productivity improvement beyond simple function implementation. Once you become familiar with object-oriented grammar, you can quickly understand the code below in a few seconds. The ability to interpret object-oriented grammar is a magic like speed reading in reading .

Fifth, Python is slow? Is that really true? The answer is Yes or No.

Python can be sped up in two ways. In deep learning, GPUs can be used to speed up calculations, while in data analysis , parallel processing of the CPU can be used to speed up the process .

This lecture will guide you on how to effectively utilize CPU cores .

Practical examples : In the hands-on course, you can learn specific ways to use CPU cores in parallel and improve processing speed.

Practical Applications : Many practitioners are not fully utilizing the potential of CPU parallel processing. In this lecture, you will learn how to overcome this.


Sixth, configure the analytics environment on an Azure virtual machine.

  • Using Azure Virtual Machines in your analytics environment :

    • In this lecture, we will build a stable Python analysis environment using Azure virtual machines.

    • Minimize variability in local environments and provide a standardized learning environment.

    • Learn how to set up a virtual environment and manage packages using Anaconda.

  • Alternatives if you have trouble using the cloud :

    • We also share a separate notebook to enable implementation of Python analysis using Kaggle Notebooks.

    • The Kaggle platform offers the advantage of being able to start analyzing data right away without any installation or configuration.

    • This allows for flexible learning in a variety of environments.

The last seventh, Python Crash Course, is easy to understand even without basic knowledge.

  • The basic Python syntax and concepts required for this course are intensively covered in “Section 4. Python Crash Course for Financial Analysis.”

  • This section starts with the basics for those new to Python, and dives deep into the core syntax and functions needed for financial data analysis.

  • This will give students a solid foundation to follow along smoothly with the more complex analysis and programming content that is presented later in the course.

💡 What sets it apart from other Python data analysis courses

  • A lot of thought and practical application on how to write readable code

  • Access to real-time data via Yahoo Finance, not historical data

  • Everything is an object. Object-oriented programming

  • No more slow Python, Python with fast interpretation speed

  • And cloud application

I recommend this to these people

Using Python
In data analysis
For those who want to get started

Anyone who wants to upgrade their Python skills in an object-oriented way

Anyone who wants to implement algorithmic trading in Python

Things to note before taking the class

Practice environment

  • The lecture will proceed by creating a Windows OS virtual machine in Azure and creating a Python analysis environment with Anaconda. You can also proceed with the practice through Kaggle Notebook without setting up the analysis environment.


Learning Materials

  • All Python scripts are attached to the course materials, and the main script notebook is also accessible via the Kaggle platform.

Recommended for
these people

Who is this course right for?

  • For those who want to statistically analyze financial data using Python

  • A data analyst who wants to write tidy (clean) Python scripts by applying object-oriented programming.

  • Someone who can understand basic programming concepts (e.g., for loop statements) as easily as reading English.

Need to know before starting?

  • Basic programming literacy (e.g., loop statements)

Hello
This is

616

Learners

63

Reviews

73

Answers

4.8

Rating

7

Courses

  • LLM 기반 AI 기업에서 Pod Lead로 활동

  • 서울대학교 기계항공 공학부 졸업

  • 유럽 소재 대학원에서 기계항공공학 석사

  • 독일 소재 공학 연구기관에서 박사 과정 연구 수행

  • 유럽 대형 에너지 기업에서 Senior Data Scientist 경험

  • 영국 소재 에너지 컨설팅 기업에서 Senior Consultant 활동

  • Databricks 기반 데이터 엔지니어링 프로젝트 수행

  • Kaggle 주식 거래 AI 대회 Top 3% 성과

  • AI Agent 개발팀장으로 현재 활동 중

Curriculum

All

52 lectures ∙ (6hr 3min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

24 reviews

5.0

24 reviews

  • luca님의 프로필 이미지
    luca

    Reviews 6

    Average Rating 5.0

    5

    100% enrolled

    안녕하세요. 수업 잘 들었습니다. 준비를 많이 하신 게 느껴지고 내용 또한 좋아 만족했습니다. 파트 2 강의가 기대되는 강의였습니다. 제 배경지식을 설명해 드리면 프로그래밍 언어로 자바, 코틀린은 사용할 줄 알지만 파이썬은 이번에 처음 접한 상황입니다. 또 객체지향은 알고 있지만, 데이터 분석이라든지 통계 쪽은 거의 지식이 없는 상황에서 이 강의를 수강하게 되었습니다. 저에게는 솔직히 아주 낯선 개념이라 그런지 어렵게 느껴졌고 몇 번 더 돌려봐야 좀 익숙해질 것 같습니다. 하지만 강의를 듣는 내내 깊이가 느껴지고 반복 학습하여 이걸 제거로 만들 수 있다면 엄청나게 유용한 강의를 들은 것 같다는 생각이 들었습니다. 저 같은 경우는 강의 중 모르는 개념(e.g. 파이썬 개념, 주피터 노트북, zscore 등등)들이 꽤 있어서 나오면 따로 검색해보면서 학습했습니다. 한 강씩 코드를 따라 해보면서 공부했는데, 한 가지 아쉬웠던 것이 이전 강까지 학습했던 코드가 바로 다음 강 시작에서 조금 달라져 있는 부분들이 있었던 것 같아 따라 해보면서 학습할 때 헷갈리는 부분이 있었습니다. 하지만 설명을 잘 해주시고 자료도 잘 되어있어 파이썬을 모르지만 한 줄 한 줄씩 읽다 보면 이해할 수 있었습니다. 또한 문제가 있어 강사님께 문의드렸을 때 같이 구글밋을 통해 해결해주시는 것 등 매우 친절하게 알려주셔서 너무 감사했습니다. 저에게는 내용 자체가 좀 어려웠지만 어느 정도 파이썬이나 데이터 분석에 지식이 있으신 분들이 들으면 훨씬 이해도 빠르고 좋으실 것 같습니다. 내용은 정말 좋다고 생각합니다. 점점 더 좋은 강의를 만드실 것 같다는 생각이 들고 2번째 파트도 수강할 예정입니다.

    • 다니엘
      Instructor

      Luca님! 너무나 소중한 수강평에 감사 드립니다. Luca님과 구글 밋에서 뵈었을 때 굉장한 실력자이신 것을 이미 느낄 수 있었는데 이미 자바, 코틀린을 사용하시는군요! 말씀해 주신 내용, 코드가 강의 중간 중간 약간 다른 부분은 renewal때 반영하도록 하겠습니다. 너무 저에게 개선점을 알려 주신 소중한 강의평입니다. 아직 새내기 강사이다 보니 아이디어는 많이 있는데 아직 제 아이디어를 강의화하는데 저도 제 속도를 쫒아가지 못하고 있어요 :) 속도를 내서 새로운 강의도 만들고 기존 강의도 업뎃하는데 최선을 다하도록 하겠습니다. 파트 2 강의에서도 우리 열심히 한 번 달려 보아요. 다니엘 드림

  • impact님의 프로필 이미지
    impact

    Reviews 4

    Average Rating 5.0

    5

    38% enrolled

    준비 많이한 고퀄 강의. 다른데서 볼수 없었던 참신한 내용이라 좋았습니다. 차근 차근 설명해 주셔서 어렵지 않게 따라갈 수 있었습니다.

    • 다니엘
      Instructor

      impact 님! 감사합니다. 강의자는 결국 수강생 분들의 격려로 계속 다음 강의를 만들어 낼 수 있는 동력을 얻게 되는 것 같습니다. 저의 이전 강의에서도 수강평을 남겨주셨던 것 같은데.. 너무 감사합니다. impact님께서 어렵지 않게 따라가실 수 있었다니 이미 실력자이신 것 같습니다. 강의를 준비하면서 최대한 실전과 같이 구성하려다 보면 난이도가 높아질 수 밖에 없는 딜레마를 발견하곤 합니다. 그래도 또 impact님과 같은 분들에게는 난이도가 있는 강의가 필요할 것 같기도 합니다. 강의가 난이도가 있는 것을 인정하기도 하지만 정말 정성들여 만들었으니 수강 중에 어려운 부분은 언제든지 질문해 주세요. 화이팅입니다! 다니엘 드림

  • BW J님의 프로필 이미지
    BW J

    Reviews 1

    Average Rating 5.0

    5

    8% enrolled

    차분하게 설명해주셔서 이해하기 편하네요.

    • 다니엘
      Instructor

      감사합니다. 수강 중에 어려운 부분이 있으시면 언제든 질문 게시판에 남겨 주세요. 완강하시길 응원합니다.

  • 김명희씨님의 프로필 이미지
    김명희씨

    Reviews 1

    Average Rating 5.0

    5

    6% enrolled

    어려운 내용인데 초급자 입장에서 차분하게 설명해주시니 도움이 됩니다. 여러번 반복해서 들어볼 생각입니다.

    • 다니엘
      Instructor

      친절한 수강평 너무 감사합니다.

  • 법경님의 프로필 이미지
    법경

    Reviews 49

    Average Rating 4.9

    5

    6% enrolled

    많이 좋아요

    • 다니엘
      Instructor

      감사합니다. 좋은 강의로 더 노력하겠습니다.

$42.90

danielyouk's other courses

Check out other courses by the instructor!

Similar courses

Explore other courses in the same field!